@charset "utf-8";
/*--- 共通---*/
img{
/*	width: 100%;*/
}



.pcHidden {
  display: none;
}

@media screen and (max-width: 768px) {
.pcHidden {
    display: block;
  }
}

@media screen and (max-width: 768px) {
.spHidden {
    display: none !important;
  }
}


.main__block{
	background: #E9FFF8
}

.main{
	padding-top: 0;
}

.w1000{
  width: 1200px !important;
  margin: auto;
}
main{
  color:#691c32;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.bnr_area{
  width: 700px;
  margin: auto;
}
.bnr_area img{
  box-shadow: 4px 4px 5px #9f9893;
}
.flex{
  display: flex;
}
.flex_l{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.flex_c {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;   
}

.flex_c img {
  max-width: 100%;
  height: auto;
  display: block;
}

.spL{
  text-align: center;
}
#wrapper{
  background: #E9FFF8;
}
.d_wrapper{
  background: #E9FFF8!important;
}

.t_wrapper::before {
background-image:none!important;
background-color:#ffffe3!important;
}
.nowrap{
  white-space: nowrap;
  font-size: 1.6rem;
}

.text_16.nowrap {
  margin-left: 0;
  padding-left: 0;
  margin-right: 0;
  padding-right: 0;
}

.bg_y{
  background: #ffb300;
    border-radius: 15px;
    padding: 3px 10px;
    color: #fff; 
  white-space: nowrap;
}
.bg_p{
  background: #ff6c6c;
    border-radius: 15px;
    padding: 3px 10px;
    color: #fff;
  white-space: nowrap;
}
.bg_o{
  background: #ff3000;
  border-radius: 15px;
  padding: 2px 5px;
  color:#fff;
  white-space: nowrap;
　font-size: 1.8rem;
　margin-top: 20px;
}
.y_line{
  background: linear-gradient(transparent 60%, #fffc9c 60%);
  white-space: nowrap;
  display: inline;
  margin: 0;
  padding: 0;
}
.o_line{
  background: linear-gradient(transparent 60%, #ffd694 60%);
  white-space: nowrap;
}
@media screen and (max-width:767px){
  .w1000{
  width: 98%;
}
  .bnr_area{
  width: 100%!important;
}
#wrapper::before {
background-image:url("../images/bg_sp01.jpg");
}
.d_wrapper::before {
background-image:url("../images/bg_sp02.jpg")!important;
}
.spL{
  text-align: left;
}

}

/*--- top ---*/
#header h1{
  position: absolute;
    top: 20px;
    left: 20px;
	right: 20px;
    width: 70%;
	max-width: 100%;
}
#header{
  position: relative;
}
#header > img {
  width: 100%;
}

@media screen and (max-width:767px){
  #header h1 {
    position: absolute;
    top: 20px;
    left: 5px;
	right: 5px;
    width: 97%;
}
}

img {
/*  width: 100%;*/
  height: auto;
  display: block;
}

img.logo {
  width: auto;
  max-width: 60%;
  height: auto;
}
@media screen and (max-width:767px){
  img.logo {
  width: auto;
  max-width: 100%;
  height: auto;
}
}

/*--- nav---*/

#global-nav.m_fixed {
	left: 0;
	position: fixed;
	top: 0;
  z-index: 99999;
  width: 100%;
}
.global-list{
  background: #2BEDA7;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  list-style: none;
  padding: 10px 0;
  line-height: 1.2;
  z-index: 99999;
}
.d_nav{
  background: #2BEDA7!important;
}
.global-list a{
  color:#691c32!important;
}
.global-list a:hover{
  color:#ff3131!important;
  text-decoration: none;
}
.global-list .last a {
  color:#ff3131!important;
}
.global-list li:hover {
  color:#ff3131!important;
  transform: scale(1.1);
}

.global-item{
padding: 0px 15px;
text-align: center;
border-left: #691c32 solid 2px;
  width: 150px;
}
.global-item:last-child{
border-right: #691c32 solid 2px;
}

@media screen and (max-width: 768px) {
.text_18.nowrap {
  font-size: 1.3rem;
}
}


/*--- about ---*/

.text_18.lead {
  text-align: center;
  font-size: 2.0rem;
}

