@charset "UTF-8";
/*
	@include sc(pc) {
		width: 100%;
	}
	@include sc(sp) {
		width: 50%;
	}
*/
/*
	@include hover() {
		opacity: 0.6;
	}
*/
/*
	$line:イラレの行の値
	$size:イラレの文字の値

	@include lh(38, 15);
*/
/*
	@include taJ();
*/
/*
	@extend %rightarr;
*/
/*
@mixin f_roboto($weight:400) {
	font-family: 'Roboto',"游ゴシック","游ゴシック体","Yu Gothic",YuGothic, sans-serif;
	font-weight:$weight;
}
Robotoフォント設定
400：Regular（デフォルト）
500：Medium
700：Bold
*/
/*
	$weight:フォントの太さ

	@include f_min();
	@include f_min(500);
	@include f_min(600);
*/
/*
	$weight:フォントの太さ

	@include f_nscj();
	@include f_nscj(500);
	@include f_nscj(700);
*/
/*
	$weight:フォントの太さ

	@include f_nscj();
	@include f_nscj(500);
	@include f_nscj(700);
*/
/*
	$weight:フォントの太さ

	@include f_op();
	@include f_op(600);※SemiBold
	@include f_op(700);※Bold
	@include f_op(800);※ExtraBold
*/
/*
	$weight:フォントの太さ

	@include f_nsd();
	@include f_nsd(500);※Medium
*/
/*
	$weight:フォントの太さ

	@include f_nsj(400);Regular
	@include f_nsj(500);※Medium
	@include f_nsj(600);※SemiBold
	@include f_nsj(700);※Bold
*/
/*
	$color:色指定
	$stripe:線サイズ
	$spacing:線の空きサイズ
	$height:太さ

	@include dotted(#e6e1d2, 4,4,2);
*/
/*
example
@include dotted-y(#COLOR, WidthPX,SpaceingPX,LengthPX,); 横破線
@include dotted-y(#e6e1d2, 4,4,2,10);
*/
/* 変数
============================================================================================================ */
:root {
  --base-transition-duration: .3s;
  --base-transition: var(--base-transition-duration) ease-in-out;
  --sp_rate: (100vw / 750);
  --theme-gold: #a58f5f;
  --theme-orange: #C96B02;
}

@media screen and (max-width: 640px) {
  .mod_main {
    margin-top: 0;
  }
}

/* Common Item
============================================================================= */
@media print, screen and (min-width: 641px) {
  [class*=_w-pc-] {
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    max-width: 100%;
  }
  ._w-pc-1100 {
    width: 11rem;
  }
  ._w-pc-1200 {
    width: 12rem;
  }
  ._w-pc-1400 {
    width: 14rem;
  }
}
@media screen and (max-width: 640px) {
  ._pd-sp-30 {
    padding-left: 0.3rem;
    padding-right: 0.3rem;
  }
  ._nm-sp-30 {
    margin-left: -0.3rem;
    margin-right: -0.3rem;
  }
}
._bg-img {
  background-size: cover;
  background-position: center top;
}
@media print, screen and (min-width: 641px) {
  ._bg-img {
    background-image: url(/hakodate/img/restaurant/bg_img_pc.png);
  }
}
@media screen and (max-width: 640px) {
  ._bg-img {
    background-image: url(/hakodate/img/restaurant/bg_img_sp.png);
  }
}
._bg-img._01 {
  background-color: #EEEBE3;
}
._bg-img._02 {
  background-color: #D8D2C6;
}

._bg01 {
  background-color: #EEEBE3;
}

._section-heading01 {
  text-align: center;
  line-height: 1;
}
._section-heading01 > span {
  display: block;
}
._section-heading01 > .en {
  font-family: "Noto Serif Display", "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  ._section-heading01 > .en {
    font-size: 0.45rem;
  }
}
._section-heading01 > .jp {
  margin-top: 0.2rem;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  ._section-heading01 > .jp {
    margin-top: 0.12rem;
    font-size: 0.15rem;
  }
}
._section-heading01 + * {
  margin-top: 0.8rem;
}
@media screen and (max-width: 640px) {
  ._section-heading01 + * {
    margin-top: 0.32rem;
  }
}

