@charset "UTF-8";
/* CSS Document */





/*top*/
.top .slide_box {
  position: relative;
  height: 100vh;
}
.top .slide_box .slide {
  position: relative;
  height: 100vh !important;
}
.top .slide_box .slide::after {
  position: absolute;
  bottom: -5vw;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/top/slider_mask_w.png) no-repeat center bottom;
  background-size: cover;
  content: '';
}
.top .slide_box .slide div {
  height: 100vh !important;
}
.top .slide_box .slide div p ,
.top .slide_box .slide div p picture {
  position: relative;
  width: 100% !important;
  height: 100vh !important;
}
.top .slide_box .slide div p picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top .slide_box h3 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  width: 370px;
  filter: drop-shadow(0 0 6px rgba(112,110,110,1));
}


main > .catch {
  padding-top: 120px;
  padding-bottom: 50px;
}
main > .catch h3 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 80px;
}
main > .catch h3::before {
  position: absolute;
  bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
  width: 1px;
  height: 32px;
  background: #007457;
  content: '';
}
main > .catch h3 span {
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: #007457;
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1em;
}
main > .catch h3 span em {
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1em;
}
main > .catch .comment {
  display: flex;
  align-items: center;
  justify-content: center;
}
main > .catch .comment p {
  font-weight: 700;
  letter-spacing: .3em;
  text-align: center;
}


.loop_slide .box .slick-slide {
  margin: 0;
}
.loop_slide .box p {
  width: auto;
  height: 265px;
}
.loop_slide .box p img {
  width: auto;
  height: 265px;
}

main .banner01 {
  padding-top: 60px;
  padding-bottom: 120px;
}
main .banner01 ul li:not(:last-of-type) {
  margin-bottom: 20px;
}

main .news {
  background: #FFF;
  padding-top: 100px;
  padding-bottom: 100px;
}
main .news .box {
  margin-bottom: 40px;
}
main .news .box section {
  display: flex;
  align-items: baseline;
  padding-bottom: 1em;
  border-bottom: solid 1px #007457;
}
main .news .box section:not(:last-of-type) {
  margin-bottom: 1em;
}
main .news .box section time {
  display: block;
  width: 120px;
  font-weight: 700;
  padding-left: 1em;
}
main .news .box section .cat {
  width: 100px;
  margin-right: 15px;
}
main .news .box section .cat a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-weight: 700;
  padding: .1em 0;
}
main .news .box section .post {
  width: calc(100% - (120px + 100px + 15px));
}
main .news .box section .post a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  letter-spacing: .1em;
}

main .blog {
  padding-top: 100px;
  padding-bottom: 100px;
}
main .blog .box {
  display: flex;
  margin-bottom: 60px;
}
main .blog .box section {
  width: calc((100% - (40px * 2)) / 3);
  filter: drop-shadow(0 0 10px rgba(0,152,68,.3));
  background: #FFF;
}
main .blog .box section:not(:last-of-type) {
  margin-right: 30px;
}
main .blog .box section a {
  display: block;
}
main .blog .box section a .box_in {
  padding: 20px 25px;
}
main .blog .box section a .box_in time {
  font-weight: 700;
  display: block;
  margin-bottom: .8em;
}
main .blog .box section a .box_in h4 {
  font-weight: 600;
  margin-bottom: .6em;
}
main .blog .box section a .box_in .comment * {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  letter-spacing: .1em;
  color: #007457;
}