#about{
  background: rgb(255 255 255 / 100%);
  position: relative;
  padding: 60px 20px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
/*  background-color: #ffffff;*/
/*  	border: 3px dashed red;*/
}

#about img{
  width: 100%;
}

 h2{
  text-align: center;
  line-height: 1;
  margin: 50px auto;
}
 h2 .bold{
  font-size: 50px;
}

h2 span{
	display: block;
}

h3 {
  line-height: 0.8;
}

/*
h3 {
  font-size: 2.5rem;
}
*/

.pdf_btn {
  display: inline-block;
  padding: 12px 24px;
  background-color: #fff39c;  /* ボタンの色 */
  color: #691c32;
  text-decoration: none;
  border-radius: 8px;
  font-weight: bold;
  font-size: 14px;
  transition: background-color 0.3s;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

.pdf_btn_box{
	text-align: center;
	padding: 20px 0; 
	width: 100%; 
}

.pdf_btn:hover {
  background-color: #fffa5a;  /* ホバー時の色 */
}

.a_box01,.a_box02,.a_box03{
  background-color:#9FFFD633;
  text-align: center;
  border-radius: 20px;
  padding: 20px 10px;
  margin: 10px;
}
.d_box01,.d_box02{
  background-color:rgba(159,255,214,0.2)!important;
} 
.a_box01 h3,.a_box02 h3{
  color:#691c32;
  font-weight: bold;
  margin-bottom: 15px;
/*  font-size: 2.0rem;*/
}
.d_box01 h3,.d_box02 h3{
  color:#0c8e66!important;
}
.a_box01{
  width: 300px!important;
  margin: auto;
}
.a_box02{
  width: 43%;
}
.a_box03{
  background-color:rgba(255,229,39,0.2)!important;
  position: relative;
  text-align: left!important;
}
.a_box03 h3{

  color:#ff3000;
  font-weight: bold;
}
.d_box03{
  text-align: center!important;
}
.sp_area{
  background-color:rgba(255,162,69,0.2);
}
.sp_area .d_box03{
  background-color:rgba(255,255,255,0.80);
}
.text_about2{
  font-size: 1rem;
}
.not{
  position: relative;
  font-size: 3.0rem;
}
.not::before {
  position: absolute;
  content: "";
  display: block;
  transform: rotate(-10deg);
  background-color: red;
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
}

.arrow{
	font-size: 2rem;
}

.text_24{
  font-size: 4.0rem;
}

.nomiho{
	font-size: 2.0rem;

}


.otonanimei{
	font-size: 20px;
}

.box03_kome{
	font-size: 1.7rem;
}
/*
.mt30{
	font-size: 2.0rem;
}
*/

/*
.text_20{
	font-size: 2.7rem;
}
*/



.a_box04_05_06{
	background-color: #66FFD733;
	border-radius: 20px;
	margin: 20px 10px;
}

.a_box04 h3,.a_box05_06 h3 {
    color: #ff3000;
    font-weight: bold;
  line-height: 1.5;
}

.a_box04_l{
  display: inline-block;
  background-color: white;
  text-align: center;
  border-radius: 20px;
  padding: 20px 10px;
  margin: 10px 20px 20px 20px;
}

.a_box04_s{
  display: inline-block;
  background-color: rgba(255, 162, 69, 0.2);
  text-align: center;
  border-radius: 20px;
  padding: 20px 10px;
  margin: 10px;
}

.box05_06_h3{
	justify-content: center;
}

.box_05_06_flex{
	 display: flex;
     justify-content: center;
}



.a_box04{
  background-color: white;
  text-align: center;
  border-radius: 20px;
  padding: 20px 10px;
  margin: 10px 30px 30px 30px;
}

.a_box05_06{
  background-color: white;
  text-align: center;
  border-radius: 20px;
  padding: 20px 10px;
  margin: 10px 30px 10px 30px;
}

.a_box04_05_06 {
  padding-top: 20px;
}

/*
.a_box04,.a_box05_06{
  background-color: white;
  text-align: center;
  border-radius: 20px;
  padding: 20px 10px;
  margin: 10px;
}
*/

.a_box05,.a_box06{
  background-color: rgba(255, 162, 69, 0.2);
  text-align: center;
  border-radius: 20px;
  padding: 20px 10px;
  margin: 10px;
}

.box06_text{
	font-size: 0.8rem;
}

.a_box06_sentaku{
	font-size: 1.5rem;
}

.a_box04_05_06_s_tittle{
	font-size: 2.5rem;
	font-weight: bold;
	white-space: nowrap;
}

.jikan_ryoukin{
	font-size: 1.9rem;
}

.text_14{
	text-align: center;
    font-size: 1.2rem;
}

<strong>.sansai</strong>{
	font-size: 1.2rem;
}


@media screen and (max-width: 770px) {
  h3 {
    font-size: 1.6rem; /* H3の期間・場所・時間・料金 */
  }
  .a_box04_05_06_s_tittle{
  font-size: 1.6rem;
}
}

@media screen and (max-width: 768px) {
.text_16.nowrap {
  font-size: 1.3rem;
}

.web_text {
  font-size: 1.3rem;
}

.bg_o.text_16 {
  font-size: 1.3rem;
}
.text_24 {
  font-size: 3.0rem;
}
.text_14 {
  font-size: 0.8rem;
}
.text_08 {
  font-size: 0.8rem;
}
}





@media screen and (max-width: 767px) {
  .nomiho {
    display: block; 
    margin-bottom: 4px; 
	font-size: 1.6rem;
  }
	.not{
  position: relative;
  font-size: 2.0rem;
}
}

@media screen and (max-width: 767px) {
  .a_box02 h3 {
    line-height: 1.6;
  }
  .a_box04_s {
    width: 95%;
    margin: 10px auto;
  }
  .a_box04_05_06_s_tittle{
	width: 95%;
	white-space: normal;
	}
}

.web01{
  width: 240px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.web01:hover{
  opacity: 0.8;
}
.all_img{
  margin-top: 30px;
}
  .y_btn a{
   width: 300px;
  }
.y_btn a:hover{
  opacity: 0.8;
}
@media screen and (max-width:1000px){
    #about {
/*      background: none;*/
        padding: 30px 5px;
    }
}

@media screen and (max-width: 1000px) {
  .a_box01, .a_box02, .a_box03, .d_box01, .d_box02 {
    background-color: rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    border: 1px solid #eee;
  }
}
	
.lead {
/*    background: #ffffe3; */                /*背景が付いたら追加*/
    margin-bottom: 30px;
/*  　box-shadow: 0 0 20px 20px #ffffe3;  */ /*背景が付いたら追加*/
	text-align: center;
    }
	
.d_lead {
        background: #eafff8;
        box-shadow: 0 0 20px 20px #eafff8;
    }
.a_box01, .a_box02, .a_box03 ,.d_box01,.d_box02{
    background-color: rgb(255 255 255 / 80%)!important;
}
  .a_box03 {
    background-color: #fff39c!important;
}
.sp_area{
  background-color: rgb(255 213 171 / 80%);
}

	.sp_area {
    padding: 20px;       
    margin: 20px auto 0 auto;
    border-radius: 15px; 
    width: 98%;          
    }
    .d_box03 {
    padding: 20px;       
    margin: 20px auto;   
    border-radius: 15px; 
    width: 98%;          
    }




h2 {
    margin: 10px auto;
}
h2 .bold {
    font-size: 50px;
}


.web01 {
    width: 200px;
    bottom: -25px;
}
.text_about2{
    font-size: 0.8rem;
}

/*
  .y_btn a{
    width: 250px;
    margin: auto;
  }
*/

.y_btn a {
  width: 250px;
  display: inline-block;
}

.mt20 {
  margin-top: 20px;
  margin-bottom: 0;
}

.mt20,
.mt20 + table {
  margin-top: 20px;
  margin-bottom: 0;
}


.ice_bg {
  position: relative;
  background: url('../images/bg02.jpg') no-repeat center center;
  background-size: contain; 
  background-position: center center;
}

.sansai{
	font-size: 1.2rem;
}

.text_kome{
	background-color: #FFFFFF;
}

.text_ryoukinkome{
		font-size: 1.2rem; 
	}
	.text_ryoukinkome_02{
		font-size: 1.2rem; 
		display: block;
	}
.box03_kome{
	    font-size: 1.2rem;
	    display: block;
}
.text_kome.spL{
	    font-size: 1.2rem;
}

@media screen and (max-width:767px){
    .global-item:first-child{
border-left: none;
}
.global-item:last-child{
border-right: none;
}
}

@media screen and (max-width: 770px) {
  h3 {
    font-size: 1.6rem; /* H3の期間・場所・時間・料金 */
  }
	
	.box03_kome{
		font-size: 0.8rem;
	}
	.nowrap{
	font-size: 1.0rem;
    max-width: 100%;
    white-space: normal;
  }
	.text_ryoukinkome{
		font-size: 0.8rem; 
	}
	.text_ryoukinkome_02{
	font-size: 0.8rem;
	display: block;
	}
	.sp_area {
    padding: 20px;       
    margin: 20px auto 0 auto;
    border-radius: 15px; 
    width: 98%;          
    }
    .d_box03 {
    padding: 20px;       
    margin: 20px auto;   
    border-radius: 15px; 
    width: 98%;          
    }
    }



@media screen and (min-width: 1001px) {
  .a_box01,.a_box02 {
    background-color: #66FFD733 !important;
  }
  .a_box02.d_box03 {
    background-color: white !important; 
  }
}

@media screen and (max-width: 770px) {
  .a_box01, .a_box02, .a_box03, .d_box01, .d_box02 {
    width: 98%; 
    padding: 10px 10px; 
    margin: auto;
  }
  .a_box01 {
    margin-bottom: 20px !important;
  }
  .text_kome.spL{
	    font-size: 0.8rem;
}
  }
@media screen and (min-width: 771px) {
  .y_btn {
    flex-direction: row;
  }
}

@media (max-width: 770px) {
  .box_05_06_flex {
    flex-direction: column; 
    gap: 20px; 
  }
  .a_box05, .a_box06 {
    width: 100%;
    margin: 0;
  }
}



/*--- Gallery ---*/
ul {
  list-style: none;
}

.food-name {
  text-align: center;
}

#gallery{
  position: relative;
  background: #fff;
  padding: 35px 0;
}

