#restaurant * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#restaurant img {
	border: 0px;
	vertical-align: top;
	max-width: 100%;
	height: auto;
	width /***/:auto;
}
#restaurant a {
	text-decoration: none;
}
#restaurant a:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";  /* ie 8 */
	-moz-opacity: 0.8;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.8;              /* Safari 1.x */
}
#restaurant {
	width: 100%;
	font-size: 20px;
	color: #3E3A39;
	line-height: 1.6;
	background-color: #FFF;
	padding-bottom: 50px;
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
}
/*メインビジュアル*/
#restaurant .mv{
    background: url("../img/restaurant-rank/back-pc.jpg?0");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    text-align: center;
    height: 454px
}
#restaurant .mv .title{
    padding: 90px 0;
    text-align: center;
}
#restaurant .lead p{
    background: #FFF;
    padding: 20px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    max-width: 1000px;
    background: #fffaf2;
    border: dotted 2px #e88329;
    margin: 30px auto;
}
/*続きを読む（ランキング）*/
#restaurant .lead p .readmore-trigger {
  display: none;
  cursor: pointer;
  color: #555;
  white-space: nowrap;
}
#restaurant .lead p .readmore-content {
  display: inline;
}
/*目次*/
#restaurant .toc {
    margin-bottom: 30px;
    border: 2px solid #e88329;
}
#restaurant .toc div {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 10px 0;
    background-color: #e88329;
    color: #fff;
    font-weight: 600;
    font-size: 25px;
}
#restaurant .toc div::before {
    display: inline-block;
    width: 22px;
    height: 20px;
    margin-right: 5px;
    background-image: url("../img/restaurant-rank/toc.png");
    background-repeat: no-repeat;
    content: '';
}
#restaurant .toc label::after {
    margin-left: 7px;
    font-weight: normal;
    font-size: 18px;
    color: #fff;
    content: "[開く]";
    cursor: pointer;
}
#restaurant .toc:has(:checked) label::after {
    content: "[閉じる]";
}
#restaurant .toc input {
    display: none;
}
#restaurant .toc ol {
    list-style-type: decimal;
    margin: 0;
    overflow: hidden;
}
#restaurant .toc > ol {
    height: 0;
}
#restaurant .toc:has(:checked) > ol {
    height: auto;
    padding: 20px 120px;
}
#restaurant .toc ol{
    list-style: none;
  counter-reset: num;
  padding: 0;
  margin: 0;
}
#restaurant .toc li {
    padding: 5px 0;
    counter-increment: num;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 500;
}
#restaurant .toc li img{
    margin-right: 10px;
}
#restaurant .toc a {
    color: #333;
    text-decoration: none;
    font-weight: bold;
}
#restaurant .toc li span{
    font-weight: normal;
    font-size: 15px;
}
#restaurant .base{
    max-width: 1000px;
    margin: 0 auto 50px auto;
}
/*ランキング*/
#restaurant .base .rank-area{
    margin: 20px 0;
}
#restaurant .base .rank-area .rank-box{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}
#restaurant .base .rank-area .rank-box .rank-icon-1{
    background: url("../img/restaurant-rank/rank-1-ttl.png") no-repeat;
    width: 66px;
    height: 70px;
    color: #FFF;
    font-weight: bold;
    font-size: 30px;
    text-align: center;
    padding: 5px;
}
#restaurant .base .rank-area .rank-box .rank-icon-1 span{
    font-size: 20px;
}
#restaurant .base .rank-area .rank-box .rank-icon-2{
    background: url("../img/restaurant-rank/rank-2-ttl.png") no-repeat;
    width: 66px;
    height: 70px;
    color: #FFF;
    font-weight: bold;
    font-size: 30px;
    text-align: center;
    padding: 5px;
}
#restaurant .base .rank-area .rank-box .rank-icon-2 span{
    font-size: 20px;
}
#restaurant .base .rank-area .rank-box .rank-icon-3{
    background: url("../img/restaurant-rank/rank-3-ttl.png") no-repeat;
    width: 66px;
    height: 70px;
    color: #FFF;
    font-weight: bold;
    font-size: 30px;
    text-align: center;
    padding: 5px;
}
#restaurant .base .rank-area .rank-box .rank-icon-3 span{
    font-size: 20px;
}
#restaurant .base .rank-area .rank-box .rank-icon-4{
    background: url("../img/restaurant-rank/rank-4-ttl.png") no-repeat;
    width: 66px;
    height: 70px;
    color: #FFF;
    font-weight: bold;
    font-size: 30px;
    text-align: center;
    padding: 5px;
}
#restaurant .base .rank-area .rank-box .rank-icon-4 span{
    font-size: 20px;
}
#restaurant .base .rank-area .rank-box .rank-icon-4.rank-10{
    letter-spacing: -0.1em;
    text-align: left;
}
#restaurant .base .rank-area .rank-box .rank-icon-4.rank-10 span{
    font-size: 16px;
    margin-left: 2px;
}
#restaurant .base .rank-area .rank-box .name-box{
    width: 90%;
}
#restaurant .base .rank-area .rank-box .name-box h2{
    font-size: 30px;
    font-weight: bold;
}
#restaurant .base .rank-area .rank-box .name-box .hotel{
    display: flex;
    align-items: center;
}
#restaurant .base .rank-area .rank-box .name-box .hotel img{
    width: 20px;
}
#restaurant .base .rank-area .rank-box .name-box .hotel a{
    font-size: 18px;
    text-decoration: underline;
    color: #3E3A39;
    margin-left: 10px;
}
#restaurant .base .rank-area .item-box{
    display: flex;
    gap: 15px;
}
#restaurant .base .rank-area .item-box .photo{
    flex: 1;
}
#restaurant .base .rank-area .item-box .text-box{
    flex: 1;
}
#restaurant .base .rank-area .item-box .text-box .text{
    font-size: 14.5px;
    line-height: 1.4;
}
#restaurant .base .rank-area .item-box .text-box .info{
    margin-top: 5px;
    padding: 10px;
    font-size: 15px;
    border: solid 1px #504f4f;
}
#restaurant .base .rank-area .comment-box{
    background: #fffaf2;
    padding: 20px;
    margin:20px 0;
}
#restaurant .base .rank-area .comment-box h3.comment{
    display: flex;
    align-items: center;
    border-bottom: solid 2px #e85853;
    margin-bottom: 10px;
    padding-bottom: 5px;
    font-weight: bold;
    font-size: 23px;
    gap: 10px;
}
#restaurant .base .rank-area .comment-box .staff-box{
    margin: 10px 0;
    display: flex;
  flex-direction: column;
}
#restaurant .base .rank-area .comment-box .staff-box .staff{
    display: flex;
    gap: 10px;
    align-items: center;
    border-bottom: dotted 2px #c4beba;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 15px;
}
#restaurant .base .rank-area .comment-box .staff-box .staff:last-child{
    padding-bottom: 0;
    border-bottom: none;
}
#restaurant .base .rank-area .comment-box .staff-box .staff.bd-none{
    padding-bottom: 0;
    border-bottom: none;
}
#restaurant .base .rank-area .comment-box .staff-box .comment-more .staff.bd{
    border-top: dotted 2px #c4beba;
    padding-top: 10px;
}
#restaurant .base .rank-area .comment-box .staff-box .staff .left{
    font-size: 15px;
    font-weight: bold;
    width: 10%;
}
#restaurant .base .rank-area .comment-box .staff-box .staff .right{
    font-size: 14px;
    width: 90%;
}
#restaurant .base .rank-area .bt_others {
	width: 450px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin: 0px auto;
	background-color: #FFF;
	cursor: pointer;
	padding: 5px;
}
#restaurant .base .rank-area .bt_others p.toggle_button{
    background: url("../img/restaurant-rank/icon_plus.png") no-repeat 90% center;
    display: block;
    margin-left: 5%;
}
#restaurant .base .rank-area .bt_others p.toggle_button::before {
  content: '他のコメントを見る';
}
#restaurant .base .rank-area .bt_others p.toggle_button.toggle_button_close{
    background: url("../img/restaurant-rank/icon_minus.png") no-repeat 90% center;
}
#restaurant .base .rank-area .bt_others p.toggle_button.toggle_button_close::before {
  content: '他のコメントを閉じる';
}
/*AI解析*/
#restaurant .base #ai-review{
color: #333333;
font-size: 16px;

}
#restaurant .base #ai-review .review-title{
display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: bold;
}
#restaurant .base #ai-review .review-title img{
margin-right: 10px;
width: 30px;
}
#restaurant .base #ai-review .ai-box{
  border-radius: 15px;
  padding: 10px;
  background: #FFF;
}
#restaurant .base #ai-review .review-subtitle{
font-size: 17px;
font-weight: bold;
display: flex;
align-items: center;
}
#restaurant .base #ai-review .review-subtitle img{
    width: 20px;
    margin-right: 5px;
}
#restaurant .base #ai-review .AI-text{
  font-size: 12px;
  color: #7e7d7d;
}
/*続きを読む（ランキング）*/
.readmore-trigger,.readmore-close {
  display: none;
}
#restaurant .base .rank-area .item-box .text-box .text .readmore-content {
  display: inline;
}
/* info（PC用） */
#restaurant .base .rank-area .item-box .text-box .text .readmore-content .info {
  display: block;
  margin-top: 1em;
}

