@charset "utf-8";

/*
COLORS
================================================ */
:root {
    --gray: #555;
    --black: #000000;
    --white: #fff;
    --brown: #432;
    --skyblue: #0bd;
    --cream:#fffaf0;
    --red:#ff0000;
    --red2:#b22222;
    --blue:#1d4aff;
    --purple:#9a00b5;
    --orange:#ff8400;
    --yellow:#f6ff00;
}
@media (prefers-color-scheme: dark) {
    :root {
        --text: #ddd;
        --bg: #000;
    }
}

/*共通部分
-------------------------------*/
html{
    font-size: 62.5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    scroll-behavior: smooth;
}
body{
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0;
    padding: 0;
    color:var(--black);
    font-family: 'DM Serif Display', serif,'Noto Sans JP', sans-serif,"ヒラギノ角ゴ Pro W3", 'Sawarabi Mincho',serif, "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳＰゴシック", "MS PGothic", sans-serif;
}
/* スクロールバー
---------------------------------*/
::-webkit-scrollbar {
    background: #ffffff;
    width: 10px;
    height: 15px;
    border-radius: 20px;
  }
  ::-webkit-scrollbar-thumb {
    background-color: var(--gray);
  border-radius: 20px;
  }



/* 一般
---------------------------------*/
p {
    line-height: 1.7;

}
img {
    max-width: 100%;
    image-rendering: -webkit-optimize-contrast;
}
a:hover {
    color: var(--red2);
}
a{
    text-decoration: none;

}
button {
    padding: 0;
    font-family: inherit;
    appearance: none;
    cursor: pointer;
    background-color: transparent;
    border: none;
}

  /*scroll
------------------------------------*/
.scroll_up {
    transition: 0.8s ease-in-out;
    transform: translateY(30px);
    opacity: 0;
  }
  .scroll_up.on {
    transform: translateY(0);
    opacity: 1.0;
  }


/* Header */

.main-header_container{
    position: fixed;/*背景を固定するためfixedをかける*/
    display: flex;
    width: 100%;
    justify-content: space-between;
    z-index: 4;
    background-color: rgba(0, 0, 0, 0.4);
    height: 95px;
}
.logoandnav{
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.main-header_tell{
    margin-top: 0;
    background: var(--red2);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 30px 0;
    text-align: center;
    line-height: 1.5;
}
.tell-contact{
    margin: 0;
    font-weight: 500;
    letter-spacing: .1em;
    font-size: 1.4rem;
}
.tell-number{
    margin: 0;
    font-size: 1.7rem;
    white-space: nowrap;
}
.phone-icon {
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../../images/phone_sample.png) no-repeat;
    background-size: contain; /* アイコン画像をコンテナ内に収める */
    margin-right: 5px; /* 文字とアイコンの間に少し余白を追加 */
    margin-bottom: 5px;
    vertical-align: middle; /* アイコンをテキストの中央揃えにする */
}
.main-header_logo{
    padding-top: 10px;
    margin-left: 30px;
    padding-bottom: 10px;
}
.main-logo{
    display: block;
    width: 300px;
}
.main-header_main-nav{
    margin: auto 0;
}
.main-nav_container,.main-nav_list{
    display: flex;
    align-items: center;
}
.main-nav_list{
    justify-content: center;
    text-transform: uppercase;
    list-style: none;
}
.main-nav_item{
    display: flex;
    align-items: center;
    height: 100%;
}
.main-nav_item:first-child {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(2) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(3) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(4) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(5) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(6) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_link{
    position: relative;
    display: inline-block;
    letter-spacing: .1em;
    font-weight: 800;
    font-size: 1.8rem;
    text-decoration: none;
    font-family: 'DM Serif Display', serif;
}
.main-nav_text{
    color: var(--white);
}
.main-nav_text:hover{
    color: var(--red2) ;
}

/*HumburgerButton
-----------------------------------------*/
@media screen and (min-width: 992px){
    .humburger-container{
        display: none;
    }
}
@media screen and (max-width: 992px){
.main-header_container{
       display: none; 
}
.toplogo-btn{
    position: fixed;/*背景を固定するためfixedをかける*/
    display: flex;
    width: 100%;
    justify-content: space-between;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.4);
}
.logo-container{
    padding: 10px 0;
    padding-left: .5rem;
}
.humburger-logo{
    padding-top: .5rem;
    width: 200px;
}

#humburger-menu_container{
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top:0;
    right: -120%;
    width:100%;
    height: 100vh;/*ナビの高さ*/
    /*動き*/
    transition: all 0.6s;
    background: rgba(0, 0, 0, 0.8);
}

