@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&family=Zen+Kurenaido&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600&family=Mochiy+Pop+One&family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@700&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&family=Zen+Kurenaido&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Dancing+Script:wght@400;500;600&family=Mochiy+Pop+One&family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@700&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&family=Zen+Kurenaido&display=swap');
/*===============================================
●PCレイアウト設定 
===============================================*/
@media screen and  (min-width: 651px){
/*メイン画像ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
.index{
position: relative;
font-family: 'Noto Serif JP';
}

.index .main{
position: relative;
width: 100%;
height: 100vh;
overflow: hidden
}
.index .main img{
width: 100%
}
.index .main .maincatch{
position: absolute;
font-family: 'Noto Serif JP';
font-weight: 800;
padding-left: 5%;
top:60%;
transform: translateY(-50%);
text-align: center;
font-size: clamp(30px,2.3vw,38px);
color: #000;
line-height: 180%;
text-shadow:1px 1px 0 #fff, -1px -1px 0 #fff,
            -1px 1px 0 #fff, 1px -1px 0 #fff,
            0px 1px 0 #fff,  0-1px 0 #fff,
            -1px 0 0 #fff, 1px 0 0 #fff;
}
.index .main .catch2{
font-size: 1.8vw;
font-weight: 600;
font-family: 'Noto Sans JP';
margin-bottom: 50px;
line-height: 180%;
text-align: center;
padding-top: 30px;
}
.index .main .maincatch .logo{
width: 23vw;
margin: 0 auto;
margin-top: -65px
}
.index .main .maincatch .logo img{
width: 100%;
}
.index .box1{
padding:100px 0;
background-image:url("../images/index/bg_box1.png");
background-size: auto;
font-family: 'Noto Sans JP';
}
.index .box1 .catch{
font-size: clamp(18px,2.0vw,30px);
font-weight:800;
margin-bottom: 50px;
line-height: 180%;
text-align: center;
color: #FFF;
text-shadow:2px 2px 0 #000, -2px -2px 0 #000,
            -1px 2px 0 #000, 2px -2px 0 #000,
            0px 2px 0 #000,  0px -2px 0 #000,
            -2px 0 0 #000, 2px 0 0 #000;
}
.index .box1 .lead{
position: relative;
padding: 30px 0;
}
.index .box1 .lead .photo{
width: 50%;
border-radius: 5px;
overflow: hidden;
box-shadow: 20px 20px 0px 0px rgba(0, 0, 0, 0.2);
}
.index .box1 .lead .photo img{
width: 100%;
}
.index .box1 .lead .com{
background-color: rgba(255,255,255,0.7);
padding: 3%;
width: 40%;
top:30%;
left:40%;
position: absolute;
border-radius: 8px;
font-weight: 500;
line-height: 160%
}
.index .box1 a{
display: block;
margin: 0 auto;
margin-top: 60px;
font-size: 2.5rem;
font-weight: 500;
width: 350px;
max-width: 90%;
transition: 0.8s
}
.index .box1 a:hover{
background-color: rgba(255,255,255,0.7)
}


.index section.box_fixed{
    position: -webkit-sticky;/*Safari*/
    position: sticky;
	top:0;
  /*装飾のためのCSS*/
  background-color: #000
}
.index section.box_fixed .photo{
position: relative
}
.index section.box_fixed .photo img{
width: 100%;
  opacity: 0;
  -moz-transition: -moz-transform 1.2s linear;
  -webkit-transition: -webkit-transform 1.2s linear;
  -o-transition: -o-transform 1.2s linear;
  -ms-transition: -ms-transform 1.2s linear;
  transition: transform 1.2s linear;
  -webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.index section.box_fixed .photo .capture{
color: #FFF;
font-size: clamp(18px,2.3vw,38px);
color: #FFF;
line-height: 180%;
text-shadow:1px 1px 0 #333, -1px -1px 0 #333,
            -1px 1px 0 #333, 1px -1px 0 #333,
            0px 1px 0 #333,  0-1px 0 #333,
            -1px 0 0 #333, 1px 0 0 #333;
position: absolute;
top: 30%;
left: 5%;
}
.img-blur {
  -webkit-animation-name: imageBlur;
  animation-name: imageBlur;
  opacity: 1;
  transition: 16s;
}

@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
      opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}

