@charset "UTF-8";
/* Welcome to Compass.
 * In this file you should write your main styles. (or centralize your imports)
 * Import this file using the following HTML or equivalent:
 * <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

html, body {
  width: 100%;
  height: auto;
  min-height: 100vh;
}

html {
  font-size: 16px;
}

body {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
  color: #333;
  margin: 0;
}

.container {
  width: 100%;
  min-height: 100vh;
  height: auto;
  background-color: #c81528;
  color: #FFF;
}

a {
  color: #333;
  text-decoration: none;
}

img {
  width: 100%;
  vertical-align: bottom;
}

:focus {
  outline: none;
}

.only_pc {
  display: none;
}

.only_smt {
  display: block;
}

.header {
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  height: 50vw;
  min-width: auto;
  z-index: 998;
  padding: 8px 4%;
  background-image: url("../images/triangle-header.svg");
  background-repeat: no-repeat;
  background-position: right top;
  -moz-background-size: 100% auto;
  -o-background-size: 100% auto;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.header .title {
  width: 25%;
  max-width: 120px;
}
.header .title img {
  width: 100%;
}
.header .nav ul {
  display: block;
}
.header .nav ul li {
  margin-left: 0;
}
.header .nav ul li p {
  display: inline-block;
  background-color: #c81528;
  font-size: .875rem;
  color: #FFF;
  margin-bottom: 1.6rem;
  padding: .5em;
}
.header .nav ul li ul {
  padding-left: 1rem;
}
.header .nav ul li ul li {
  margin-bottom: 1.6rem;
}
.header .nav a {
  color: #c81528;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
}

.navigation__btn {
  position: absolute;
  top: 4px;
  right: 1rem;
  overflow: visible;
  cursor: pointer;
  width: 48px;
  height: 48px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 0 10px 16px;
  z-index: 9999;
}
.navigation__btn__inner {
  position: relative;
  width: 100%;
}
.navigation__btn span {
  position: absolute;
  background: #FFF;
  width: 100%;
  height: 4px;
}
.navigation__btn span:nth-child(1) {
  position: absolute;
  top: 0;
  left: 0;
  animation-delay: 0.22s;
}
.navigation__btn span:nth-child(2) {
  position: absolute;
  top: 11px;
  left: 0;
  animation-delay: 0s;
}
.navigation__btn span:nth-child(3) {
  position: absolute;
  top: 22px;
  left: 0;
  animation-delay: 0.66s;
}
.navigation__btn--clicked span {
  width: 32px;
  -moz-animation: none;
  -webkit-animation: none;
  animation: none;
  background-color: #c81528;
}
.navigation__btn--clicked span:nth-child(1) {
  -moz-transform: translateY(12px) rotate(45deg);
  -ms-transform: translateY(12px) rotate(45deg);
  -webkit-transform: translateY(12px) rotate(45deg);
  transform: translateY(12px) rotate(45deg);
}
.navigation__btn--clicked span:nth-child(2) {
  opacity: 0;
}
.navigation__btn--clicked span:nth-child(3) {
  -moz-transform: translateY(-10px) rotate(-45deg);
  -ms-transform: translateY(-10px) rotate(-45deg);
  -webkit-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
}
.navigation__menu {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(255, 255, 255, 0.9);
  padding: 32px 4%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /*@include transition(opacity 1s, visibility 0s ease 1s);*/
}
.navigation__menu ul {
  display: block;
}
.navigation__menu ul li {
  font-size: 1.5rem;
  margin-bottom: 2.4rem;
}
.navigation__menu ul li a {
  color: #c81528;
}
.navigation__menu--clicked {
  transition-delay: 0s;
  visibility: visible;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  z-index: 9998;
}
.navigation__menu--clicked ul {
  display: block;
}
.navigation--clicked .navigation__menu {
  transition-delay: 0s;
  visibility: visible;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  z-index: 9998;
}