/*アクティブクラスがついたら位置を0に*/
#humburger-menu_container.panelactive{
    right: 0;
}

/*ナビゲーション*/
#humburger-menu_container ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:45%;
    left:50%;
    transform: translate(-50%,-50%);
    width: 90%;
    padding: 0;
    margin: 0;
}
.menu_information{
    padding-bottom: 4rem;
}
.menusheeplogo_container{
    text-align: center;
}
.menusheeplogo_container img{
    width: 150px;
}
.menuphone-guidance{
    line-height: 0;
    color: var(--white);
    font-size: 1.6rem;
}
.menusheeplogo_container h1{
    font-size: 2rem;
    transform: scale(0.9, 1);
    font-family:serif, "Hiragino Kaku Gothic Pro";
    color: var(--white);
    margin: 0;
    padding: 0;
}
.phone-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(../../images/phone_sample.png) no-repeat;
    background-size: contain; /* アイコン画像をコンテナ内に収める */
    margin-right: 10px; /* 文字とアイコンの間に少し余白を追加 */
    padding-bottom: 0;
    vertical-align: middle; /* アイコンをテキストの中央揃えにする */
}

/*リストのレイアウト設定*/

#humburger-menu_container li{
  list-style: none;
    text-align: center;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.5);
}

#humburger-menu_container li a{
    font-size: 2rem;
  color: #ffffff;
  text-decoration: none;
  padding:15px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: bold;
  font-family: 'DM Serif Display', serif;
    font-family: 'Shippori Mincho B1', serif;
}

.openbtn-container{
    padding-top: 10px;
    padding-right: 1rem;
}
.openbtn1{
    z-index: 9999;
	position: relative;
	background:#801100;
	cursor: pointer;
    width: 50px;
    height:50px;
	border-radius: 7px;
    margin: .5rem .5rem;
}

/*ボタン内側*/
.openbtn1 .openbtn-area{
    transition: all .6s;/*アニメーションの設定*/
	width:50px;
	height:50px;
}

.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background: #fff;
  	width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
	top:15px;	
}

.openbtn1 span:nth-of-type(2) {
	top:23px;
}

.openbtn1 span:nth-of-type(3) {
	top:31px;
}

/*activeクラスが付与されると .openbtn-areaが360度回転し、その中の線が回転して×に*/
.openbtn1.active .openbtn-area{
	transform: rotate(360deg);
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

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

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
}


/*--------メインコンテンツ---------*/
.background_container{
    background: linear-gradient(black, rgb(50, 0, 0)); 
    padding-top: 80px;
}
.backtotop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.backtotop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(20%) rotate(-45deg);
}

