@charset "UTF-8";
/* CSS Document */
/* --------------------
 base
----------------------- */
* {
  box-sizing: border-box;
}
.wf-notosansjapanese {
  font-family: "Noto Sans Japanese";
}
a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}
body {
  font-family: 'Roboto', "Noto Sans Japanese";
}
#wrap {
  overflow: hidden;
  display: block;
  width: 100%;
  background-image: url("../img/back.jpg");
  background-repeat: repeat;
  background-size: 100%;
  background-position: bottom;
}
.site-header {
  display: flex;
  padding: 1% 0;
  position: fixed;
  justify-content: space-between;
  width: 100%;
  z-index: 999;
  background: #fff;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
}
.site-header h1 {
  display: block;
  width: 20vw;
  height: auto;
  margin: 0 auto;
}
.site-header h1 img {
  display: block;
  width: 100%;
  height: auto;
}
.site-header h1 a {
  display: block;
  width: 100%;
}
.site-header h1 a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
/*ページトップへ戻るボタン*/
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}
#pageTop a {
  display: block;
  z-index: 999;
  border-radius: 30px;
}
#pageTop a p img {
  display: block;
  width: 70px;
  height: auto;
}
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#pageTop ul .small {
  font-size: 1vw;
  font-weight: normal;
  margin-top: 5px;
  text-align: center;
  letter-spacing: 0.1em;
  color: #fff !important;
}
/*ページトップへ戻るボタン-end-*/
#colophon {
  display: block;
  width: 100%;
  height: 40px;
}
#colophon p {
  width: 100%;
  height: 40px;
  line-height: 40px;
  text-align: center;
  color: #888;
  font-size: 76%;
  font-weight: 400;
  font-family: Arial, Helvetica, "sans-serif";
  box-shadow: 0 -4px 3px -3px #ccc;
  background: #fff;
  clear: both;
}
#gourmet_top {
  position: relative;
  display: block;
  width: 90%;
  margin: 0 auto;
  margin-top: 6.5vw;
  background: #fff;
  border-radius: 20px;
}
#gourmet_top h2 {
  display: block;
  width: 71%;
  margin: 0 auto;
  padding-top: 5vw;
}
#gourmet_top h2 img {
  display: block;
  width: 100%;
  height: auto;
}
.flag {
  position: absolute;
  top: -7%;
  right: -5.5%;
  display: block;
  width: 27%;
}
.flag img {
  display: block;
  width: 100%;
  height: auto;
}
#coupon_top h2 {
  display: block;
  width: 100%;
  margin: 0 auto;
}
#coupon_top h2 img {
  display: block;
  width: 100%;
  height: auto;
}
.top_area {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.top_area > .lede {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.lede p {
  display: block;
  width: 100%;
  margin: 0 auto;
  font-size: 1.15vw;
  font-weight: 500;
  color: #333;
  line-height: 1.8em;
  text-align: center;
  background: #fff;
  padding: 0 0 2.5em 0;
  /*border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;*/
}
.coupon {
  position: relative;
}
.coupon_2 {
  position: relative;
}
.coupon_column {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.5em;
  width: 95%;
  margin: 0 auto;
}
.coupon_column > .left_column {
  width: 58%;
  margin: 0;
  margin-right: 3%;
}
.coupon_column > .right_column {
  width: 39%;
  margin: 0;
  margin-right: 0;
  padding-top: 1.5%;
}
.number {
  position: absolute;
  top: 10px;
  left: 10px;
  display: block;
  width: 9%;
  height: auto;
  padding: 5px 0;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  background: #CE0051;
  z-index: 99;
}
.area {
  display: block;
  width: 3.8vw;
  margin-bottom: 2%;
  float: left;
}
.area img {
  display: block;
  width: 100%;
  height: auto;
}
#coupon_info {
  display: block;
  width: 90%;
  margin: 0 auto;
  background: #dff2fc;
}
.coupon_info_area {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.5em;
  width: 95.8%;
  margin: 0 auto;
  padding: 4% 0 0 0;
}
.coupon_info_area > div {
  width: 48.5%;
  margin: 0;
  margin-right: 3%;
  padding: 1.5% 0.5% 1.2% 0.5%;
  background: #fff;
  box-shadow: 0 0 5px #ccc;
  margin-bottom: 3%;
  border-radius: 8px;
}
.coupon_info_area > div:nth-child(2n) {
  margin-right: 0;
}
.shop_photo {
  display: block;
  width: 100%;
  float: left;
}
.shop_photo figure {
  display: block;
  width: 100%;
  height: auto;
}
.shop_photo figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 15px;
}
.left_column {
  /*position: relative;*/
  display: block;
  width: 43%;
  margin-left: 2%;
  float: left;
}
.menu_info {
  display: block;
  width: 100%;
  font-size: 0.825vw;
  font-weight: 400;
  color: #555;
  line-height: 1.5em;
  text-align: justify;
  word-break: break-all;
  padding-top: 0.6em;
}
.menu_info img {
  display: block;
  width: 100%;
  height: auto;
}
.point {
  position: relative;
  display: block;
  width: 100%;
  margin-left: -1.3vw;
  z-index: 1;
}
.point img {
  display: block;
  width: 100%;
  height: auto;
}
.special {
  position: relative;
  display: block;
  width: 100%;
  background-image: url(../img/back_2.png);
  background-repeat: repeat;
  background-size: 100%;
  border-radius: 20px;
  padding: 10% 3% 4% 3%;
  min-height: 11vw;
}
.coupon:first-of-type .special {
  padding: 16% 3% 4% 3%;
}
.coupon:nth-of-type(3) .special {
  padding: 15.5% 3% 4% 3%;
}
.coupon:nth-of-type(4) .special {
  padding: 5.5% 3% 4% 3%;
}
.coupon:nth-of-type(5) .special {
  padding: 7% 3% 4% 3%;
}
.coupon:nth-of-type(6) .special {
  padding: 7% 3% 4% 3%;
}
.coupon:nth-of-type(8) .special {
  padding: 16% 3% 4% 3%;
}
.coupon:nth-of-type(9) .special {
  padding: 20% 3% 4% 3%;
}
.coupon:nth-of-type(10) .special {
  padding: 20% 3% 4% 3%;
}
.special dl .title {
  position: absolute;
  top: -7%;
  left: 0;
  right: 0;
  display: block;
  width: 60%;
  margin: 0 auto;
  padding-top: 0;
}
.special dl .title img {
  display: block;
  width: 100%;
  height: auto;
}
.special dl .title .info {
  position: absolute;
  top: -110%;
  left: -32%;
  display: block;
  width: 80%;
}
.special dl .title .info img {
  display: block;
  width: 100%;
  height: auto;
}
.special dl .title2 {
  display: block;
  width: 60%;
  margin: 0 auto;
  margin-top: 3%;
  margin-bottom: 3%;
}
.special dl .title2 img {
  display: block;
  width: 100%;
  height: auto;
}
.special dl {
  text-align: center;
}
.special dl dt {
  padding-top: 0.5em;
  font-size: 0.98vw;
  font-weight: 500;
  color: #333;
  text-align: center;
}
.special dl dd {
  padding-top: 0.2em;
  font-size: 1.05vw;
  font-weight: bold;
  color: #231815;
  text-align: center;
  line-height: 1.4em;
}
.em {
  color: #e83828;
  font-size: 1.15rem;
}
.popupModal1 .em {
  color: #e83828;
  font-size: 1.5vw;
}
#ichioshi .em {
  color: #e83828;
  font-size: 1rem;
}
.special dl .text {
  font-size: 0.9vw;
  font-weight: 500;
  color: #555;
  text-align: center;
  padding-top: 0.5em;
}
.special dl .detail {
  display: inline-block;
  width: 100%;
  font-size: 0.82vw;
  font-weight: 500;
  color: #333;
  text-align: center;
  line-height: 1.4em;
  padding-top: 0.5em;
}
.shop {
  display: block;
  width: 82%;
  padding-left: 1em;
  float: left;
}
.genre {
  display: block;
  width: 100%;
  padding: 0.6em 0 0.6em 0;
  font-size: 0.82vw;
  font-weight: 400;
  color: #b4926a;
  clear: both;
}
.shop_name {
  display: block;
  width: 100%;
  font-size: 1.22vw;
  font-weight: 500;
  color: #5dc2d2;
  padding-top: 1em;
  line-height: 1.2em;
}
.shop_info {
  display: block;
  width: 100%;
  margin: 0 auto;
  clear: both;
}
.shop_info dl {
  display: block;
  width: 100%;
  padding-top: 0.5em;
  box-shadow: 0 3px 3px -3px #ccc;
  padding-bottom: 0.5em;
}
.shop_info dl dt {
  padding-bottom: 0.3em;
  font-size: 0.9rem;
  font-weight: 400;
  color: #B4926A;
  line-height: 1.3em;
}
.shop_info dl dd {
  font-size: 0.85rem;
  font-weight: 400;
  color: #666;
  line-height: 1.5em;
}
.shop_info ul {
  display: block;
  width: 100%;
  padding-top: 0.5em;
}
.shop_info ul li {
  display: block;
  width: 100%;
  font-size: 0.85vw;
  font-weight: 500;
  line-height: 1.5em;
  color: #333;
}
.shop_info ul li img {
  display: inline-block;
  width: 15px;
  height: auto;
  margin-right: 0.3em;
}
.shop_info ul .tel {
  padding-left: 0;
  text-indent: 0;
}
.fa-phone-alt {
  font-size: 0.85rem;
  color: #231815;
  margin-right: 0.4em;
}
.coupon_btn {
  position: absolute;
  bottom: 2%;
  right: 0.6vw;
  display: inline-block;
  text-decoration: none;
  color: #fff;
  width: 4.688vw;
  height: 4.688vw;
  padding-top: 1.35em;
  font-size: 0.9vw;
  font-weight: 500;
  border-radius: 50%;
  text-align: center;
  overflow: hidden;
  background-image: linear-gradient(#5dc2d2 0%, #5dc2d2 100%);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.5), 0 2px 2px rgba(0, 0, 0, 0.19);
  border-bottom: solid 2px #b5b5b5;
  line-height: 1.4em;
  z-index: 99;
}
.coupon_btn:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
/*swiper*/
#wrap .swiper-container {
  border-radius: 15px;
  clear: both;
}
.swiper-slide {
  position: relative;
}
.swiper-slide .icon {
  position: absolute;
  top: 36%;
  left: 0;
  right: 0;
  display: block;
  width: auto;
  text-align: center;
  font-size: 5vw;
  font-weight: 900;
  color: #fff000;
}
.swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}
.swiper-slide-next {
  opacity: 0.5;
}
.swiper-slide-prev {
  opacity: 0.5;
}
.swiper-slide-prev .campaign .campaign_right p {
  font-size: 70%;
}
#wrap .swiper-pagination-bullet-active {
  background: #5dc2d2 !important;
}
#wrap .swiper-pagination-bullet {
  background: #888;
}
#wrap .swiper-button-prev, #wrap .swiper-button-next {
  background-image: none;
}
#wrap .swiper-wrapper .fa-chevron-circle-left, #wrap .swiper-wrapper .fa-chevron-circle-right {
  font-size: 1.5rem;
  color: #014D5B;
}
#wrap .swiper-button-prev {
  top: 58%;
  right: 2%;
  color: #fff000;
  font-size: 1.5rem;
}
#wrap .swiper-button-next {
  top: 58%;
  right: 2%;
  color: #fff000;
  font-size: 1.5rem;
}
#wrap .swiper-button-next.swiper-button-disabled, #wrap .swiper-button-prev.swiper-button-disabled {
  opacity: .0 !important;
}
/*swiper-end-*/
#map {
  text-align: center;
}
.map_title {
  position: relative;
  display: block;
  width: 85%;
  margin: 0 auto;
  padding: 0.5em 0;
  font-size: 1.3rem;
  font-weight: 500;
  text-align: center;
  color: #fff;
  background: #5dc2d2;
  border-radius: 5px;
}
.map_area {
  display: block;
  width: 85%;
  margin: 0 auto;
  margin-bottom: 3%;
}
.map_area figure {
  display: block;
  width: 77%;
  margin: 0 auto;
}
.map_area img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.map_text {
  display: block;
  width: 100%;
  font-size: 0.95rem;
  font-weight: 500;
  color: #CE0051;
  text-align: center;
  padding-bottom: 0.7em;
  padding-top: 1em;
}
area {
  border: none;
  outline: none;
}
.box_0 {
  position: relative;
  white-space: nowrap;
  overflow-x: auto;
  height: auto;
  text-align: justify;
  border: 5px double currentcolor;
}
.box_0 > .section {
  display: flex;
  width: 50%;
  margin: 0;
}
.list {
  display: flex;
  justify-content: space-between;
  font-size: 42px;
}
.container {
  width: 60%;
  padding: 20px 0 20px 20px;
  white-space: nowrap;
  background-color: #3f51b5;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.menu {
  display: flex;
  margin-left: -20px;
}
.item {
  padding-left: 20px;
  flex: 0 0 160px;
  white-space: normal;
  word-wrap: break-word;
}
.item > a {
  display: block;
  padding: 1em 1.4em;
  color: #000;
  text-decoration: none;
  background-color: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .25);
}
/* padding-rightが描画されないのを修正 */
.item:last-child {
  position: relative;
}
.item:last-child::after {
  position: absolute;
  top: 0;
  left: 100%;
  width: 20px;
  height: 1px;
  content: '';
}
.map_btn {
  position: absolute;
  top: 22%;
  right: 7.4%;
  display: block;
  width: auto;
  background: #5dc2d2;
  border-radius: 4px;
}
.map_btn a {
  display: block;
  width: 100%;
  padding: 0.5em 1em;
  font-size: 0.92rem;
  font-weight: 500;
  color: #fff;
}
.fa-map-marker-alt {
  padding-right: 0.3em;
}
.map_btn a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
/*Modal*/
.popupModal1 h2 {
  display: block;
  width: 90%;
  margin: 0 auto;
  font-size: 1.3rem;
  font-weight: 500;
  text-align: center;
  padding-top: 1em;
  color: #5dc2d2;
}
.popupModal1 .special {
  width: 80%;
  margin: 0 auto;
  margin-top: 2.5em;
  margin-bottom: 0.5em;
  padding-bottom: 3em;
  float: none;
}
.popupModal1 .info {
  display: block;
  width: 90%;
  margin: 0 auto;
  font-size: 0.9rem;
  font-weight: 400;
  color: #555;
  padding-bottom: 0.5em;
  text-align: center;
}
.popupModal1 .special dl dd {
  padding-top: 0.5em;
  font-size: 1.5vw;
}
.popupModal1 .special dl .detail {
  padding-top: 1em;
  font-size: 0.9vw;
}
.popupModal1 > input { /* ラジオボックス非表示 */
  display: none;
}
.popupModal1 > input:nth-child(1) + label {
  cursor: pointer;
}
.modalPopup2 { /* 初期設定 ポップアップ非表示 */
  display: none;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 { /* ラジオ１ チェックでポップアップ表示 */
  display: block;
  z-index: 998;
  position: fixed;
  width: 90%;
  height: 55%;
  border-radius: 10px;
  left: 50%;
  top: 50%;
  margin-top: 30px;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  padding: 10px 20px;
  overflow: hidden;
}
@media (min-width: 768px) { /* PCのときはページの真ん中の600x600領域 */
  .popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 {
    width: 30%;
    height: 500px;
    padding: 0;
  }
  .popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
    left: 53% !important;
    top: 50% !important;
    margin-left: 8%;
    margin-top: -15%;
  }
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div { /* */
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  display: inline-block;
  width: 100%;
  height: 100%;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > iframe {
  width: 100%;
  height: 55%;
  border: none;
  display: block;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > img { /* ポップアップの中の要素 */
  max-width: 100%;
}
.popupModal1 > input:nth-child(1) + label ~ label {
  display: none; /* ラジオ１ 以外のラベルを初期は非表示 */
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.70);
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 997;
  text-indent: -999999px;
  overflow: hidden;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
  background: rgba(255, 255, 255, 0.5);
  display: inline-block;
  position: fixed;
  left: 10px;
  bottom: 20px;
  z-index: 999;
  width: 44pt;
  height: 44pt;
  font-size: 40px;
  border-radius: 50%;
  line-height: 44pt;
  text-align: center;
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
.popupModal1 > input:nth-child(1) + label + input:nth-child(3):checked + label + input:nth-child(5) + label + .modalPopup2, .popupModal1 > input:nth-child(1) + label + input:nth-child(3) + label + input:nth-child(5):checked + label + .modalPopup2 { /* ラジオ２と３ どっちかチェックでポップアップ非表示 */
  display: none;
}
.modalPopup2 {
  animation: fadeIn 1s ease 0s 1 normal;
  -webkit-animation: fadeIn 1s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
.popupModal1 .modalTitle {
  padding-bottom: .5em;
  margin: .5em 0;
  border-bottom:
    1px solid #ccc;
  font-weight: bold;
}
.popupModal1 .modalMain {
  color: #222;
  text-align: left;
  font-size: 14px;
  line-height: 1.8em;
}
.bnr_area {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.5em;
  width: 65%;
  margin: 0 auto;
  padding-bottom: 3%;
}
.bnr_area > div {
  width: 45%;
  margin: 0 auto;
}
.bnr p {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.bnr p img {
  display: block;
  width: 100%;
  height: auto;
}
#ichioshi {
  display: block;
  width: 90%;
  margin: 0 auto;
  background: #fff;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.ichioshi_menu_area {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.5em;
  width: 95%;
  margin: 0 auto;
  padding: 4% 0 0 0;
  margin-bottom: 3%;
}
.ichioshi_menu_area > div {
  position: relative;
  width: 23.5%;
  margin: 0;
  margin-right: 2%;
  padding: 1.1% 1% 2% 1%;
  background: #dff2fc;
  box-shadow: 0 0 3px #ccc;
  margin-bottom: 3%;
  border-radius: 8px;
}
.ichioshi_menu_area > div:first-of-type {
  background: none;
  box-shadow: none;
}
.ichioshi_menu_area > div:nth-child(4n) {
  margin-right: 0;
}
.ichioshi_menu .area {
  display: inline-block;
  width: auto;
  background: #54c3f1;
  font-size: 0.77vw;
  font-weight: 500;
  color: #fff;
  padding: 0 0.65vw;
  border-radius: 25px;
  height: 1.4vw;
  line-height: 1.5vw;
  float: left;
  margin-right: 0.35vw;
}
.ichioshi_menu .shop_name {
  display: block;
  width: 13.14vw;
  font-size: 0.94vw;
  font-weight: 500;
  color: #5dc2d2;
  padding-top: 0.25em;
  line-height: 1.2em;
  float: left;
}
.ichioshi_menu .menu {
  display: block;
  width: 100%;
  margin-left: 0;
  padding: 0.5em 0;
  clear: both;
  font-size: 1vw;
  font-weight: 500;
  line-height: 1.4em;
}
.movie {
  position: relative;
}
.movie .icon {
  position: absolute;
  top: 36%;
  left: 0;
  right: 0;
  display: block;
  width: auto;
  text-align: center;
  font-size: 5vw;
  font-weight: 900;
  color: #fff000;
}
.ichioshi_menu figure {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.ichioshi_menu figure img {
  display: block;
  width: 100%;
  height: auto;
}
.ichioshi_menu .comment {
  display: block;
  width: auto;
  margin: 0 auto;
  background-image: url(../img/comment_back_sp.png);
  background-repeat: no-repeat;
  background-size: 100%;
  height: auto;
  min-height: 9.65vw;
  font-size: 0.82vw;
  font-weight: 400;
  line-height: 1.5em;
  padding: 5.5% 7% 0 7%;
  margin-top: 0.8em;
  text-align: justify;
  word-break: break-all;
}
.ichi_top .swiper-slide:nth-of-type(2) .comment {
  padding: 4% 7% 0 7%;
  line-height: 1.35em;
}
.ichi_top .swiper-slide:nth-of-type(3) .comment {
  padding: 4% 7% 0 7%;
  line-height: 1.45em;
  font-size: 0.781vw;
}
.ichioshi_menu:nth-of-type(3) .comment {
  background-image: url(../img/comment_back2_sp.png);
}
.ichioshi_menu:nth-of-type(4) .comment {
  background-image: url(../img/comment_back3_sp.png);
}
.ichioshi_menu:nth-of-type(5) .comment {
  background-image: url(../img/comment_back4_sp.png);
}
.ichioshi_menu:nth-of-type(6) .comment {
  background-image: url(../img/comment_back_sp.png);
}
.ichioshi_menu:nth-of-type(7) .comment {
  background-image: url(../img/comment_back2_sp.png);
}
.ichioshi_menu:nth-of-type(8) .comment {
  background-image: url(../img/comment_back3_sp.png);
}
.ichioshi_menu:nth-of-type(9) .comment {
  background-image: url(../img/comment_back4_sp.png);
}
.comment_box {
  position: relative;
}
.comment_photo {
  position: absolute;
  bottom: 4.5%;
  left: 5.5%;
  display: block;
  width: 6vw;
  z-index: 1;
}
.comment_photo img {
  display: block;
  width: 100%;
  height: auto;
}
.ichioshi_menu:nth-of-type(5) .comment_photo {
  width: 7vw;
  bottom: 4.3%;
}
.ichioshi_menu:nth-of-type(5) .name {
  bottom: 6.5%;
  left: 41%;
}
.ichioshi_menu:nth-of-type(6) .comment_photo {
  bottom: -16.5%;
  left: 1.5%;
}
.ichioshi_menu:nth-of-type(8) .comment_photo {
  bottom: -16.5%;
  left: 1.5%;
}
.ichioshi_menu:nth-of-type(6) .name {
  bottom: -8.5%;
  left: 36%;
}
.ichioshi_menu:nth-of-type(8) .name {
  bottom: -8.5%;
  left: 36%;
}
.ichioshi_menu .name {
  position: absolute;
  bottom: 6.5%;
  left: 37%;
  display: inline-block;
  width: auto;
  font-size: 0.85vw;
  font-weight: 500;
  color: #333;
}
.coupon_info_area > .note_box {
  display: block;
  width: 81%;
  margin: 0 auto;
  box-shadow: none;
  background: #eff8fd;
  text-align: center;
  padding: 1% 0;
  border-radius: 0;
  margin-bottom: 3%;
}
.note {
  display: inline-block;
  width: auto;
}
.note li {
  font-size: 0.9vw;
  font-weight: 400;
  color: #333;
  line-height: 1.4em;
  padding-bottom: 0.3em;
  text-align: justify;
  word-break: break-all;
}
.note li:last-of-type {
  padding-bottom: 0;
}
#wrap #ichioshi .swiper-container {
  width: 100%;
  height: 100%;
}
#wrap #ichioshi .swiper-slide {
  height: 27.5vw;
}
#wrap #ichioshi .swiper-button-next {
  top: 36%;
  right: 4%;
  font-size: 2rem;
}
#wrap #ichioshi .swiper-button-prev {
  top: 36%;
  right: 2%;
  font-size: 2rem;
}
.fa-utensils {
  padding-right: 0.5em;
}
#shop_5 .menu_info {
  padding-bottom: 6%;
}
/* --------------------
 SP
----------------------- */
@media only screen and (max-width:320px) {
  .coupon_btn a {
    font-size: 0.72rem !important;
  }
}
/* --------------------
 SP
----------------------- */
@media only screen and (max-width:767px) {
  #wrap .pc {
    display: none;
  }
  #wrap {
    width: 100%;
    min-width: auto !important;
  }
  .site-header {
    padding: 2% 0;
  }
  .site-header h1 {
    width: 62.5vw;
    padding-top: 2vw;
  }
  #gourmet_top {
    margin-top: 19vw;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    width: 95%;
  }
  .top_area {
    width: 95%;
  }
  .top_area > .lede {
    width: 100%;
  }
  .lede p {
    width: 100%;
    font-size: 0.9rem;
    padding-bottom: 0.8em;
  }
  .coupon_info_area {
    width: 100%;
    padding: 6% 0 3% 0;
  }
  .coupon_info_area > div {
    width: 95%;
    margin-left: 0;
    margin-right: 0;
    padding: 2% 1.5% 1.5% 1.5%;
    margin: 0 auto;
    margin-bottom: 5%;
  }
  .special .title {
    width: 100%;
  }
  .special .title img {
    width: 100%;
  }
  .special dl dt {
    padding-top: 0.4em;
    font-size: 0.65rem;
    line-height: 1.3em;
  }
  .special dl dd {
    padding-top: 0.1em;
    font-size: 1.1rem;
  }
  .coupon_btn a {
    font-size: 0.8rem;
  }
  .shop_info dl dt {
    font-size: 0.85rem;
  }
  .shop_info dl dd {
    font-size: 0.8rem;
  }
  .shop_info ul {
    width: 100%;
  }
  .shop_info ul li {
    font-size: 3.4vw;
  }
  .coupon_btn {
    bottom: 0.5%;
    font-size: 3.6vw;
    padding-top: 5.2vw;
    width: 19.19vw;
    height: 19.19vw;
  }
  .genre {
    font-size: 0.75rem;
  }
  .area {
    width: 12vw;
  }
  .number {
    width: 13%;
  }
  .coupon_2 .area {
    font-size: 0.6rem;
  }
  .map_area {
    width: 100%;
  }
  .map_area figure {
    width: 100%;
  }
  .map_btn {
    position: static;
    margin-right: 2%;
  }
  .map_btn a {
    padding: 0.5em 0.6em 0.3em 0.6em;
    font-size: 3vw;
    text-align: center;
    line-height: 1.25em;
  }
  #wrap #main .popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 {
    width: 90%;
    height: 70%;
  }
  #wrap #main .popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
    left: 50% !important;
    top: 50% !important;
    margin-left: 30%;
    margin-top: -55.5%;
    z-index: 99999;
  }
  .map_text {
    width: 95%;
    margin: 0 auto;
    text-align: left;
    line-height: 1.3em;
    padding-top: 1em;
  }
  .popupModal1 .special dl dd {
    font-size: 5vw;
  }
  .popupModal1 .special dl .detail {
    padding-top: 1em;
    font-size: 3vw;
  }
  .bnr_area {
    width: 95%;
  }
  .bnr_area > div {
    width: 100%;
    margin: 3% 0;
  }
  .special dl .detail {
    font-size: 3.1vw;
    padding-bottom: 0;
  }
  .map_title {
    width: 95%;
    font-size: 1.1rem;
  }
  #gourmet_top h2 {
    width: 98%;
    padding-top: 8.5vw;
    margin-left: 3vw;
  }
  #coupon_info {
    width: 95%;
  }
  .coupon_column > .left_column {
    width: 100%;
    margin-right: 0;
  }
  .shop {
    width: 85%;
  }
  .shop_name {
    font-size: 4.6vw;
    padding-top: 0.8em;
    width: auto;
  }
  .menu_info {
    font-size: 3.3vw;
  }
  .coupon_column > .right_column {
    width: 100%;
    margin-top: 6%;
  }
  .special dl .title {
    width: 48%;
  }
  .point {
    display: block;
    width: 75%;
    margin: 0 auto;
  }
  .special dl .title2 {
    width: 55%;
  }
  /*.ichioshi_menu_area {
    flex-wrap: nowrap;
    overflow: scroll;
    width: 95%;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 8%;
  }
  .ichioshi_menu_area > div {
    flex: none;
    width: 80%;
    padding: 4% 3% 15% 3%;
    margin-right: 5%;
  }*/
  .ichioshi_menu_area > div {
    width: 95%;
    margin-right: 0;
    min-height: 88vh;
    padding: 4% 3% 3% 3%;
    margin: 0 auto;
    margin-bottom: 5%;
  }
  .ichioshi_menu .comment {
    background-image: url(../img/comment_back_sp.png);
  }
  .ichioshi_menu:nth-of-type(3) .comment {
    background-image: url(../img/comment_back2_sp.png);
  }
  .ichioshi_menu:nth-of-type(7) .comment {
    background-image: url(../img/comment_back2_sp.png);
  }
  .ichioshi_menu:nth-of-type(4) .comment {
    background-image: url(../img/comment_back3_sp.png);
  }
  .ichioshi_menu:nth-of-type(8) .comment {
    background-image: url(../img/comment_back3_sp.png);
  }
  .ichioshi_menu:nth-of-type(5) .comment {
    background-image: url(../img/comment_back4_sp.png);
  }
  .ichioshi_menu:nth-of-type(9) .comment {
    background-image: url(../img/comment_back4_sp.png);
  }
  #ichioshi {
    width: 95%;
  }
  .ichioshi_menu .area {
    font-size: 3.1vw;
    padding: 0 0.8em;
    height: 4.5vw;
    line-height: 4.5vw;
    margin-right: 0.8em;
  }
  .ichioshi_menu .shop_name {
    font-size: 4.2vw;
    width: auto;
    padding-top: 0;
  }
  .ichioshi_menu .menu {
    font-size: 4vw;
  }
  .ichioshi_menu .comment {
    min-height: 38vw;
    font-size: 3.55vw;
    padding: 4.5% 7% 0 7%;
  }
  .comment_photo {
    bottom: 7vw;
    width: 23vw;
  }
  .ichioshi_menu .name {
    bottom: 6.5%;
    left: 33%;
    font-size: 3.3vw;
  }
  #wrap {
    background-size: 380%;
    background-position: top;
  }
  .coupon_info_area > .note_box {
    width: 100%;
    padding: 3% 4%;
  }
  .note li {
    font-size: 3.3vw;
    line-height: 1.6em;
  }
  .coupon:first-of-type .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(2) .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(3) .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(4) .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(5) .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(6) .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(7) .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(8) .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(9) .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(10) .special {
    padding: 8% 3% 4% 3%;
  }
  .coupon:nth-of-type(11) .special {
    padding: 8% 3% 4% 3%;
  }
  .em {
    font-size: 5vw;
  }
  #ichioshi .em {
    font-size: 4.25vw;
  }
  #wrap #ichioshi .swiper-slide {
    height: 30vw;
  }
  #wrap #ichioshi .swiper-container {
    height: 97.5%;
  }
  .ichioshi_menu_area {
    width: 100%;
    padding-top: 0;
    padding-bottom: 2%;
    margin-bottom: 6%;
  }
  .movie .icon {
    font-size: 18vw;
  }
  .ichioshi_menu_area > div:first-of-type {
    min-height: auto;
    padding: 0;
  }
  .ichioshi_menu_area > div:first-of-type figure {
    display: block;
    width: 80%;
    margin: 0 auto;
  }
  .coupon_info_area > div:nth-child(2n) {
    margin-right: 0;
    margin-left: 0;
    margin: 0 auto;
    margin-bottom: 5%
  }
  .ichioshi_menu:nth-of-type(5) .comment_photo {
    width: 27vw;
    bottom: 6.5vw;
  }
  .ichioshi_menu:nth-of-type(5) .name {
    bottom: 6.5%;
    left: 39%;
  }
  .ichioshi_menu:nth-of-type(6) .comment_photo {
    bottom: -24.5%;
  }
  .ichioshi_menu:nth-of-type(8) .comment_photo {
    bottom: -24.5%;
  }
  .ichioshi_menu:nth-of-type(6) .name {
    bottom: -18.5%;
    left: 30%;
  }
  .ichioshi_menu:nth-of-type(8) .name {
    bottom: -18.5%;
    left: 30%;
  }
  .last .comment_photo {
    bottom: 12.8vw;
  }
  .last .name {
    bottom: 11.3%;
  }
  #pageTop {
    bottom: 10px;
    right: 10px;
  }
  .popupModal1 .special {
    margin-top: 2em;
  }
  .special dl .title .info {
    top: -90%;
    left: -28%;
    width: 70%;
  }
  .ichi_top .swiper-slide:nth-of-type(3) .comment {
    font-size: 3.55vw;
  }
  .popupModal1 .em {
    font-size: 5vw;
  }
}
/* --------------------
 iPad
----------------------- */
@media screen and (max-width:768px) {
  #wrap {
    min-width: 1275px;
  }
  #main .popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 {
    height: 22.5%;
  }
  #main .popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
    margin-top: -16%;
  }
}
/* --------------------
 iPad Pro
----------------------- */
@media screen and (max-width:1024px) {
  #wrap {
    min-width: 1275px;
  }
  .map_btn {
    top: 14%;
  }
  .area {
    font-size: 0.6rem;
  }
  .popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 {
    width: 25%;
    height: 41%;
  }
  .popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
    margin-left: 8%;
    margin-top: -15.8%;
  }
}
/* --------------------
 PC
----------------------- */
@media only screen and (min-width:768px) {
  #wrap .sp {
    display: none;
  }
}