@charset "utf-8";
/* =========================================================
   ガングロ（函館ジンギスカン）専用オーバーライド
   ベースの style.css を上書きして店舗テーマに調整
   ========================================================= */

:root{
  --gan-red: #b3151b;
  --gan-red-l: #d6262c;
  --gan-dark: #0d0a09;
  --gan-cream: #f3ece1;
}

.cpmmon_sp{
  display: none;
}

@media only screen and (max-width: 580px){
  .cpmmon_sp{
    display: block;
  }
}

body{
  background-color: var(--gan-dark);
  color: #fff;
}

/* ---------- ヘッダー：テキストロゴ ---------- */
.header_logo{
  width: auto;
  text-align: center;
  text-decoration: none;
  line-height: 1;
}
.gan_logo_main{
  display: block;
  font-family: 'Abril Fatface', serif;
  font-size: 30px;
  letter-spacing: 4px;
  color: #fff;
}
.gan_logo_main span{ color: var(--gan-red-l); }
.gan_logo_sub{
  display: block;
  font-size: 11px;
  letter-spacing: 6px;
  color: #cbb89a;
  margin-top: 4px;
}
.header_tel{ border-color: var(--gan-red-l); }
.header_tel:hover{ background-color: var(--gan-red); }

/* ---------- メインビジュアル ---------- */
.main_view_inner .image_back{
  background-image: url(../images/img79.png);
  background-position: top center;
  width: 82%;
  position: relative;
}

@media only screen and (max-width: 580px){
  .main_view_inner .image_back{
    background-image: url(../images/img79_sp.png);
  }
}

.main_view_inner .image_back .image_back_title{
  position: absolute;
  left: 0;
  bottom: 10%;
  width: 100%;
  padding: 0 48px;
  text-align: center;
}

@media only screen and (max-width: 580px){
  .main_view_inner .image_back .image_back_title{
    padding: 0 16px;
  }
}

.main_view_inner .image_back .image_back_title .image_back_main_title{
  font-size: clamp(64px, 12vw, 100px);
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
  text-align: center;

  color: #cca13e;

  background: linear-gradient(
    180deg,
    #c39b42 0%,
    #fffdca 12%,
    #cca13e 28%,
    #e5bf5e 45%,
    #9a6f1b 65%,
    #fbe68a 100%
  );

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  filter:drop-shadow(0 0px 10px rgba(0,0,0,.9));
    position: relative;
    margin: 0 0 48px;
}

@media only screen and (max-width: 580px){
  .main_view_inner .image_back .image_back_title .image_back_main_title{
    margin: 0 0 24px;
  }
}


.main_view_inner .image_back .image_back_title .image_back_sub_title{
  color: #fff;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  filter:drop-shadow(0 0px 10px rgba(0,0,0,.9));
}

@media only screen and (max-width: 580px){
  .main_view_inner .image_back .image_back_title .image_back_sub_title{
    font-size: 28px;
  }
}