/*その他*/
#restaurant .others-ttl{
    margin-top: 40px;
    margin-bottom: 30px;
    text-align: center;
}
#restaurant .base .others-area{
    display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      align-items: start;
}
#restaurant .base .others-area .others{
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.07);
    border: solid 1px #b9b7b6;
    padding-bottom: 20px;
}
#restaurant .base .others-area .others .photo img{
    width: 100%;
}
#restaurant .base .others-area .others .name-box{
    margin: 10px 20px;
    border-left: solid #ec9140 7px;
    padding-left: 10px;
}
#restaurant .base .others-area .others .name-box h3{
    font-size: 20px;
    font-weight: bold;
}
#restaurant .base .others-area .others .name-box .hotel{
    display: flex;
    align-items: center;
}
#restaurant .base .others-area .others .name-box .hotel img{
    width: 20px;
}
#restaurant .base .others-area .others .name-box .hotel a{
    font-size: 15px;
    text-decoration: underline;
    color: #3E3A39;
    margin-left: 10px;
}
#restaurant .base .others-area .others .text{
    margin: 10px 20px;
    font-size: 15px;
}
#restaurant .base .others-area .others .others_button {
    width: auto;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	margin: 0 20px;
	background-color: #FFF;
	cursor: pointer;
	padding: 5px;
    border: solid 1px #ec9140;
}
#restaurant .base .others-area .others p.others_button{
    background: url("../img/restaurant-rank/icon_plus.png") no-repeat 90% center;
    display: block;
    margin-left: 5%;
}
#restaurant .base .others-area .others p.others_button::before {
  content: 'バリ王スタッフのコメントを見る';
}
#restaurant .base .others-area .others p.others_button.others_button_close{
    background: url("../img/restaurant-rank/icon_minus.png") no-repeat 90% center;
}
#restaurant .base .others-area .others p.others_button.others_button_close::before {
  content: 'バリ王スタッフのコメントを閉じる';
}
#restaurant .base .others-area .others .sub_comment{
    margin-top: 10px;
}
#restaurant .base .others-area .others .sub_comment p {
    display: flex;
    gap: 10px;
    align-items: center;
    border-bottom: dotted 2px #c4beba;
    padding: 0 5px 10px 5px;
    margin: 0 20px 10px;
    font-size: 14px;
}
#restaurant .base .others-area .others .sub_comment p:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
/*続きを読むその他*/
#restaurant .base .others-area .others .readmore-trigger {
  display: none;
  cursor: pointer;
  color: #555;
  white-space: nowrap;
}
#restaurant .base .others-area .others .readmore-content {
  display: inline;
}
/* PCレイアウト */
@media (min-width: 640px) {
    .pc-none {
		display: none !important;
	}
    #restaurant .base .others-area .others .text.height{
        height: 336px;
    }
    .bt_pagetop {
        position: fixed;
        right: 20px;
        bottom: 50px;
        z-index: 200;
    }
}
/* スマホレイアウト */
@media (max-width: 639px) {
    .sp-none {
		display: none !important;
	}
    #restaurant img{
        width: 100%;
        height: auto;
    }
    #restaurant .mv{
        background: url(../img/restaurant-rank/back-sp.jpg);
        background-size: cover;
        padding: 10px 0;
        height: 200px;
    }
    #restaurant .mv .title{
        padding: 20px;
    }
    #restaurant .lead{
        margin: 0 20px;
    }
    #restaurant .lead p{
        font-size: 3.5vw;
        line-height: 1.5;
        font-weight: normal;
        padding: 10px;
        margin: 20px 0;
    }
    /* スマホ続きを読む（リード文） */
  #restaurant .lead p .readmore-trigger {
    display: inline;
    text-decoration: underline;
  }
  #restaurant .lead p .readmore-content {
    display: none;
  }
  #restaurant .lead p .readmore-close {
  display: none;
}

  #restaurant .lead p.text.is-open .readmore-content {
    display: inline;
  }

  #restaurant .lead p.text.is-open .readmore-trigger {
    display: none;
  }
  
  #restaurant .lead p.text.is-open .readmore-close {
  display: inline;
  text-decoration: underline;
}
    #restaurant .toc{
        margin-bottom: 20px;
    }
    #restaurant .toc div{
        font-size: 3.5vw;
    }
    #restaurant .toc label::after{
        font-size: 3vw;
    }
    #restaurant .toc div::before{
        width: 15px;
        height: 15px;
        background-size: 100%;
    }
    #restaurant .toc:has(:checked) > ol{
        padding: 10px 20px;
    }
    #restaurant .toc li{
        font-size: 3.5vw;
        line-height: 1.2rem;
    }
    #restaurant .toc li::before{
        font-size: 3vw;
    }
    #restaurant .toc li img{
        width: 20px;
    }
    #restaurant .toc li span{
        font-size: 3vw;
        display: block;
        text-indent: 2em;
    }
    #restaurant .base{
        margin: 20px;
    }
    #restaurant .base .rank-area .rank-box{
        margin-bottom: 0;
    }
    #restaurant .base .rank-area .rank-box .rank-icon-1,#restaurant .base .rank-area .rank-box .rank-icon-2,#restaurant .base .rank-area .rank-box .rank-icon-3,#restaurant .base .rank-area .rank-box .rank-icon-4{
        font-size: 5vw;
        width: 50px;
        height: 54px;
        background-size: 100%;
    }
    #restaurant .base .rank-area .rank-box .rank-icon-1 span,#restaurant .base .rank-area .rank-box .rank-icon-2 span,#restaurant .base .rank-area .rank-box .rank-icon-3 span,#restaurant .base .rank-area .rank-box .rank-icon-4 span{
        font-size: 3.5vw;
    }
    #restaurant .base .rank-area .rank-box .rank-icon-4.rank-10 span{
        font-size: 3vw;
    }
    #restaurant .base .rank-area .rank-box .name-box h2{
        font-size: 5.5vw;
    }
    #restaurant .base .rank-area .hotel{
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
#restaurant .base .rank-area .hotel a{
    font-size: 3vw;
    text-decoration: underline;
    color: #3E3A39;
    margin-left: 10px;
}
#restaurant .base .rank-area .hotel img{
    width: 15px;
}
#restaurant .base .rank-area .item-box{
    display: block;
}
#restaurant .base .rank-area .item-box .text-box{
    margin-top: 10px;
}
#restaurant .base .rank-area .item-box .text-box .text{
    font-size: 3vw;
}
 /* スマホ続きを読む（ランキング） */
  #restaurant .base .rank-area .item-box .text-box .text .readmore-trigger {
    display: block;
    text-decoration: underline;
    text-align: right;
  }
  #restaurant .base .rank-area .item-box .text-box .text .readmore-content {
    display: none;
  }
  #restaurant .base .rank-area .item-box .text-box .text .readmore-close {
    display: none;
  }

  #restaurant .base .rank-area .item-box .text-box .text.is-open .readmore-content {
    display: inline;
  }

  #restaurant .base .rank-area .item-box .text-box .text.is-open .readmore-trigger {
    display: none;
  }
  #restaurant .base .rank-area .item-box .text-box .text.is-open .readmore-close {
    display: block;
    text-decoration: underline;
    text-align: right;
    margin-top: 5px;
  }
  #restaurant .base .rank-area .comment-box h3.comment{
      font-size: 4vw;
  }
  #restaurant .base .rank-area .comment-box h3.comment img{
      width: 30px;
  }
  #restaurant .base .rank-area .comment-box{
      padding: 10px;
      margin: 10px 0;
  }