main .shopping .img_title {
  position: relative;
  z-index: 1;
  height: 450px;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .shopping .img_title::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-attachment: fixed;
  background-image: url(../img/top/shopping_bg_w.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  content: '';
}
main .shopping .img_title::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(201, 188, 156, 1);
  mix-blend-mode: multiply;
  content: '';
}
main .shopping .img_title h3 {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
main .shopping .img_title h3 * {
  display: block;
  color: #FFF;
  letter-spacing: .2em;
}
main .shopping .img_title h3 span {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-lr;
	-o-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
  font-size: 4.6rem;
  font-weight: 700;
  margin-bottom: 1.2em;
  white-space: nowrap;
}
main .shopping .img_title h3 em {
  font-size: 2.0rem;
  font-weight: 700;
}
main .shopping .box {
  padding-top: 100px;
  padding-bottom: 100px;
}
main .shopping .box .catch {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 100px;
}
main .shopping .box .catch p {
  font-weight: 700;
  text-align: center;
  line-height: 2.8;
}
main .shopping .box .list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -20px;
}
main .shopping .box .list section {
  width: calc((100% - 80px) / 2);
  margin-bottom: 60px;
}
main .shopping .box .list section:nth-of-type(odd) {
  margin-right: 80px;
}
main .shopping .box .list section .img {
  margin-bottom: 10px;
}
main .shopping .box .list section .comment * {
  font-weight: 700;
  letter-spacing: .15em;
  color: #007457;
}
main .shopping .box .banner02 {
  margin-bottom: 80px;
}
main .shopping .box .banner02ul li:not(:last-of-type) {
  margin-bottom: 20px;
}

main .restaurant .img_title {
  position: relative;
  z-index: 1;
  height: 450px;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .restaurant .img_title::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-attachment: fixed;
  background-image: url(../img/top/restaurant_bg_w.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  content: '';
}
main .restaurant .img_title::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(201, 188, 156, 1);
  mix-blend-mode: multiply;
  content: '';
}
main .restaurant .img_title h3 {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
main .restaurant .img_title h3 * {
  display: block;
  color: #FFF;
  letter-spacing: .2em;
}
main .restaurant .img_title h3 span {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-lr;
	-o-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
  font-size: 4.6rem;
  font-weight: 700;
  margin-bottom: 1.2em;
  white-space: nowrap;
}
main .restaurant .img_title h3 em {
  font-size: 2.0rem;
  font-weight: 700;
}
main .restaurant .box {
  padding-top: 100px;
  padding-bottom: 50px;
}
main .restaurant .box .catch {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 100px;
}
main .restaurant .box .catch p {
  font-weight: 700;
  text-align: center;
  line-height: 2.8;
}
main .restaurant .box .restaurant_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
main .restaurant .box .restaurant_btn section {
  width: calc((100% - 80px) / 2);
  margin-bottom: 100px;
}
main .restaurant .box .restaurant_btn section:not(:last-of-type):not(:nth-child(2n)){
  margin-right: 80px;
}
main .restaurant .box .restaurant_btn section .box_in {
  margin-bottom: 30px;
}
main .restaurant .box .restaurant_btn section .box_in a {
  position: relative;
  display: block;
  background: #FFF;
}
main .restaurant .box .restaurant_btn section .box_in a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 80%, rgba(123, 124, 125, 1) 98%);
  mix-blend-mode: multiply;
  content: '';
}
main .restaurant .box .restaurant_btn section .box_in a h4 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: calc(1em + (.8em * 2));
  height: 100%;
  background: rgba(0, 116, 87, .66);
  display: flex;
  font-size: 2.6rem;
  padding: .8em .8em;
}
main .restaurant .box .restaurant_btn section .box_in a h4 span {
  display: block;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .2em;
  color: #FFF;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-lr;
	-o-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
}
main .restaurant .box .restaurant_btn section .box_in a .comment {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
}
main .restaurant .box .restaurant_btn section .box_in a .comment p {
  padding: 1em;
  padding-bottom: .6em;
  font-weight: 700;
  letter-spacing: .05em;
  color: #FFF;
}
main .restaurant .box .restaurant_btn section h5 {
  display: flex;
  padding: 0 10%;
}
main .restaurant .box .restaurant_btn section h5 a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-bottom: .4em;
}
main .restaurant .box .restaurant_btn section h5 a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #007457;
  content: '';
}
main .restaurant .box .restaurant_btn section h5 a span {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .2em;
  color: #007457;
}
main .restaurant .benibana ,
main .restaurant .delica {
  position: relative;
  background: url(../img/common/bg.jpg) repeat center center;
  background-size: cover;
  padding-top: 60px;
  padding-bottom: 60px;
}
main .restaurant .delica {
  padding-bottom: 200px;
}
main .restaurant .benibana::before ,
main .restaurant .delica::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: url(../img/top/restaurant_bg.svg) no-repeat center top;
  background-size: 100% auto;
  mix-blend-mode: multiply;
  content: '';
}
main .restaurant .benibana .title_comment ,
main .restaurant .delica .title_comment {
  position: relative;
  z-index: 1;
  display: flex;
  margin-bottom: 60px;
}
main .restaurant .benibana .title_comment h3 ,
main .restaurant .delica .title_comment h3 {
  display: flex;
  flex-direction: column;
  margin-right: 2em;
}
main .restaurant .benibana .title_comment h3 * ,
main .restaurant .delica .title_comment h3 * {
  display: block;
  line-height: 1em;
  letter-spacing: .2em;
  font-weight: 700;
}
main .restaurant .benibana .title_comment h3 span ,
main .restaurant .delica .title_comment h3 span {
  font-size: 4.0rem;
  margin-bottom: .4em;
  color: #007457
}
main .restaurant .benibana .title_comment h3 em ,
main .restaurant .delica .title_comment h3 em {
  font-size: 2.0rem;
  color: #b5983d
}
main .restaurant .benibana .title_comment .comment ,
main .restaurant .delica .title_comment .comment {
  margin-left: auto;
}
main .restaurant .benibana .title_comment .comment p ,
main .restaurant .delica .title_comment .comment p {
  font-weight: 700;
  color: #FFF;
  text-align: right;
  line-height: 2.875;
}
main .restaurant .benibana .list ,
main .restaurant .delica .list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -50px;
}
main .restaurant .benibana .list section ,
main .restaurant .delica .list section {
  width: calc((100% - 80px) / 2);
  margin-bottom: 50px;
}
main .restaurant .benibana .list section:nth-of-type(odd) ,
main .restaurant .delica .list section:nth-of-type(odd) {
  margin-right: 80px;
}
main .restaurant .benibana .list section .img ,
main .restaurant .delica .list section .img {
  margin-bottom: 1em;
}
main .restaurant .benibana .list section h4 ,
main .restaurant .delica .list section h4 {
  font-weight: 700;
  letter-spacing: .2em;
  color: #007457;
  margin-bottom: 1em;
}
main .restaurant .benibana .list section .comment * ,
main .restaurant .delica .list section .comment * {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  letter-spacing: .1em;
  color: #007457;
}