#gallery img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

#gallery h2 {
  text-align: center;    
  margin: 20px auto;     
  display: block;
  width: 100%;
}

#food {
  margin-top: 30px; 
}

.ice_line{
  position: absolute;
  top:25px;
  width: 100%;
}

.ice_line img {
  display: block;
  margin: 0 auto; /* 画像中央に */
}

#sweets,#food{
  margin-top: 50px;
}
#gallery ul::before{
  content: "";
  display: block;
  order: 1;
  margin: 10px;
  width: 300px;
}
#gallery ul::after{
  content: "";
  display: block;
  order: 1;
  margin: 10px;
  width: 300px;
}
.g_content{
  content: "";
  display: block;
  order: 1;
  margin: 10px;
  width: 300px;
}
#gallery li{
  margin: 10px;
}
#food .flex_c li img,#sweets .flex_c li img{
  width: 300px;
}
#gallery h4{
  background: #66FFD733;
  padding: 10px;
  font-size: 28px;
  text-align: center;
  font-weight: bold;
}
.d_gallery h4{
  background: #66FFD733!important;
}
.sp_plan{
  background: rgb(255 255 255 / 80%);
  padding: 10px;
  width: 600px;
  margin: 50px auto;
}
.sp_plan img{
  width: 50%;
}
.sp_child{
  margin: 0 10px;
}
.strawberry span{
    background: linear-gradient(transparent 60%, #ffdbdb 60%);
}
.lb-data .lb-number{
  display: none!important;
}
.lb-data .lb-caption {
    font-size: 1.5rem!important;
    color: #ffffff!important;
  line-height: 1.2em!important;
}
.lb-outerContainer {
    margin: 100px auto auto!important;
}

@media screen and (max-width:767px){
#gallery h4 {
    padding: 0px;
    font-size: 24px;
}
  #gallery li {
    margin: 5px 0;
    width: 170px;
}
#food .flex_c li img, #sweets .flex_c li img {
    width: 170px;
}
.g_content{
    margin: 5px 0;
    width: 170px;
}
#gallery ul::before{
    margin: 5px 0;
    width: 170px;
}
#gallery ul::after{
    margin: 5px 0;
    width: 170px;
}
.sp_plan {
    padding: 10px 0;
    width: 100%;
    margin: 10px auto;
}
.sp_plan img {
    width: 45% !important;

    height: 100%;
}
.lb-data .lb-caption {
    font-size: 0.8rem !important;
}
}
@media screen and (max-width:600px){

  .sp_plan{
    flex-direction: column!important;
  }
.sp_plan img {
    width: 80% !important;
    margin: auto;
}
.sp_child {
    margin: 10px auto;
}
}