.index .box4{
position: relative;
height: 100vh;
background-image: url("../images/index/bg_box4.png");
background-color: #FFF;
color: #EEE;
font-family: 'Noto Sans JP';
}
.index .box4 .com{
position: absolute;
top:20%;
left:4vw;
width: 30%;
font-size: clamp(1.6rem,2.0vw,2.5rem); 
color: #EEE
}
.index .box4 .subtitle_eg{
font-size: clamp(2.0rem,3.0vw,5.0rem);
font-weight: 600;
margin-bottom: 25px;
}
.index .box4 .com a{
display: block;
width: 80%;
border: #CCC 1px solid;
margin-top: 60px;
text-align: center;
padding: 7px 0;
font-size: 2.0rem;
transition: 0.5s;
color: #CCC
}
.index .box4 .com a:hover{
background-color: #FFF
}
.index .box4 .right{
width: 65%;
padding-left: 35%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index .box4 .right .inner_left{
width: 52%;
padding-top: 3vw
}
.index .box4 .right .inner_left li{
display: block;
border-bottom: #CCC 1px solid;
border-top: #CCC 1px solid;
padding: 20px 0;
margin-bottom: 20px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index .box4 .right .inner_left li .list_left{
width: 30%;
}
.index .box4 .right .inner_left li .list_left img{
width: 100%;
}
.index .box4 .right .inner_left li .list_right{
width: 65%;
}
.index .box4 .right .inner_left li .list_right .areaname{
font-size: 2.0rem;
padding-bottom: 10px;
font-weight: 600
}
.index .box4 .right .inner_right{
width: 45%;
height: 100vh;
overflow: hidden
}
.index .box4 .right .inner_right img{
width: 100%;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}


/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}
/*お品書き-----------------------------------------*/
.menu{
padding: 100px 0;
font-family: 'Noto Sans JP';
font-size: 1.6rem;
}

   /*    タブスタイル-----------------------------------------*/
.anchor{
display: block;
    padding-top: 90px;
    margin-top: -90px;
}
.menu  .tab-group {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 100px auto 50px auto;
box-sizing: border-box;
width: 1100px;
max-width: 90%
 }
.menu .tab {
background-color: #EEE;
color: #900;
cursor: pointer;
font-size: 18px;
font-weight: 600;
text-align: center;
padding: 12px 3px;
width: calc(100% / 3) ;
border: 1px #900 solid;
box-sizing: border-box;
}
.menu .tab:hover{
background-color: #900;
color: #FFF;
}
/*条件フィールドに入力が無いときのタブスタイル*/
.menu .noactive {
background-color: #fff;
color: #DDD;
cursor:text;
}
.menu .noactive:hover {
background-color: #fff;
color: #DDD;
cursor:text;
}
.menu .tab.is-active {
transition: all 0.2s ease-out;
background-color: #900;
color: #FFF;
margin-bottom: -3px
}
.menu .tab-none {
background-color: #fff;
border: solid 1px #999;
border-collapse: collapse;
box-sizing: border-box;
color: #999;
font-size: 1.5rem;
font-weight: 400;
list-style: none;
margin-bottom: 15px;
padding: 7px 0;
position: relative;
text-align: center;
width: 33% ;
}
.menu .panel {
display: none;
}
.menu .panel.is-show {
display: block;
}
.menu .box1{
width: 1300px;
max-width: 90%;
margin: 0 auto;
}
.menu .flex_menu{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 70px;
}
.menu .flex_menu img{
width: 100%
}
.menu .flex_menu .box_menu{
width: 48%;
}
.menu .flex_menu .box_menu .photo{
border-radius: 15px;
overflow: hidden;
position: relative;
width: 80%;
margin: 0 auto
}
.menu .flex_menu .box_menu .com{
padding: 20px 0;
font-size: 1.5rem;
line-height: 160%
}
.menu .flex_menu .box_menu .com .name{
font-size: 2.5rem;
font-weight: bold;
padding-bottom: 10px
}

.menu .flex_menu .box_menu .inner{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 15px;
background-color: rgba(255,255,255,0.8);
padding: 2%
}
.menu .flex_menu .box_menu .inner .photo{
border-radius: 15px;
overflow: hidden;
width: 20%
}
.menu .flex_menu .box_menu .inner .com{
width: 70%
}
.menu .flex_menu .box_menu .inner .com .name{
font-size: 1.8rem;
font-weight: bold;
}
.menu .flex_topping{
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.menu .flex_topping .inner{
padding: 15px 0;
margin: 15px 1%;
background-color: #532B03;
font-size: 1.6rem;
font-weight: 600;
color: #FFF;
text-align: center;
width:23%;
border-radius: 5px
}
.menu .text1{
color: #C00;
font-size: 2.5rem;
font-weight: bold;
text-align: center;
margin: 30px 0;
}
.menu .subtitle{
text-align: center;
font-size: 3.0rem;
font-weight: bold;
margin: 60px 0 15px 0
}
.menu .flex_okonomi{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-bottom: 100px;
}
.menu .flex_okonomi .inner{
border:#431701 2px solid;
border-radius: 20px;
box-sizing: border-box;
width: 30%;
overflow: hidden
}
.menu .flex_okonomi .inner dl{
margin: 0 ;
padding: 0;
}
.menu .flex_okonomi .inner dt{
background-color:#431701;
color: #FFF;
text-align: center;
padding: 15px 0;
font-size: 1.8rem;
font-weight: 600
}
.menu .flex_okonomi .inner dd{
margin-left: 0;
padding: 5%;
font-size: 1.6rem;
line-height: 180%;
font-weight: 500;
color: #431701
}
.menu .flex_side{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-bottom: 100px;
}
.menu .flex_side .inner{
width: 22%;
padding: 1%;
border:#431701 2px solid;
border-radius: 20px;
box-sizing: border-box;
}
.menu .flex_side .inner .photo{
border-radius: 15px;
overflow: hidden;
}
.menu .flex_side .inner .com{
font-weight:600;
line-height: 180%
}
.menu .flex_side .inner .gaiyo{
padding-top: 15px;
font-weight: 400
}
/*コンセプト-----------------------------------------*/
.concept{
padding: 100px 0;
font-family: 'Noto Sans JP';
font-size: 1.6rem;
}
.concept .box1{
background-image: url("../images/concept/bg_box1.png");
background-size: cover;
margin: 0 ;
padding: 100px 0
}
.concept .box1 .flex_concept{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 1200px;
max-width: 90%;
margin: 0 auto;
}
.concept .box1 .flex_concept .com{
width: 70%;
line-height: 180%;
font-weight: 500;
background-color: rgba(255,255,255,0.7);
border-radius: 20px;
padding: 3%
}
.concept .box1 .flex_concept .com .subtitle{
font-size: 3.0rem;
font-family: 'Noto Serif JP';
font-weight: 600;
margin-bottom: 30px;
}
.concept .box1 .flex_concept .photo{
width: 20%;
border-radius: 10px;
overflow: hidden
}
.concept .box1 .flex_concept .photo img{
width: 100%;
}
/*店舗案内-----------------------------------------*/
.shop{
padding: 100px 0;
font-family: 'Noto Sans JP';
font-size: 1.6rem;
}
.shop .box1{
width: 1200px;
max-width: 90%;
margin: 0 auto;
}
.shop .box1 .flex_shop{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-bottom: 50px;
padding-top: 100px
}
.shop .box1 .flex_shop .com{
width: 45%;
}
.shop .box1 .flex_shop .com td{
font-size: 1.7rem;
padding: 20px 3% 3% 3%;
border-bottom: #666 1px dotted;
font-weight: 500
}
.shop .box1 .flex_shop .com td:nth-child(1){
width: 20%;
}
.shop .box1 .flex_shop .box_map{
width: 47%;
border: #CCC 1px solid;
padding: 1%;
}
.shop .box1 .flex_shop .box_map img{
width: 100%;
}
.drag-and-drop {
    cursor: move;
    position: absolute;
    z-index: 1000;
	top:0 ;
	left: 0;
	width: 100%
}

.drag {
    z-index: 1001;
}
.shop .box1 .map{
border: #CCC 1px solid;
border-radius: 15px;
background-color: #FFF;
padding: 2%
}
/*お問い合わせ-----------------------------------------*/
.contact{
padding: 100px 0;
font-family: 'Noto Sans JP';
}
.contact .box1{
	width:650px;
	max-width: 90%;
	margin-left:auto;
	margin-right:auto;
	font-size:18px; 
	padding:20px 0 100px 0; 
	color:#163d54; 
	line-height:160%;
	font-weight: 500;
	font-family: 'Noto Sans JP';
}

.contact .box_form{
width: 1000px;
max-width: 90%;
margin: 0 auto
}
.contact table{
	width:100%;
	border-collapse:collapse;
	font-family: 'Noto Sans JP';
}
.contact table th{
	width:20%;
	text-align:left;
	padding:1%;
	font-weight:normal;
	color: #090F3B;
	padding-bottom: 30px
}
.contact table td{
	padding:1%;
	padding-bottom: 30px
}

.contact table textarea {
width: 80%;
height: 10em;
	border:#CCC 1px solid;
}
.contact table label{
	display:block;
}
.contact table input[type="text"]{
	width:70%;
	border:#CCC 1px solid;
	height: 23px
}
.contact table .num input[type="text"]{
	width:10%;
}
.contact table input[type="email"]{
	width:70%;
	border:#CCC 1px solid;
	height: 23px
}
.contact input[type="submit"]{
	width:400px;
	border:#FFF 1px solid;
	background-color:#4D6498;
	text-align:center;
	font-weight:bold;
	font-size:16px;
	color:#FFF;;
	padding:15px 0;
	margin-top:30px;
	margin-bottom:30px;
	display:block;
	cursor:pointer;
	margin-left:auto;
	margin-right:auto;
}
.contact input[type="submit"]:hover{
	background-color:#4284c0;
}
/*お知らせ-----------------------------------------*/
.news{
font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
font-weight: 500
}
.news .pagetitle{
position: relative;
width: 1600px;
max-width: 85%;
margin: 0 auto 50px auto
}
.news .pagetitle img{
width: 100%;
}
.news .pagetitle .text_title{
position: absolute;
width: 9%;
top:50%;
left: 50%;
transform: translateY(-20%) translateX(-50%)
}
.news .pagetitle .text_title img{
width: 100%
}
.news .flex_news{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 100px 0 200px 0;
width: 1300px;
max-width: 90%;
margin: 0 auto;
}
.news .flex_news .article{
width: 73%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-right: #9C1846 1px solid;
padding-right: 2%;
}
.news .flex_news .aside{
width: 21%;
padding-left: 1%
}
.news .article::before{
  content:"";
  display: block;
  width:22%;
  order:1;
}
.news .article::after{
  content:"";
  display: block;
  width:22%;
}
.news .article a{
width: 22%;
display: block;
box-sizing: border-box;
transition: 0.5s
}
.news .article a:hover{
color: #9C1846
}
.news .article a{
width: 22%;
display: block;
box-sizing: border-box;
}
.news .article a .photo{
position: relative;
width: 100%;
padding-top: 70%;
overflow: hidden
}
.news .article a .photo img{
width: 100%;
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%)
}
.news .article a .date{
font-size: 1.2rem
}
.news .article a .cat{
display: inline-block;
border: #9C1846 1px solid;
border-radius: 20px;
text-align: center;
color: #9C1846;
padding: 0.3% 10%;
margin-right: 2%;
font-size: 1.5rem;
font-weight: 600;
}
.news .article a .com{
padding-top: 3px;
font-size: 1.4rem;
font-weight: 600
}
.news .flex_news .aside .title_cat{
font-size: 2.0rem;
font-weight: bold;
padding-bottom: 2px;
border-bottom: #666 4px double;
color: #666;
margin-bottom: 25px
}
.news .flex_news .aside li{
list-style: none
}
.news .flex_news .aside a{
display: block;
color: #9C1846;
font-size: 1.6rem;
font-weight: 600;
border-bottom: #9C1846 1px dotted;
margin-bottom: 15px;
transition: 0.8s;
padding: 1%;
padding-bottom: 2px;
}
.news .flex_news .aside a:hover{
background-color: #f4f4f4
}
.news .termname{
font-size: 2.0rem;
color: #666;
border-bottom: solid 3px #666;
width: 1300px;
max-width: 90%;
margin: 0 auto;
position: relative;
font-weight: 600;
letter-spacing: 0.1em
}

.news .termname:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #9C1846;
  bottom: -3px;
  width: 20%;
}
.news .kiji{
width: 100%
}
.news .kijititle{
font-size: 2.0rem;
color: #666;
border-bottom: solid 3px #666;
position: relative;
font-weight: 600;
letter-spacing: 0.1em;
margin-bottom: 80px
}