main .culture .img_title {
  position: relative;
  z-index: 1;
  height: 450px;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .culture .img_title::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-attachment: fixed;
  background-image: url(../img/top/culture_bg_w.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  content: '';
}
main .culture .img_title::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(201, 188, 156, 1);
  mix-blend-mode: multiply;
  content: '';
}
main .culture .img_title h3 {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
main .culture .img_title h3 * {
  display: block;
  color: #FFF;
  letter-spacing: .2em;
}
main .culture .img_title h3 span {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-lr;
	-o-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
  font-size: 4.6rem;
  font-weight: 700;
  margin-bottom: 1.2em;
  white-space: nowrap;
}
main .culture .img_title h3 em {
  font-size: 2.0rem;
  font-weight: 700;
}
main .culture .box {
  padding-top: 100px;
  padding-bottom: 100px;
}
main .culture .box .catch {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 100px;
}
main .culture .box .catch p {
  font-weight: 700;
  text-align: center;
  line-height: 2.8;
}
main .culture .box .list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
main .culture .box .list section {
  width: calc((100% - 80px) / 2);
  margin-bottom: 50px;
}
main .culture .box .list section:nth-of-type(odd) {
  margin-right: 80px;
}
main .culture .box .list section .img {
  margin-bottom: 1em;
}
main .culture .box .list section .comment * {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  letter-spacing: .1em;
  color: #007457;
}

main .shop_info {
  padding-bottom: 120px;
  display: flex;
}
main .shop_info .img {
  width: 510px;
  margin-right: 150px;
}
main .shop_info .bpx_r {
  width: calc(100% - (510px + 150px));
}
main .shop_info .bpx_r h3 {
  width: 380px;
  margin-bottom: 15px;
}
main .shop_info .bpx_r address {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .15em;
  margin-bottom: 1.5em;
}
main .shop_info .bpx_r .icon ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -10px;
}
main .shop_info .bpx_r .icon ul li {
  width: calc((100% - (10px * 5)) / 6);
  margin-bottom: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
main .shop_info .bpx_r .icon ul li:not(:nth-of-type(6n)) {
  margin-right: 10px;
}
main .shop_info .bpx_r .icon ul li span ,
main .shop_info .bpx_r .icon ul li em {
  display: block;
}
main .shop_info .bpx_r .icon ul li span {
  margin-bottom: .5em;
  width: 100%;
}
main .shop_info .bpx_r .icon ul li em {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  letter-spacing: .1em;
  line-height: 1.2;
  color: #007457;
}
main .shop_info .bpx_r .icon ul li em.ls01::first-letter {
  letter-spacing: 1.1em;
}






@media screen and (max-width: 1240px) {

  main .shop_info .img {
    width: 48%;
    margin-right: 40px;
  }
  main .shop_info .bpx_r {
    width: calc(100% - (48% + 40px));
  }
}






@media screen and (max-width: 1040px) {
  main .shopping .box .list section {
    width: calc((100% - 40px) / 2);
  }
  main .shopping .box .list section:nth-of-type(odd) {
    margin-right: 40px;
  }

  main .restaurant .box .restaurant_btn section {
    width: calc((100% - 40px) / 2);
  }
  main .restaurant .box .restaurant_btn section:not(:last-of-type):not(:nth-child(2n)){
    margin-right: 40px;
  }

  main .restaurant .benibana .list section ,
  main .restaurant .delica .list section {
    width: calc((100% - 40px) / 2);
  }
  main .restaurant .benibana .list section:nth-of-type(odd) ,
  main .restaurant .delica .list section:nth-of-type(odd) {
    margin-right: 40px;
  }

  main .culture .box .list section {
    width: calc((100% - 40px) / 2);
  }
  main .culture .box .list section:nth-of-type(odd) {
    margin-right: 40px;
  }
  
}






@media screen and (max-width: 840px) {

  main .shop_info .img {
    width: 45%;
    margin-right: 20px;
  }
  main .shop_info .bpx_r {
    width: calc(100% - (45% + 20px));
  }
  main .shop_info .bpx_r address br.sp {
    display: block;
  }
}






@media screen and (max-width: 767px) {
  .top .slide_box {
    height: 90vh;
  }
  .top .slide_box .slide {
    height: 90vh !important;
  }
  .top .slide_box .slide div {
    height: 90vh !important;
  }
  .top .slide_box .slide div p ,
  .top .slide_box .slide div p picture {
    height: 90vh !important;
  }
  .top .slide_box h3 {
    width: 60vw;
  }


  main > .catch {
    padding-top: 15vw;
    padding-bottom: 10vw;
  }
  main > .catch h3 {
    margin-bottom: 6vw;
  }
  main > .catch h3::before {
    bottom: -6vw;
    width: 1px;
    height: 5vw;
  }
  main > .catch h3 span {
    font-size: 3.0rem;
    letter-spacing: .2em;
  }
  main > .catch h3 span em {
    font-size: 2.4rem;
  }
  main > .catch .comment {
    padding: 0 5vw;
  }
  main > .catch .comment p {
    font-weight: 500;
    letter-spacing: .1em;
    text-align: left;
  }


  .loop_slide .box .slick-slide {
    margin: 0;
  }
  .loop_slide .box p {
    height: 40vw;
  }
  .loop_slide .box p img {
    width: auto;
    height: 40vw;
  }

  main .banner01 {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  main .banner01 ul li:not(:last-of-type) {
    margin-bottom: 5vw;
  }

  main .news {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  main .news .box {
    margin-bottom: 5vw;
  }
  main .news .box section {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
  }
  main .news .box section time {
    width: auto;
    white-space: nowrap;
    margin-right: 2em;
  }
  main .news .box section .cat {
    width: auto;
    margin-right: 0;
  }
  main .news .box section .cat a {
    padding: .1em 1em;
  }
  main .news .box section .post {
    width: 100%;
    padding-top: 2vw;
  }

  main .shopping .img_title {
    height: 80vw;
  }
  main .shopping .img_title::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-attachment: fixed;
    background-image: url(../img/top/shopping_bg_s.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    content: '';
  }
  main .shopping .img_title h3 span {
    font-size: 3.0rem;
  }
  main .shopping .img_title h3 em {
    font-size: 1.8rem;
  }
  main .shopping .box {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  main .shopping .box .catch {
    margin-bottom: 10vw;
  }
  main .shopping .box .catch p {
    text-align: left;
    line-height: 1.7;
  }
  main .shopping .box .list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 4vw;
  }
  main .shopping .box .list section {
    width: 100%;
    margin-bottom: 6vw;
  }
  main .shopping .box .list section:nth-of-type(odd) {
    margin-right: 0;
  }
  main .shopping .box .list section .img {
    margin-bottom: 2vw;
  }
  main .shopping .box .list section .comment * {
    letter-spacing: .05em;
  }
  main .shopping .box .banner02 {
    margin-bottom: 5vw;
  }
  main .shopping .box .banner02ul li:not(:last-of-type) {
    margin-bottom: 2vw;
  }

  main .restaurant .img_title {
    height: 80vw;
  }
  main .restaurant .img_title::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-attachment: fixed;
    background-image: url(../img/top/restaurant_bg_s.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    content: '';
  }
  main .restaurant .img_title h3 span {
    font-size: 3.0rem;
  }
  main .restaurant .img_title h3 em {
    font-size: 1.8rem;
  }
  main .restaurant .box {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  main .restaurant .box .catch {
    margin-bottom: 10vw;
  }
  main .restaurant .box .catch p {
    text-align: left;
    line-height: 1.7;
  }
  main .restaurant .box .restaurant_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  main .restaurant .box .restaurant_btn section {
    width: 100%;
    margin-bottom: 10vw;
  }
  main .restaurant .box .restaurant_btn section:not(:last-of-type):not(:nth-child(2n)){
    margin-right: 0;
  }
  main .restaurant .box .restaurant_btn section .box_in {
    margin-bottom: 2vw;
  }
  main .restaurant .box .restaurant_btn section .box_in a h4 {
    width: calc(1em + (.4em * 2));
    font-size: 2.0rem;
    padding: .8em .4em;
  }
  main .restaurant .box .restaurant_btn section .box_in a h4 span {
    font-size: 2.0rem;
    letter-spacing: .1em;
  }
  main .restaurant .box .restaurant_btn section .box_in a .comment p {
    padding: 1em;
    padding-bottom: .5em;
    text-shadow: 0 0 5px rgba(0, 116, 87, .66);
  }
  main .restaurant .box .restaurant_btn section h5 {
    padding: 0 10vw;
  }
  main .restaurant .box .restaurant_btn section h5 a {
    padding-bottom: .4em;
  }
  main .restaurant .box .restaurant_btn section h5 a span {
    font-size: 1.6rem;
    letter-spacing: .2em;
  }
  main .restaurant .benibana ,
  main .restaurant .delica {
    position: relative;
    background: url(../img/common/bg.jpg) repeat center center;
    background-size: cover;
    padding-top: 5vw;
    padding-bottom: 10vw;
  }
  main .restaurant .delica {
    padding-bottom: 20vw;
  }
  main .restaurant .benibana::before ,
  main .restaurant .delica::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: url(../img/top/restaurant_bg.svg) no-repeat center top;
    background-size: 100% auto;
    mix-blend-mode: multiply;
    content: '';
  }
  main .restaurant .benibana .title_comment ,
  main .restaurant .delica .title_comment {
    flex-direction: column;
    margin-bottom: 5vw;
  }
  main .restaurant .benibana .title_comment h3 ,
  main .restaurant .delica .title_comment h3 {
    display: flex;
    flex-direction: column;
    margin-right: 0;
    margin-bottom: 2vw;
  }
  main .restaurant .benibana .title_comment h3 * ,
  main .restaurant .delica .title_comment h3 * {
    line-height: 1em;
    letter-spacing: .2em;
  }
  main .restaurant .benibana .title_comment h3 span ,
  main .restaurant .delica .title_comment h3 span {
    font-size: 2.4rem;
    margin-bottom: .4em;
  }
  main .restaurant .benibana .title_comment h3 em ,
  main .restaurant .delica .title_comment h3 em {
    font-size: 1.8rem;
  }
  main .restaurant .benibana .title_comment .comment ,
  main .restaurant .delica .title_comment .comment {
    margin-left: 0;
  }
  main .restaurant .benibana .title_comment .comment p ,
  main .restaurant .delica .title_comment .comment p {
    font-weight: 500;
    color: inherit;
    text-align: left;
    line-height: 1.7;
  }
  main .restaurant .benibana .list ,
  main .restaurant .delica .list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -6vw;
  }
  main .restaurant .benibana .list section ,
  main .restaurant .delica .list section {
    width: 100%;
    margin-bottom: 6vw;
  }
  main .restaurant .benibana .list section:nth-of-type(odd) ,
  main .restaurant .delica .list section:nth-of-type(odd) {
    margin-right: 0;
  }
  main .restaurant .benibana .list section .img ,
  main .restaurant .delica .list section .img {
    margin-bottom: 2vw;
  }
  main .restaurant .benibana .list section h4 ,
  main .restaurant .delica .list section h4 {
    letter-spacing: .2em;
    margin-bottom: 3vw;
  }
  main .restaurant .benibana .list section .comment * ,
  main .restaurant .delica .list section .comment * {
    font-size: 1.4rem;
    letter-spacing: .1em;
  }

  main .culture .img_title {
    height: 80vw;
  }
  main .culture .img_title::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-attachment: fixed;
    background-image: url(../img/top/culture_bg_s.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    content: '';
  }
  main .culture .img_title h3 span {
    font-size: 3.0rem;
  }
  main .culture .img_title h3 em {
    font-size: 1.8rem;
  }
  main .culture .box {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  main .culture .box .catch {
    margin-bottom: 10vw;
  }
  main .culture .box .catch p {
    text-align: left;
    line-height: 1.7;
  }
  main .culture .box .list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 4vw;
  }
  main .culture .box .list section {
    width: 100%;
    margin-bottom: 6vw;
  }
  main .culture .box .list section:nth-of-type(odd) {
    margin-right: 0;
  }
  main .culture .box .list section .img {
    margin-bottom: 2vw;
  }
  main .culture .box .list section .comment * {
    font-size: 1.4rem;
  }

  main .shop_info {
    padding-bottom: 15vw;
    display: flex;
    flex-direction: column;
  }
  main .shop_info .img {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3vw;
  }
  main .shop_info .bpx_r {
    width: 100%;
    display: contents;
  }
  main .shop_info .bpx_r h3 {
    order: -99;
    width: 50vw;
    margin: 0 auto;
    margin-bottom: 5vw;
  }
  main .shop_info .bpx_r address {
    order: 99;
    font-size: 1.6rem;
    letter-spacing: .05em;
    margin-bottom: 1.5em;
  }
  main .shop_info .bpx_r .icon {
    order: 99;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -4vw;
  }
  main .shop_info .bpx_r .icon ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -4vw;
  }
  main .shop_info .bpx_r .icon ul li {
    width: calc((100% - (4vw * 3)) / 4);
    margin-bottom: 4vw;
  }
  main .shop_info .bpx_r .icon ul li:not(:nth-of-type(6n)) {
    margin-right: 0;
  }
  main .shop_info .bpx_r .icon ul li:not(:nth-of-type(4n)) {
    margin-right: 4vw;
  }
  main .shop_info .bpx_r .icon ul li em {
    font-size: 1.4rem;
    letter-spacing: .05em;
  }
  main .shop_info .bpx_r .icon ul li em.ls01::first-letter {
    letter-spacing: 1.05em;
  }
  
}


