@charset "UTF-8";
/*----------------------------------------
	reset
----------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header, main, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

caption, th {
  text-align: left;
}

th, td {
    padding: 0;
}
table, th, td {
    border: 0px none;
    background-color:transparent;
}


/*----------------------------------------
	パンくず
----------------------------------------*/

 #visit_wrapper nav ol.breadcrumb{
  margin: 1em 0;
  padding: 0;
  list-style: none;
}
 #visit_wrapper nav .breadcrumb li{
  display: inline;
  list-style: none;
font-size: 90%;
}

 #visit_wrapper nav ol.breadcrumb li:after {
  content: '>';
  padding: 0 0.2em;
  color: #555;
}

 #visit_wrapper nav ol.breadcrumb li:last-child:after {
  content: '';
}

 #visit_wrapper nav ol.breadcrumb li a {
  text-decoration: none;
  color: #000000;/*色*/
}

 #visit_wrapper nav ol.breadcrumb li a:hover {
  text-decoration: underline;
}

/*--------SP対応--------*/
@media screen and (max-width: 767px) {
  #visit_wrapper nav ol.breadcrumb{ 
    margin: 0 0;
    background-color: #fff;
  }
}
/*----------------------------------------
	index　ブロック全体
----------------------------------------*/
#visitgyou_wrapper{
	margin:0 auto;
	padding:5px;
	background:#fff;
	/* border:1px solid #dcdcdc;  */
	text-align:center;
	max-width:1100px;
	}

/*----------------------------------------
	タブ選択
----------------------------------------*/

.vi_gyoushu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}


/*----------------------------------------
	index　選択エリア
----------------------------------------*/
.vi_gyoushu{
    margin-top:60px;
    font-size:1rem;
    font-weight:bold;
}
.vi_gyoushu .item_gyoushu a {
    display: block;
    color: #DD7040;
    text-decoration: none;
    padding: 9px 10px;
    border: 1px solid #DD7040;
}
.item_gyoushu {
    font-family: 'Yuji Syuku', serif;
    font-weight: normal !important;
    font-display: swap;
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
.vi_gyoushu {
    margin-top: 40px;   
}
}