.news .kijititle:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #9C1846;
  bottom: -3px;
  width: 20%;
}
.news .kiji img{
max-width: 80%;
display: block;
margin: 10px auto;
padding: 1%;
border: 1px #666 solid
}
.news .bt_news{
width: 1300px;
max-width: 90%;
margin: 0 auto 50px auto;
}
.news .bt_news a{
width: 220px;
display: block;
color: #FFF;
background-color: #9C1846;
text-align: center;
font-size: 1.6rem;
font-weight: 600;
padding: 5px 0;
border-radius: 20px;
}
/*個人情報-----------------------------------------*/
.privacy{
font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
font-weight: 500;
padding: 2%;
width: 1000px;
max-width: 85%;
margin: 100px  auto;
border: #666 1px solid;
}
.privacy .box1{
padding-bottom: 50px
}
.privacy ul{
 padding: 20px 0;
 margin-bottom: 40px;
}
.privacy li{
  border-bottom: #666 1px dotted;
  display: block;
  margin-bottom: 25px;
}
.privacy ol {
background-color: #f4f4f4;
padding: 2%;
font-weight: 600;
margin-top: -20px
}
.pager {
 font-size: 14px
 }
.pager a{
 background-color: #EEE;
 color: #666;
 padding: 3px 15px;
 font-size: 14px
}