.gray_back{ width: 18%; background-color: #161210; }

.mv_text_wrap{ width: 100%; }
.gan_mv_copy{
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 6%;
  transform: translateY(-50%);
  text-shadow: 0 2px 18px rgba(0,0,0,.9);
}
.gan_mv_copy .mv_eng{
  font-family: 'Abril Fatface', serif;
  font-size: 96px;
  line-height: 1;
  letter-spacing: 4px;
  color: #fff;
}
.gan_mv_copy .mv_eng span{ color: var(--gan-red-l); }
.gan_mv_copy .mv_lead{
  font-size: 80px;
  font-weight: bold;
  letter-spacing: 3px;
  margin-top: 24px;
  line-height: 1.4;
}
.gan_mv_copy .mv_note{
  font-size: 64px;
  letter-spacing: 2px;
  margin-top: 24px;
  color: #e7d9c2;
  line-height: 1.6;
}

@media only screen and (max-width: 1200px){
  .gan_mv_copy .mv_eng{ font-size: 64px; }
  .gan_mv_copy .mv_lead{ font-size: 64px; }
  .gan_mv_copy .mv_note{ font-size: 64px; }
}
@media only screen and (max-width: 580px){
  .main_view_inner{ height: auto; min-height: 80vh; }
  .main_view_inner .image_back{ width: 100%; }
  .gray_back{ display:none; }
  .gan_mv_copy{ left: 5%; right: 5%; }
  .gan_mv_copy .mv_eng{ font-size: 64px; }
  .gan_mv_copy .mv_lead{ font-size: 64px; }
  .gan_mv_copy .mv_note{ font-size: 64px; }
}

/* ---------- 見出し（英字＋テキストロゴ化） ---------- */
.about_title, .about_title2{ color:#fff; }
.gan_section_eng{
  font-family: 'Abril Fatface', serif;
  font-size: 100px;
  letter-spacing: 3px;
  color: #fff;
  line-height: 1.1;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
}

@media only screen and (max-width: 580px){
  .gan_section_eng{
    font-size: 80px;
  }
}

.gan_section_eng small{
  display:block;
  font-family: serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 4px;
  color: var(--gan-red-l);
  margin-top: 10px;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
}
.about_title .gan_logo_l{
  display:block;
  font-family: 'Abril Fatface', serif;
  font-size: 40px;
  letter-spacing: 3px;
  margin-top: 14px;
  color:#fff;
}
.about_title .gan_logo_l span{ color: var(--gan-red-l); }

.about_sub_title{ color: var(--gan-red-l); }
.about_detail{ color:#e7d9c2; }

/* セクション英字タイトル画像の代わりにテキストを使うため余白調整 */
.section_title_img_course, .section_title_img_alacarte, .section_title_img_access{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: 160px;
}

/* ---------- コース/メニュー番号の色 ---------- */
.course_number img, .course_01, .course_02{ display:none; }
.gan_menu_no{
  font-family: 'Abril Fatface', serif;
  font-size: 22px;
  letter-spacing: 3px;
  color: var(--gan-red-l);
  margin-bottom: 6px;
}
.course_price, .alacarte_price{ color:#fff; }
.nomihoudai{ color: var(--gan-red-l); }

/* ---------- ドリンク/特徴バナー ---------- */
.drink_title p{ color:#e7d9c2; }

/* ---------- 一品料理タイトル ---------- */
.alacarte_menu_title{ color:#fff; }
.alacarte_detail{ color:#e7d9c2; }
.alacarte_menu_name{ color:#fff; }

/* ---------- 特徴フルバナー画像 ---------- */
.gan_banner{
  display:block;
  width:100%;
  margin: 0 auto 0;
}
.gan_banner img{ width:100%; display:block; }

/* ---------- アクセス ---------- */
.access_item{ color:#fff; }
.access_text{ color:#e7d9c2; }

/* ---------- コンタクト/フッター ---------- */
#contact{ background-color:#161210; }
.access_tel_btn{ border-color: var(--gan-red-l); }
.access_tel_btn:hover{ background-color: var(--gan-red); }
.gan_foot_logo{
  font-family: 'Abril Fatface', serif;
  font-size: 30px;
  letter-spacing: 4px;
  color:#fff;
}
.gan_foot_logo span{ color: var(--gan-red-l); }
.copy{ color:#9b8c76; }

/* =========================================================
   ブログ（一覧・詳細）
   ========================================================= */
.blog_page{ padding: 70px 0 120px; }

.blog_head{
  text-align:center;
  margin: 10px auto 64px;
  padding: 0 24px;
}
.blog_head .gan_section_eng{
  font-size: 64px;
}
.blog_head .gan_section_eng small{ margin-top: 18px; }

.blog_wrap{
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
}

/* --- 一覧 --- */
.blog_list{ border-top: 1px solid #2b2421; }
.blog_item{
  display:block;
  border-bottom: 1px solid #2b2421;
  padding: 34px 8px;
  text-decoration:none;
  color:#fff;
  transition: background-color .3s, padding-left .3s;
}
.blog_item:hover{
  background-color:#161210;
  padding-left: 20px;
}
.blog_meta{
  display:flex;
  -ms-flex-align:center;
  align-items:center;
  flex-wrap:wrap;
  gap: 18px;
  margin-bottom: 14px;
}
.blog_date{
  font-family: 'Abril Fatface', serif;
  font-size: 20px;
  letter-spacing: 1px;
  color:#cbb89a;
}
.blog_cat{
  font-size: 12px;
  letter-spacing: 2px;
  color:#fff;
  background-color: var(--gan-red);
  padding: 5px 14px;
}
.blog_title{
  font-size: 22px;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: 1px;
}
@media only screen and (max-width: 580px){
  .blog_head .gan_section_eng{ font-size: 44px; }
  .blog_title{ font-size: 17px; }
  .blog_date{ font-size: 17px; }
}

/* --- ページネーション --- */
.blog_pager{
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -ms-flex-align:center;
  align-items:center;
  gap: 10px;
  margin-top: 56px;
}
.blog_pager a, .blog_pager span{
  display:inline-block;
  min-width: 44px;
  text-align:center;
  padding: 10px 14px;
  border: 1px solid #3a302b;
  color:#e7d9c2;
  text-decoration:none;
  font-family: 'Abril Fatface', serif;
  letter-spacing: 1px;
  transition:.3s;
}
.blog_pager a:hover{ background-color: var(--gan-red); border-color: var(--gan-red); color:#fff; }
.blog_pager .current{ background-color: var(--gan-red); border-color: var(--gan-red); color:#fff; }

/* --- 詳細 --- */
.blog_detail{ max-width: 840px; }
.blog_detail .blog_meta{ margin-bottom: 20px; }
.blog_detail_title{
  font-size: 34px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 1px;
  margin-bottom: 34px;
  padding-bottom: 30px;
  border-bottom: 1px solid #2b2421;
}
.blog_detail_hero{ margin-bottom: 40px; }
.blog_detail_hero img{ width:100%; display:block; }
.blog_body{ font-size: 16px; line-height: 2.1; color:#e7d9c2; letter-spacing: .5px; }
.blog_body p{ margin-bottom: 28px; }
.blog_body h2{
  font-size: 22px;
  font-weight:bold;
  color:#fff;
  letter-spacing:1px;
  margin: 44px 0 18px;
  padding-left: 14px;
  border-left: 4px solid var(--gan-red-l);
}
.blog_body img{ width:100%; display:block; margin: 8px 0 32px; }
.blog_back{
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  margin-top: 60px;
}
.blog_back a{
  display:inline-block;
  padding: 14px 44px;
  border: 1px solid var(--gan-red-l);
  color:#fff;
  text-decoration:none;
  letter-spacing: 2px;
  transition:.3s;
}
.blog_back a:hover{ background-color: var(--gan-red); }
@media only screen and (max-width: 580px){
  .blog_detail_title{ font-size: 24px; }
}