@media screen and (max-width: 770px) {
    #gallery .food-name p {
        font-size: 0.8rem; 
    }
    .text_18.lead {
        font-size: 1.3rem;
    }
}


/*--- menu ---*/
#menu{
  position: relative;
}
.tab_flex{
  display: flex;
  justify-content: space-between;
}
.tab_list{
  width: 45%;
  margin-right: 15px;
  margin-left: 15px;
  list-style: circle;
}
.tab_list li{
  line-height: 2;
}

.list_none{
  background: none!important;
  list-style: none;
}
.list_sp {
    width: 100% !important;
    background: rgb(255 250 210 / 80%) !important;
    line-height: 1.7;
    margin: 0 auto;
}
.list_sp img {
    width: 80% !important;
    margin: auto;
    display: block;
}
.list_sp .sp_child {
    margin: auto !important;
    width: 100%;
  text-align: center;
}
.d_plan{
    background: rgb(255 250 210 / 80%) !important;
    line-height: 1.7;
  padding: 10px;
  margin: 10px auto;
}
/*tabの形状*/
.tab{
	display: flex;
	flex-wrap: wrap;
  margin-bottom: -2px;
}
.tab li a{
	display: block;
	margin:0 2px;
	padding:10px 20px;
  border: #691c32 solid 2px;
  color: #ffffee!important;
  font-weight: bold;
  background: #691c32;
}
/*liにactiveクラスがついた時の形状*/
.tab li.active a{
	background: #ffffee;
  color: #691c32!important;
  text-decoration: none;
}
.tab li a:hover{
  text-decoration: none;
}