.pager{
width: 650px;
padding: 40px 0;
font-size: 1.5rem;
color: #333;
margin: 0 auto
}
.pager a{
display: inline-block;
background-color: transparent ;
color: #333;
font-size: 1.6rem!important;
padding: 4px 10px!important;
border: #036 1px solid
}
.pager .prev{
padding: 4px 30px!important;
background-color: #333;
color: #FFF
}
.pager .next{
padding: 4px 30px!important;
background-color: #333;
color: #FFF
}
.case .pager .dots{
display: inline-block;
padding-right: 6px
}
.pager .current{
display: inline-block;
padding-right: 6px;
font-size: 1.5rem;
font-weight: 600
}
.pager table{
width: 600px;
margin: 0 auto
}
.pager td a{
border: none;
font-size: 2.0rem;
font-weight: 600;
text-decoration: underline;
display: inline-block;
background-color: #F4F4F4;
padding: 4px 15px;
text-align: center
}
.pager td:nth-child(2){
text-align: right;
width: 50%
}
}
/*===============================================
●スマホれいあうと設定 画面の横幅が650px以下
===============================================*/
@media screen and  (max-width: 650px){
/*タイトルエリアーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
/*メイン画像ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
.index{
position: relative;
font-family: 'Noto Serif JP';
}

.index .main{
position: relative;
width: 100%;
}
.index .main img{
width: 100%
}
.index .main .maincatch{
position: absolute;
padding-left: 5%;
top:60%;
transform: translateY(-50%);
font-size: 5.0vw;
color: #FFF;
line-height: 180%;
text-shadow:2px 2px 0 #333, -2px -2px 0 #333,
            -2px 2px 0 #333, 2px -2px 0 #333,
            0px 2px 0 #333,  0-2px 0 #333,
            -2px 0 0 #333, 2px 0 0 #333;
}
.index .box1{
padding:100px 0;
background-image:url("../images/index/bg_box1.png");
background-size: auto;
font-family: 'Noto Sans JP';
}
.index .box1 .catch{
font-size: 3.0rem;
font-weight:800;
margin-bottom: 50px;
line-height: 180%;
color: #FFF;
padding: 0 4%;
font-family: 'Noto Serif JP';
}
.index .box1 .lead{
position: relative;
padding: 30px 0;
}
.index .box1 .lead .photo{
width: 30%;
border-radius: 5px;
overflow: hidden;
box-shadow: 20px 20px 0px 0px rgba(0, 0, 0, 0.2);
display: none
}
.index .box1 .lead .photo img{
width: 100%;
}
.index .box1 .lead .com{
background-color: rgba(255,255,255,0.7);
padding: 3%;
width: 70%;
margin-left: 20%;
border-radius: 8px;
font-weight: 500;
line-height: 160%;
font-size: 1.6rem
}
.index .box1 a{
display: block;
margin: 0 auto;
margin-top: 60px;
font-size: 2.5rem;
font-weight: 500;
width: 350px;
max-width: 90%;
transition: 0.8s
}
.index .box1 a:hover{
background-color: rgba(255,255,255,0.7)
}


.index section.box_fixed{
    position: -webkit-sticky;/*Safari*/
    position: sticky;
	top:0;
  /*装飾のためのCSS*/
  background-color: #000
}
.index section.box_fixed .photo{
position: relative
}
.index section.box_fixed .photo img{
width: 100%;
  opacity: 0;
  -moz-transition: -moz-transform 1.2s linear;
  -webkit-transition: -webkit-transform 1.2s linear;
  -o-transition: -o-transform 1.2s linear;
  -ms-transition: -ms-transform 1.2s linear;
  transition: transform 1.2s linear;
  -webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.index section.box_fixed .photo .capture{
color: #FFF;
font-size: clamp(18px,2.3vw,38px);
color: #FFF;
line-height: 180%;
text-shadow:1px 1px 0 #333, -1px -1px 0 #333,
            -1px 1px 0 #333, 1px -1px 0 #333,
            0px 1px 0 #333,  0-1px 0 #333,
            -1px 0 0 #333, 1px 0 0 #333;
position: absolute;
top: 30%;
left: 5%;
}
.img-blur {
  -webkit-animation-name: imageBlur;
  animation-name: imageBlur;
  opacity: 1;
  transition: 16s;
}

@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
      opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}