/*----------------------------------------
	index　見出し
----------------------------------------*/
.gyoushu_name_tit , .gyoushu_name_tit02 {
  font-weight: bold;
  padding: 0.3em;
  margin:50px 10px 15px 10px;
  background-color:#ffcc99;
  position: relative;
}
.gyoushu_name_tit::after , .gyoushu_name_tit02::after {
  content: '';
  background-size: 10px 10px;
  background-color: #e1eef5;
  background-image: repeating-linear-gradient(-45deg, #ff9966 0, #ff9966 3px, #fff 0, #fff 50%);
  width: 100%;
  height: 7px;
  position: absolute;
  bottom: -5px;
  left: 0;
}
.gyoushu_name_tit02{
   background-color:#ff6699; 
}
.gyoushu_name_tit02::after{
     background-color: #ffe6ee;
  background-image: repeating-linear-gradient(-45deg, #ff6699 0, #ff6699 3px, #fff 0, #fff 50%); 
}

/*--------------------------------------------
コンテンツメイン
------------------------------------------*/
.visitgyou_wrapper img{
    max-width: 350px;
}

.tit_boxl img{
    width:350px;
    height:280px;
    object-fit: cover;
}
.item_box{
    display:grid;
    grid-template-columns: 1fr 1fr;
    flex-wrap: wrap;
    gap:5px;
}
.item_wrp{
    background:#fffff0;
    border-radius: 10px;
   /* border: 1px solid #CCC;  */
    margin:40px 15px 40px 15px ;
   /* position:absolute; */
}
.box_main{
    width:100%;
 /*   display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));  */
    padding-top:15px;
    margin-bottom: 30px; 
}
.box_main img{
    height: 400px;
    width: 560px;
    object-fit:cover;
}

.box_main img.mein_im{
    width:50%;
    flex:left;
}

div.gridbox2{
    margin:30px 20px 30px 20px;
    display: grid;
    grid-template-columns:33% 33% 33%;
    gap:10px;
}

div.gridbox2 figure img {
    max-width: 100%;
    width:320px;
    height:280px;
    object-fit: cover;
}

.box_item{
    margin:30px 20px 20px 20px;
}

div.box_hidden div.float_l{
	float:left;
	width:40%;
    margin: 0 15px 15px 0;
}

div.box_hidden div.float_l img{
	max-width:100%;
    /* width:400px; */
    height:300px;
    object-fit: cover;
}
div.box_hidden div.float_r{
	float:right;
	width:40%;
    margin: 0 0 15px 15px;
}

div.box_hidden div.float_r img{
	max-width:100%;
    /* width:400px; */
    height:300px;
    object-fit: cover;
}
div.basic_info{
	float:right;
	width:40%;
    margin: 12px 15px 15px 0;
}

.logoimg{
    width:50px;
}
.nowrap{
    clear: both;
}
.sho_tit02 , .sho_tit03{
    padding: 20px;
    background-color: #ffcc99;
    position: relative;
    width: 57%;
    margin: 20px 10px 10px 0px;
}
.sho_tit03{
    float:right;
}
.sho_tit02::after ,.sho_tit03::after{
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  border-width: 0 20px 20px 0;
  border-style: solid;
  border-color: #ff9900 #fff #ff9900;
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15)
}
.sho_tit02 span{
    font-weight:bold;
    font-size:1.1rem;
    margin-bottom:10px;
}
  .sho_cont{
        line-height:2rem;
    }

figure {
  border: thin #c0c0c0 solid;
  display: flex;
  flex-flow: column;
  margin: auto;
/*max-width:200px;
    max-height:180px;
    object-fit: cover;  */
}

figcaption {
background-color: #8b4513;
    color: #fff;
  /*  font: italic smaller sans-serif;  */
    padding: 3px;
    text-align: center;
    height: 28px;
    font-size: 1rem;
}
.box_tit{
    font-weight:bold;
    font-size:1.1rem;
}

/*--------SP対応--------*/
@media screen and (max-width: 600px) {
  
    .sho_tit , .sho_cont{
        line-height:2rem;
    }
    .sho_tit{
        margin-bottom:10px;
        font-size:90%;
    }
    div.box_hidden div.float_l , div.box_hidden div.float_r{
        width:100%;
       /* flex-wrap: wrap;  */
    }
    .tit_boxl img {
    width: 100%;
    height: 250px;
    }
    div.gridbox2{
    margin:15px 10px 20px 10px;
    display: grid;
    grid-template-columns:100%;
    gap:10px;
    flex-wrap: wrap;
}
    .sho_tit02 , .sho_tit03{
    width: 100%;
    margin: 0 auto;
}
    .sho_tit03{
    float:left;
}
    .box_main img{
    height: auto;
    max-height:200px;
    width: 100%;
    object-fit:cover;
}
    div.basic_info{
        width:100%;
        margin: 18px 0px 25px 10px;
    }
    .item_box{
    grid-template-columns: 1fr;
}

}
/*--------タイトル---------------*/
.sho_tit{
    width:100%;
}
h4.sho_tit{
    font-size: 2rem;
    margin-bottom: 30px;
}
h5.sho_tit{
    font-size: 1.5rem;
    margin-top:30px;
    margin-bottom: 30px;
}
.sho_tit01 {
    margin:  0;             /* デフォルトCSS打ち消し */
    font-size:  24px;       /* 文字サイズ指定 */
    position:  relative;    /* 位置調整 */
    font-weight:  normal;   /* 文字の太さ調整 */
    display:  inline-block; /* インラインブロックにする */
    background-color: #fffff0; /* 背景色指定 */
    margin-left: 20px;      /* 周りの余白指定 */
    padding: 0 10px;        /* 余白指定 */
}
p {
    margin:  0;             /* デフォルトCSS打ち消し */
    line-height: 2;         /* 行間調整 */
}
.sho_tit01_wrap {
    position: relative;     /* 位置調整 */
    margin: 0 auto;
    margin-bottom:15px;     /* 周りの余白指定 */
    margin-top:15px;
    width: 50%;
}
.sho_tit01_wrap:before {
    content:  '';           /* 空白の要素を作る */
    background-color: #000; /* 背景色指定 */
    display:  block;        /* ブロック要素にする */
    position:  absolute;    /* 位置調整 */
    left:  0;               /* 位置調整 */
    width:  100%;           /* 幅指定 */
    height:  1px;           /* 高さ指定 */
    top: 0;                 /* 位置調整 */
    bottom:  0;             /* 位置調整 */
    margin:  auto;          /* 位置調整 */
}
.box_hidden p{
    text-align: left;
    font-size:1rem;
}
.tit_boxr{
    display: flex;
    align-items: center;
    font-size: 30px;
    flex-flow: wrap;
    padding: 60px 0 30px 0;
    text-align: left;
    margin-bottom:50px;
}
.basic_info table{
    text-align: left;
    font-size:1rem;
}
.basic_info table td{
    padding:5px;
}
.basic_info{
    margin:0 auto;
}

/*sp用の設定*/
@media screen and (max-width: 600px) {
div.readmore div.float_r{
	float:none;
	width:70%;
	margin:auto;
}
    .sho_tit01_wrap{
        width:90%;   
    }
       .tit_boxr{
       margin-bottom:0px;
       padding:10px 0 10px 0;
    }
    .sho_tit01{
     margin-left: 20px;
     margin-right: 20px;
     line-height: 1.3rem;
    }
    .sho_tit02{
     width:97%;   
    }
h5.sho_tit{
    font-size: 1.2rem;
    margin-top:20px;
    margin-bottom: 20px;
}
    
}

/*--------------------------------------------
アコーディオン
------------------------------------------*/
/* もっと読む */   
.readmore{
    margin: 20px 0 20px 0;
    position: relative;
    box-sizing: border-box;
    border-radius: 10px;
   　/* padding: 10px;　　*/
    border: 1px solid #CCC;
    
    background-color: azure;
      background:rgba(255,255,255,0.5);
  /*background:#ffffff;*/
    
    /* display:inline-block;*/
}


.readmore-content{
    position: relative;
    overflow: hidden;

    /*高さの初期値*/
    height: 300px;
}
.readmore-content::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    content: "";
    /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
    height: 50px;
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
    background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
}