.title_container{
    background: url(../images/bg.jpg) no-repeat; /* 背景画像と繰り返しなし */
    background-size: cover; /* 要素を覆うように画像をリサイズ */
    background-position: center; /* 中央に位置させる */
}
.title_container h1{
    text-align: center;
    position: relative;
    font-size: 4rem;
    font-weight: bold;
    padding-top: 3em;
    letter-spacing: 0.2em;
    color: var(--white);
    text-shadow:2px 2px 0 #000000;
    margin: 0;
}
.title_container p{
    margin: 0;
    padding-bottom: 6em;
    text-align: center;
    position: relative;
    color: var(--white);
    text-shadow:1.5px 1.5px 0 #000000;
}
.menu_box{
    padding: 8rem 0 1rem;
}
.grandmenu_container{
    width: auto;
    max-width: 1280px;
    /*min-width: 1080px;*/
    margin: 0 auto;
}
.grandmenu_container h1 {
    position: relative;
    font-weight: bold;
    font-size: 3rem;
    text-align: center;
    color: var(--white);
    letter-spacing: .2em;
}
.dinner_menu_title h1::before,
.dinner_menu_title h1::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.dinner_menu_title h1::before {
    bottom: -20px;
    color: #c95757;
    font-size: 14px;
    text-transform: uppercase;
    content: '単品メニュー';
    letter-spacing: 0.15em;
}
.dinner_menu_title h1::after {
    bottom: -10px;
    width: 150px;
    height: 1.5px;
    background-image: linear-gradient(90deg, #c95757 10px, transparent 10px calc(100% - 10px), #c95757 calc(100% - 10px));
    content: '';
}
.bar_menu_title h1::before,
.bar_menu_title h1::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.bar_menu_title h1::before {
    bottom: -20px;
    color: #c95757;
    font-size: 14px;
    text-transform: uppercase;
    content: '22：00～24：00';
    letter-spacing: 0.15em;
}
.bar_menu_title h1::after {
    bottom: -10px;
    width: 150px;
    height: 1.5px;
    background-image: linear-gradient(90deg, #c95757 10px, transparent 10px calc(100% - 10px), #c95757 calc(100% - 10px));
    content: '';
}
.grand_menu_title h1::before,
.grand_menu_title h1::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.grand_menu_title h1::before {
    bottom: -20px;
    color: #c95757;
    font-size: 14px;
    text-transform: uppercase;
    content: '単品メニュー';
    letter-spacing: 0.15em;
}
.course_menu_title h1::before,
.course_menu_title h1::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.course_menu_title h1::before {
    bottom: -20px;
    color: #c95757;
    font-size: 14px;
    text-transform: uppercase;
    content: '単品メニュー';
    letter-spacing: 0.15em;
}
.course_menu_title h1::after {
    bottom: -10px;
    width: 125px;
    height: 1.5px;
    background-image: linear-gradient(90deg, #c95757 10px, transparent 10px calc(100% - 10px), #c95757 calc(100% - 10px));
    content: '';
}
.sndbar_menu_title h1::before,
.sndbar_menu_title h1::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.sndbar_menu_title h1::before {
    bottom: -20px;
    color: #c95757;
    font-size: 14px;
    text-transform: uppercase;
    content: '単品メニュー';
    letter-spacing: 0.15em;
}
.sndbar_menu_title h1::after {
    bottom: -10px;
    width: 125px;
    height: 1.5px;
    background-image: linear-gradient(90deg, #c95757 10px, transparent 10px calc(100% - 10px), #c95757 calc(100% - 10px));
    content: '';
}
.dinner_menu_title{
    padding-bottom: 5rem;
}
.bar_menu_title{
    padding-bottom: 5rem;
}
.grand_menu_title{
    padding-bottom: 5rem;
}
.course_menu_title{
    padding-bottom: 5rem;
}
.sndbar_menu_title{
    padding-bottom: 5rem;
}
.menutext_container{
    width: 95%;
    margin: 0 auto;
    padding-bottom: 5rem;
}
/*コースメニューのテキスト設定*/
.course_text_right h3{
    font-size: 1.5em;
    color: var(--white);
    letter-spacing: .1em;
    text-align: center;
}
.course_text_left h3{
    font-size: 1.5em;
    color: var(--white);
    letter-spacing: .1em;
    text-align: center;
}
.course_text_right p{
    color: var(--white);
}
.course_text_left p{
    color: var(--white);
}
/*その他メニューのテキスト設定*/
.text_width_right h3{
    font-size: 1.5em;
    color: var(--white);
    letter-spacing: .1em;
    text-align: center;
}
.text_width_left h3{
    font-size: 1.5em;
    color: var(--white);
    letter-spacing: .1em;
    text-align: center;
}
.text_width_right p{
    text-align: center;
    color: var(--white);
}
.text_width_left p{
    text-align: center;
    color: var(--white);
}
.button_box{
    display: flex;
    justify-content: center;
}
.button {
    display: block;
    width: 14rem;
    padding: 1rem;
    background: #7b0014;
    color: #FFF;
    text-align: center;
    letter-spacing: .1rem;
    text-decoration: none;
    border: 1px solid var(--white);
    
  }
.menu_price{
    text-align: center;
}
.menu_price p{
    font-size:2rem ;
    color: var(--orange)!important;
}
.left_tree p{
    font-size: 1.8rem;
    border-left: 8px solid rgb(62, 62, 62); /* 太い縦棒 */
    padding-left: 10px;          /* 縦棒と文字の間隔 */
}

  .miniimage_menu_container{
    max-width: 932px;
    margin: 0 auto;
    padding: 5rem 1rem;
    border-top: 1.5px solid var(--white);
}
.miniimage_menu_container h2{
    text-align: center;
    color: var(--white);
}
.miniimage_menu_container img{
    width: 160px;
    height: 80px;
}
.miniimage_menu_container ul {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0 0 1em;
}
.miniimage_menu_container li {
    list-style: none;
    transition: all 0.3s;
    padding: .5rem .5rem;
}
.miniimage_menu_container p{
    margin: 0;
    text-align: center;
    color: var(--white);
    background: rgba(95, 0, 0, 0.4);
}
.miniimage_menu_container li:hover{
    opacity: 0.5;
}
  .miniimage_menu_container ul{
    flex-wrap: wrap;
  }

/*ドリンクメニュー表示CSS*/
  #drinkImage {
    display: none;
    margin-top: 20px;
    max-width: 100%;
    height: auto;
  }
  .click-text {
    cursor: pointer;
    color: blue;
    text-decoration: underline;
  }
  .singleDrinkImage {
    display: none;
    margin-top: 20px;
    max-width: 100%;
    height: auto;
  }


@media screen and (min-width: 770px){
.background_container{
        padding-top: 95px;
}
.title_container{
    background: url(../images/bg.jpg) no-repeat; /* 背景画像と繰り返しなし */
    background-size: cover; /* 要素を覆うように画像をリサイズ */
    background-position: center; /* 中央に位置させる */
}
.title_container h1{
    text-align: center;
    position: relative;
    font-size: 4rem;
    font-weight: bold;
    padding-top: 3em;
    letter-spacing: 0.2em;
    color: var(--white);
    text-shadow:2px 2px 0 #000000;
    margin: 0;
}
.title_container p{
    margin: 0;
    padding-bottom: 6em;
    text-align: center;
    position: relative;
    color: var(--white);
    text-shadow:1.5px 1.5px 0 #000000;
}
.menu_box{
    padding: 8rem 0 1rem;
}
.grandmenu_container{
    width: auto;
    max-width: 1280px;
    /*min-width: 1080px;*/
    margin: 0 auto;
}
.grandmenu_container h1 {
    position: relative;
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    color: var(--white);
    letter-spacing: .2em;
}

.menu_container{
    width: auto;
    padding: 0 0 80px 0;
    position: relative;
}
.menu_image_left{
    top: 0;
    left: 0;
    width: 50%;
    height: 400px;
    position: absolute;
    overflow: hidden;
}
.menu_image_right{
    top: 0;
    right: 0;
    width: 50%;
    height: 400px;
    position: absolute;
    overflow: hidden;
}
.menu_image img{
    height: 400px;
    object-fit: cover;
}
.menutext_container{
    width: 80%;
    margin: 0 auto;
    padding: 8% 0 0 0;
}
.menutext_background{
    width: auto;
    padding: 8%;
    margin: 0 auto;
    background-color: rgba(31, 31, 31, 0.8);
}
.course_text_right{
    margin: 0 0 0 auto;
    width: 45%;
}
.course_text_left{
    margin: 0 auto 0 0;
    width: 45%;
}
.text_width_right{
    margin: 0 0 0 auto;
    width: 45%;
}
.text_width_left{
    margin: 0 auto 0 0;
    width: 45%;
}
.text_width_right h3{
    font-size: 1.5em;
    color: var(--white);
    letter-spacing: .1em;
}
.text_width_left h3{
    font-size: 1.5em;
    color: var(--white);
    letter-spacing: .1em;
}
.text_width_right p{
    text-align: center;
    color: var(--white);
}
.text_width_left p{
    text-align: center;
    color: var(--white);
}

.miniimage_menu_container{
    max-width: 932px;
    margin: 0 auto;
    padding: 5rem 1rem;
    border-top: 1.5px solid var(--white);
}
.miniimage_menu_container h2{
    text-align: center;
    color: var(--white);
}
.miniimage_menu_container img{
    width: 230px;
    height: 130px;
}
.miniimage_menu_container ul {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0 0 1em;
}
.miniimage_menu_container li {
    list-style: none;
    transition: all 0.3s;
    padding: 1rem 1rem;
}
.miniimage_menu_container p{
    margin: 0;
    text-align: center;
    color: var(--white);
    background: rgba(95, 0, 0, 0.4);
}
.miniimage_menu_container li:hover{
    opacity: 0.5;
}

}





/*--------フッター---------*/
.footer_container {
    
    text-align: center;
    padding: 20px 30px 50px 30px;
    background: rgb(0, 0, 0);
   }
   .footer_border{
    padding: 0 3rem;
   }
   .footer_container img{
    padding-top: 3rem;
    width: 200px;
   }
   .footer_container a {
    color: var(--white);
    text-decoration: none;
    font-size: 1.3rem;
   }
   .footer_container a:hover {
    text-decoration: underline;
   }
   .footer_container .footer_menu {
    margin: 0;
    padding: 2rem 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
   }
   .footer_container ul{
    padding-right: 40px;
   }
   .footer_container .footer_menu li {
    margin: 0;
    padding: 0 20px;
    border-right: 1px #c7c7c7 solid;
   }
   .footer_container .footer_menu li:last-child {
    border: none;
   }
   .footer_container .copyright {
    margin: 0;
    padding: 20px 0 0 0;
    font-size: 1rem;
    color: var(--white);
    font-family: 'DM Serif Display', serif;
    font-family: 'Shippori Mincho B1', serif;
    line-height: 0;
}