.index .box4{
position: relative;
padding: 50px 0;
background-image: url("../images/index/bg_box4.png");
color: #EEE;
font-family: 'Noto Sans JP';
}
.index .box4 .com{
text-align: center;
width: 100%;
font-size: 2.5rem; 
color: #EEE
}

.index .box4 .com a{
display: block;
width: 80%;
margin: 40px auto 0 auto;
border: #CCC 1px solid;
margin-top: 60px;
text-align: center;
padding: 7px 0;
font-size: 2.0rem;
transition: 0.5s;
color: #CCC;
font-weight: 600
}

.index .box4 .right{
width: 90%;
padding: 30px 5% 0 5%;
}
.index .box4 .right .inner_left{
width: 100%;
padding-top: 3vw
}
.index .box4 .right .inner_left li{
display: block;
border-bottom: #CCC 1px solid;
border-top: #CCC 1px solid;
padding: 20px 0;
margin-bottom: 20px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index .box4 .right .inner_left li .list_left{
width: 20%;
}
.index .box4 .right .inner_left li .list_left img{
width: 100%;
}
.index .box4 .right .inner_left li .list_right{
width: 75%;
}
.index .box4 .right .inner_left li .list_right .areaname{
font-size: 2.0rem;
padding-bottom: 10px;
font-weight: 600
}
.index .box4 .right .inner_right{
display: none;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}


/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}
/*お品書き-----------------------------------------*/
.menu{
padding: 50px 0;
font-family: 'Noto Sans JP';
font-size: 1.6rem;
}

   /*    タブスタイル-----------------------------------------*/