/*エリアの表示非表示と形状*/
.area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
	padding:50px 30px;
  border: #691c32 solid 2px;
  line-height: 2;
  background: rgba(255,255,238,0.9);;
}

/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.drink_btn{
    background: #691c32;
    border-radius: 30px;
    box-shadow: #999 3px 3px 3px;
    padding: 15px 10px;
    text-align: center;
    color: #f7f1d9!important;
}
.drink_btn:hover{
  opacity: 0.8;
  text-decoration: none!important;
}
@media screen and (max-width: 767px) {
.m_item01 {
    top: -58px;
    left: 10px;
}
.m_item02 {
    top: -62px;
    right: -20px;
}
.area {
    padding: 20px 0px;
  }
.tab_flex{
  display: block;
  margin-left: 5px;
}
.tab_list {
        width: 98%;
        margin-right: 0;
        margin-left: 25px;
    }
    .tab_list li {
        line-height: 2;
    }
.list_sp {
      width: 98% !important;
    margin-left: -20px;
}
.d_plan {
    margin: 10px auto 10px -25px;
    width: 95%;
}

}

.bana{
  display: block;
  margin: 20px
  width: 100%;
}

.bnr_area {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media screen and (max-width: 770px) {
  .tab_list li {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 770px) {
  .spL {
    font-size: 0.8rem; /* メニューの※の文字の大きさ */
  }
}

/*--- footer ---*/
.footer_info{
  background: #2BEDA7;
  text-align: center;
  padding: 30px 10px;
}
.d_footer{
  background: #2beda7;
}

@media screen and (max-width: 767px) {

.footer_info {
    padding: 30px 10px;
}
}
@media screen and (max-width:600px){

}

.pcHidden {
  display: none;
}

@media screen and (max-width: 768px) {
.pcHidden {
    display: block;
  }
}

@media screen and (max-width: 768px) {
.spHidden {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .w1000 {
    width: 98% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
  }
}

@media screen and (max-width: 770px) {
  .text_20 {
    font-size: 1.5rem; /* 「基本情報」「ギャラリー」「メニュー」「予約」 */
  }
  h2 .bold {
    font-size: 30px;
}
}

main {
  background-image: url("../images/bg0B.jpg");
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}

.main__block{
	margin-bottom: 0 !important;
}