/*AI解析*/
#restaurant .base #ai-review{
    margin: 10px 0;
}
#restaurant .base #ai-review .review-title{
font-size: 3vw;
justify-content: flex-start;
}
#restaurant .base #ai-review .review-title img {
  margin-right: 5px;
  width: 20px;
}
#restaurant .base #ai-review .ai-box{
padding: 10px;
  box-shadow: 0 5px #eaeaea;
  border-radius: 10px;
}
#restaurant .base #ai-review .review-subtitle img{
    width: 12px;
}
#restaurant .base #ai-review .review-subtitle{
font-size: 3.1vw;
}
#restaurant .base #ai-review .ai-box h6{
font-size: 3.8vw;
line-height: 1.8;
}
#restaurant .base #ai-review .review-summary p {
  font-weight: normal;
  line-height: 2;
  margin: 5px 0;
  font-size: 3.5vw;
}
#restaurant .base #ai-review .review-keywords{
display: block;
}
#restaurant .base #ai-review .review-keywords ul{
margin-left: 0;
margin-top: 5px;
}
#restaurant .base #ai-review .review-keywords ul li {
  margin-right: 8px;
  font-size: 3.5vw;
}

#restaurant .base #ai-review .review-keywords ul li img{
margin-right: 3px;
  width: 12px;
}
 
