@charset "utf-8";

/* =========================================================
   日本料理 石原
   固定ページ共通スタイル
   page.css
========================================================= */

:root {
  --ink:     #1a1208;
  --paper:   #f7f3ec;
  --gold:    #b5935a;
  --gold-lt: #e2cfa0;
  --muted:   #7a6a52;
  --rule:    #d4c9b0;
  --accent:  #8b2e2e;
  --white:   #ffffff;
}


/* =========================================================
   固定ページ共通
========================================================= */

.page-inner {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 30px 15px 70px;
  box-sizing: border-box;

  font-family:
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    Meiryo,
    sans-serif;

  color: #2e2416;
  font-size: 15px;
  line-height: 2;
}

.page-inner *,
.page-inner *::before,
.page-inner *::after {
  box-sizing: border-box;
}

/* 中央配置 */
.page-inner .is-center {
  margin-left: auto;
  margin-right: auto;
}

/* 画像 */
.page-inner img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0;
}
/* 画像サイズ（中） */
.page-inner .img-medium {
  width: 600px;
}


/* 基本リンク */
.page-inner a {
  transition:
    opacity 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}


/* =========================================================
   共通2カラム
========================================================= */

.page-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 56px;
  align-items: start;
}


/* =========================================================
   セクション
========================================================= */

.page-inner .page-section {
  margin: 0 0 44px;
}

.page-inner .page-section:last-child {
  margin-bottom: 0;
}


/* 見出し
   ※ AMORE側の .page-title と衝突しないよう
      .page-inner 配下に限定
*/
.page-inner .page-title {
  position: relative;
  margin: 0 0 22px;
  padding: 0 0 12px;

  border: 0;
  border-bottom: 1px solid var(--rule);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: var(--ink);
}

.page-inner .page-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 42px;
  height: 1px;
  background: var(--gold);
}


/* 段落 */
.page-inner p {
  margin: 0 0 1em;
  font-size: 15px;
  line-height: 2;
}

.page-inner p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   アクセスページ
========================================================= */

/* 外観写真 */
.access-page .page-photo img {
  width: 100%;
  height: auto;
}


/* 店舗情報 */
.access-page .page-info {
  padding-top: 4px;
}


/* 住所 */
.access-page address {
  margin: 0 0 24px;
  padding: 0;

  font-style: normal;
  font-size: 15px;
  line-height: 2;
  color: #2e2416;
}


/* =========================================================
   電話
========================================================= */

.access-page .page-phone {
  margin-top: 24px;
  padding: 18px 20px;

  border-left: 3px solid var(--gold);
  background: var(--paper);
}

.access-page .page-phone span {
  display: block;
  margin-bottom: 4px;

  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--muted);
}

.access-page .page-phone a {
  display: inline-block;

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    serif;

  font-size: 25px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  color: var(--ink);
  text-decoration: none;
  /* PCでは電話リンクを無効化 */
  pointer-events: none;
  cursor: default;
}

  
}


/* =========================================================
   営業時間
========================================================= */

.access-page dl {
  margin: 0 0 22px;
  padding: 0;
}

.access-page dl > div {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 16px;

  padding: 13px 0;
  border-bottom: 1px solid var(--rule);
}

.access-page dl > div:first-child {
  border-top: 1px solid var(--rule);
}

.access-page dt {
  margin: 0;
  padding: 0;

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    serif;

  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
}

.access-page dd {
  margin: 0;
  padding: 0;

  font-size: 15px;
  line-height: 1.8;
}

.access-page dd small {
  font-size: 12px;
  color: var(--muted);
}


/* 注意書き */
.access-page .page-note {
  margin: 18px 0;
  padding-left: 1em;
  text-indent: -1em;

  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
}


/* =========================================================
   駐車場
========================================================= */

.access-page .page-info .page-section:nth-of-type(3) {
  padding: 20px 22px;
  border: 1px solid var(--rule);
  background: var(--white);
}

.access-page .page-info .page-section:nth-of-type(3) .page-title {
  margin-bottom: 17px;
}


/* =========================================================
   地図・周辺案内
========================================================= */

.access-page .page-map {
  max-width: 860px;
  margin: 70px auto 0;
  padding-top: 48px;
  border-top: 1px solid var(--rule);
}

.access-page .page-map > p:first-of-type {
  margin-bottom: 25px;
}

.access-page .page-map img {
  max-width: 760px;
  margin: 0 auto 30px;
}


/* =========================================================
   共通ボタン
========================================================= */

.page-inner .page-btn {
  display: flex;
  align-items: center;
  justify-content: center;

  width: min(100%, 360px);
  min-height: 52px;
  margin: 30px auto 0;
  padding: 12px 24px;

  border: 1px solid var(--gold);
  background: var(--ink);

  font-family:
    "Noto Sans JP",
    sans-serif;

  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;

  color: var(--white);
  text-align: center;
  text-decoration: none;
}

.page-inner .page-btn:hover,
.page-inner .page-btn:focus {
  background: #342719;
  color: var(--white);
  text-decoration: none;
}


/* =========================================================
   タブレット・モバイル
========================================================= */

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

  .page-inner {
    padding: 20px 15px 55px;
    font-size: 14px;
  }


  /* 2カラム → 縦並び */
  .page-grid {
    display: block;
  }


  /* 写真 */
  .access-page .page-photo {
    margin-bottom: 36px;
  }
  
  .access-page .page-photo img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center 65%;
  }


  /* セクション */
  .page-inner .page-section {
    margin-bottom: 38px;
  }


  /* 見出し */
  .page-inner .page-title {
    margin-bottom: 18px;
    padding-bottom: 10px;

    font-size: 18px;
  }


  /* 本文 */
  .page-inner p,
  .access-page address {
    font-size: 14px;
  }


  /* 電話をスマホ用ボタン化 */
  .access-page .page-phone {
    padding: 0;
    border: 0;
    background: transparent;
  }

  .access-page .page-phone span {
    margin-bottom: 8px;
    text-align: center;
  }

  .access-page .page-phone a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 54px;
    padding: 12px 16px;

    background: var(--ink);
    color: var(--white);

    font-family:
      "Noto Sans JP",
      sans-serif;

    font-size: 18px;
    letter-spacing: 0.08em;

    text-align: center;
    
    /* スマホでは電話リンクを有効化 */
    pointer-events: auto;
    cursor: pointer;
  }

  .access-page .page-phone a:hover,
  .access-page .page-phone a:focus {
    opacity: 0.88;
    color: var(--white);
    text-decoration: none;
  }


  /* 営業時間 */
  .access-page dl > div {
    grid-template-columns: 42px 1fr;
    gap: 12px;
  }


  /* 駐車場 */
  .access-page .page-info .page-section:nth-of-type(3) {
    padding: 18px;
  }


  /* 地図 */
  .access-page .page-map {
    margin-top: 50px;
    padding-top: 38px;
  }

  .access-page .page-map img {
    margin-bottom: 24px;
    width: 100%;
    height: auto;
  }


  /* ボタン */
  .page-inner .page-btn {
    width: 100%;
    margin-top: 24px;
  }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

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

  .page-inner {
    padding-left: 12px;
    padding-right: 12px;
  }

  .access-page .page-phone a {
    font-size: 17px;
  }

}