._section-heading02 {
  line-height: 1;
}
._section-heading02 > span {
  display: block;
}
._section-heading02 > .en {
  font-family: "Noto Serif Display", "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  font-size: 0.6rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  ._section-heading02 > .en {
    font-size: 0.4rem;
  }
}
._section-heading02 > .jp {
  margin-top: 0.2rem;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  ._section-heading02 > .jp {
    margin-top: 0.12rem;
    font-size: 0.15rem;
  }
}

._r-catch01 {
  font-size: 0.28rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "source-han-serif-japanese", "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  ._r-catch01 {
    font-size: 0.21rem;
    line-height: 1.65;
  }
}

._r-description01 {
  font-size: 0.18rem;
  line-height: 2.2;
}
@media screen and (max-width: 640px) {
  ._r-description01 {
    font-size: 0.14rem;
    line-height: 1.8;
  }
}
._r-catch01 + ._r-description01 {
  margin-top: 0.24rem;
}
@media screen and (max-width: 640px) {
  ._r-catch01 + ._r-description01 {
    margin-top: 0.12rem;
  }
}

.restaurant_container {
  padding-top: 1rem;
  padding-bottom: 1rem;
  color: #464237;
}
@media screen and (max-width: 640px) {
  .restaurant_container {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}
.restaurant_container * {
  box-sizing: border-box;
}
.restaurant_container img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Concept
============================================================================= */
.restaurant-concept_inner {
  background-color: #F1EEE8;
}
@media print, screen and (min-width: 641px) {
  .restaurant-concept_inner {
    display: flex;
    padding: 1rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-concept_inner {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background-color: #F1EEE8;
  }
}
.restaurant-concept-img {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .restaurant-concept-img {
    flex-shrink: 0;
    margin-left: -2rem;
    width: 8.6rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-concept-img {
    margin-right: 0.3rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-concept_text {
    flex-shrink: 0;
    width: 100%;
    margin-left: -6.6rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-concept_text {
    margin-top: -0.4rem;
    margin-left: 0.3rem;
    padding-top: 0.72rem;
    padding-bottom: 0.24rem;
    background-color: #fff;
  }
}
.restaurant-concept_text_inner {
  margin-top: 0.48rem;
}
@media print, screen and (min-width: 641px) {
  .restaurant-concept_text_inner {
    padding: 0.48rem 0.75rem 0.48rem 7.4rem;
    background-color: #fff;
    min-height: 4.6rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-concept_text_inner {
    margin-top: 0.2rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-concept-heading {
    text-align: right;
  }
}
.restaurant-concept-catch {
  margin-right: -1em;
}

/* Feature
============================================================================= */
.restaurant-feature {
  margin-top: 1rem;
  padding-bottom: 1rem;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .restaurant-feature {
    background-image: linear-gradient(to right, #fff calc(50% + 0.8rem), transparent calc(50% + 0.8rem));
  }
}
@media screen and (max-width: 640px) {
  .restaurant-feature {
    margin-top: 0.5rem;
    margin-right: 0.3rem;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    background-color: #fff;
  }
}
.restaurant-feature-heading {
  text-align: right;
}
.restaurant-feature-points {
  margin-top: 0.5rem;
}
@media screen and (max-width: 640px) {
  .restaurant-feature-points {
    margin-top: 0.32rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-feature-points_item {
    display: grid;
    grid-template-columns: 4.32rem auto 7rem;
    grid-template-rows: auto auto auto auto;
  }
}
.restaurant-feature-points_item + .restaurant-feature-points_item {
  margin-top: 1rem;
}
@media screen and (max-width: 640px) {
  .restaurant-feature-points_item + .restaurant-feature-points_item {
    margin-top: 0.5rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-feature-points_number_img {
    display: contents;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-feature-points_number_img {
    display: flex;
  }
}
.restaurant-feature-points-number {
  color: #A28C5F;
  font-family: "Noto Serif Display", "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  padding-top: 0.25em;
  line-height: 0.75;
}
@media print, screen and (min-width: 641px) {
  .restaurant-feature-points-number {
    grid-column: 1/2;
    grid-row: 1/2;
    display: flex;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-feature-points-number {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
  }
}
.restaurant-feature-points-number > span {
  display: block;
  letter-spacing: 0.05em;
}
.restaurant-feature-points-number > .point {
  border-bottom: 2px solid;
  font-size: 0.3rem;
}
@media screen and (max-width: 640px) {
  .restaurant-feature-points-number > .point {
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    font-size: 0.15rem;
  }
}
.restaurant-feature-points-number > .number {
  font-size: 0.5rem;
}
@media print, screen and (min-width: 641px) {
  .restaurant-feature-points-number > .number {
    margin-left: 0.3em;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-feature-points-number > .number {
    font-size: 0.25rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-feature-points-img {
    grid-column: 3/4;
    grid-row: 1/5;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-feature-points-img {
    flex-shrink: 0;
    margin-left: auto;
    margin-right: -0.6rem;
    width: calc(100% - 0.85rem + 0.6rem);
  }
}
.restaurant-feature-points-catch {
  margin-top: 0.36rem;
}
@media print, screen and (min-width: 641px) {
  .restaurant-feature-points-catch {
    grid-column: 1/2;
    grid-row: 2/3;
    margin-right: -2em;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-feature-points-catch {
    margin-top: 0.32rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-feature-points-description {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}

/* chef
============================================================================= */
@media print, screen and (min-width: 641px) {
  .restaurant-chef {
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-color: #F1EEE8;
  }
}
.restaurant-chef_inner {
  display: flex;
  background-color: #1E3C32;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .restaurant-chef_inner {
    padding: 0.64rem 0.8rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-chef_inner {
    padding-top: 0.5rem;
    padding-bottom: 0.6rem;
    flex-direction: column;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-chef-text {
    padding-right: 0.8rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-chef-text {
    display: contents;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-chef-text-heading {
    text-align: center;
    order: 0;
  }
}
.restaurant-chef-text-heading > .en {
  color: #A28C5F;
}
@media print, screen and (min-width: 641px) {
  .restaurant-chef-text-heading > .en {
    font-size: 0.5rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-chef-text-heading > .jp {
    font-size: 0.18rem;
  }
}
.restaurant-chef-text-name {
  margin-top: 0.32rem;
  font-size: 0.26rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .restaurant-chef-text-name {
    order: 2;
    font-size: 0.22rem;
    text-align: center;
  }
}
.restaurant-chef-text-description {
  margin-top: 0.16rem;
  font-size: 0.16rem;
  line-height: 2.1;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .restaurant-chef-text-description {
    order: 3;
    margin-top: 0.2rem;
    font-size: 0.14rem;
    line-height: 1.8;
    text-align: justify;
    text-justify: inter-ideograph;
  }
}
.restaurant-chef-img {
  flex-shrink: 0;
}
@media print, screen and (min-width: 641px) {
  .restaurant-chef-img {
    margin-top: -0.64rem;
    width: 3.2rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-chef-img {
    order: 1;
    margin: 0.32rem auto 0;
    width: 2.4rem;
  }
}

/* Recommend
============================================================================= */
.restaurant-recommend {
  margin-top: 1rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend::before {
    content: "";
    display: block;
    width: 50%;
    height: 9.6rem;
    background-color: #F1EEE8;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-recommend {
    margin-top: 0.5rem;
  }
}
.restaurant-recommend-slider:not(.swiper-initialized) {
  margin: 0 auto;
}
.restaurant-recommend-slider:not(.swiper-initialized) .restaurant-recommend-slider_inner {
  display: flex;
}
.restaurant-recommend-slider:not(.swiper-initialized) .restaurant-recommend-slider_item {
  flex-shrink: 0;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-slider:not(.swiper-initialized) .restaurant-recommend-slider_item {
    width: 3.25rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend-slider {
    order: 1;
    width: 9rem;
    -webkit-clip-path: polygon(0% 0%, calc(50vw + 4.3rem + 0.2rem) 0%, calc(50vw + 4.3rem + 0.2rem) 100%, 0% 100%);
            clip-path: polygon(0% 0%, calc(50vw + 4.3rem + 0.2rem) 0%, calc(50vw + 4.3rem + 0.2rem) 100%, 0% 100%);
  }
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-slider {
    margin: 0 -0.05rem;
    -webkit-clip-path: polygon(0% 0%, calc(100% + 0.25rem) 0%, calc(100% + 0.25rem) 100%, 0% 100%);
            clip-path: polygon(0% 0%, calc(100% + 0.25rem) 0%, calc(100% + 0.25rem) 100%, 0% 100%);
  }
}
.restaurant-recommend-slider_wrap {
  padding-top: 0.6rem;
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend-slider_wrap {
    display: flex;
    align-items: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-slider_wrap {
    margin-top: 0.32rem;
    padding-top: 0.68rem;
    padding-bottom: 0.72rem;
    position: relative;
    z-index: 1;
  }
  .restaurant-recommend-slider_wrap::before {
    content: "";
    display: block;
    width: calc(50% + 0.25rem);
    height: 100%;
    background-color: #F1EEE8;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
}
.restaurant-recommend-slider_item {
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-slider_item {
    padding-left: 0.05rem;
    padding-right: 0.05rem;
  }
}
.restaurant-recommend-slider-name {
  margin-top: 0.32rem;
  font-family: "source-han-serif-japanese", "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 0.26rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-slider-name {
    margin-top: 0.16rem;
    font-size: 0.15rem;
  }
}
.restaurant-recommend-slider-description {
  margin-top: 0.12rem;
  font-size: 0.16rem;
  line-height: 2.1;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-slider-description {
    margin-top: 0.12rem;
    font-size: 0.12rem;
    line-height: 1.75;
    text-align: justify;
    text-justify: inter-ideograph;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend .__recommend-slider-btn_pagenation_wrap {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(50% - 4.3rem - 0.2rem);
    height: 5.8rem;
    order: 0;
    position: relative;
  }
}
.restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__pagenation {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-family: "Noto Serif Display", "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  font-size: 0.4rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__pagenation {
    padding-right: 0.2rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__pagenation {
    font-size: 0.2rem;
    position: absolute;
    left: 0.3rem;
    top: 0;
  }
}
.restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__pagenation .__pagenation-total {
  margin-top: 0.2em;
  border-top: 2px solid;
  padding-top: 0.2em;
}
.restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap {
  display: flex;
  justify-content: space-between;
  position: absolute;
  bottom: 0;
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap {
    margin-top: auto;
    padding-right: 0.2rem;
    width: 100%;
  }
}
.restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #1E3C32;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn {
    width: 0.4rem;
    height: 0.4rem;
  }
}
.restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn::after {
  content: "";
  display: block;
  width: 0.18rem;
  height: 0.18rem;
  transform: rotate(45deg);
}
@media screen and (max-width: 640px) {
  .restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn::after {
    width: 0.12rem;
    height: 0.12rem;
  }
}
.restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn.-prev {
  padding-left: 0.08rem;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn.-prev {
    padding-left: 0.05rem;
  }
}
.restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn.-prev::after {
  border-bottom: 1px solid #A28C5F;
  border-left: 1px solid #A28C5F;
}
.restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn.-next {
  padding-right: 0.08rem;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn.-next {
    margin-left: 0.1rem;
    padding-right: 0.05rem;
  }
}
.restaurant-recommend .__recommend-slider-btn_pagenation_wrap .__slidebtn_wrap .__slidebtn.-next::after {
  border-top: 1px solid #A28C5F;
  border-right: 1px solid #A28C5F;
}
.restaurant-recommend-information {
  position: relative;
  margin-top: 1.92rem;
  background-color: #fff;
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend-information {
    display: flex;
    padding: 0.8rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-information {
    margin-top: 0.6rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}
.restaurant-recommend-information-table {
  display: flex;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend-information-table {
    flex-grow: 1;
    min-width: 38%;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-information-table:first-of-type {
    border-top: 1px solid #A2A09B;
  }
}
.restaurant-recommend-information-table > * {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #A2A09B;
  font-size: 0.16rem;
  line-height: 1.75;
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend-information-table > *:first-of-type {
    border-top: 1px solid #A2A09B;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend-information-table > * {
    min-height: 0.8rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-information-table > * {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    font-size: 0.12rem;
  }
}
.restaurant-recommend-information-table > dt {
  flex-shrink: 0;
  justify-content: center;
  width: 1.2rem;
  font-family: "source-han-serif-japanese", "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  background-color: #EDE9DF;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-information-table > dt {
    width: 0.9rem;
  }
}
.restaurant-recommend-information-table > dd {
  padding: 0.16rem 0 0.16rem 0.3rem;
  width: calc(100% - 1.2rem);
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-information-table > dd {
    padding: 0.08rem 0 0.08rem 0.2rem;
    width: calc(100% - 0.9rem);
  }
}
.restaurant-recommend-information-table > dd .note {
  display: flex;
  font-size: 0.14rem;
  line-height: 1.5;
}
.restaurant-recommend-information-table > dd .note > span:first-child {
  flex-shrink: 0;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-information-table > dd .note {
    font-size: 0.11rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend-information-table + .restaurant-recommend-information-table {
    margin-left: 0.6rem;
  }
}
.restaurant-recommend-information .before-note {
  position: absolute;
  top: calc(100% - 0.7rem);
  right: 0.8rem;
  font-size: 0.16rem;
  text-align: right;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-information .before-note {
    font-size: 0.12rem;
    top: calc(100% - 0.45rem);
    right: 0.25rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-recommend-information-note {
    width: 100%;
    font-size: 0.16rem;
    text-align: right;
    margin-top: 0.1rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-recommend-information-note {
    font-size: 0.12rem;
    text-align: right;
    margin-top: 0.1rem;
  }
}
.restaurant-recommend .restaurant-bnr-area {
  margin: 0.8rem auto 0.2rem;
  width: 8rem;
}
@media screen and (max-width: 640px) {
  .restaurant-recommend .restaurant-bnr-area {
    margin: 0.48rem 0 0.22rem;
    width: 100%;
  }
}
.restaurant-recommend .restaurant-bnr-area a {
  display: block;
  width: 100%;
}
.restaurant-recommend .restaurant-bnr-area a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* facility
============================================================================= */
.restaurant-facility-img img {
  width: 100%;
}
.restaurant-facility-img figcaption {
  margin-top: 0.16rem;
  font-size: 0.16rem;
  line-height: 1.75;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .restaurant-facility-img figcaption {
    margin-top: 0.12rem;
    font-size: 0.12rem;
  }
}
.restaurant-facility-img + .restaurant-facility-img {
  margin-top: 0.72rem;
}
@media screen and (max-width: 640px) {
  .restaurant-facility-img + .restaurant-facility-img {
    margin-top: 0.36rem;
  }
}

/* News
============================================================================= */
@media print, screen and (min-width: 641px) {
  .restaurant-news {
    display: flex;
    justify-content: space-between;
    max-width: 11rem;
    width: 100%;
  }
}
.restaurant-news-heading {
  text-align: left;
}
@media print, screen and (min-width: 641px) {
  .restaurant-news-heading {
    flex-shrink: 0;
  }
}
.restaurant-news_list {
  font-size: 0.16rem;
  line-height: 1.75;
}
@media print, screen and (min-width: 641px) {
  .restaurant-news_list {
    margin-top: 0;
    width: 8.12rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-news_list > li + li {
    margin-top: 0.24rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-news_list > li {
    border-bottom: 1px solid #C2BFB1;
  }
  .restaurant-news_list > li:first-of-type {
    margin-top: -0.16rem;
  }
}
.restaurant-news_list > li > a {
  display: flex;
  align-items: flex-start;
  transition: opacity var(--base-transition);
}
.no-touchevents .restaurant-news_list > li > a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 640px) {
  .restaurant-news_list > li > a {
    flex-wrap: wrap;
    padding-top: 0.16rem;
    padding-bottom: 0.16rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-news_list .date {
    font-size: 0.12rem;
  }
}
.restaurant-news_list .date::before {
  content: "-";
  margin-right: 0.2em;
}
.restaurant-news_list .category {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 0.2rem;
  padding: 0 0.2em;
  min-width: 0.8rem;
  color: #fff;
  font-size: 0.14rem;
  line-height: 2;
  background-color: #A7895A;
}
@media screen and (max-width: 640px) {
  .restaurant-news_list .category {
    margin-left: 0.16rem;
    font-size: 0.105rem;
    min-width: 0.6rem;
  }
}
@media print, screen and (min-width: 641px) {
  .restaurant-news_list .heading {
    flex: 1;
    margin-left: 0.2rem;
  }
}
@media screen and (max-width: 640px) {
  .restaurant-news_list .heading {
    margin-top: 0.12rem;
    width: 100%;
    font-size: 0.14rem;
  }
}
/*# sourceMappingURL=restaurant.css.map */