#restaurant .base #ai-review .AI-text{
 margin-top: 5px;
  font-size: 2.8vw;
  text-align: left;
  line-height: 1.3em;
 }
 #restaurant .base .rank-area .comment-box .staff-box .staff{
     font-size: 3.2vw;
 }
 #restaurant .base .rank-area .bt_others{
     width: 100%;
     font-size: 3.5vw;
 }
 /*その他*/
#restaurant .base.item{
     margin-top: 10px;
 }
 #restaurant .others-ttl{
    margin-top: 20px;
    margin-bottom: 0;
}
 #restaurant .base .others-area{
     display: block;
 }
 #restaurant .base .others-area .others{
     display: flex;
     border: none;
     box-shadow:none;
     gap: 10px;
     flex-wrap: wrap;
 }
 #restaurant .base .others-area .others .photo{
     width: 39%;
 }
 #restaurant .base .others-area .others .sp-block{
     width: 58%;
 }
 #restaurant .base .others-area .others .name-box{
    margin: 0;
 }
 #restaurant .base .others-area .others .name-box h3{
     font-size: 4vw;
 }
 #restaurant .base .others-area .others .name-box .hotel img{
     width: 15px;
 }
 #restaurant .base .others-area .others .name-box .hotel a{
     font-size: 3vw;
 }
 #restaurant .base .others-area .others .text{
     margin: 10px 0 0;
     font-size: 3vw;
 }
 #restaurant .base .rank-area .item-box .text-box .text .readmore-content .info{
     font-size: 3.2vw;
     padding: 5px;
     margin-top: 5px;
 }
 #restaurant .base .others-area .others .bt_others{
     width: 100%;
 }
 #restaurant .base .others-area .others p.others_button{
     margin: 0;
     font-size: 3.2vw;
 }
 #restaurant .base .others-area .others .sub_comment{
     margin-top: 0;
 }
 #restaurant .base .others-area .others .sub_comment p{
     font-size: 3vw;
     margin: 0 5px 5px;
 }
/* スマホ続きを読む（その他） */
  #restaurant .base .others-area .others .readmore-trigger {
    display: block;
    text-decoration: underline;
    text-align: right;
  }
  #restaurant .base .others-area .others .readmore-content {
    display: none;
  }
  #restaurant .base .others-area .others .readmore-close {
    display: none;
  }

  #restaurant .base .others-area .others .text.is-open .readmore-content {
    display: inline;
  }

  #restaurant .base .others-area .others .text.is-open .readmore-trigger {
    display: none;
  }
  
  #restaurant .base .others-area .others .text.is-open .readmore-close {
    display: block;
    text-decoration: underline;
    text-align: right;
    margin-top: 5px;
  }
    
}