/* 続きを読むボタン */
.readmore-label{
    display: table;
    bottom: 5px;
    position: absolute;
    bottom: 5px;
    left: 57%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    margin: 0 auto;
    z-index: 2;
    padding: 10px 20px;
    background-color: #ffcc99;
    border-radius: 10px;
    color: #FFF;
}
.readmore-label:before{
    content: 'もっと読む ▼';
    font-size: 110%;
}

.readmore-check{
    display: none;
}
/*チェック時にボタンを非表示*/
.readmore-check:checked ~ .readmore-label{
    position: static;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
    /* display: none; */
}
.readmore-check:checked ~ .readmore-label:before{
    content: '折りたたむ ▲';

}
/*チェック時に高さを自動に戻す*/
.readmore-check:checked ~ .readmore-content{
    height: auto;
}
/*チェック時グラデーション等を削除*/
.readmore-check:checked ~ .readmore-content::before {
    display: none;
}

/*sp用の設定*/
@media screen and (max-width: 600px) {
  
.readmore-content{
    /*高さの初期値*/
    height: 490px;
}
    
.readmore-label {
    left: 50%;
}
}
    
/*--------------------------------------------
店舗基礎情報
------------------------------------------*/
/*
table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 650px;
  table-layout: fixed;
  color: #4CAF50;
}

table tr {
  background-color: #fff;
  padding: .35em;
  border-bottom: 1px dotted #8BC34A;
}
table tr:last-child{
   border-bottom: 2px solid #18521b;
}
table th,
table td {
  padding: 1em 10px 1em 1em;
}
tbody th {
    color: #0f7d13;
}
.txt{
   text-align: left;
   font-size: .85em;
}
.price{
   text-align: right;
}
@media screen and (max-width: 600px) {
  table {
    border: 0;
    width:100%
  }
  table th{
    display: block;
    border-right: none;
    border-bottom: 2px solid #0f7d13;
    padding-bottom: .6em;
    margin-bottom: .6em;

  }
  table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  table tr {
    display: block;
    margin-bottom: 2em;
        border-bottom: 2px solid #0f7d13;
  }
  
  table td {
    border-bottom: 1px solid #bbb;
    display: block;
    font-size: .8em;
    text-align: right;
    position: relative;
    padding: .625em .625em .625em 4em;
    border-right: none;
  }
  
  table td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
  }
  
  table td:last-child {
    border-bottom: 0;
  }
}   
    */
    