.anchor{
display: block;
    padding-top: 90px;
    margin-top: -90px;
}
.menu  .tab-group {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 30px auto 50px auto;
box-sizing: border-box;
width: 1100px;
max-width: 90%
 }
.menu .tab {
background-color: #EEE;
color: #900;
cursor: pointer;
font-size: 18px;
font-weight: 600;
text-align: center;
padding: 12px 3px;
width: calc(100% / 2) ;
border: 1px #900 solid;
box-sizing: border-box;
}
.menu .tab:hover{
background-color: #900;
color: #FFF;
}
/*条件フィールドに入力が無いときのタブスタイル*/
.menu .noactive {
background-color: #fff;
color: #DDD;
cursor:text;
}
.menu .noactive:hover {
background-color: #fff;
color: #DDD;
cursor:text;
}
.menu .tab.is-active {
transition: all 0.2s ease-out;
background-color: #900;
color: #FFF;
margin-bottom: -3px
}
.menu .tab-none {
background-color: #fff;
border: solid 1px #999;
border-collapse: collapse;
box-sizing: border-box;
color: #999;
font-size: 1.5rem;
font-weight: 400;
list-style: none;
margin-bottom: 15px;
padding: 7px 0;
position: relative;
text-align: center;
width: 33% ;
}
.menu .panel {
display: none;
}
.menu .panel.is-show {
display: block;
}
.menu .box1{
width:  95%;
margin: 0 auto;
}
.menu .flex_menu{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 70px;
}
.menu .flex_menu img{
width: 100%
}
.menu .flex_menu .box_menu{
width: 48.5%;
}
.menu .flex_menu .box_menu .photo{
border-radius: 15px;
overflow: hidden;
position: relative;
width: 100%;
margin: 0 auto
}
.menu .flex_menu .box_menu .com{
padding: 20px 0;
font-size: 1.5rem;
line-height: 160%
}
.menu .flex_menu .box_menu .com .name{
font-size: 1.8rem;
font-weight: bold;
padding-bottom: 10px
}