/* appear */
/* js */
.left-right, .kv__cont__copy__inner, .kv__txt, .area__one--left, .philosophy__image {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -moz-transition: 0.8s;
  -o-transition: 0.8s;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.right-left, .area__one--right {
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
  -moz-transition: 0.8s;
  -o-transition: 0.8s;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.bottom-top, .area__title, .philosophy__txt, .about__title, .about__txt {
  padding-top: 3rem;
  padding-bottom: 0;
  visibility: hidden;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -moz-transition: 0.8s;
  -o-transition: 0.8s;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}
.bottom-top--shown {
  padding-top: 0;
  visibility: visible;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}

.is-show {
  webkit-clip-path: inset(0) !important;
  clip-path: inset(0) !important;
}

/* slider */
.slick-slide {
  height: 100%;
}

.slide {
  position: relative;
  width: 100%;
  height: 80vh;
  margin: 0;
  padding: 0;
}
.slide .item {
  overflow: hidden;
  width: calc( 100% + 160px ) !important;
  height: 100%;
  background-position: center center;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
}
.slide .item:before {
  display: block;
  /* padding-top: 39%; */
  content: "";
}
.slide .item .image {
  position: relative;
  overflow: hidden;
}
.slide .item .image img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  height: 100%;
}

.kv--area--uozu .slide01 {
  background-image: url("../images/slider--uozu01.jpg");
}
.kv--area--uozu .slide02 {
  background-image: url("../images/slider--uozu02.jpg");
}
.kv--area--uozu .slide03 {
  background-image: url("../images/slider--uozu03.jpg");
}
.kv--area--uozu .slide04 {
  background-image: url("../images/slider--uozu04.jpg");
}
.kv--area--dotonbori .slide01 {
  background-image: url("../images/slider--dotonbori01.jpg");
}
.kv--area--dotonbori .slide02 {
  background-image: url("../images/slider--dotonbori02.jpg");
}
.kv--area--dotonbori .slide03 {
  background-image: url("../images/slider--dotonbori03.jpg");
}
.kv--area--dotonbori .slide04 {
  background-image: url("../images/slider--dotonbori04.jpg");
}
.kv--area--dotonbori .slide05 {
  background-image: url("../images/slider--dotonbori05.jpg");
}
.kv--area--sapporotanukikoji .slide01 {
  background-image: url("../images/slider--sapporotanukikoji01.jpg");
}
.kv--area--sapporotanukikoji .slide02 {
  background-image: url("../images/slider--sapporotanukikoji02.jpg");
}
.kv--area--sapporotanukikoji .slide03 {
  background-image: url("../images/slider--sapporotanukikoji03.jpg");
}
.kv--area--fuwa .slide01 {
  background-image: url("../images/slider--fuwa01.jpg");
}
.kv--area--fuwa .slide02 {
  background-image: url("../images/slider--fuwa02.jpg");
}
.kv--area--fuwa .slide03 {
  background-image: url("../images/slider--fuwa03.jpg");
}
.kv--area--fuwa .slide04 {
  background-image: url("../images/slider--fuwa04.jpg");
}

.slide > .slick-list,
.slide > .slick-list > .slick-track,
.slide > .slick-list > .slick-track > .slick-slide > div {
  position: relative;
  height: 100%;
}

.slide-animation .item {
  animation: rightToleft 8000ms linear;
}

.slide01 {
  background-image: url("../images/slider01.jpg");
}

.slide02 {
  background-image: url("../images/slider02.jpg");
}

.slide03 {
  background-image: url("../images/slider03.jpg");
}

@keyframes rightToleft {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(-160px);
  }
}
/* top */
/* kv */
.kv {
  position: relative;
  width: 100%;
  height: 80vh;
}
.kv__cont {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 80vh;
}
.kv__cont__logo {
  position: absolute;
  top: 40%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  /* Safari用 */
  transform: translate(-50%, -50%);
  width: 140px;
  height: auto;
  z-index: 995;
}
.kv__cont__copy {
  background-image: url("../images/triangle-kv.svg");
  background-repeat: no-repeat;
  background-position: left bottom;
  -moz-background-size: 100% auto;
  -o-background-size: 100% auto;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100vw;
  height: 100vh;
  font-size: 7.5vw;
  font-weight: 700;
  line-height: 1.5;
}
.kv__cont__copy__inner {
  position: absolute;
  bottom: 0;
  left: 0;
  padding-left: 2rem;
  padding-bottom: .5rem;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.kv__txt {
  font-size: 4.5vw;
  font-weight: 700;
  line-height: 1.6;
  padding: 4.5rem 2rem 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.kv__txt p {
  margin-bottom: .75em;
}
.kv--area {
  margin-bottom: 4.8rem;
}
.kv--area .kv__cont__logo {
  top: 1rem;
  left: 1rem;
  -webkit-transform: translate(0);
  /* Safari用 */
  transform: translate(0);
  width: 100px;
}
.kv--area .kv__cont__copy {
  font-size: 14vw;
}
.kv--area .kv__cont__copy span {
  display: block;
  font-size: 5vw;
}
.kv--area .kv__cont__copy__inner {
  padding-bottom: 0;
}

.area {
  padding-top: 15vw;
}
.area--fuwa {
  padding-top: 0;
}
.area__title {
  font-weight: 700;
  text-align: center;
  margin: 0 auto;
  width: calc(729 / 1500 * 100%);
  max-width: calc(729px / 2);
  padding-bottom: 12vw;
}
.area__title--fuwa {
  width: calc(466 / 1500 * 100%);
  max-width: calc(466px / 2);
}
.area__one {
  font-weight: 700;
  margin-bottom: 0rem;
}
.area__one--right {
  text-align: right;
}
.area__one__copy {
  max-width: 1240px;
  margin: 0 auto 1em;
  font-size: 4vw;
  line-height: 1.5;
  padding: 0 6vw;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.area__one__title {
  max-width: 1240px;
  margin: 0 auto 2em;
  padding: 0 6vw;
  font-size: 3.2vw;
  line-height: 1;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.area__one__image {
  overflow: hidden;
  object-fit: cover;
}
.area__one__image img {
  object-fit: cover;
}
.area__one__btn {
  position: relative;
  text-align: center;
  width: 100%;
  height: 50vw;
  padding-top: 4vw;
  margin-top: -2px;
}
.area__one__btn:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background-repeat: no-repeat;
  width: 100%;
  height: 50vw;
  z-index: 1;
}
.area__one__btn--left:after {
  background-image: url(../images/triangle-area-a.svg);
}
.area__one__btn--right:after {
  background-image: url(../images/triangle-area-b.svg);
  background-position: right top;
}
.area__one__btn a {
  position: relative;
  display: block;
  width: 64%;
  max-width: 640px;
  background-color: #c81528;
  color: #FFF;
  font-size: 3.2vw;
  margin: 0 auto;
  padding: 1em 0;
  border: 2px solid #FFF;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2;
}
.area__one__btn a:after {
  content: '';
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -8px;
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
}

.philosophy {
  position: relative;
  margin-bottom: 12vw;
}
.philosophy__image {
  position: relative;
  z-index: 2;
  padding-right: 6vw;
}
.philosophy__txt {
  position: relative;
  z-index: 1;
  background-color: #FFF;
  color: #c81528;
  font-weight: 700;
  text-align: center;
  margin-top: -2rem;
  padding-bottom: 16vw;
}
.philosophy__txt__title {
  max-width: 960px;
  font-size: 4.8vw;
  margin: 0 auto 1em;
  padding: 4em 6vw 0;
}
.philosophy__txt__description {
  max-width: 960px;
  font-size: 3.2vw;
  line-height: 2;
  padding: 0 6vw;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto 3em;
}
.philosophy__txt__image {
  width: 75%;
  max-width: 640px;
  margin: 0 auto;
}

.about {
  text-align: center;
  padding: 12vw 6vw 16vw;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.about__title {
  width: calc(1142 / 1500 * 100%);
  max-width: calc(1142px / 2);
  margin: 0 auto;
  padding-bottom: 3.2vw;
}
.about__txt {
  max-width: 960px;
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 2;
  margin: 0 auto 3.2em;
}
.about__list {
  max-width: 640px;
  margin: 0 auto;
}

.footer {
  background-color: #FFF;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 2rem;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.footer__logo {
  width: 110px;
}
.footer a {
  color: #c81528;
}
.footer__nav {
  font-size: .875rem;
  font-weight: 700;
  color: #c81528;
  padding-left: 1rem;
}
.footer__nav ul li {
  padding-bottom: .5rem;
}
.footer__nav ul li ul {
  display: block;
  padding-top: .5rem;
  padding-left: 1rem;
}
.footer__nav__sub {
  font-size: .75rem;
}
.footer__nav .only_smt p {
  display: inline-block;
  background-color: #c81528;
  font-size: .5rem;
  font-weight: 400;
  color: #FFF;
  padding: .35em;
}

.address {
  font-size: .75rem;
  text-align: center;
  border-top: 2px solid #c81528;
  padding: 1rem 0;
}
.address__logo {
  width: 140px;
  margin: 0 auto .5rem;
}

/* エリアページ */
.recommend {
  margin-bottom: 8rem;
}
.recommend__title {
  font-weight: 700;
  text-align: center;
  margin: 0 auto;
  width: calc(815 / 1500 * 100%);
  max-width: calc(814px / 2);
  padding-bottom: 3em;
}
.recommend__casette {
  margin-bottom: 1rem;
}
.recommend__casette__one {
  position: relative;
  width: 92vw;
  margin: 0 auto 1rem;
  background-color: #FFF;
}
.recommend__casette__one:after {
  content: '';
  position: absolute;
  right: 0;
  top: calc(92vw / 4 * 3);
  display: block;
  width: 32px;
  height: 32px;
  margin-top: -16px;
  background-image: url(../images/bg-recommend.svg);
  background-repeat: no-repeat;
  background-position: right -1px center;
  -moz-background-size: auto 100%;
  -o-background-size: auto 100%;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
}
.recommend__casette__one__image {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: calc(92vw / 4 * 3);
  padding-bottom: .5em;
}
.recommend__casette__one__image img {
  width: 100%;
  height: calc(92vw / 4 * 3);
  object-fit: cover;
}
.recommend__casette__one__image span {
  position: absolute;
  bottom: 0;
  left: 1rem;
  display: inline-block;
  max-width: calc(100% - 4rem);
  background-color: #c81528;
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
  padding: .5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.recommend__casette__one__txt {
  color: #c81528;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.recommend__casette__one__txt__name {
  color: #c81528;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: .5rem;
  padding: .75rem 1rem 0;
}
.recommend__casette__one__txt__restaurant {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  color: #aaa;
  font-size: .75rem;
  padding: .25rem 1rem 1.5rem;
}
.recommend__casette__one__txt__restaurant span {
  overflow: hidden;
  width: 48px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  margin-right: .5em;
}
.recommend__casette__one__txt__restaurant span img {
  width: 48px;
  height: 48px;
  object-fit: cover;
}

.jtb-area {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 0 4%;
  margin-bottom: 4vw;
}
.jtb-area__pd {
  position: relative;
  width: 48%;
}
.jtb-area__pd:after {
  content: '';
  position: absolute;
  right: 6%;
  top: 50%;
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(../images/arrow-pd.svg);
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  margin-top: -8px;
}
.jtb-area__pd select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #FFF;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: .875rem;
  font-weight: 700;
  height: 48px;
  line-height: 48px;
  margin: 0;
  padding: 0 0 0 1em;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 100%;
}
.jtb-area__title {
  font-weight: 700;
  text-align: center;
  margin: 0 auto;
  width: calc(764 / 1500 * 100%);
  max-width: calc(764px / 2);
  padding-bottom: 3em;
}

.jtb-restaurant_area {
  padding-bottom: 6rem;
}

.jtb-no_page {
  text-align: center;
}

.jtb-restaurant {
  position: relative;
  display: block;
  background-color: #FFF;
  width: 92vw;
  color: #444;
  margin: 0 auto 1rem;
}
.jtb-restaurant:before {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(../images/bg-restaurant--top.svg);
  background-repeat: no-repeat;
  background-position: left top;
  -moz-background-size: 100% auto;
  -o-background-size: 100% auto;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
}
.jtb-restaurant:after {
  content: '';
  position: absolute;
  bottom: -1px;
  right: -1px;
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(../images/bg-restaurant--bottom.svg);
  background-repeat: no-repeat;
  background-position: right bottom;
  -moz-background-size: 100% auto;
  -o-background-size: 100% auto;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
}
.jtb-restaurant__name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2em;
  padding: .75rem 1rem;
}
.jtb-restaurant__image a {
  display: -webkit-flex;
  display: flex;
  width: 100%;
}
.jtb-restaurant__image__one {
  width: 50%;
}
.jtb-restaurant__image__one img {
  height: calc(92vw / 2);
  object-fit: cover;
}
.jtb-restaurant__title {
  color: #c81528;
  font-size: .925rem;
  font-weight: 700;
  line-height: 1.5em;
  padding: 1rem 1rem .25rem;
}
.jtb-restaurant__info {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  font-size: .75rem;
  padding: .25rem 1rem;
  margin-bottom: .25rem;
}
.jtb-restaurant__category, .jtb-restaurant__lunch, .jtb-restaurant__dinner {
  display: inline-block;
  position: relative;
  margin-bottom: .5em;
  margin-right: .75rem;
  padding-left: 16px;
}
.jtb-restaurant__category:before, .jtb-restaurant__lunch:before, .jtb-restaurant__dinner:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: .75rem;
  height: .75rem;
  background-repeat: no-repeat;
  background-position: center center;
  -moz-background-size: auto 100%;
  -o-background-size: auto 100%;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
}
.jtb-restaurant__category:before {
  background-image: url(../images/icon-category.png);
}
.jtb-restaurant__lunch:before {
  background-image: url(../images/icon-lunch.png);
}
.jtb-restaurant__dinner:before {
  background-image: url(../images/icon-dinner.png);
}
.jtb-restaurant__description {
  font-size: .75rem;
  line-height: 1.5em;
  padding: 0 1rem 1rem;
}

.jtb-restaurant_btn {
  cursor: pointer;
  padding: 2rem 0 4rem;
}
.jtb-restaurant_btn a {
  text-align: center;
  position: relative;
  display: block;
  width: 64%;
  max-width: 480px;
  background-color: #c81528;
  color: #FFF;
  font-size: 3.2vw;
  margin: 0 auto;
  padding: 1em 0;
  border: 2px solid #FFF;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2;
}
.jtb-restaurant_btn a:after {
  content: '';
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -8px;
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
}

/* fuwafuwa */
sup {
  font-size: 70%;
  vertical-align: top;
  position: relative;
  top: -.3em;
}

.base-margin, .fuwa__description, .fuwa__info, .fuwa__bnr, .fuwa__caution, .fuwa__eco__txt {
  padding: 0 8vw;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* fuwa */
.kv--area--fuwa .kv__cont__copy__inner__main__one {
  display: block;
  line-height: 1;
}
.kv--area--fuwa .kv__cont__copy__inner__main__one span {
  display: inline-block !important;
  background-color: #FFF;
  color: #c81528;
  font-size: 8vw;
  line-height: 1.6em;
  padding: 0 .2em;
}

.kv__cont__logo--fuwa {
  width: 140px !important;
}

.fuwa__kv__txt {
  webkit-clip-path: inset(0) !important;
  clip-path: inset(0) !important;
  text-align: center;
  margin-bottom: 3em;
  padding-top: 0;
  margin-top: -1.5em;
}
.fuwa__description {
  background-color: #FFF;
  color: #c81528;
  font-weight: 700;
  padding-top: 1.5em;
  margin-top: -2px;
}
.fuwa__description__title {
  font-size: 2rem;
  line-height: 1.3em;
  margin-bottom: .5em;
}
.fuwa__description__txt {
  font-size: .875rem;
  line-height: 1.6em;
}
.fuwa__info {
  background-color: #FFF;
  color: #c81528;
  padding-top: 1.5em;
}
.fuwa__info__title {
  width: 75%;
  margin-bottom: 1.5em;
}
.fuwa__info__table {
  font-size: .75rem;
  margin-bottom: 1em;
}
.fuwa__info__table th, .fuwa__info__table td {
  vertical-align: top;
  padding-bottom: .75em;
}
.fuwa__info__coupon {
  margin-bottom: 3em;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.fuwa__info__coupon a {
  display: block;
  background-color: #c81528;
  display: block;
  color: #FFF;
  text-align: center;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 1em;
}
.fuwa__info__map {
  margin-bottom: .5em;
}
.fuwa__info__map #googlemap {
  width: 100%;
  height: 220px;
  background-color: #ccc;
}
.fuwa__info__caution {
  font-size: .6rem;
  line-height: 1.6em;
  padding-bottom: 4em;
}
.fuwa__info__caution ul li {
  position: relative;
  padding-left: 1.5em;
}
.fuwa__info__caution ul li:before {
  content: '※';
  position: absolute;
  left: 0;
}
.fuwa__bnr {
  background-color: #FFF;
  padding-bottom: 16px;
}
.fuwa__products {
  background-image: url(../images/triangle-area-a.svg);
  background-position: left top;
  background-repeat: no-repeat;
  -moz-background-size: 100% auto;
  -o-background-size: 100% auto;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  margin-bottom: 6em;
  padding-top: 50vw;
}
.fuwa__products__title {
  width: calc(526 / 750 * 100%);
  margin: 0 auto 1.5em;
}
.fuwa__product {
  position: relative;
  width: 92vw;
  margin: 0 auto 1rem;
  background-color: #FFF;
  margin-bottom: 48px;
}
.fuwa__product--miyagi {
  color: #df5748;
}
.fuwa__product--miyagi .fuwa__product__txt__link {
  background-color: #df5748;
}
.fuwa__product--fukushima {
  color: #e7729f;
}
.fuwa__product--fukushima .fuwa__product__txt__link {
  background-color: #e7729f;
}
.fuwa__product--akita {
  color: #e4ba23;
}
.fuwa__product--akita .fuwa__product__txt__link {
  background-color: #e4ba23;
}
.fuwa__product--iwate {
  color: #7452ad;
}
.fuwa__product--iwate .fuwa__product__txt__link {
  background-color: #7452ad;
}
.fuwa__product--aomori {
  color: #d44f32;
}
.fuwa__product--aomori .fuwa__product__txt__link {
  background-color: #d44f32;
}
.fuwa__product--yamagata {
  color: #76b75e;
}
.fuwa__product--yamagata .fuwa__product__txt__link {
  background-color: #76b75e;
}
.fuwa__product:after {
  content: '';
  position: absolute;
  right: 0;
  top: 92vw;
  display: block;
  width: 32px;
  height: 32px;
  margin-top: -16px;
  background-image: url(../images/bg-recommend.svg);
  background-repeat: no-repeat;
  background-position: right -1px center;
  -moz-background-size: auto 100%;
  -o-background-size: auto 100%;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
}
.fuwa__product__area {
  position: absolute;
  top: -24px;
  left: -8px;
  background-color: #FFF;
  display: block;
  width: 80px;
  height: 80px;
  text-align: center;
  line-height: 80px;
  font-weight: 700;
  font-size: 1.5rem;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
.fuwa__product__txt {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 1rem 1.5rem 1.5rem;
}
.fuwa__product__txt__title {
  font-weight: 700;
  font-size: 1.5em;
  line-height: 1.6em;
  margin-bottom: .5em;
}
.fuwa__product__txt__title span {
  display: block;
}
.fuwa__product__txt__title .big {
  font-size: 1.5em;
  margin-top: -.2em;
}
.fuwa__product__txt__title .small {
  font-size: .75rem;
}
.fuwa__product__txt__description {
  font-size: .875rem;
  line-height: 1.5em;
  margin-bottom: 1.25em;
}
.fuwa__product__txt__price {
  text-align: right;
  font-size: 1.5em;
  font-weight: 700;
  margin-bottom: .75em;
}
.fuwa__product__txt__price span {
  font-size: .75rem;
}
.fuwa__product__txt__link a {
  display: block;
  width: 100%;
  padding: 1em;
  color: #FFF;
  text-align: center;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.fuwa__caution {
  margin-bottom: 6rem;
  font-size: .75rem;
  line-height: 1.6em;
}
.fuwa__caution__title {
  width: calc(1328 / 1500 * 100%);
  margin: 0 auto 1.5em;
}
.fuwa__eco {
  padding-bottom: 6em;
}
.fuwa__eco__title {
  width: calc(1328 / 1500 * 100%);
  margin: 0 auto 1.5em;
}

.coupon {
  width: 100%;
  height: auto;
  min-height: 100vh;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.coupon__inner {
  width: 70%;
  max-width: 480px;
  text-align: center;
}
.coupon__caution {
  margin-top: 2.4rem;
}
.coupon__back {
  margin-top: 4.5rem;
}
.coupon__back a {
  color: #FFF;
  font-size: .75rem;
  text-decoration: underline;
}

@media screen and (min-width: 751px) {
  .only_pc {
    display: block;
  }

  .only_smt {
    display: none;
  }

  .container {
    min-width: 960px;
  }

  .header {
    -moz-background-size: 20% auto;
    -o-background-size: 20% auto;
    -webkit-background-size: 20% auto;
    background-size: 20% auto;
  }

  .navigation__menu {
    width: 50%;
    right: 0;
    left: 50%;
  }

  .kv {
    height: 100vh;
  }
  .kv__cont {
    height: 100vh;
  }
  .kv__cont__logo {
    width: 240px;
  }
  .kv__cont__copy {
    height: 100vh;
    font-size: 5.5vw;
  }
  .kv__cont__copy__inner {
    padding: 0 6vw 4rem;
  }
  .kv__txt {
    font-size: 3.2vw;
    padding: 5.6em 6vw 0;
  }
  .kv__txt p {
    margin-bottom: .75em;
  }
  .kv--area {
    margin-bottom: 9.6rem;
  }

  .slide {
    height: 100vh;
  }

  .area--fuwa {
    margin-top: -25vw;
  }

  .area__title {
    padding-bottom: 6rem;
  }

  .area__one--left {
    margin-top: -24vw;
  }
  .area__one--left:first-child {
    margin-top: 0;
  }

  .area__one--right {
    margin-top: -24vw;
  }

  .area__one__btn:after {
    width: 75%;
  }

  .area__one__btn--right:after {
    margin-left: 25%;
  }

  .philosophy {
    margin-top: -16rem;
    margin-bottom: 0;
  }

  .philosophy__image {
    padding-right: 50vw;
  }

  .philosophy__txt {
    margin-top: -12rem;
  }

  .philosophy__txt__title {
    padding-top: 6.4em;
  }

  .about {
    padding-top: 16rem;
  }

  .footer {
    -webkit-align-items: center;
    align-items: center;
  }
  .footer ul {
    color: #aaa;
    overflow: hidden;
    margin-bottom: 1rem;
  }
  .footer ul li {
    float: left;
    margin-right: 1rem;
  }
  .footer ul li p {
    display: inline-block;
    background-color: #c81528;
    font-size: .75rem;
    font-weight: 400;
    color: #FFF;
    padding: .35em;
  }
  .footer ul li a {
    display: inline-block;
    color: #c81528;
    padding: .25em 0;
  }
  .footer ul li ul {
    padding: 0;
    margin: .5rem 0 0 0;
  }
  .footer ul li ul li {
    float: none;
  }
  .footer .footer__nav--sub {
    font-size: .75rem;
    margin-bottom: 0;
    font-weight: 400;
  }

  /* エリアページ */
  .recommend__title {
    width: 320px;
  }
  .recommend__casette {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-bottom: 1rem;
  }
  .recommend__casette__one {
    position: relative;
    width: 300px;
    margin: 0 1rem;
    background-color: #FFF;
  }
  .recommend__casette__one:after {
    top: calc(300px / 4 * 3);
    display: block;
    width: 24px;
    height: 24px;
    margin-top: -12px;
  }
  .recommend__casette__one__image {
    height: calc(300px / 4 * 3);
    padding-bottom: .5em;
  }
  .recommend__casette__one__image img {
    height: calc(300px / 4 * 3);
  }
  .recommend__casette__one__image span {
    position: absolute;
    bottom: 0;
    left: 1rem;
    display: inline-block;
    max-width: calc(100% - 4rem);
    background-color: #c81528;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    padding: .5em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .recommend__casette__one__txt {
    color: #c81528;
    padding: .75rem 1rem 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .recommend__casette__one__txt__name {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: .5rem;
  }
  .recommend__casette__one__txt__restaurant {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    color: #aaa;
    font-size: .75rem;
  }
  .recommend__casette__one__txt__restaurant span {
    overflow: hidden;
    width: 48px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    margin-right: .5em;
  }

  .jtb-area__title {
    width: 320px;
  }

  .jtb-area {
    width: 640px;
    margin: 0 auto 4vw;
  }

  #restaurant_wrap {
    width: 960px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow: hidden;
    margin: 0 auto 1rem;
  }

  .jtb-restaurant {
    width: 470px;
    margin-left: 0;
  }
  .jtb-restaurant:nth-child(even) {
    margin-right: 0;
  }
  .jtb-restaurant__image {
    display: -webkit-flex;
    display: flex;
  }
  .jtb-restaurant__image__one {
    width: 50%;
  }
  .jtb-restaurant__image__one img {
    height: calc(470px / 2);
    object-fit: cover;
  }

  .jtb-restaurant_btn {
    padding: 2rem 0 4rem;
  }
  .jtb-restaurant_btn a {
    font-size: 1.6rem;
  }

  /* fuwafuwa */
  .w640, .fuwa__description__title, .fuwa__description__txt, .fuwa__info__title, .fuwa__info__table, .fuwa__info__map, .fuwa__info__caution, .fuwa__bnr figure {
    width: 640px;
    margin: 0 auto;
  }

  .kv--area--fuwa .kv__cont__copy__inner__main {
    font-size: 0;
  }
  .kv--area--fuwa .kv__cont__copy__inner__main__one span {
    font-size: 4rem !important;
    margin-top: 16px;
  }

  .kv__cont__logo--fuwa {
    width: 220px !important;
  }

  .fuwa {
    min-width: 1000px;
  }
  .fuwa__kv__txt {
    margin-bottom: 64px !important;
    padding-top: 0 !important;
  }
  .fuwa__description {
    margin: -2px auto 0 auto;
    padding-bottom: 96px;
  }
  .fuwa__description__title {
    font-size: 4.8rem;
    line-height: 1.4em;
    padding-top: 96px;
    margin-bottom: 32px;
  }
  .fuwa__description__txt {
    font-size: 1.6rem;
  }
  .fuwa__info__title {
    margin-bottom: 48px;
  }
  .fuwa__info__table {
    font-size: .75rem;
    margin-bottom: 24px;
  }
  .fuwa__info__table th, .fuwa__info__table td {
    font-size: 1.5rem;
    padding-bottom: 1em;
  }
  .fuwa__info__coupon a {
    font-size: 1.6rem;
  }
  .fuwa__info__map {
    margin-bottom: .5em;
  }
  .fuwa__info__map #googlemap {
    width: 100%;
    height: 480px;
    background-color: #ccc;
  }
  .fuwa__info__caution {
    font-size: .875rem;
    padding-bottom: 96px;
  }
  .fuwa__bnr {
    background-color: #FFF;
    padding-bottom: 96px;
  }
  .fuwa__products {
    padding-top: 160px;
    background-size: 50% auto;
  }
  .fuwa__products__title {
    margin: 0 auto 64px;
    text-align: center;
  }
  .fuwa__products__title figure {
    height: 100px;
    width: auto;
  }
  .fuwa__products__title figure img {
    height: 100%;
    width: auto;
  }
  .fuwa__products__wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    width: 1000px;
    margin: 0 auto;
  }
  .fuwa__product {
    position: relative;
    width: 300px;
    flex-basis: 300px;
    margin: 0 1rem 48px;
  }
  .fuwa__product:after {
    top: 300px;
  }
  .fuwa__caution {
    margin-bottom: 6rem;
    font-size: .75rem;
    line-height: 1.6em;
    margin-bottom: 128px;
  }
  .fuwa__caution__title {
    text-align: center;
    margin: 0 auto 64px;
  }
  .fuwa__caution__title figure {
    height: 100px;
    width: auto;
  }
  .fuwa__caution__title figure img {
    height: 100%;
    width: auto;
  }
  .fuwa__caution__txt {
    width: 640px;
    margin: 0 auto;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .fuwa__eco {
    padding-bottom: 128px;
  }
  .fuwa__eco__title {
    margin: 0 auto 64px;
    text-align: center;
  }
  .fuwa__eco__title figure {
    height: 100px;
    width: auto;
  }
  .fuwa__eco__title figure img {
    height: 100%;
    width: auto;
  }
  .fuwa__eco__txt {
    width: 640px;
    margin: 0 auto;
    padding: 0;
  }
}
@media screen and (min-width: 1081px) {
  .kv--area .kv__cont__copy {
    font-size: 9.6rem;
  }
}
@media screen and (min-width: 1241px) {
  .kv__cont__copy {
    font-size: 4.2rem;
    -moz-background-size: 75% auto;
    -o-background-size: 75% auto;
    -webkit-background-size: 75% auto;
    background-size: 75% auto;
  }
  .kv__cont__copy__inner {
    font-size: 4.2rem;
  }

  .kv--area .kv__cont__copy span {
    font-size: 3rem;
  }

  .kv__txt {
    width: 1240px;
    font-size: 2.4rem;
    margin: 0 auto;
  }

  .area {
    padding-top: 10rem;
  }
  .area__one__copy {
    font-size: 3.2rem;
  }
  .area__one__title {
    font-size: 2.4rem;
  }
  .area__one__btn a {
    font-size: 2.4rem;
  }

  .philosophy__txt__title {
    font-size: 3.2rem;
  }

  .philosophy__txt__description {
    font-size: 1.6rem;
  }

  .about__title {
    padding-bottom: 1.6vw;
  }

  .about__txt {
    font-size: 1.6rem;
  }

  /* area */
  .kv__cont__copy__inner__main {
    font-size: 8rem;
  }
}