.basic_info {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #8b4513;
    border-radius: 8px;
    width:40%;
}
.basic_info .basic_tit {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #fffff0;
    color: #8b4513;
    font-weight: bold;
}
.basic_info p {
    margin: 0; 
    padding: 0;
}
   @media screen and (max-width: 600px) {
    .basic_info {
    width:100%; 
       }
}
    

/*--------------------------------------------
index
------------------------------------------*/

.mae_tit ,.shop_tit01{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  text-align: center;
}
.mae_tit{
    line-height: 1.5rem;
    height: 50px;
}
.mae_tit::before,
.mae_tit::after {
  content: '';
  width: 70px;
  height: 1px;
  background-color: #8b4513;
}
.mae_tit::before {
  margin-right: 20px;
}
.mae_tit::after {
  margin-left: 20px;
}
.visitphoto{
    width:400px; 
    height:300px;
    object-fit: cover;
}

.shop_tit01{
    font-size: 1.5rem;
    margin: 10px 0 10px 0
}    
.read_top{
    margin:20px 10px 10px 20px;
}
.read_top h3{
    font-size:18px;
}
.read_top p{
    text-align:left;
}
.shop_titbox{
    height:80px;
    width: 510px;
    position:absolute; 
}
.newicon{
    position: relative;
    top: 40px;
    left: -10px;
    width: 100px;
    height: 100px;
    background-color: #d94545;
    border-radius: 80px;
    transform: rotate(-16deg);
    text-align: center;
    font-size: 1.5rem;
    padding-top: 35px;
    color: #fff01f;
    font-weight: bold;
    line-height: 1.8rem;
}
.shopimg{
    margin-top:100px;
}
    .pc_show { display: block !important; }
    .sp_show { display: none !important; }

   @media screen and (max-width: 600px) {
    .mae_tit::before,
    .mae_tit::after {
        width: 40px;
       }
    .visitphoto{
    width:90%; 
}
    .newicon {
    top: 85px;
    width: 90px;
    height: 90px;
       }
    .shop_titbox {
    width: 90%;
    }
    .pc_show { display: none !important; }
    .sp_show { display: block !important; }
}


/*------------------------*/

.imbox , .imbox02{
        display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:5px;
    margin-bottom:20px;
}
.imbox img{
    width:98%;
}
.imbox02{
    grid-template-columns: 1fr 1fr;
}
.imbox02 img{
    width: 350px;
    height: 350px;
    object-fit: cover;
    margin-left: 70px;
}
.cont_im{
    width: 350px;
    height: 350px;
    object-fit: cover;   
    display:block;
}
.tuikaimg img{
    width: 350px;
    height: 350px;
    object-fit: cover;
}
.main_p{
    margin:10px 0 30px 0;
}
.item_wrp p{
    text-align:left;
}

   @media screen and (max-width: 600px) {
.float_l , .float_r{
    float:none;
}
    .imbox{
    grid-template-columns: 1fr 1fr;
        flex-wrap: wrap;
}
.imbox02 img{
    width: 100%;
    height:auto;
    margin-left: 0px;
}
.cont_im{
    width: 100%;
    height:auto;  
    display:none;
}
       
}

.rink_un{
    text-align:center; 
    margin-right:5px; 
    margin-top:10px;
    
}