.menu .flex_menu .box_menu .inner{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 15px;
background-color: rgba(255,255,255,0.8);
padding: 0 2% 0 5%;
font-size: 1.4rem
}
.menu .flex_menu .box_menu .inner .photo{
display: none
}

.menu .flex_menu .box_menu .inner .com .name{
font-size: 1.4rem;
font-weight: 600;
}
.menu .flex_topping{
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.menu .flex_topping .inner{
padding: 15px 0;
margin: 10px 1%;
background-color: #532B03;
font-size: 1.6rem;
font-weight: 600;
color: #FFF;
text-align: center;
width:80%;
border-radius: 5px
}
.menu .text1{
color: #C00;
font-size: 2.5rem;
font-weight: bold;
text-align: center;
margin: 30px 0;
}
.menu .subtitle{
text-align: center;
font-size: 2.0rem;
font-weight: bold;
margin: 60px 0 15px 0;
text-align: center
}
.menu .flex_okonomi{
display: flex;
flex-wrap: wrap;
justify-content: center;
padding-bottom: 50px;
}
.menu .flex_okonomi .inner{
border:#431701 2px solid;
border-radius: 20px;
box-sizing: border-box;
width: 80%;
overflow: hidden;
margin-bottom: 20px
}
.menu .flex_okonomi .inner dl{
margin: 0 ;
padding: 0;
}
.menu .flex_okonomi .inner dt{
background-color:#431701;
color: #FFF;
text-align: center;
padding: 5px 0;
font-size: 1.8rem;
font-weight: 600
}
.menu .flex_okonomi .inner dd{
margin-left: 0;
padding: 5%;
font-size: 1.6rem;
line-height: 180%;
font-weight: 500;
color: #431701
}
.menu .flex_side{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-bottom: 50px;
}
.menu .flex_side .inner{
width: 48.5%;
padding: 1%;
border:#431701 2px solid;
border-radius: 20px;
box-sizing: border-box;
margin-bottom: 20px
}
.menu .flex_side .inner .photo{
border-radius: 15px;
overflow: hidden;
}
.menu .flex_side .inner .com{
font-weight:600;
line-height: 180%
}
.menu .flex_side .inner .gaiyo{
padding-top: 15px;
font-weight: 400
}
/*コンセプト-----------------------------------------*/
.concept{
padding: 100px 0;
font-family: 'Noto Sans JP';
font-size: 1.6rem;
}
.concept .box1{
background-image: url("../images/concept/bg_box1.png");
background-size: cover;
margin: 0 ;
padding: 0 0 50px 0
}
.concept .box1 .flex_concept{
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 90%;
margin: 50px auto 0 auto;
}
.concept .box1 .flex_concept .com{
width: 88%;
line-height: 180%;
font-weight: 500;
background-color: rgba(255,255,255,0.7);
border-radius: 20px;
padding: 5%;
margin-bottom: 20px
}
.concept .box1 .flex_concept .com .subtitle{
font-size: 2.0rem;
font-family: 'Noto Serif JP';
font-weight: 800;
margin-bottom: 30px;
}
.concept .box1 .flex_concept .photo{
width: 80%;
border-radius: 10px;
overflow: hidden
}
.concept .box1 .flex_concept .photo img{
width: 100%;
}
/*店舗案内-----------------------------------------*/
.shop{
padding: 100px 0;
font-family: 'Noto Sans JP';
font-size: 1.6rem;
}
.shop .box1{
width: 90%;
margin: 0 auto
}
.shop .box1 .flex_shop{
padding: 50px 0
}
.shop .box1 .flex_shop .com{
padding-bottom: 30px;
}
.shop .box1 .flex_shop .box_map{
position: relative;
height: 80vw;
overflow:hidden;
border: #999 1px solid;
background-color: #FFF
}
.shop .box_map img{
width: 130%;
position: absolute;
margin-left:-25%;

}
.drag-and-drop {
    cursor: move;
    position: absolute;
    z-index: 1000;
	top:0 ;
	left: 0;
	width: 100%
}

.drag {
    z-index: 1001;
}

/*お問い合わせ-----------------------------------------*/
.contact{
padding: 50px 0;
font-family: 'Noto Sans JP';
}
.contact .box1{
	max-width: 90%;
	margin-left:auto;
	margin-right:auto;
	line-height: 150%;
	padding: 30px 0;
}
.contact .box1 h4{
	font-size:18px;
	font-weight:bold;
	color:#999;
	background-color: transparent;
	padding-top: 30px;
	font-size: 18px;
}
.contact .box1 .tel a{
	display:block;
	color:#2976B5;
	font-size:3.0rem;
	font-weight:bold;
	text-shadow: #FFF 1px 1px 2px, #FFF -1px 1px 2px,
             #FFF 1px -1px 2px, #FFF -1px -1px 2px; 

	margin-bottom:10px;
}
.contact .box1 .tel{
color: #333;
border-top: #2976B5 3px solid;
border-bottom: #2976B5 3px solid;
padding: 15px 0 15px 0;
max-width: 90%;
margin: 0 auto;
margin-top: 30px;
text-align: center;

}
.contact .box_form{
width: 90%;
margin: 0 auto
}
.contact table{
	width:100%;
	border-collapse:collapse;
	margin:0;
}
.contact table th{
	width:90%;
	text-align:left;
	padding:1%;
	font-weight:normal;
	color: #090F3B;
	display: block;
}
.contact table td{
	padding:1%;
	width:90%;
	display: block;
	margin-bottom: 25px;
}

.contact table textarea {
width: 90%;
height: 10em;
}
.contact table label{
	display:block;
}
.contact table input[type="text"]{
	width:90%;
	border:#CCC 1px solid;
	height: 25px;
}
.contact table .num input[type="text"]{
	width:30%;
	height: 25px;
}
.contact table input[type="email"]{
	width:90%;
	border:#CCC 1px solid;
	height: 25px;
}
.contact table #zip{
width: 30%
}
.contact input[type="submit"]{
	width:90%;
	border:#FFF 1px solid;
	background-color:#4D6498;
	text-align:center;
	font-weight:bold;
	font-size:16px;
	color:#FFF;;
	padding:12px 6px;
	margin-top:30px;
	margin-bottom:30px;
	display:block;
	cursor:pointer;
	margin-left:auto;
	margin-right:auto;
}
/*個人情報-----------------------------------------*/
.privacy{
font-family: '游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif';
font-weight: 500;
padding: 2%;
width: 90%;
margin: 100px  auto;
border: #666 1px solid;
}
.privacy .box1{
padding-bottom: 50px
}
.privacy ul{
 padding: 20px 0;
 margin-bottom: 40px;
}
.privacy li{
  border-bottom: #666 1px dotted;
  display: block;
  margin-bottom: 25px;
}
.privacy ol {
background-color: #f4f4f4;
padding: 2%;
font-weight: 600;
margin-top: -20px
}

.pager{
width: 80%;
padding-top: 40px;
font-size: 1.5rem;
color: #333;
margin: 0 auto
}
.pager a{
display: inline-block;
background-color: transparent ;
color: #333;
font-size: 1.6rem!important;
padding: 4px 10px!important;
border: #036 1px solid;
margin-bottom: 20px
}
.pager .prev{
padding: 4px 30px!important;
background-color: #333;
color: #FFF
}
.pager .next{
padding: 4px 30px!important;
background-color: #333;
color: #FFF
}
.pager .dots{
display: inline-block;
padding-right: 6px
}
.pager .current{
display: inline-block;
padding-right: 6px;
font-size: 1.5rem;
font-weight: 600
}
}