@charset "UTF-8";
@import url('css/layout-main.css?ver=20260913-clean');

/*!
Theme Name: No1ラーメン 本番作業テーマ
Description: no1-ramen.com のラーメン店検索・会員機能・店舗管理用の本番作業テーマです。
Theme URI: https://no1-ramen.com/
Author: Hisae Komatsu
Author URI: https://nelog.jp/
Template: cocoon-master
Version: 1.0.0-ramen-base
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

/* =====================
   タブレット表示（1200px以下）
===================== */
@media (max-width: 1200px) {
  .header-inner {
    max-width: 900px !important;
  }

  .logo-area img {
    height: 50px;
  }

  .main-nav .my-custom-submenu {
    top: 152%;
  }
}

/* 1023px以下（タブレット・スマホ対応） */
@media screen and (max-width: 1023px) {
  body {
    overflow-x: hidden !important;
    position: relative !important;
    width: 100% !important;
  }

  .site-content {
    width: 100%;
    margin: 0 auto;
  }

  .wrap {
    width: 100% !important;
    margin: 0 auto;
    display: block;
    padding: 0 10px;
    box-sizing: border-box;
  }

  .main,
  .sidebar {
    width: 100%;
  }

  main.main,
  div.sidebar {
    padding: 0;
  }

  .main-nav .my-custom-submenu {
    top: 138%;
  }

  #sidebar-shop {
    width: 100% !important;
  }

  .toppage-title.is-top::before {
    left: calc(50% - 27px) !important;
  }

  .intro-box {
    width: 100% !important;
  }

  .news-container {
    width: 100% !important;
  }

  .main-request {
    width: 98%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 910px) {
  .header-inner {
    width: 98% !important;
    max-width: 900px !important;
  }

  .btn-login {
    padding: 7px 10px;
  }

  .logo-area img {
    height: 45px;
  }

  .main-request {
    width: 98%;
    margin: 0 auto;
  }
}

/* 834px以下 */
@media screen and (max-width: 834px) {
  body {
    overflow-x: hidden !important;
    position: relative !important;
    width: 100% !important;
  }

  .header-inner {
    width: 100% !important;
    max-width: 750px !important;
  }

  .login-buttons {
    gap: 7px;
  }

  .btn-login {
    padding: 7px 9px;
  }

  .main-nav {
    margin-right: 33px;
  }

  .logo-area img {
    height: 41px !important;
  }

  .main-nav .nav-list li a {
    font-size: 13px;
  }

  .site-content {
    width: 100%;
    margin: 0 auto;
  }

  .slick-dots {
    display: block !important;
  }
}

@media (max-width: 768px) {
  .header-inner {
    position: relative;
  }

  .logo-area img {
    height: 50px;
  }

  .custom-header {
    padding: 12px;
  }

  .header-inner .sp-menu-toggle {
    display: block !important;
    width: 42px !important;
    height: 35px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 10001 !important;
    margin-left: auto !important;
    padding: 0 !important;
  }

  .sp-menu-toggle span {
    display: block !important;
    width: 30px !important;
    height: 3px !important;
    background-color: #333 !important;
    margin: 6px auto !important;
    transition: all 0.3s ease !important;
  }

  body .sp-menu-toggle.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 4px) !important;
    background-color: #333 !important;
  }

  body .sp-menu-toggle.open span:nth-child(2) {
    opacity: 0 !important;
  }

  body .sp-menu-toggle.open span:nth-child(3) {
    transform: rotate(-45deg) translate(8px, -9px) !important;
    background-color: #333 !important;
  }

  .header-inner .sp-menu {
    display: block !important;
    position: absolute !important;
    top: 64px !important;
    right: -103% !important;
    width: 100% !important;
    height: calc(100vh - 7rem) !important;
    background: #ece9e4;
    padding: 20px !important;
    transition: right 0.4s ease !important;
    z-index: 10000 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .sp-menu .sub-menu {
    display: none;
  }

  .header-inner .sp-menu.active {
    right: -2rem !important;
  }

  .sp-menu .nav-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  .sp-menu .nav-list a {
    text-decoration: none !important;
    color: #333 !important;
    font-size: 16px !important;
    display: block !important;
  }

  .sp-menu .login-buttons {
    display: flex !important;
    gap: 10px !important;
    margin: 30px auto 0 !important;
    width: 100%;
  }

  .btn-login {
    width: 80%;
    text-align: center;
  }

  .sp-nav {
    margin: 40px auto 0;
    width: 100%;
  }

  .sp-nav .nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .sp-nav .nav-list li {
    border-bottom: 1px solid #ddd;
  }

  .sp-nav .nav-list li a {
    display: block;
    padding: 15px 20px;
    text-decoration: none;
    color: #333;
    font-size: 16px;
  }

  .sp-nav .sub-menu {
    background: #f4f4f4;
    padding-left: 20px;
  }

  .sp-nav .sub-menu li a {
    font-size: 14px;
    color: #666;
  }

  .sp-menu .my-custom-submenu {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.4s ease;
    display: block !important;
  }

  .sp-menu .my-custom-submenu.is-open {
    max-height: 500px;
  }

  .sp-menu .menu-item-has-children > a {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 40px;
    text-decoration: none;
    color: #333;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .sp-menu .login-buttons,
  .sp-menu .sp-nav {
    box-sizing: border-box;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .footer-menu-title {
    font-size: 1.1rem;
  }

  .footer-menu-list a {
    font-size: 12px;
  }
}

/* iPhone・スマホ */
@media screen and (max-width: 600px) {
  .taikai-container {
    padding: 20px 15px;
    margin: 0 auto 50px;
  }

  .delete-btn,
  .btn-back {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 14px 8px !important;
    font-size: 16px !important;
  }
}

/* 480px以下 */
@media screen and (max-width: 480px) {
  html,
  body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
  }

  h1.main-conts_touroku {
    font-size: 1.4rem !important;
  }

  .breadcrumb-area {
    margin: 10px 0 0;
    left: 1%;
    width: 100%;
    border-bottom: 1px solid #e1e1e1;
    padding-bottom: 5px;
  }

  .register-page .register-form {
    margin: 20px auto;
  }
}

@media (max-width: 414px) {
  .header-inner .sp-menu {
    top: 128% !important;
    right: -105% !important;
    padding: 8px 10px !important;
  }

  .btn-login {
    width: 47% !important;
    text-align: center;
    padding: 7px 10px;
    font-size: 14px;
  }

  .site-content {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }

  main.main,
  div.sidebar {
    padding: 0;
    margin: 0;
  }

  h1.main-conts_touroku::before {
    left: 50% !important;
  }

  
  .register-page .register-form {
    margin-top: 50px;
    width: 96% !important;
  }

  table:not(.has-border-color) :where(th, td) {
    border: 1px solid var(--cocoon-x-thin-color) !important;
  }
}

/* =====================================================
   トップ検索フォーム中央揃え・上下余白調整
===================================================== */
body.home .searchbox {
  height: auto !important;
  min-height: 0 !important;
  padding: 20px 0 18px !important;
}

body.home .searchbox_text {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

body.home .searchbox-inner {
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}

body.home .search-btn-wrap {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
}

/* スマホでは検索欄とボタンを縦並びにする */
@media screen and (max-width: 600px) {
  body.home .search-btn-wrap {
    width: 100% !important;
    max-width: 320px !important;
  }

  body.home .select-wrap,
  body.home .select-wrap select{
    width: 100% !important;
  }
}

/* =========================
   ヘッダーメニューを1段でクールに整える
========================= */

/* メニューバー全体 */
#global-navi,
.global-nav,
.gnav,
#header-menu {
  background: linear-gradient(to bottom, #2c2c2c, #1f1f1f);
  border-top: 1px solid #3a3a3a;
  border-bottom: 1px solid #111;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

/* ul を横一列に */
#global-navi ul,
.global-nav ul,
.gnav ul,
#header-menu ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* li */
#global-navi ul li,
.global-nav ul li,
.gnav ul li,
#header-menu ul li {
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

/* a */
#global-navi ul li a,
.global-nav ul li a,
.gnav ul li a,
#header-menu ul li a {
  display: block;
  padding: 16px 24px;
  color: #ffffff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.03em;
  white-space: nowrap;
  transition: all 0.25s ease;
  position: relative;
}

/* 区切り線 */
#global-navi ul li + li a,
.global-nav ul li + li a,
.gnav ul li + li a,
#header-menu ul li + li a {
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

/* ホバー時 */
#global-navi ul li a:hover,
.global-nav ul li a:hover,
.gnav ul li a:hover,
#header-menu ul li a:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #f3c45b;
}

/* 現在のページ */
#global-navi ul li.current-menu-item a,
#global-navi ul li.current_page_item a,
.global-nav ul li.current-menu-item a,
.global-nav ul li.current_page_item a,
.gnav ul li.current-menu-item a,
.gnav ul li.current_page_item a,
#header-menu ul li.current-menu-item a,
#header-menu ul li.current_page_item a {
  color: #f3c45b;
  background: rgba(255, 255, 255, 0.05);
}

/* 現在ページ・ホバー時の下線演出 */
#global-navi ul li a::after,
.global-nav ul li a::after,
.gnav ul li a::after,
#header-menu ul li a::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 8px;
  height: 2px;
  background: #f3c45b;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}

#global-navi ul li a:hover::after,
#global-navi ul li.current-menu-item a::after,
#global-navi ul li.current_page_item a::after,
.global-nav ul li a:hover::after,
.global-nav ul li.current-menu-item a::after,
.global-nav ul li.current_page_item a::after,
.gnav ul li a:hover::after,
.gnav ul li.current-menu-item a::after,
.gnav ul li.current_page_item a::after,
#header-menu ul li a:hover::after,
#header-menu ul li.current-menu-item a::after,
#header-menu ul li.current_page_item a::after {
  transform: scaleX(1);
}

/* 画面が狭い時も1段を維持したい場合 */
#global-navi,
.global-nav,
.gnav,
#header-menu {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#global-navi::-webkit-scrollbar,
.global-nav::-webkit-scrollbar,
.gnav::-webkit-scrollbar,
#header-menu::-webkit-scrollbar {
  height: 6px;
}

#global-navi::-webkit-scrollbar-thumb,
.global-nav::-webkit-scrollbar-thumb,
.gnav::-webkit-scrollbar-thumb,
#header-menu::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.15);
  border-radius: 10px;
}

/* ========================================
   スマホメニューのサブ項目を
   ○ → 金の ▶ に変更
======================================== */
@media screen and (max-width: 768px) {

  /* デフォルトの丸印を消す */
  .sp-menu .sub-menu,
  .sp-menu .sub-menu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .sp-menu .sub-menu li {
    list-style: none !important;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
  }

  .sp-menu .sub-menu li::marker {
    content: "" !important;
  }

  /* リンクの見た目 */
  .sp-menu .sub-menu li a {
    position: relative;
    display: block;
    padding: 16px 20px 16px 42px !important;
    text-decoration: none;
    color: #333 !important;
    border-bottom: 1px solid #e5e5e5;
    background: #f8f8f8;
  }

  /* 金の ▶ を付ける */
  .sp-menu .sub-menu li a::before {
    content: "▶";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    line-height: 1;
    color: #d8a23c !important;
  }
}

/* ========================================
   スマホメニュー
   都道府県（3階層目）を右へずらす
======================================== */
@media screen and (max-width: 768px) {

  /* 3階層目のリンク */
  .sp-menu .sub-menu .sub-menu li a {
    padding-left: 62px !important;
  }

  /* 3階層目の金色▶も右へ */
  .sp-menu .sub-menu .sub-menu li a::before {
    left: 38px !important;
  }
}

/* ========================================
   スマホメニュー
   開いたサブメニューを内容分だけ縦に伸ばす
======================================== */
@media screen and (max-width: 768px) {

  /* 開いているメニューの高さ制限を解除 */
  .sp-menu .sub-menu.open,
  .sp-menu .sub-menu.is-open,
  .sp-menu .sub-menu.active,
  .sp-menu li.open > .sub-menu,
  .sp-menu li.is-open > .sub-menu,
  .sp-menu li.active > .sub-menu {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* 地域の下にある都道府県メニューも制限解除 */
  .sp-menu .sub-menu .sub-menu {
    height: auto;
    overflow: hidden;
  }

  .sp-menu .sub-menu .sub-menu.open,
  .sp-menu .sub-menu .sub-menu.is-open,
  .sp-menu .sub-menu .sub-menu.active,
  .sp-menu .sub-menu li.open > .sub-menu,
  .sp-menu .sub-menu li.is-open > .sub-menu,
  .sp-menu .sub-menu li.active > .sub-menu {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* スマホメニュー全体も縦スクロール可能にする */
  .sp-menu,
  .sp-menu-inner,
  .mobile-menu,
  .mobile-menu-inner {
    max-height: calc(100vh - 90px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

/* スマホ */
@media screen and (max-width: 768px) {
}

/* スマホ */
@media screen and (max-width: 768px) {
}


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

/* =========================================================
   no1-ramen.com ブランド化 Phase 1
   既存機能は触らず、表側のブランド表示だけを切り替える
========================================================= */
.ramen-logo{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  line-height:1;
  text-decoration:none;
}
.ramen-logo-main{
  display:block;
  font-size:30px;
  font-weight:800;
  letter-spacing:.08em;
  color:#34241d;
}
.ramen-logo-sub{
  display:block;
  margin-top:6px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  color:#7a6a55;
}
.ramen-hero{
  width:100%;
  box-sizing:border-box;
  padding:64px 24px;
  background:linear-gradient(135deg,#f7f1e7 0%,#ffffff 55%,#efe5d8 100%);
  border-bottom:1px solid rgba(70,55,35,.10);
}
.ramen-hero-inner{
  width:min(1080px,100%);
  margin:0 auto;
  text-align:center;
}
.ramen-hero-kicker{
  margin:0 0 12px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.14em;
}
.ramen-hero h1{
  margin:0;
  font-size:clamp(36px,5vw,64px);
  line-height:1.22;
  letter-spacing:.04em;
}
.ramen-hero-copy{
  max-width:760px;
  margin:20px auto 0;
  font-size:17px;
  line-height:1.9;
}
.ramen-hero-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top:26px;
}
.ramen-hero-points span{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 18px;
  border:1px solid rgba(70,55,35,.18);
  border-radius:999px;
  background:rgba(255,255,255,.84);
  font-size:14px;
  font-weight:700;
}
/* 旧コンセプト画像はラーメン用ビジュアル完成まで非表示 */
.rentalcomcept .intro-character{
  display:none !important;
}
.rentalcomcept .intro-content{
  width:100% !important;
  max-width:none !important;
}
.sp-only{display:none;}
@media screen and (max-width:768px){
  .ramen-logo-main{font-size:23px;}
  .ramen-logo-sub{font-size:8px;letter-spacing:.16em;}
  .ramen-hero{padding:42px 18px;}
  .ramen-hero-copy{font-size:15px;line-height:1.8;}
  .ramen-hero-points{gap:8px;}
  .ramen-hero-points span{min-height:36px;padding:0 13px;font-size:12px;}
  .sp-only{display:block;}
}

/* =========================================================
   no1-ramen.com Phase2E
   ラーメン店詳細ページ専用
   Cocoon標準SNS/本文レイアウトを使わず、店舗情報をシンプル表示
========================================================= */
body.single-ramen{
  background:#f6f3ee;
}
body.single-ramen #container{
  background:#f6f3ee;
}
.tn-shop-page{
  width:100%;
  box-sizing:border-box;
  padding:34px 18px 64px;
  color:#262626;
}
.tn-shop-wrap{
  width:min(1080px,100%);
  margin:0 auto;
}
.tn-shop-breadcrumb{
  margin:0 0 16px;
  font-size:13px;
  color:#70695f;
}
.tn-shop-breadcrumb a{
  color:#5b554d;
  text-decoration:none;
}
.tn-shop-breadcrumb span{
  margin:0 7px;
  color:#aaa29a;
}
.tn-shop-header{
  margin:0 0 18px;
}
.tn-shop-title{
  margin:0;
  font-size:clamp(28px,4vw,44px);
  line-height:1.3;
  letter-spacing:.02em;
}
.tn-shop-catch{
  margin:10px 0 0;
  color:#625d56;
  font-size:16px;
  line-height:1.8;
}
.tn-shop-status{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin-top:12px;
  padding:0 12px;
  border-radius:999px;
  background:#ece7df;
  font-size:13px;
  font-weight:700;
}
.tn-shop-status.is-open{
  background:#e8f5e9;
  color:#23652a;
}
.tn-shop-status.is-closed{
  background:#fbe9e7;
  color:#8d2c20;
}
.tn-shop-main{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);
  gap:22px;
  align-items:start;
}
.tn-shop-card{
  overflow:hidden;
  border:1px solid #e4ddd3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 26px rgba(39,31,22,.06);
}
.tn-shop-photo{
  width:100%;
  aspect-ratio:16/10;
  background:#e9e4dc;
}
.tn-shop-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.tn-shop-photo-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#8b8379;
  font-weight:700;
  letter-spacing:.08em;
}
.tn-shop-rating{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  padding:17px 20px;
  border-top:1px solid #eee8df;
}
.tn-shop-stars{
  color:#c9931c;
  font-size:21px;
  letter-spacing:1px;
  line-height:1;
}
.tn-shop-rating-score{
  font-size:21px;
  font-weight:800;
}
.tn-shop-rating-count,
.tn-shop-rating-pending{
  color:#777067;
  font-size:13px;
}
.tn-shop-facts{
  padding:6px 20px 18px;
}
.tn-shop-fact{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #f0ebe4;
}
.tn-shop-fact:last-child{
  border-bottom:0;
}
.tn-shop-fact dt{
  margin:0;
  color:#81786e;
  font-size:13px;
  font-weight:700;
}
.tn-shop-fact dd{
  margin:0;
  font-size:15px;
  line-height:1.65;
  overflow-wrap:anywhere;
}
.tn-shop-fact a{
  color:#4a3429;
  text-decoration:underline;
  text-underline-offset:3px;
}
.tn-shop-section{
  margin-top:22px;
  padding:22px;
  border:1px solid #e4ddd3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 26px rgba(39,31,22,.05);
}
.tn-shop-section h2{
  margin:0 0 16px;
  padding:0 0 10px;
  border-bottom:2px solid #c7a56a;
  font-size:21px;
  line-height:1.4;
}
/* 情報について：内容量に合わせて縦余白をコンパクトに */
.tn-shop-info-section{
  padding-top:16px;
  padding-bottom:14px;
}
.tn-shop-info-section h2{
  margin-bottom:8px;
  padding-bottom:8px;
}
.tn-shop-info-section .tn-shop-facts{
  padding:2px 20px 4px;
}
.tn-shop-info-section .tn-shop-fact{
  padding:8px 0;
}
.tn-shop-map{
  overflow:hidden;
  width:100%;
  min-height:330px;
  border-radius:12px;
  background:#eee9e1;
}
.tn-shop-map iframe{
  display:block;
  width:100%;
  height:380px;
  border:0;
}
.tn-shop-map-empty{
  display:flex;
  min-height:260px;
  align-items:center;
  justify-content:center;
  padding:24px;
  text-align:center;
  color:#746d64;
  line-height:1.8;
}
.tn-shop-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.tn-shop-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:1px solid #d5ccc0;
  border-radius:9px;
  background:#fff;
  color:#2e2b27 !important;
  font-size:14px;
  font-weight:700;
  text-decoration:none !important;
}
.tn-shop-btn.is-primary{
  border-color:#4a3429;
  background:#4a3429;
  color:#fff !important;
}
.tn-shop-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tn-shop-tag{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:#f0ece6;
  color:#4f4942;
  font-size:12px;
  font-weight:700;
}
.tn-shop-admin-edit{
  margin-top:18px;
  text-align:right;
  font-size:13px;
}
.tn-shop-admin-edit a{
  color:#655c52;
}
@media screen and (max-width:768px){
  .tn-shop-page{
    padding:24px 12px 42px;
  }
  .tn-shop-main{
    grid-template-columns:1fr;
    gap:14px;
  }
  .tn-shop-title{
    font-size:30px;
  }
  .tn-shop-catch{
    font-size:13px;
  }
  .tn-shop-section{
    margin-top:14px;
    padding:16px;
    border-radius:12px;
  }
  .tn-shop-facts{
    padding:5px 15px 14px;
  }
  .tn-shop-fact{
    grid-template-columns:78px minmax(0,1fr);
    gap:8px;
  }
  .tn-shop-map iframe{
    height:310px;
  }
  .tn-shop-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .tn-shop-btn{
    width:100%;
    padding:0 10px;
  }
}


/* =========================================================
   no1-ramen.com 店舗一覧 / エリア一覧
   情報密度を高めた横長リスト型
========================================================= */
body.post-type-archive-ramen,
body.tax-ramen_area,
  /* =========================================================
   no1-ramen.com 店舗一覧 / エリア一覧
   情報密度を高めた横長リスト型
========================================================= */
body.home,
  body.home{
  background:#f6f3ee;
}
.tn-list-page{
  width:100%;
  box-sizing:border-box;
  padding:28px 18px 58px;
  color:#262626;
}
.tn-list-wrap{
  width:min(1120px,100%);
  margin:0 auto;
}
.tn-list-breadcrumb{
  margin:0 0 14px;
  font-size:12px;
  color:#70695f;
}
.tn-list-breadcrumb a{
  color:#5b554d;
  text-decoration:none;
}
.tn-list-breadcrumb span{
  margin:0 7px;
  color:#aaa29a;
}
.tn-list-header{
  position:relative;
  margin:0 0 18px;
  padding:21px 24px;
  border:1px solid #e3dcd2;
  border-radius:12px;
  background:#fff;
}
.tn-list-kicker{
  margin:0 0 4px;
  color:#9a7940;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.tn-list-header h1{
  margin:0;
  font-size:32px;
  line-height:1.3;
  letter-spacing:.01em;
}
.tn-list-lead{
  margin:7px 0 0;
  color:#6a635b;
  font-size:13px;
  line-height:1.65;
}
.tn-list-count{
  display:inline-flex;
  margin:10px 0 0;
  padding:4px 10px;
  border-radius:999px;
  background:#f1ece4;
  color:#524b43;
  font-size:12px;
  font-weight:700;
}

/* 1列の横長カード。写真左・情報右 */
.tn-shop-grid{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.tn-list-card{
  overflow:hidden;
  margin:0;
  border:1px solid #ded7ce;
  border-radius:10px;
  background:#fff;
  box-shadow:0 3px 14px rgba(39,31,22,.045);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tn-list-card:hover{
  border-color:#cfc3b4;
  box-shadow:0 7px 20px rgba(39,31,22,.075);
  transform:translateY(-1px);
}
.tn-list-card-link{
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  height:218px;
  min-height:218px;
  align-items:stretch;
  color:#262626 !important;
  text-decoration:none !important;
  overflow:hidden;
}
.tn-list-photo{
  position:relative;
  width:270px;
  height:218px;
  min-height:218px;
  margin:0;
  background:#e9e4dc;
  overflow:hidden;
}
.tn-list-photo img{
  display:block;
  width:100%;
  height:218px;
  min-height:218px;
  object-fit:cover;
  transition:transform .22s ease;
}
.tn-list-card:hover .tn-list-photo img{
  transform:scale(1.018);
}
.tn-list-photo-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-height:218px;
  color:#8b8379;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
}
.tn-list-status{
  position:absolute;
  left:10px;
  top:10px;
  display:inline-flex;
  min-height:27px;
  align-items:center;
  padding:0 9px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#27642c;
  font-size:11px;
  font-weight:800;
  line-height:1;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.tn-list-body{
  min-width:0;
  padding:14px 18px 14px;
}
.tn-list-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.tn-list-title-block{
  min-width:0;
}
.tn-list-area{
  margin:0 0 3px;
  color:#936f31;
  font-size:11px;
  font-weight:800;
  line-height:1.4;
}
.tn-list-body h2{
  margin:0;
  color:#26221f;
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}
.tn-list-catch{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:7px 0 0;
  color:#5e5851;
  font-size:13px;
  line-height:1.55;
}
.tn-list-rating{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin:7px 0 0;
  color:#777067;
  font-size:11px;
  line-height:1.3;
}
.tn-list-rating strong{
  color:#b56b00;
  font-size:19px;
  font-weight:800;
  line-height:1;
}
.tn-list-stars{
  color:#cf8a00;
  font-size:15px;
  letter-spacing:.2px;
  line-height:1;
}
.tn-list-stars.is-empty{
  color:#b8a98f;
}
.tn-list-meta{
  display:grid;
  grid-template-columns:1fr;
  gap:3px;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #eee8df;
  color:#4e4943;
  font-size:12px;
  line-height:1.45;
}
.tn-list-meta p{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
  margin:0;
}
.tn-list-meta p > span:last-child{
  min-width:0;
  overflow-wrap:anywhere;
}
.tn-list-meta-label{
  flex:0 0 46px;
  color:#887f75;
  font-size:10px;
  font-weight:800;
  line-height:1.7;
}
.tn-list-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}
.tn-list-tags span{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:2px 8px;
  border:1px solid #ded6cb;
  border-radius:4px;
  background:#faf8f5;
  color:#5f5850;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
}
.tn-list-pagination{
  width:100%;
  margin:28px auto 0;
  padding:0 8px;
  box-sizing:border-box;
  text-align:center;
}
/* WordPress標準のアクセシビリティ見出しは画面外へ */
.tn-list-pagination .screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.tn-list-pagination .navigation.pagination{
  width:100%;
  margin:0;
  padding:0;
}
.tn-list-pagination .nav-links{
  display:flex;
  width:100%;
  justify-content:center;
  align-items:center;
  gap:7px;
  flex-wrap:nowrap;
  margin:0 auto;
  padding:0;
  box-sizing:border-box;
}
.tn-list-pagination .page-numbers{
  display:inline-flex;
  flex:0 0 auto;
  min-width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0 10px;
  box-sizing:border-box;
  border:1px solid #d9d0c4;
  border-radius:7px;
  background:#fff;
  color:#3b3732;
  font-size:13px;
  line-height:1;
  white-space:nowrap;
  text-align:center;
  text-decoration:none;
  overflow:hidden;
}
.tn-list-pagination .page-numbers.prev,
.tn-list-pagination .page-numbers.next{
  width:auto;
  min-width:76px;
  padding:0 14px;
  white-space:nowrap;
  overflow:hidden;
}
.tn-list-pagination .page-numbers.current{
  border-color:#4a3429;
  background:#4a3429;
  color:#fff;
}
@media screen and (max-width:760px){
  .tn-list-pagination{
    margin-top:24px;
    padding:0 4px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .tn-list-pagination .nav-links{
    gap:2px;
    flex-wrap:nowrap !important;
    justify-content:center;
    width:max-content;
    min-width:100%;
  }
  .tn-list-pagination .page-numbers{
    min-width:25px;
    width:25px;
    height:36px;
    padding:0 3px;
    font-size:12px;
    border-radius:6px;
  }
  .tn-list-pagination .page-numbers.prev,
  .tn-list-pagination .page-numbers.next{
    width:auto;
    min-width:48px;
    padding:0 6px;
    font-size:12px;
  }
}
.tn-list-empty{
  padding:48px 20px;
  border:1px solid #e3dcd2;
  border-radius:10px;
  background:#fff;
  text-align:center;
  color:#726a61;
  font-size:13px;
}

@media screen and (max-width:760px){
  .tn-list-page{
    padding:20px 10px 44px;
  }
  .tn-list-header{
    padding:17px 16px;
    border-radius:10px;
  }
  .tn-list-header h1{
    font-size:24px;
  }
  .tn-list-lead{
    font-size:12px;
  }
  .tn-list-card-link{
    grid-template-columns:210px minmax(0,1fr);
    height:190px;
    min-height:190px;
  }
  .tn-list-photo{
    width:210px;
    height:190px;
    min-height:190px;
  }
  .tn-list-photo img,
  .tn-list-photo-empty{
    height:190px;
    min-height:190px;
  }
  .tn-list-body{
    padding:12px 14px;
  }
  .tn-list-body h2{
    font-size:18px;
  }
  .tn-list-catch{
    font-size:12px;
  }
}

@media screen and (max-width:560px){
  .tn-shop-grid{
    gap:11px;
  }
  .tn-list-card{
    border-radius:9px;
  }
  .tn-list-card:hover{
    transform:none;
  }
  .tn-list-card-link{
    display:block;
    min-height:0;
  }
  .tn-list-photo{
    width:100%;
    min-height:0;
    aspect-ratio:16/9;
  }
  .tn-list-photo img{
    min-height:0;
    height:100%;
  }
  .tn-list-photo-empty{
    min-height:0;
    height:100%;
  }
  .tn-list-body{
    padding:11px 12px 12px;
  }
  .tn-list-card-head{
    gap:8px;
  }
  .tn-list-area{
    margin-bottom:2px;
    font-size:10px;
  }
  .tn-list-body h2{
    font-size:17px;
    line-height:1.35;
  }
  .tn-list-rating{
    margin-top:6px;
    font-size:10px;
  }
  .tn-list-rating strong{
    font-size:18px;
  }
  .tn-list-stars{
    font-size:14px;
  }
  .tn-list-catch{
    margin-top:6px;
    font-size:12px;
    line-height:1.5;
  }
  .tn-list-meta{
    margin-top:8px;
    padding-top:8px;
    font-size:11px;
  }
  .tn-list-meta-label{
    flex-basis:42px;
    font-size:9px;
  }
  .tn-list-tags{
    margin-top:7px;
  }
  .tn-list-tags span{
    min-height:22px;
    font-size:9px;
  }
  .tn-list-status{
    left:7px;
    top:7px;
    min-height:24px;
    padding:0 7px;
    font-size:10px;
  }
}


/* ===== no1-ramen.com 5段階評価 ===== */
.tn-shop-stars.is-empty{
  color:#b9b1a7;
}
.tn-rating-box{
  padding:18px 20px 20px;
  border-top:1px solid #eee8df;
  background:#fffdf9;
}
.tn-rating-title{
  margin:0 0 10px;
  color:#312d28;
  font-size:15px;
  font-weight:800;
}
.tn-rating-notice{
  margin:0 0 10px;
  padding:9px 11px;
  border-radius:8px;
  background:#edf7ef;
  color:#24643a;
  font-size:13px;
  font-weight:700;
}
.tn-rating-stars-input{
  display:flex;
  align-items:center;
  gap:3px;
  width:max-content;
  max-width:100%;
}
.tn-rating-star-option{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:42px;
  margin:0;
  cursor:pointer;
  color:#d7d0c7;
  font-size:31px;
  line-height:1;
  transition:color .12s ease, transform .12s ease;
}
.tn-rating-star-option:hover{
  transform:translateY(-1px);
}
.tn-rating-star-option.is-on{
  color:#c9931c;
}
.tn-rating-star-option input{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  margin:-1px !important;
  padding:0 !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.tn-rating-star-option:focus-within{
  outline:2px solid #80631b;
  outline-offset:2px;
  border-radius:6px;
}
.tn-rating-help,
.tn-rating-login{
  margin:8px 0 0;
  color:#777067;
  font-size:12px;
  line-height:1.6;
}
.tn-rating-login a{
  color:#4a3429;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.tn-rating-noscript-btn{
  margin-top:10px;
  padding:9px 14px;
  border:0;
  border-radius:7px;
  background:#4b433a;
  color:#fff;
  cursor:pointer;
}
@media screen and (max-width:480px){
  .tn-rating-box{padding:15px 15px 17px;}
  .tn-rating-star-option{width:34px;height:39px;font-size:29px;}
}

/* ===== 評価UI：星以外の文字が見えないように完全固定 ===== */
.tn-rating-star-option .tn-rating-star-glyph{
  display:block;
  width:100%;
  height:100%;
  line-height:42px;
  text-align:center;
  font-size:31px;
  font-weight:400;
}
@media screen and (max-width:480px){
  .tn-rating-star-option .tn-rating-star-glyph{
    line-height:39px;
    font-size:29px;
  }
}


/* ===== 電話番号認証（Firebase） ===== */
.tn-phone-verify-box{
  margin-top:4px;
  padding:15px;
  border:1px solid #e7ded2;
  border-radius:10px;
  background:#fff;
}
.tn-phone-verify-title{
  margin:0 0 5px;
  color:#312d28;
  font-size:15px;
  font-weight:800;
}
.tn-phone-verify-lead{
  margin:0 0 13px;
  color:#6e675f;
  font-size:12px;
  line-height:1.6;
}
.tn-phone-field{ margin:0 0 10px; }
.tn-phone-field label{
  display:block;
  margin:0 0 5px;
  color:#4a443e;
  font-size:12px;
  font-weight:700;
}
.tn-phone-field input{
  box-sizing:border-box;
  width:100%;
  min-height:44px;
  padding:9px 11px;
  border:1px solid #d8cec2;
  border-radius:7px;
  background:#fff;
  color:#27231f;
  font-size:16px;
}
.tn-phone-field input:focus{
  outline:2px solid rgba(49,95,139,.22);
  border-color:#4a3429;
}
.tn-phone-btn{
  min-height:42px;
  padding:9px 15px;
  border:0;
  border-radius:7px;
  background:#4a3429;
  color:#fff;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.tn-phone-btn:hover{ opacity:.92; }
.tn-phone-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.tn-phone-code-step{ margin-top:13px; }
.tn-phone-status{
  min-height:1.5em;
  margin:10px 0 0;
  font-size:12px;
  font-weight:700;
  line-height:1.6;
}
.tn-phone-status.is-success{ color:#24643a; }
.tn-phone-status.is-error{ color:#b3261e; }
.tn-phone-privacy{
  margin:10px 0 0;
  color:#888078;
  font-size:10px;
  line-height:1.6;
}
.tn-phone-verified-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  margin:0 0 8px;
  padding:3px 9px;
  border-radius:999px;
  background:#edf7ef;
  color:#24643a;
  font-size:11px;
  font-weight:800;
}
.tn-phone-verify-box.is-busy{ opacity:.86; }
@media screen and (max-width:480px){
  .tn-phone-verify-box{padding:13px;}
  .tn-phone-btn{width:100%;}
}

/* ===== 行った店 / 未訪問：一覧・地図 ===== */
.tn-visit-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #e5ddd3;
  border-radius:12px;
  background:#fff;
}
.tn-visit-filter{
  display:flex;
  gap:7px;
  flex-wrap:nowrap;
}
.tn-visit-filter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  text-decoration:none !important;
  padding:7px 13px;
  border:1px solid #d8d0c5;
  border-radius:999px;
  background:#fff;
  color:#4a443e;
  font-size:12px;
  font-weight:800;
  line-height:1;
  vertical-align:middle;
  box-sizing:border-box;
  white-space:nowrap;
  cursor:pointer;
}
.tn-visit-filter-btn.is-active{
  border-color:#4a3429;
  background:#4a3429;
  color:#fff;
}
.tn-open-filter-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.tn-filter-open-dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2f8a50;
  box-shadow:0 0 0 2px rgba(47,138,80,.12);
}
.tn-open-filter-btn.is-active{
  border-color:#2f7a4c;
  background:#2f7a4c;
  color:#fff;
}
.tn-open-filter-btn.is-active .tn-filter-open-dot{
  background:#fff;
  box-shadow:none;
}
.tn-visit-filter-count{
  margin:0;
  color:#746d64;
  font-size:11px;
  white-space:nowrap;
}
.tn-visit-login-note{
  margin:0 0 18px;
  padding:11px 13px;
  border:1px solid #e5ddd3;
  border-radius:10px;
  background:#fff;
  color:#6d665e;
  font-size:12px;
  line-height:1.7;
}
.tn-visit-login-note a{
  color:#4a3429;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.tn-visit-badge{
  position:absolute;
  top:7px;
  right:7px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:3px 8px;
  border-radius:999px;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  font-size:10px;
  font-weight:900;
  line-height:1;
}
.tn-visit-badge.is-visited{
  background:#2f7a4c;
  color:#fff;
}
.tn-visit-badge.is-unvisited{
  background:rgba(255,255,255,.94);
  color:#615b54;
  border:1px solid rgba(75,67,58,.18);
}
.tn-my-rating{
  margin:7px 0 0;
  color:#2f7a4c;
  font-size:10px;
  font-weight:800;
}
.tn-list-card[hidden]{
  display:none !important;
}
.tn-list-map-section{
  margin:0 0 22px;
  overflow:hidden;
  border:1px solid #e2d9cf;
  border-radius:14px;
  background:#fff;
}
.tn-list-map-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding:15px 16px 12px;
  border-bottom:1px solid #eee7de;
}
.tn-list-map-kicker{
  margin:0 0 2px;
  color:#9a7a37;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
.tn-list-map-head h2{
  margin:0;
  color:#342f2a;
  font-size:18px;
  line-height:1.35;
}
.tn-map-legend{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  color:#676057;
  font-size:10px;
  font-weight:700;
}
.tn-map-legend > span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.tn-legend-pin{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  font-style:normal;
  line-height:1;
}
.tn-legend-pin.is-visited{
  background:#2f7a4c;
  color:#fff;
  font-size:10px;
}
.tn-legend-pin.is-unvisited{
  background:#6b4636;
}
.tn-list-map{
  width:100%;
  height:360px;
  background:#f1eee9;
}
.tn-map-div-icon{
  background:transparent !important;
  border:0 !important;
}
.tn-map-pin{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:3px solid #fff;
  border-radius:50% 50% 50% 0;
  box-shadow:0 2px 7px rgba(0,0,0,.28);
  transform:rotate(-45deg);
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.tn-map-pin--visited{
  background:#2f7a4c;
}
.tn-map-pin--visited::before{
  content:'✓';
  transform:rotate(45deg);
  font-size:13px;
  line-height:1;
}
.tn-map-pin--visited{
  font-size:0;
}
.tn-map-pin--unvisited{
  background:#6b4636;
}
.tn-map-pin--neutral{
  background:#4a3429;
}
.tn-map-popup strong{
  display:block;
  margin-bottom:4px;
  font-size:13px;
}
.tn-map-popup a{
  display:inline-block;
  margin-top:6px;
  color:#4a3429;
  font-weight:800;
  text-decoration:none;
}
.tn-map-popup-rating{
  color:#2f7a4c;
  font-size:11px;
  font-weight:800;
}
@media screen and (max-width:560px){
  .tn-visit-tools{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    padding:10px;
  }
  .tn-visit-filter{
    width:100%;
  }
  .tn-visit-filter-btn{
    flex:1 1 0;
    padding:7px 8px;
    font-size:11px;
  }
  .tn-visit-filter-count{
    align-self:flex-end;
  }
  .tn-list-map-head{
    align-items:flex-start;
    flex-direction:column;
    padding:12px 13px 10px;
  }
  .tn-list-map-head h2{
    font-size:16px;
  }
  .tn-list-map{
    height:300px;
  }
  .tn-visit-badge{
    top:6px;
    right:6px;
    min-height:22px;
    padding:3px 7px;
    font-size:9px;
  }
}

/* ===== 一覧カード：訪問状況 ===== */
.tn-card-visit-row{
  display:flex;
  flex:0 0 auto;
  justify-content:flex-end;
  margin:0;
}
.tn-card-visit-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  box-sizing:border-box;
  font-size:10px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.tn-card-visit-badge.is-visited{
  background:#2f7a4c;
  color:#fff;
}
.tn-card-visit-badge.is-unvisited{
  background:#fff;
  color:#615b54;
  border:1px solid #d9d1c7;
}
@media screen and (max-width:480px){
  .tn-card-visit-badge{
    min-height:22px;
    padding:3px 7px;
    font-size:9px;
  }
}

/* ===== 営業時間から自動判定する現在営業状態 ===== */
.tn-shop-status.is-unconfirmed,
.tn-list-status.is-unconfirmed{
  background:#8a8178;
  color:#fff;
}
.tn-list-status.is-open{
  background:#edf8ef;
  color:#1d6735;
  border-color:#cde7d3;
}
.tn-list-status.is-closed{
  background:#f3f1ee;
  color:#6a625b;
  border-color:#ded8d0;
}

/* ===== 店舗関係者登録 ===== */
.tn-shop-relation-section{
  background:#fffdf9;
}
.tn-shop-relation-text{
  margin:0 0 12px;
  color:#655e56;
  font-size:13px;
  line-height:1.75;
}
.tn-shop-relation-claim{
  margin:0;
}
.tn-shop-relation-summary,
.tn-shop-relation-login{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  box-sizing:border-box;
  padding:10px 18px;
  border:0;
  border-radius:8px;
  background:#4a3429;
  color:#fff !important;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
  text-decoration:none !important;
  cursor:pointer;
}
.tn-shop-relation-summary{
  list-style:none;
}
.tn-shop-relation-summary::-webkit-details-marker{
  display:none;
}
.tn-shop-relation-summary::before{
  content:'✓';
  margin-right:7px;
  font-weight:900;
}
.tn-shop-relation-summary:hover,
.tn-shop-relation-login:hover{
  opacity:.92;
}
.tn-shop-relation-auth{
  margin-top:14px;
  max-width:620px;
}
.tn-shop-relation-auth .tn-phone-verify-box{
  margin-top:0;
}
.tn-shop-relation-verified{
  padding:14px 15px;
  border:1px solid #cfe5d5;
  border-radius:10px;
  background:#f1f9f3;
}
.tn-shop-relation-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:#2f7a4c;
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.tn-shop-relation-verified p{
  margin:9px 0 0;
  color:#4e6254;
  font-size:12px;
  line-height:1.7;
}
@media screen and (max-width:480px){
  .tn-shop-relation-summary,
  .tn-shop-relation-login{
    width:100%;
  }
}

/* ===== 店舗関係者登録：確認方式・複数関係者・自己解除 ===== */
.tn-shop-relation-form{
  max-width:620px;
  padding:16px;
  border:1px solid #ded8d0;
  border-radius:10px;
  background:#fff;
}
.tn-shop-relation-notice{
  max-width:620px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #efd49d;
  border-radius:8px;
  background:#fff8e8;
  color:#74551b;
  font-size:12px;
  line-height:1.65;
}
.tn-shop-relation-field{
  display:block;
  margin:14px 0;
}
.tn-shop-relation-field > span{
  display:block;
  margin-bottom:6px;
  color:#3e3934;
  font-size:13px;
  font-weight:800;
}
.tn-shop-relation-position{
  width:100%;
  max-width:360px;
  min-height:44px;
  box-sizing:border-box;
  padding:8px 10px;
  border:1px solid #cfc7bf;
  border-radius:7px;
  background:#fff;
  color:#333;
  font-size:14px;
}
.tn-shop-relation-check{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:14px 0 16px;
  color:#403b36;
  font-size:13px;
  line-height:1.6;
  cursor:pointer;
}
.tn-shop-relation-check input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:2px 0 0;
}
.tn-shop-relation-register-btn{
  min-height:44px;
  padding:10px 18px;
  border:0;
  border-radius:8px;
  background:#4a3429;
  color:#fff;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.tn-shop-relation-register-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.tn-shop-relation-register-status,
.tn-shop-relation-remove-status{
  margin:9px 0 0;
  color:#2f7a4c;
  font-size:12px;
  line-height:1.6;
}
.tn-shop-relation-register-status.is-error,
.tn-shop-relation-remove-status.is-error{
  color:#b33636;
}
.tn-shop-relation-remove{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #d9e8dd;
}
.tn-shop-relation-remove-btn{
  padding:8px 12px;
  border:1px solid #b9b2aa;
  border-radius:7px;
  background:#fff;
  color:#655e56;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.tn-shop-relation-remove-btn:hover{
  background:#f8f5f1;
}
@media screen and (max-width:480px){
  .tn-shop-relation-form{
    padding:14px 12px;
  }
  .tn-shop-relation-position,
  .tn-shop-relation-register-btn,
  .tn-shop-relation-remove-btn{
    width:100%;
  }
}

/* ===== 店舗関係者エリア：通常時はコンパクト、ボタンで展開 ===== */
.tn-shop-relation-section{
  padding:14px 18px;
}
.tn-shop-relation-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.tn-shop-relation-section .tn-shop-relation-head h2{
  flex:0 0 auto;
  margin:0;
  padding:0;
  border-bottom:0;
  font-size:17px;
  line-height:1.4;
}
.tn-shop-relation-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border:0;
  border-radius:8px;
  background:#4a3429;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  cursor:pointer;
}
.tn-shop-relation-toggle.is-registered{
  background:#2f7a4c;
}
.tn-shop-relation-toggle::after{
  content:'▼';
  margin-left:8px;
  font-size:9px;
}
.tn-shop-relation-toggle[aria-expanded="true"]::after{
  content:'▲';
}
.tn-shop-relation-toggle:hover{
  opacity:.92;
}
.tn-shop-relation-panel{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #e4ddd3;
}
.tn-shop-relation-panel[hidden]{
  display:none !important;
}
@media screen and (max-width:480px){
  .tn-shop-relation-section{
    padding:12px 13px;
  }
  .tn-shop-relation-head{
    gap:10px;
  }
  .tn-shop-relation-section .tn-shop-relation-head h2{
    font-size:15px;
  }
  .tn-shop-relation-toggle{
    flex:1 1 auto;
    min-width:0;
    padding:8px 10px;
    font-size:11px;
  }
}


/* ===== 評価カード内：電話認証済み + 私の評価 + 店舗関係者入口 ===== */
.tn-rating-status-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 8px;
}
.tn-rating-status-row .tn-phone-verified-badge{
  margin:0;
}
.tn-rating-status-row .tn-rating-my-score{
  margin:0;
}
.tn-rating-my-score{
  margin:10px 0 0;
  color:#4f4942;
  font-size:12px;
  line-height:1.6;
}
.tn-rating-my-score strong{
  color:#2f7a4c;
  font-size:13px;
}
.tn-rating-relation.tn-shop-relation-section{
  margin:12px 0 0;
  padding:12px 0 0;
  border-top:1px solid #eee8df;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.tn-rating-relation .tn-shop-relation-head{
  display:block;
}
.tn-rating-relation .tn-shop-relation-toggle{
  min-height:34px;
  padding:7px 12px;
  border:1px solid #d8c9b5;
  border-radius:7px;
  background:#f8f4ed;
  color:#4b433a;
  font-size:12px;
  font-weight:800;
}
.tn-rating-relation .tn-shop-relation-toggle.is-registered{
  border-color:#b9d9c5;
  background:#edf7ef;
  color:#2f7a4c;
}
.tn-rating-relation .tn-shop-relation-panel{
  margin-top:11px;
  padding-top:11px;
}
@media screen and (max-width:480px){
  .tn-rating-relation.tn-shop-relation-section{
    padding:11px 0 0;
  }
  .tn-rating-relation .tn-shop-relation-toggle{
    width:auto;
    max-width:100%;
    min-height:32px;
    padding:6px 10px;
    font-size:11px;
  }
}

/* =========================================================
 * no1-ramen.com フロント店舗編集 / 更新元表示
 * ========================================================= */
.tn-shop-update-source dd{display:flex;flex-direction:column;gap:3px}
.tn-shop-update-source dd strong{color:#23733f}
.tn-shop-update-source dd span{font-size:12px;color:#777}

.tn-shop-edit-section{padding-bottom:20px}
.tn-shop-edit-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tn-shop-edit-head h2{margin:0}
.tn-shop-edit-toggle,.tn-shop-edit-save,.tn-shop-edit-login{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:#6b4636;color:#fff;font-weight:700;text-decoration:none;padding:10px 18px;cursor:pointer;line-height:1.4}
.tn-shop-edit-toggle:hover,.tn-shop-edit-save:hover,.tn-shop-edit-login:hover{opacity:.9;color:#fff}
.tn-shop-edit-note{margin:10px 0 0;color:#666;font-size:13px;line-height:1.7}
.tn-shop-edit-result{margin:12px 0 0;padding:9px 12px;border-radius:6px;background:#f5f5f5}
.tn-shop-edit-result.is-success{background:#eef8f1;color:#23733f}
.tn-shop-edit-result.is-error{background:#fff1f1;color:#a52a2a}
.tn-shop-edit-panel{margin-top:16px;padding:18px;border:1px solid #ded8ce;border-radius:10px;background:#fffdf9}
.tn-shop-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tn-shop-edit-field{display:flex;flex-direction:column;gap:6px}
.tn-shop-edit-field.is-wide{grid-column:1/-1}
.tn-shop-edit-field>span,.tn-shop-edit-features legend,.tn-shop-edit-hours legend{font-weight:700}
.tn-shop-edit-field em{font-style:normal;color:#b32d2e;font-size:11px;margin-left:4px}
.tn-shop-edit-field input,.tn-shop-edit-field select,.tn-shop-edit-hours select{width:100%;box-sizing:border-box;border:1px solid #c9c2b8;border-radius:6px;background:#fff;padding:9px 10px;font:inherit}
.tn-url-input-group{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:stretch;gap:7px;min-width:0}
.tn-url-input-group .tn-url-scheme,.tn-url-input-group .tn-url-host{min-width:0;height:42px}
.tn-url-input-group .tn-url-scheme{padding-left:9px;padding-right:7px;font-size:14px}
.tn-url-input-group .tn-url-host{font-size:16px}
.tn-field-help{display:block;color:#7b746c;font-size:11px;font-weight:500;line-height:1.5}
.tn-field-error{display:block;color:#b3261e;font-size:12px;font-weight:700;line-height:1.5}
.tn-field-error[hidden]{display:none!important}
.tn-website-field.has-error .tn-url-input-group .tn-url-host{border-color:#b3261e!important;box-shadow:0 0 0 1px #b3261e}
.tn-shop-edit-features,.tn-shop-edit-hours{margin:18px 0 0;padding:14px;border:1px solid #e3ddd4;border-radius:8px}
.tn-shop-edit-features legend,.tn-shop-edit-hours legend{padding:0 6px}
.tn-shop-edit-checks{display:flex;gap:8px 16px;flex-wrap:wrap}
.tn-shop-edit-checks label{display:inline-flex;align-items:center;gap:5px}
.tn-shop-edit-hours-list{display:flex;flex-direction:column}
.tn-shop-edit-hours-row{display:grid;grid-template-columns:90px minmax(240px,1fr) 70px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #eee8df}
.tn-shop-edit-hours-row:last-child{border-bottom:0}
.tn-shop-edit-hours-time{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.tn-shop-edit-closed{white-space:nowrap}
.tn-shop-edit-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
.tn-shop-edit-cancel{border:1px solid #bcb4a9;border-radius:7px;background:#fff;color:#444;font-weight:600;padding:9px 16px;cursor:pointer}

@media (max-width:700px){
  .tn-shop-edit-grid{grid-template-columns:1fr}
  .tn-shop-edit-field.is-wide{grid-column:auto}
  .tn-shop-edit-hours-row{grid-template-columns:1fr;gap:7px}
  .tn-shop-edit-hours-time{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:5px}
  .tn-url-input-group{grid-template-columns:94px minmax(0,1fr);gap:5px}
  .tn-url-input-group .tn-url-scheme{padding-left:7px;padding-right:5px;font-size:13px}
  .tn-shop-edit-head{align-items:flex-start}
  .tn-shop-edit-toggle,
  .tn-shop-edit-login,
  body.page-template-page-shop-register .tn-shop-edit-save{
    width:100%
  }
}
.tn-shop-edit-hours-time .tn-time-select-wrap{display:grid;grid-template-columns:minmax(50px,1fr) auto minmax(50px,1fr);align-items:center;gap:3px;min-width:0}
.tn-shop-edit-hours-time .tn-time-select-wrap select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:7px 17px 7px 4px;
  font-size:15px;
  line-height:1.2;
  text-align:center;
  text-align-last:center;
  -webkit-appearance:none;
  appearance:none;
  background-color:#fff;
  background-image:linear-gradient(45deg,transparent 50%,#766f67 50%),linear-gradient(135deg,#766f67 50%,transparent 50%);
  background-position:calc(100% - 10px) 50%,calc(100% - 6px) 50%;
  background-size:4px 4px,4px 4px;
  background-repeat:no-repeat;
}
.tn-shop-edit-hours-time .tn-time-colon{font-weight:700;color:#666;text-align:center}
@media (max-width:700px){
  .tn-shop-edit-hours-time .tn-time-select-wrap{grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr);gap:2px}
  .tn-shop-edit-hours-time .tn-time-select-wrap select{padding:7px 15px 7px 3px;font-size:14px}
  .tn-shop-edit-hours-time > span{font-size:13px}
}


/* ===== ラーメン店：写真3枚編集・ギャラリー ===== */
.tn-shop-photo-gallery{background:#fff}
.tn-shop-photo-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px;background:#f7f3ed;border-top:1px solid #eee8df}
.tn-shop-photo-thumb{display:block;overflow:hidden;aspect-ratio:4/3;padding:0;border:2px solid transparent;border-radius:7px;background:#e9e4dc;cursor:pointer}
.tn-shop-photo-thumb.is-active{border-color:#6b4636}
.tn-shop-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.tn-shop-edit-photos{margin:0 0 18px;padding:14px;border:1px solid #e3ddd4;border-radius:8px}
.tn-shop-edit-photos legend{padding:0 6px;font-weight:700}
.tn-shop-edit-photo-note{margin:0 0 12px;color:#666;font-size:13px;line-height:1.7}
.tn-shop-edit-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tn-shop-edit-photo-item{display:flex;min-width:0;flex-direction:column;gap:7px}
.tn-shop-edit-photo-preview{display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;aspect-ratio:4/3;border:1px solid #ddd5ca;border-radius:7px;background:#f2eee8;color:#837a70;font-size:12px}
.tn-shop-edit-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}
.tn-shop-edit-photo-item input[type=file]{width:100%;max-width:100%;font-size:12px}
.tn-shop-edit-photo-remove{display:inline-flex;align-items:center;gap:5px;color:#8d2c20;font-size:12px}
@media screen and (max-width:640px){
  .tn-shop-edit-photo-grid{
    grid-template-columns:1fr;
  }

  .tn-shop-edit-photo-item{
    width:100%;
    max-width:100%;
  }

  .tn-shop-edit-photo-preview{
    width:100%;
    max-width:100%;
  }
}


/* ===== 店舗編集：SNS掲載例 ===== */
.tn-shop-edit-field > span small{
  margin-left:8px;
  color:#8a8178;
  font-size:11px;
  font-weight:500;
}
@media screen and (max-width:480px){
  .tn-shop-edit-field > span small{
    display:block;
    margin:3px 0 0;
  }
}

/* =========================================================
   2026-09-10 ラーメン円形ロゴをサイト左上へ配置
   既存の文字ロゴを画像ロゴへ置換。PC/SPとも左端寄せ。
========================================================= */
.custom-header .header-top {
  width: 100% !important;
}

.custom-header .header-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.ramen-header-logo-area {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ramen-header-logo-link {
  display: block !important;
  line-height: 0 !important;
  text-decoration: none !important;
}

.logo-area img.ramen-header-logo-image,
.ramen-header-logo-image {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  max-width: 72px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media screen and (min-width: 769px) {
  .custom-header .header-inner {
    min-height: 80px !important;
    padding: 4px 12px 4px 6px !important;
    gap: 18px !important;
  }
}

@media screen and (max-width: 768px) {
  .custom-header {
    padding: 0 !important;
  }

  .custom-header .header-inner {
    min-height: 64px !important;
    padding: 4px 10px 4px 4px !important;
  }

  .logo-area img.ramen-header-logo-image,
  .ramen-header-logo-image {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
  }
}

/* =========================================================
   2026-09-10 スマホ店舗一覧：高密度グルメ検索型
   - 大きな縦カードではなく、写真左・情報右のコンパクト一覧
   - 店名 / 評価 / 最寄駅 / 予算を優先表示
   - 全国一覧・エリア一覧の両方に適用
========================================================= */
@media screen and (max-width:560px){
  body.post-type-archive-ramen .tn-list-page,
  body.tax-ramen_area .tn-list-page,
  body.home .tn-list-page{
    padding:10px 8px 34px;
  }

  body.post-type-archive-ramen .tn-list-breadcrumb,
  body.tax-ramen_area .tn-list-breadcrumb,
  body.home .tn-list-breadcrumb{
    margin-bottom:8px;
    font-size:10px;
  }

  body.post-type-archive-ramen .tn-list-header,
  body.tax-ramen_area .tn-list-header,
  body.home .tn-list-header{
    margin-bottom:10px;
    padding:9px 11px;
    border-radius:7px;
  }

  body.post-type-archive-ramen .tn-list-kicker,
  body.tax-ramen_area .tn-list-kicker,
  body.home .tn-list-kicker{
    margin-bottom:1px;
    font-size:7px;
  }

  body.post-type-archive-ramen .tn-list-header h1,
  body.tax-ramen_area .tn-list-header h1,
  body.home .tn-list-header h1{
    font-size:19px;
    line-height:1.25;
  }

  body.post-type-archive-ramen .tn-list-lead,
  body.tax-ramen_area .tn-list-lead,
  body.home .tn-list-lead{
    margin-top:3px;
    font-size:9px;
    line-height:1.45;
  }

  body.post-type-archive-ramen .tn-list-count,
  body.tax-ramen_area .tn-list-count,
  body.home .tn-list-count{
    margin-top:4px;
    padding:2px 7px;
    font-size:9px;
  }

  /* 絞り込みは横スクロールの小型チップ */
  body.post-type-archive-ramen .tn-visit-tools,
  body.tax-ramen_area .tn-visit-tools,
  /* 絞り込みは横スクロールの小型チップ */
  body.home .tn-visit-tools,
  body.home .tn-visit-tools{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:6px;
    margin-bottom:10px;
    padding:8px;
    border-radius:7px;
  }

  body.post-type-archive-ramen .tn-visit-filter,
  body.tax-ramen_area .tn-visit-filter,
  body.home .tn-visit-filter{
    display:flex;
    width:100%;
    gap:5px;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:2px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  body.post-type-archive-ramen .tn-visit-filter::-webkit-scrollbar,
  body.tax-ramen_area .tn-visit-filter::-webkit-scrollbar,
  body.home .tn-visit-filter::-webkit-scrollbar{
    display:none;
  }

  body.post-type-archive-ramen .tn-visit-filter-btn,
  body.tax-ramen_area .tn-visit-filter-btn,
  body.home .tn-visit-filter-btn{
    flex:0 0 auto;
    min-height:29px;
    padding:5px 9px;
    font-size:10px;
    line-height:1;
    white-space:nowrap;
  }

  body.post-type-archive-ramen .tn-visit-filter-count,
  body.tax-ramen_area .tn-visit-filter-count,
  body.home .tn-visit-filter-count{
    display:block;
    margin:0;
    text-align:right;
    font-size:9px;
    line-height:1.2;
  }

  body.post-type-archive-ramen .tn-list-status,
  body.tax-ramen_area .tn-list-status,
  body.home .tn-list-status{
    left:5px;
    top:5px;
    min-height:20px;
    padding:2px 6px;
    font-size:8px;
  }

  body.post-type-archive-ramen .tn-list-area,
  body.tax-ramen_area .tn-list-area,
  body.home .tn-list-area{
    margin:0 0 1px;
    font-size:8px;
    line-height:1.25;
  }

  body.post-type-archive-ramen .tn-list-stars,
  body.tax-ramen_area .tn-list-stars,
  body.home .tn-list-stars{
    font-size:11px;
    letter-spacing:0;
  }

  /* 地図もスマホで縦に占有しすぎない */
  body.post-type-archive-ramen .tn-list-map-section,
  body.tax-ramen_area .tn-list-map-section,
  /* 地図もスマホで縦に占有しすぎない */
  body.home .tn-list-map-section,
  body.home .tn-list-map-section{
    margin-bottom:9px;
    border-radius:8px;
  }

  body.post-type-archive-ramen .tn-list-map-head,
  body.tax-ramen_area .tn-list-map-head,
  body.home .tn-list-map-head{
    align-items:center;
    gap:7px;
    padding:6px 8px 5px;
  }

  body.post-type-archive-ramen .tn-list-map-head h2,
  body.tax-ramen_area .tn-list-map-head h2,
  body.home .tn-list-map-head h2{
    font-size:13px;
    line-height:1.2;
  }

  body.post-type-archive-ramen .tn-list-map-kicker,
  body.tax-ramen_area .tn-list-map-kicker,
  body.home .tn-list-map-kicker{
    margin-bottom:1px;
    font-size:7px;
  }

  body.post-type-archive-ramen .tn-map-legend,
  body.tax-ramen_area .tn-map-legend,
  body.home .tn-map-legend{
    flex:0 0 auto;
    gap:7px;
    flex-wrap:nowrap;
    font-size:8px;
    white-space:nowrap;
  }

  body.post-type-archive-ramen .tn-legend-pin,
  body.tax-ramen_area .tn-legend-pin,
  body.home .tn-legend-pin{
    width:18px;
    height:18px;
    font-size:8px;
  }

  body.post-type-archive-ramen .tn-list-map,
  body.tax-ramen_area .tn-list-map,
  body.home .tn-list-map{
    height:150px;
  }
}

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


/* 2026-09-10 一覧カード写真レイアウト整理済み：PC固定高 / SP 10px間隔 */

/* === 20260910 mobile map header + login status compact === */
@media screen and (max-width: 768px) {
  /* ログイン表示をスマホで1行に収める */
  .login-status-box {
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 10px !important;
    padding: 8px 10px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
  }
  .login-status-box .role-label {
    font-size: 10px !important;
  }
  .login-status-box .logout-link {
    font-size: 11px !important;
  }

  /* MAP表記をなくし、タイトル左・凡例右を1列に */
  body.post-type-archive-ramen .tn-list-map-head,
  body.tax-ramen_area .tn-list-map-head,
  /* MAP表記をなくし、タイトル左・凡例右を1列に */
  body.home .tn-list-map-head,
  body.home .tn-list-map-head{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 8px !important;
  }
  body.post-type-archive-ramen .tn-list-map-kicker,
  body.tax-ramen_area .tn-list-map-kicker,
  body.home .tn-list-map-kicker{
    display: none !important;
  }
  body.post-type-archive-ramen .tn-list-map-head h2,
  body.tax-ramen_area .tn-list-map-head h2,
  body.home .tn-list-map-head h2{
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap;
  }
  body.post-type-archive-ramen .tn-map-legend,
  body.tax-ramen_area .tn-map-legend,
  body.home .tn-map-legend{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    font-size: 8px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  body.post-type-archive-ramen .tn-map-legend > span,
  body.tax-ramen_area .tn-map-legend > span,
  body.home .tn-map-legend > span{
    gap: 3px !important;
  }
  body.post-type-archive-ramen .tn-legend-pin,
  body.tax-ramen_area .tn-legend-pin,
  body.home .tn-legend-pin{
    width: 16px !important;
    height: 16px !important;
    font-size: 8px !important;
  }
}

@media screen and (max-width: 380px) {
  .login-status-box {
    padding-left: 7px !important;
    padding-right: 7px !important;
    font-size: 10px !important;
    letter-spacing: -0.02em;
  }
  .login-status-box .role-label,
  .login-status-box .logout-link {
    font-size: 9px !important;
  }
  body.post-type-archive-ramen .tn-list-map-head h2,
  body.tax-ramen_area .tn-list-map-head h2,
  body.home .tn-list-map-head h2{
    font-size: 11px !important;
  }
  body.post-type-archive-ramen .tn-map-legend,
  body.tax-ramen_area .tn-map-legend,
  body.home .tn-map-legend{
    gap: 4px !important;
    font-size: 7px !important;
  }
  body.post-type-archive-ramen .tn-legend-pin,
  body.tax-ramen_area .tn-legend-pin,
  body.home .tn-legend-pin{
    width: 14px !important;
    height: 14px !important;
  }
}


/* =========================================================
 * 店舗編集フォーム：スマホ日付・予算ロール・支払方法ボタン
 * 2026-09-10 final compact fix
 * ========================================================= */
.tn-shop-edit-grid,
.tn-shop-edit-field{
  min-width:0;
  max-width:100%;
}
.tn-shop-edit-field{
  width:100%;
  box-sizing:border-box;
}
.tn-shop-edit-field input,
.tn-shop-edit-field select{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.tn-shop-edit-field input[type="date"]{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  inline-size:100% !important;
  max-inline-size:100% !important;
  min-inline-size:0 !important;
  box-sizing:border-box !important;
}

/* 支払方法：チェックボックスを隠し、折り返さない小型ボタンにする */
.tn-payment-choice-grid{
  display:flex !important;
  flex-flow:row wrap !important;
  align-items:center !important;
  gap:7px !important;
  width:100%;
  min-width:0;
}
.tn-payment-choice{
  display:inline-flex !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  cursor:pointer;
}
.tn-payment-choice input{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  pointer-events:none !important;
}
.tn-payment-choice span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  min-height:34px !important;
  padding:6px 10px !important;
  border:1px solid #c9c2b8 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#333 !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  box-sizing:border-box !important;
}
.tn-payment-choice input:checked + span{
  border-color:#6b4636 !important;
  background:#6b4636 !important;
  color:#fff !important;
}
.tn-payment-choice input:focus-visible + span{
  outline:2px solid #6b4636;
  outline-offset:2px;
}

@media screen and (max-width:700px){
  .tn-shop-edit-grid{
    width:100% !important;
    max-width:100% !important;
    overflow:visible;
  }
  .tn-shop-edit-field{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden;
  }
  .tn-shop-edit-field input[type="date"]{
    -webkit-appearance:auto !important;
    appearance:auto !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:52px !important;
    min-height:52px !important;
    padding:9px 10px !important;
    line-height:1.4 !important;
  }
  .tn-payment-choice-grid{
    gap:6px !important;
  }
  .tn-payment-choice span{
    min-height:32px !important;
    padding:5px 8px !important;
    font-size:11px !important;
    letter-spacing:-0.02em !important;
  }
}

@media screen and (max-width:380px){
  .tn-payment-choice span{
    padding:5px 7px !important;
    font-size:10px !important;
  }
}


/* =========================================================
   店舗詳細：公式アカウント（HP / LINE / X / Instagram / Facebook）
   ========================================================= */
.tn-shop-official-accounts dd{
  display:flex;
  align-items:center;
}
.tn-shop-account-links{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.tn-social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-width:34px;
  min-height:34px;
  box-sizing:border-box;
  overflow:hidden;
  border:0;
  border-radius:6px;
  color:#fff!important;
  font-size:11px;
  font-weight:800;
  line-height:1;
  text-decoration:none!important;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.tn-social-icon svg{
  display:block;
  width:23px;
  height:23px;
}
.tn-social-icon.is-website{background:#4a3429}
.tn-social-icon.is-line{background:#06c755}
.tn-social-icon.is-x{background:#000}
.tn-social-icon.is-instagram{background:linear-gradient(135deg,#833ab4 0%,#c13584 35%,#e1306c 62%,#f77737 100%)}
.tn-social-icon.is-facebook{background:#1877f2}
.tn-social-icon:hover{filter:brightness(.92);transform:translateY(-1px);color:#fff!important}

/* 店舗情報：住所の直下に地図を表示 */
.tn-shop-map-fact dd{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.tn-shop-inline-map{
  grid-column:1 / -1;
  width:100%;
  margin-top:2px;
  overflow:hidden;
  border:1px solid #e4ddd3;
  border-radius:10px;
  background:#f3efe9;
}
.tn-shop-inline-map iframe{
  display:block;
  width:100%;
  height:230px;
  border:0;
}

/* 後段の共通リンク色に負けないよう、公式ロゴ内は白を固定 */
.tn-shop-fact a.tn-social-icon,
.tn-shop-fact a.tn-social-icon:visited,
.tn-shop-fact a.tn-social-icon:hover,
.tn-shop-fact a.tn-social-icon:focus{
  color:#fff!important;
}
.tn-shop-fact a.tn-social-icon svg{
  color:#fff!important;
}

@media screen and (max-width:480px){
  .tn-shop-account-links{gap:5px}
  .tn-social-icon{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:6px;font-size:10px}
  .tn-social-icon svg{width:21px;height:21px}
  .tn-shop-inline-map iframe{height:210px}
}

/* =========================================================
   2026-09-10 店舗詳細：セクション見出し / 紹介文入力欄
   ========================================================= */
.tn-shop-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 16px;
  padding:0 0 10px;
  border-bottom:2px solid #c7a56a;
}
.tn-shop-section-head h2{
  flex:1 1 auto;
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.tn-shop-map-large-link{
  flex:0 0 auto;
  width:auto!important;
  min-height:36px!important;
  padding:0 13px!important;
  border-radius:8px;
  font-size:12px!important;
  white-space:nowrap;
}

/* 店舗情報編集：紹介文は60文字を見渡せる大きめ textarea */
.tn-shop-edit-field textarea{
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:118px;
  box-sizing:border-box;
  border:1px solid #c9c2b8;
  border-radius:8px;
  background:#fff;
  padding:12px 13px;
  font:inherit;
  line-height:1.65;
  resize:vertical;
}
.tn-shop-edit-intro textarea{min-height:132px}

@media screen and (max-width:480px){
  .tn-shop-section-head{gap:8px;margin-bottom:12px;padding-bottom:8px}
  .tn-shop-map-large-link{
    min-height:32px!important;
    padding:0 9px!important;
    font-size:11px!important;
  }
  .tn-shop-edit-intro textarea{
    min-height:145px;
    font-size:16px;
  }
}

/* 2026-09-10: 一覧評価を0.1刻みの部分塗りにし、あなたの評価を同じ行へ */
.tn-list-stars{
  display:inline-flex;
  gap:0;
}
.tn-list-star{
  display:inline-block;
  color:transparent;
  background:linear-gradient(
    to right,
    #cf8a00 0%,
    #cf8a00 var(--tn-star-fill, 0%),
    #c9c3ba var(--tn-star-fill, 0%),
    #c9c3ba 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.tn-my-rating-inline{
  margin-left:8px;
  color:#14834b;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
@media screen and (max-width: 767px){
}


/* =========================================================
   2026-09-11 PC一覧：上下余白のバランス最終調整
   - カード高さ・写真サイズはそのまま
   - 途中の縦間隔を少し圧縮し、タグ下に上端と同程度の余白を確保
   - スマホ表示は変更しない
========================================================= */
@media screen and (min-width:768px){
  body.post-type-archive-ramen .tn-list-body,
  body.tax-ramen_area .tn-list-body,
  body.home .tn-list-body{
    padding:11px 18px 11px;
  }

  body.post-type-archive-ramen .tn-list-rating,
  body.tax-ramen_area .tn-list-rating,
  body.home .tn-list-rating{
    margin-top:4px;
  }

  body.post-type-archive-ramen .tn-list-catch,
  body.tax-ramen_area .tn-list-catch,
  body.home .tn-list-catch{
    margin-top:4px;
    line-height:1.4;
  }

  body.post-type-archive-ramen .tn-list-meta,
  body.tax-ramen_area .tn-list-meta,
  body.home .tn-list-meta{
    gap:1px;
    margin-top:6px;
    padding-top:5px;
    font-size:11px;
    line-height:1.3;
  }

  body.post-type-archive-ramen .tn-list-meta-label,
  body.tax-ramen_area .tn-list-meta-label,
  body.home .tn-list-meta-label{
    line-height:1.4;
  }

  body.post-type-archive-ramen .tn-list-tags,
  body.tax-ramen_area .tn-list-tags,
  body.home .tn-list-tags{
    margin-top:4px;
    margin-bottom:0;
  }

  body.post-type-archive-ramen .tn-list-tags span,
  body.tax-ramen_area .tn-list-tags span,
  body.home .tn-list-tags span{
    min-height:20px;
    padding:1px 7px;
  }

  /* 情報について：PCだけ上下の空白をさらに圧縮 */
  .tn-shop-info-section{
    margin-top:14px;
    padding:12px 20px 10px;
  }

  .tn-shop-info-section h2{
    margin-bottom:4px;
    padding-bottom:6px;
  }

  .tn-shop-info-section .tn-shop-facts{
    padding:0 20px 0;
  }

  .tn-shop-info-section .tn-shop-fact{
    padding:5px 0;
  }
}


/* =========================================================
   2026-09-11 店舗情報報告 / 店舗情報修正ガイド
========================================================= */
.tn-shop-info-head{
  align-items:flex-start;
  margin-bottom:8px;
  padding-bottom:8px;
}
.tn-shop-report-details{
  position:relative;
  flex:0 0 auto;
  max-width:min(100%, 760px);
}
.tn-shop-report-details > summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 13px;
  border:1px solid #c7a56a;
  border-radius:8px;
  background:#fffaf1;
  color:#6e5428;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.tn-shop-report-details > summary::-webkit-details-marker{display:none;}
.tn-shop-report-details[open] > summary{background:#f5ead6;}
.tn-shop-report-panel{
  position:absolute;
  z-index:30;
  top:44px;
  right:0;
  width:min(520px, calc(100vw - 40px));
  padding:16px;
  border:1px solid #d9c9ad;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 34px rgba(39,31,22,.18);
}
.tn-shop-report-panel > p{margin:0 0 12px;font-size:13px;line-height:1.6;}
.tn-shop-report-form{display:grid;gap:11px;}
.tn-shop-report-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#333;}
.tn-shop-report-form label > span{font-weight:400;color:#8a8176;}
.tn-shop-report-form .tn-required{color:#b84444;font-weight:700;}
.tn-shop-report-form input,
.tn-shop-report-form select,
.tn-shop-report-form textarea{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  padding:10px 11px;
  border:1px solid #d7cec1;
  border-radius:7px;
  background:#fff;
  font-size:14px;
  font-family:inherit;
}
.tn-shop-report-form textarea{resize:vertical;min-height:105px;}
.tn-shop-report-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tn-shop-report-submit{
  justify-self:start;
  min-height:38px;
  padding:7px 18px;
  border:0;
  border-radius:7px;
  background:#4a3429;
  color:#fff;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.tn-shop-report-message{padding:8px 10px;border-radius:7px;font-weight:700;}
.tn-shop-report-message.is-success{background:#edf8f0;color:#28723d;}
.tn-shop-report-message.is-error{background:#fff0f0;color:#a53a3a;}
.tn-shop-report-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.tn-shop-info-empty{margin:6px 20px 2px;color:#746c62;font-size:13px;}


/* =========================================================
   2026-09-11 共通メニュー / 共通パンくず / 店舗詳細UI
   ここを公開画面の唯一の基準にする
========================================================= */

/* ---------- PC / SP 共通固定メニュー ---------- */
.tn-canonical-menu,
.tn-canonical-menu ul{
  margin:0;
  padding:0;
  list-style:none;
}

.desktop-main-nav .tn-canonical-menu{
  display:flex;
  width:100%;
}
.desktop-main-nav .tn-canonical-menu>li{
  position:relative;
  flex:1 1 0;
  min-width:0;
}
.desktop-main-nav .tn-canonical-menu>li>a{
  display:flex;
  align-items:center;
  justify-content:center;
  height:54px;
  box-sizing:border-box;
  white-space:nowrap;
}

/* 1段目のプルダウン */
.desktop-main-nav .tn-canonical-menu>li>.sub-menu{
  display:none;
  position:absolute;
  z-index:1000;
  top:100%;
  left:0;
  min-width:190px;
  background:#4a3429;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.desktop-main-nav .tn-canonical-menu>li:hover>.sub-menu{
  display:block;
}
.desktop-main-nav .tn-canonical-menu .sub-menu li{
  position:relative;
  display:block;
  width:100%;
}
.desktop-main-nav .tn-canonical-menu .sub-menu a{
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:11px 15px;
  color:#fff;
  background:#4a3429;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:13px;
  line-height:1.45;
  text-decoration:none;
  white-space:nowrap;
}
.desktop-main-nav .tn-canonical-menu .sub-menu a:hover{
  color:#f3c45b;
  background:#34241d;
}
/* 地方 → 都道府県 */
.desktop-main-nav .tn-area-region-menu>.tn-region-menu>.sub-menu{
  display:none;
  position:absolute;
  z-index:1001;
  top:0;
  left:100%;
  min-width:155px;
  background:#4a3429;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.desktop-main-nav .tn-area-region-menu>.tn-region-menu:hover>.sub-menu{
  display:block;
}

/* ---------- スマホメニュー ---------- */
.sp-menu .tn-canonical-menu{
  display:block;
  width:100%;
}
.sp-menu .tn-canonical-menu>li{
  display:block;
  width:100%;
}
.sp-menu .tn-canonical-menu .sub-menu{
  display:none;
  position:static;
  width:100%;
  min-width:0;
  box-shadow:none;
  background:transparent;
}
.sp-menu .tn-canonical-menu .sub-menu.is-open,
.sp-menu .tn-canonical-menu li.is-open>.sub-menu,
.sp-menu .tn-canonical-menu li.open>.sub-menu{
  display:block;
}

/* ---------- パンくず：/user-mypage/ と同じ1構造 ---------- */
.breadcrumb-area,
.tn-unified-breadcrumb{
  position:static!important;
  left:auto!important;
  width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:10px 0 14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#6f675e!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.breadcrumb-area a,
.tn-unified-breadcrumb a{
  color:#4a3429!important;
  text-decoration:none!important;
}
.breadcrumb-area .bc-sep,
.tn-unified-breadcrumb .bc-sep{
  color:#9b948b!important;
}
.breadcrumb-area .bc-current,
.tn-unified-breadcrumb .bc-current{
  color:#6f675e!important;
}

/* ---------- 店舗詳細の見出し + ボタン ---------- */
.tn-shop-edit-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 16px;
  padding:0 0 10px;
  border-bottom:2px solid #c7a56a;
  flex-wrap:nowrap;
}
.tn-shop-edit-head h2{
  flex:1 1 auto;
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

@media screen and (min-width:701px){
  .tn-shop-report-details>summary,
  .tn-shop-edit-toggle{
    box-sizing:border-box;
    width:160px;
    min-height:42px;
    padding:10px 12px;
    border-radius:7px;
    font-size:12px;
    line-height:1.4;
  }
}

/* ---------- 報告フォームの操作ボタン ---------- */
.tn-shop-report-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.tn-shop-report-submit,
.tn-shop-report-cancel{
  width:auto!important;
  min-width:110px;
  min-height:38px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 18px;
  border-radius:7px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.tn-shop-report-cancel{
  border:1px solid #bcb4a9;
  background:#fff;
  color:#555;
}
.tn-shop-report-cancel:hover{background:#f7f4ef;}

/* ---------- スマホ：PC構成に準拠 ---------- */
@media screen and (max-width:700px){
  .breadcrumb-area,
  .tn-unified-breadcrumb{
    margin:10px 0 12px!important;
    font-size:12px!important;
  }

  .tn-shop-info-head,
  .tn-shop-edit-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    flex-wrap:nowrap!important;
    padding-bottom:9px!important;
    border-bottom:2px solid #c7a56a!important;
  }
  .tn-shop-info-head h2,
  .tn-shop-edit-head h2{
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    font-size:20px!important;
    line-height:1.3!important;
  }
  .tn-shop-report-details,
  .tn-shop-edit-toggle,
  .tn-shop-edit-login{justify-self:end!important;}
  .tn-shop-report-details>summary,
  .tn-shop-edit-toggle,
  .tn-shop-edit-login{
    box-sizing:border-box!important;
    width:150px!important;
    min-width:150px!important;
    min-height:42px!important;
    padding:8px 9px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:11px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }

  .tn-shop-report-panel{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:80px!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100vh - 100px)!important;
    overflow:auto!important;
  }
  .tn-shop-report-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }
  .tn-shop-report-submit{
    width:auto!important;
    min-width:140px!important;
  }
  .tn-shop-report-cancel{
    width:auto!important;
    min-width:105px!important;
  }
}

@media screen and (max-width:480px){
  .tn-shop-info-head h2,
  .tn-shop-edit-head h2{font-size:18px!important;}
  .tn-shop-report-details>summary,
  .tn-shop-edit-toggle,
  .tn-shop-edit-login{
    width:142px!important;
    min-width:142px!important;
    min-height:40px!important;
    font-size:10px!important;
  }
  .tn-shop-report-submit{
    min-width:130px!important;
  }
  .tn-shop-report-cancel{
    min-width:100px!important;
  }
}


/* =========================================================
   2026-09-11 メニュー・パンくず最終一元化
========================================================= */
.tn-submenu-toggle{
  display:none;
}

@media screen and (min-width:769px){
  .desktop-main-nav .tn-canonical-menu>li>.sub-menu{
    min-width:210px;
  }
  .desktop-main-nav .tn-area-region-menu>.tn-region-menu>.tn-prefecture-menu{
    max-height:70vh;
    overflow-y:auto;
  }
}

@media screen and (max-width:768px){
  .sp-menu .tn-canonical-menu li.menu-item-has-children{
    position:relative;
  }
  .sp-menu .tn-canonical-menu li.menu-item-has-children>a{
    padding-right:52px!important;
  }
  .sp-menu .tn-submenu-toggle{
    display:flex;
    position:absolute;
    right:6px;
    top:5px;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid rgba(255,255,255,.28);
    border-radius:6px;
    background:transparent;
    color:inherit;
    font-size:22px;
    line-height:1;
    z-index:3;
  }
  .sp-menu .tn-canonical-menu li.is-open>.tn-submenu-toggle span{
    transform:rotate(45deg);
  }
  .sp-menu .tn-canonical-menu li.is-open>.sub-menu{
    display:block!important;
  }
  .sp-menu .tn-area-region-menu>.tn-region-menu>.tn-prefecture-menu{
    padding-left:14px!important;
  }
  .sp-menu .tn-prefecture-menu a{
    font-size:13px!important;
  }
}


/* =========================================================
   2026-09-11 パンくず・メニュー 完全一元化
   基準: /user-mypage/
========================================================= */
/* Cocoon/旧テンプレートのパンくずは表示させない。共通パンくずだけを残す */
#breadcrumb,
#custom-fixed-breadcrumb,
.tn-guide-breadcrumb,
.tn-shop-breadcrumb,
.tn-list-breadcrumb,
.breadcrumb-area:not(.tn-unified-breadcrumb){
  display:none!important;
}

.tn-global-breadcrumb-shell{
  box-sizing:border-box;
}
.tn-global-breadcrumb-shell .tn-unified-breadcrumb{
  position:static!important;
  width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:10px 0 14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#6f675e!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.tn-global-breadcrumb-shell .tn-unified-breadcrumb a{
  color:#4a3429!important;
  text-decoration:none!important;
}
.tn-global-breadcrumb-shell .tn-unified-breadcrumb .bc-sep{color:#9b948b!important;}
.tn-global-breadcrumb-shell .tn-unified-breadcrumb .bc-current{color:#6f675e!important;}

/* PC: 一覧→地方→47都道府県を必ず辿れる */
@media screen and (min-width:769px){
  .desktop-main-nav .tn-canonical-menu li.menu-item-has-children{position:relative;}
  .desktop-main-nav .tn-canonical-menu li.menu-item-has-children:hover>.sub-menu,
  .desktop-main-nav .tn-canonical-menu li.menu-item-has-children:focus-within>.sub-menu{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .desktop-main-nav .tn-area-region-menu>.tn-region-menu>.tn-prefecture-menu{
    display:none;
    position:absolute;
    left:100%;
    top:0;
    min-width:180px;
    max-height:72vh;
    overflow-y:auto;
    z-index:10020;
  }
}

/* SP: +ボタンで各階層を開閉。47都道府県を省略しない */
@media screen and (max-width:768px){
  .tn-global-breadcrumb-shell .tn-unified-breadcrumb{
    margin:10px 0 12px!important;
    font-size:12px!important;
  }
  .sp-menu .tn-canonical-menu .sub-menu{display:none!important;}
  .sp-menu .tn-canonical-menu li.is-open>.sub-menu{display:block!important;}
  .sp-menu .tn-area-region-menu,
  .sp-menu .tn-prefecture-menu{width:100%!important;box-sizing:border-box!important;}
  .sp-menu .tn-prefecture-menu{padding-left:14px!important;}
}

/* =========================================================
   2026-09-12 店舗情報登録/編集 完全統一 + スマホメニュー記号修正
   このブロックを登録/編集ガイドとサブメニュー記号の唯一の追加定義とする
========================================================= */
/* 登録・編集ガイドは同じ外枠/見出しコンポーネントを使用 */
.tn-new-shop-page .tn-shop-register-section{
  width:100%;
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
.tn-shop-edit-guide-lead{margin:0 0 22px;color:#555;line-height:1.7;}
.tn-shop-edit-guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;}
.tn-shop-edit-guide-steps>div{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:18px;border:1px solid #e5ddd2;border-radius:10px;background:#fbfaf8;box-sizing:border-box;}
.tn-shop-edit-guide-steps strong{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#4a3429;color:#fff;font-size:14px;}
.tn-shop-edit-guide-steps p{margin:0;font-size:14px;line-height:1.7;}
.tn-shop-edit-guide-steps b{font-size:15px;}
.tn-shop-edit-guide-note{margin:20px 0 0;padding:15px 17px;border-radius:9px;background:#f6f1e8;color:#665b4d;font-size:13px;line-height:1.75;}
.tn-shop-edit-guide-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;align-items:center;}
.tn-shop-edit-guide-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 18px;border:1px solid #4a3429;border-radius:8px;background:#fff;color:#4a3429!important;text-decoration:none!important;font-weight:700;box-sizing:border-box;}

/* 旧テーマのリンク矢印は共通メニューでは完全に無効化 */
.sp-menu .tn-canonical-menu li.menu-item-has-children>a::before,
.sp-menu .tn-canonical-menu li.menu-item-has-children>a::after{
  content:none!important;
  display:none!important;
  border:0!important;
  width:0!important;
  height:0!important;
  background:none!important;
}
/* 右ボタンは + / − の文字だけ。回転や疑似要素は使わない */
.sp-menu .tn-submenu-toggle{
  overflow:hidden!important;
  background:transparent!important;
  background-image:none!important;
  font-family:Arial,sans-serif!important;
  text-indent:0!important;
}
.sp-menu .tn-submenu-toggle::before,
.sp-menu .tn-submenu-toggle::after,
.sp-menu .tn-submenu-toggle span::before,
.sp-menu .tn-submenu-toggle span::after{content:none!important;display:none!important;}
.sp-menu .tn-submenu-toggle span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:1!important;
  transform:none!important;
  writing-mode:horizontal-tb!important;
}
.sp-menu .tn-canonical-menu li.is-open>.tn-submenu-toggle span{transform:none!important;}

@media screen and (max-width:700px){
  .tn-shop-edit-guide-steps{grid-template-columns:1fr;gap:10px;}
  .tn-shop-edit-guide-steps>div{padding:14px;}
  .tn-shop-edit-guide-lead{font-size:14px;}

  body.page-template-page-shop-edit-guide .tn-shop-edit-guide-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  body.page-template-page-shop-edit-guide .tn-shop-edit-guide-actions > a{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  /* 日付欄を他のフォーム欄と完全同サイズ */
  .tn-new-shop-page .tn-shop-edit-field input[type="date"],
  .tn-shop-edit-panel .tn-shop-edit-field input[type="date"]{
    display:block!important;
    width:100%!important;
    inline-size:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    padding:9px 10px!important;
    border:1px solid #c9c2b8!important;
    border-radius:6px!important;
    background:#fff!important;
    box-sizing:border-box!important;
    font:inherit!important;
    line-height:1.4!important;
    -webkit-appearance:auto!important;
    appearance:auto!important;
  }
}


/* =========================================================
   2026-09-12 店舗情報登録/編集の開始位置統一 + 固定ページ共通UI
========================================================= */
/* パンくず直下のカード開始位置を登録/編集で完全一致させる */
.tn-new-shop-page > .tn-shop-register-section,
.tn-new-shop-page .tn-shop-register-section{
  margin-top:0 !important;
  margin-bottom:40px !important;
}
@media screen and (max-width:767px){
  .tn-new-shop-page > .tn-shop-register-section,
  .tn-new-shop-page .tn-shop-register-section{
    margin-top:0 !important;
    margin-bottom:28px !important;
  }
}

/* サイトについて・お問い合わせ：no1-ramen 共通固定ページデザイン */
.tn-static-page{width:100%;box-sizing:border-box;}
.tn-static-card{
  width:100%;max-width:1040px;margin:0 auto 40px;padding:24px;
  border:1px solid #e3d8ca;border-radius:14px;background:#fff;
  box-sizing:border-box;box-shadow:0 7px 26px rgba(39,31,22,.04);
}
.tn-static-head{margin:0 0 18px;padding:0 0 12px;border-bottom:2px solid #d49a3a;}
.tn-static-head h1{margin:0;font-size:28px;line-height:1.4;color:#222;}
.tn-static-lead{margin:0 0 26px;color:#555;line-height:1.85;}
.tn-static-block{margin-top:26px;}
.tn-static-block h2{margin:0 0 12px;padding:0 0 9px;border-bottom:1px solid #e8dccd;font-size:21px;line-height:1.4;}
.tn-static-block p{margin:8px 0;line-height:1.9;color:#4e4943;}
.tn-about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.tn-about-item{padding:18px;border:1px solid #e5ddd2;border-radius:10px;background:#fbfaf8;box-sizing:border-box;}
.tn-about-item strong{display:block;margin-bottom:5px;font-size:16px;color:#222;}
.tn-about-item p{margin:0;font-size:14px;line-height:1.75;}
.tn-static-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.tn-static-primary,.tn-static-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:8px;font-weight:700;text-decoration:none!important;box-sizing:border-box;}
.tn-static-primary{background:#4a3429;color:#fff!important;border:1px solid #4a3429;}
.tn-static-secondary{background:#fff;color:#4a3429!important;border:1px solid #4a3429;}

.tn-contact-form{margin-top:24px;}
.tn-contact-field{margin-bottom:20px;}
.tn-contact-field label{display:block;margin-bottom:8px;font-weight:700;font-size:15px;}
.tn-contact-field label span,.tn-contact-agree span{color:#c64e45;font-size:12px;margin-left:5px;}
.tn-contact-field input,.tn-contact-field select,.tn-contact-field textarea{width:100%;max-width:100%;box-sizing:border-box;border:1px solid #cfc5b8;border-radius:8px;background:#fff;padding:12px 14px;font:inherit;}
.tn-contact-field input,.tn-contact-field select{height:50px;}
.tn-contact-field textarea{min-height:180px;resize:vertical;line-height:1.7;}
.tn-contact-agree{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px;line-height:1.6;}
.tn-contact-agree input{width:auto;}
.tn-contact-actions{margin-top:22px;}
.tn-contact-actions button{min-width:180px;min-height:46px;padding:10px 22px;border:0;border-radius:8px;background:#4a3429;color:#fff;font-weight:700;font-size:15px;cursor:pointer;}
.tn-contact-success{margin:18px 0;padding:14px 16px;border-radius:8px;background:#edf8ef;color:#267540;font-weight:700;line-height:1.6;}
.tn-contact-errors{margin:18px 0;padding:12px 16px;border-radius:8px;background:#fff1f1;color:#a83232;}
.tn-contact-errors ul{margin:0;padding-left:1.4em;}

@media screen and (max-width:767px){
  .tn-static-card{margin:0 12px 28px;width:auto;padding:16px 12px;border-radius:10px;}
  .tn-static-head h1{font-size:23px;}
  .tn-static-lead{font-size:14px;line-height:1.75;}
  .tn-static-block h2{font-size:19px;}
  .tn-about-grid{grid-template-columns:1fr;gap:10px;}
  .tn-about-item{padding:14px;}
  .tn-static-actions{display:grid;grid-template-columns:1fr;}
  .tn-static-primary,.tn-static-secondary{width:100%;}
  .tn-contact-actions button{width:100%;}
}

/* =========================================================
   2026-09-12 店舗情報登録/編集 内側位置の完全統一
========================================================= */
/* PC：外枠だけでなく、内側の文字開始位置も同じ24pxに固定 */
body .tn-new-shop-page .tn-shop-register-section,
body .tn-new-shop-page .tn-shop-edit-guide-section{
  width:100% !important;
  max-width:1040px !important;
  margin:0 auto 40px !important;
  padding:24px !important;
  box-sizing:border-box !important;
}
body .tn-new-shop-page .tn-shop-register-section > .tn-shop-edit-head,
body .tn-new-shop-page .tn-shop-edit-guide-section > .tn-shop-edit-head{
  margin:0 0 18px !important;
  padding:0 0 12px !important;
  border-bottom:2px solid #d49a3a !important;
}
body .tn-new-shop-page .tn-shop-register-section > .tn-shop-edit-head h1,
body .tn-new-shop-page .tn-shop-edit-guide-section > .tn-shop-edit-head h1{
  margin:0 !important;
  padding:0 !important;
  font-size:28px !important;
  line-height:1.4 !important;
}
body .tn-new-shop-page .tn-shop-edit-guide-lead,
body .tn-new-shop-page .tn-shop-register-section > .tn-shop-edit-note{
  margin-left:0 !important;
  margin-right:0 !important;
}

@media screen and (max-width:767px){
  body .tn-new-shop-page .tn-shop-register-section,
  body .tn-new-shop-page .tn-shop-edit-guide-section{
    width:auto !important;
    max-width:none !important;
    margin:0 12px 28px !important;
    padding:16px 12px !important;
    border-radius:10px !important;
  }
  body .tn-new-shop-page .tn-shop-register-section > .tn-shop-edit-head h1,
  body .tn-new-shop-page .tn-shop-edit-guide-section > .tn-shop-edit-head h1{
    font-size:23px !important;
  }
}
\n\n/* 2026-09-12 サイトについて：副ボタン幅を店舗情報編集ボタンに統一 */\n.tn-static-actions .tn-static-secondary{\n  min-width:204px;\n}\n@media screen and (max-width:700px){\n  .tn-static-actions .tn-static-secondary{min-width:0;width:100%;}\n}\n\n\n/* =========================================================\n   2026-09-12 TOP PAGE REFRESH\n========================================================= */\n.tn-home{background:#f7f4ef;color:#202326;padding-bottom:48px;}\n.tn-home *{box-sizing:border-box;}\n.tn-home-wrap{width:min(1120px,calc(100% - 32px));margin:0 auto;}\n.tn-home-hero{padding:34px 0 24px;}\n.tn-home-hero-inner{background:linear-gradient(135deg,#fff 0%,#fbf7ef 100%);border:1px solid #e4dbce;border-radius:18px;padding:44px 48px;box-shadow:0 8px 28px rgba(46,40,32,.06);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:36px;align-items:center;}\n.tn-home-kicker{margin:0 0 10px;color:#9a6a23;font-weight:800;letter-spacing:.14em;font-size:13px;}\n.tn-home-hero h1{margin:0;font-size:clamp(32px,4vw,52px);line-height:1.2;letter-spacing:.02em;}\n.tn-home-hero p.tn-home-lead{font-size:16px;line-height:1.9;margin:18px 0 0;color:#54504a;}\n.tn-home-search{margin-top:24px;display:flex;gap:10px;}\n.tn-home-search a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:9px;font-weight:800;text-decoration:none;}\n.tn-home-search .is-primary{background:#6b4636;color:#fff;}\n.tn-home-search .is-secondary{background:#fff;color:#6b4636;border:1px solid #6b4636;}\n.tn-home-hero-panel{background:#6b4636;color:#fff;border-radius:16px;padding:26px;}\n.tn-home-hero-panel strong{display:block;font-size:22px;margin-bottom:10px;}\n.tn-home-hero-panel p{margin:0;line-height:1.8;color:#f5f0e8;}\n.tn-home-hero-panel .tn-home-stat{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}\n.tn-home-stat div{background:rgba(255,255,255,.1);border-radius:10px;padding:12px;text-align:center;}\n.tn-home-stat b{font-size:24px;display:block;}\n.tn-home-section{margin-top:28px;background:#fff;border:1px solid #e4dbce;border-radius:16px;padding:28px 30px;box-shadow:0 6px 22px rgba(46,40,32,.04);}\n.tn-home-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:2px solid #c99a4a;margin-bottom:20px;}\n.tn-home-section-head h2{font-size:24px;margin:0;}\n.tn-home-section-head a{font-size:14px;font-weight:700;color:#6b4636;text-decoration:none;}\n.tn-home-regions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}\n.tn-home-region{display:block;padding:15px 16px;border:1px solid #ded6ca;border-radius:10px;text-decoration:none;color:#222;background:#fcfbf9;font-weight:700;}\n.tn-home-region span{display:block;color:#80683f;font-size:12px;font-weight:600;margin-top:4px;}\n.tn-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}\n.tn-home-card{border:1px solid #e0d8cd;border-radius:12px;overflow:hidden;background:#fff;}\n.tn-home-card>a{display:block;text-decoration:none;color:inherit;height:100%;}\n.tn-home-card-img{height:180px;background:#eee;overflow:hidden;}\n.tn-home-card-img img{width:100%;height:100%;object-fit:cover;display:block;}\n.tn-home-card-body{padding:14px 15px 16px;}\n.tn-home-card-area{font-size:12px;color:#9a6a23;font-weight:800;margin:0 0 4px;}\n.tn-home-card h3{font-size:18px;line-height:1.35;margin:0 0 8px;}\n.tn-home-rating{font-size:13px;color:#777;display:flex;gap:7px;align-items:center;margin-bottom:8px;}\n.tn-home-rating .stars{color:#d58a00;letter-spacing:.04em;}\n.tn-home-card-meta{font-size:13px;line-height:1.6;color:#555;margin:0;}\n.tn-home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}\n.tn-home-action{border:1px solid #ded6ca;border-radius:12px;padding:20px;text-decoration:none;color:#222;background:#fcfbf9;}\n.tn-home-action strong{display:block;font-size:18px;margin-bottom:6px;}\n.tn-home-action span{font-size:13px;line-height:1.65;color:#666;}\n@media(max-width:820px){\n  .tn-home-wrap{width:min(100% - 24px,1120px);}\n  .tn-home-hero{padding-top:18px;}\n  .tn-home-hero-inner{grid-template-columns:1fr;padding:26px 20px;gap:18px;border-radius:14px;}\n  .tn-home-hero h1{font-size:32px;}\n  .tn-home-search{display:grid;grid-template-columns:1fr 1fr;}\n  .tn-home-section{padding:20px 16px;margin-top:18px;}\n  .tn-home-regions{grid-template-columns:1fr 1fr;}\n  .tn-home-grid{grid-template-columns:1fr;}\n  .tn-home-card>a{display:grid;grid-template-columns:118px 1fr;}\n  .tn-home-card-img{height:132px;}\n  .tn-home-card-body{padding:11px 12px;}\n  .tn-home-card h3{font-size:17px;}\n  .tn-home-actions{grid-template-columns:1fr;}\n}\n

/* 2026-09-12 ABOUT button exact alignment */
@media screen and (min-width:701px){
  body.page-template-page-about .tn-static-actions .tn-static-secondary,
  body.page-id-0 .tn-static-actions .tn-static-secondary{
    width:204px !important;
    min-width:204px !important;
    max-width:204px !important;
  }
}

@media screen and (min-width:701px){
  .tn-static-page .tn-static-actions .tn-static-secondary{
    width:204px !important;
    min-width:204px !important;
    max-width:204px !important;
  }
}


/* =========================================================
   2026-09-12 PCヘッダーメニュー / フッターメニュー中央寄せ
   背景は全幅のまま、メニュー本体だけ本文幅に中央配置
========================================================= */
@media screen and (min-width:769px){

  /* 上部メニュー */
  .desktop-main-nav .desktop-nav-inner{
    width:100% !important;
    max-width:1040px !important;
    margin:0 auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  .desktop-main-nav .tn-canonical-menu{
    width:100% !important;
    max-width:1040px !important;
    margin:0 auto !important;
  }

  /* フッターメニュー */
  #footer .site-footer-in{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
  }

  #footer .tn-footer-canonical{
    width:100% !important;
    max-width:1040px !important;
    margin:0 auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    justify-content:center !important;
    gap:48px !important;
  }

  #footer .tn-footer-canonical .footer-menu-column{
    flex:1 1 0 !important;
    min-width:0 !important;
    max-width:315px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* =========================================================
   2026-09-12 新規店舗登録：スマホのオープン日はみ出し完全修正
========================================================= */
@media screen and (max-width:700px){
  body.page-template-page-shop-register .tn-shop-edit-field,
  body.page-template-page-shop-register .tn-shop-edit-row,
  body.page-template-page-shop-register .tn-shop-edit-col,
  body.page-template-page-shop-register .tn-shop-register-section{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  body.page-template-page-shop-register input[type="date"],
  body.page-template-page-shop-register .tn-shop-edit-field input[type="date"],
  body.page-template-page-shop-register .tn-shop-edit-row input[type="date"]{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:52px !important;
    min-height:52px !important;
    padding:10px 12px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    border:1px solid #c9c2b8 !important;
    border-radius:6px !important;
    background:#fff !important;
    font:inherit !important;
    -webkit-appearance:none !important;
    appearance:none !important;
  }

  /* iPhone/Safari の date 内部要素が横幅を押し広げるのを防止 */
  body.page-template-page-shop-register input[type="date"]::-webkit-date-and-time-value{
    min-width:0 !important;
    width:100% !important;
    text-align:left !important;
  }
  body.page-template-page-shop-register input[type="date"]::-webkit-datetime-edit{
    min-width:0 !important;
    padding:0 !important;
  }
}


/* 2026-09-12 HOME: 紺エリア中央寄せ / 一覧は通常一覧CSSのみ使用 */
body.home .searchbox,
body.home .searchbox_text,
body.home .search_title,
body.home .searchtext,
body.home .searchtext p{
  text-align:center !important;
}
body.home .searchbox_text{
  width:min(760px, calc(100% - 32px)) !important;
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* スマホ：写真左・情報右を必ず維持 */
@media screen and (max-width:767px){
}

/* HOMEのサイトについてボタン：ラーメン店一覧を見ると同サイズ・中央 */
body.home .tn-home-actions{
  display:flex !important;
  justify-content:center !important;
}
body.home .tn-home-actions a,
body.home .tn-home-more a{
  width:206px !important;
  min-width:206px !important;
  max-width:206px !important;
  box-sizing:border-box !important;
}


/* HOME 紺エリアは中央寄せ */
body.home .searchbox,
body.home .searchbox_text,
body.home .search_title,
body.home .searchtext,
body.home .searchtext p{
  text-align:center !important;
}
body.home .searchbox_text{
  width:min(760px, calc(100% - 32px)) !important;
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}


/* =========================================================
   2026-09-12 HOME HERO 中央寄せのみ
   店舗カードには一切触れない
========================================================= */
body.home .searchbox{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}
body.home .searchbox_text,
body.home .searchbox-inner{
  width:min(760px, calc(100% - 32px)) !important;
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  text-align:center !important;
}
body.home .search_title,
body.home .searchtext,
body.home .searchtext p{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* ニュース個別タイトル：PC/スマホとも中央。
   スマホでは1行で収めて「開始」だけ落ちるのを防止 */

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




/* 2026-09-12 お知らせ個別：外枠・見出しは「サイトについて」と完全共通。
   ニュース固有なのは日付/カテゴリと本文間隔のみ。 */
body.single-news .tn-news-meta{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 22px;
  color:#666;
  font-size:14px;
}
body.single-news .tn-news-category{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 10px;
  border-radius:4px;
  background:#f3f1ee;
}
body.single-news .tn-news-content{
  margin-top:0;
}
body.single-news .tn-news-content p{
  margin:8px 0;
  line-height:1.9;
  color:#4e4943;
}
@media screen and (max-width:767px){
  body.single-news .tn-news-meta{
    gap:10px;
    margin-bottom:18px;
    font-size:13px;
  }
}


/* 2026-09-12 HOME 現在地検索 */
.tn-nearby-search{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:24px auto 0;
  text-align:center;
}
.tn-nearby-search-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:10px 22px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:8px;
  background:#fff;
  color:#3b2a22;
  font-size:16px;
  line-height:1.4;
  font-weight:700;
  cursor:pointer;
  box-sizing:border-box;
  box-shadow:0 3px 12px rgba(0,0,0,.10);
}
.tn-nearby-search-button:hover{opacity:.92;}
.tn-nearby-search-button:disabled{opacity:.65;cursor:wait;}
.tn-nearby-search-status{
  min-height:1.5em;
  margin:8px 0 0 !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
.tn-nearby-search-status.is-error{color:#ffe0d8 !important;}
@media screen and (max-width:767px){
  .tn-nearby-search{margin-top:18px;}
  .tn-nearby-search-button{
    width:min(88%, 340px);
    min-height:46px;
    padding:9px 14px;
    font-size:15px;
  }
}


/* =========================================================
   2026-09-12 パンくず → 一覧タイトル枠の縦マージン
   「サイトについて」と同じ content / content-in 構造を使用。
   左右幅・カード幅は変更しない。
========================================================= */
body.post-type-archive-ramen .tn-list-page,
body.tax-ramen_area .tn-list-page{
  padding-top:0 !important;
}


/* =========================================================
   2026-09-12 ラーメン：渋い茶・焦げ茶 基調色
   レイアウト・余白・サイズは変更しない
========================================================= */
:root{
  --tn-shibui-dark:#3b2a22;
  --tn-shibui-main:#6b4636;
  --tn-shibui-mid:#8a6348;
  --tn-shibui-gold:#b88945;
  --tn-shibui-bg:#f5f0e8;
  --tn-shibui-paper:#fffdf9;
}

/* サイトの地色だけ生成りへ。カード類の寸法は触らない */
body{
  background-color:var(--tn-shibui-bg);
}

/* 既存の青系主要UIを茶系へ統一 */
.tn-static-primary,
.tn-home-btn,
.tn-home-current-location-btn,
.tn-visit-filter-btn.is-active{
  background-color:var(--tn-shibui-main) !important;
  border-color:var(--tn-shibui-main) !important;
}

/* 枠線ボタン */
.tn-static-secondary{
  color:var(--tn-shibui-main) !important;
  border-color:var(--tn-shibui-main) !important;
}

/* ページ内のアクセント */
.tn-static-head,
.tn-static-block h2{
  border-color:var(--tn-shibui-gold) !important;
}


/* =========================================================
   2026-09-12 ラーメンサイト 配色完全統一
   色のみ変更。レイアウト・余白・サイズは変更しない。
========================================================= */
:root{
  --tn-dark:#34241d;
  --tn-dark2:#3b2a22;
  --tn-main:#6b4636;
  --tn-mid:#8a6348;
  --tn-gold:#b88945;
  --tn-bg:#f5f0e8;
  --tn-paper:#fffdf9;
  --tn-line:#d8c8b8;
}

/* 全体背景 */
body{
  background-color:var(--tn-bg) !important;
}

/* PCトップメニュー */
#header-menu,
.header-menu,
.global-menu,
.navi,
.navi-in,
#navi,
#navi-in,
.tn-main-nav,
.tn-desktop-nav{
  background-color:var(--tn-dark2) !important;
}

#header-menu a,
.header-menu a,
.global-menu a,
.navi a,
#navi a,
.tn-main-nav a,
.tn-desktop-nav a{
  color:#fff !important;
}

#header-menu .current-menu-item > a,
.header-menu .current-menu-item > a,
.global-menu .current-menu-item > a,
.navi .current-menu-item > a,
#navi .current-menu-item > a,
.tn-main-nav .current-menu-item > a,
.tn-desktop-nav .current-menu-item > a{
  background-color:var(--tn-main) !important;
  border-bottom-color:var(--tn-gold) !important;
}

/* ドロップダウン */
.sub-menu,
.tn-area-region-menu,
.tn-prefecture-menu{
  background-color:var(--tn-paper) !important;
}
.sub-menu a,
.tn-area-region-menu a,
.tn-prefecture-menu a{
  color:#3a2d26 !important;
}
.sub-menu a:hover,
.tn-area-region-menu a:hover,
.tn-prefecture-menu a:hover{
  background-color:#efe4d8 !important;
  color:var(--tn-dark) !important;
}

/* スマホメニュー */
.menu-drawer,
.mobile-menu,
.sp-menu,
.tn-mobile-menu,
.tn-mobile-drawer,
.tn-global-mobile-menu{
  background-color:var(--tn-bg) !important;
}
.menu-drawer a,
.mobile-menu a,
.sp-menu a:not(.btn-login),
.tn-mobile-menu a,
.tn-mobile-drawer a,
.tn-global-mobile-menu a{
  color:#3a2d26 !important;
}
.tn-submenu-toggle{
  color:var(--tn-dark) !important;
  border-color:#d6c8b9 !important;
  background:#fffaf4 !important;
}

/* ヒーロー・濃色帯 */
.ramen-hero,
.searchbox{
  background-color:var(--tn-dark2) !important;
}
.ramen-hero .orange,
.searchbox .orange,
.search_title .orange{
  color:#d19a55 !important;
}

/* ボタン */
.tn-static-primary,
.tn-home-btn,
.tn-home-more a,
.tn-home-actions a,
.tn-nearby-search-button,
.tn-visit-filter-btn.is-active,
button[type="submit"]:not([name="delete_me"]),
input[type="submit"]{
  background-color:var(--tn-main) !important;
  border-color:var(--tn-main) !important;
  color:#fff !important;
}
.tn-static-secondary{
  color:var(--tn-main) !important;
  border-color:var(--tn-main) !important;
  background:#fff !important;
}

/* ページ見出しの金ライン */
.tn-static-head,
.tn-static-block h2,
.tn-list-header{
  border-color:var(--tn-gold) !important;
}

/* フッター上部帯 */
.footer-before,
.footer-message,
.tn-footer-message,
.footer-top-message{
  background-color:var(--tn-mid) !important;
  color:#fff !important;
}

/* フッター本体 */
footer,
#footer,
.footer,
.footer-in,
.tn-footer{
  background-color:var(--tn-dark) !important;
  color:#fff !important;
}
footer a,
#footer a,
.footer a,
.tn-footer a{
  color:#fff !important;
}
footer h2,
footer h3,
footer .footer-title,
#footer h2,
#footer h3{
  color:#fff !important;
  border-color:#9b806d !important;
}
footer .fa-caret-right,
footer .fa-angle-right,
footer li::before,
#footer li::before{
  color:#d8a44f !important;
}

/* ページカード */
.tn-static-card,
.tn-list-header,
.tn-visit-tools,
.tn-list-map-section,
.tn-list-card{
  background-color:var(--tn-paper) !important;
  border-color:#ddd0c3 !important;
}

/* パンくず */
.tn-global-breadcrumb-shell,
.breadcrumb-area{
  color:#65584f !important;
}
.breadcrumb-area a{
  color:#6b4636 !important;
}

/* ログイン状態帯 */
.login-status,
.tn-login-status,
.user-login-status{
  background:#f7f1ea !important;
  border-color:#ded0c2 !important;
  color:#3a2419 !important;
}

/* 右下トップへ戻る */
.go-to-top,
#go-to-top,
.tn-back-to-top,
.scroll-top{
  background-color:var(--tn-main) !important;
  color:#fff !important;
}


/* =========================================================
   2026-09-12 渋いラーメンカラー：実セレクタ完全統一
   配色のみ。幅・余白・高さ等のレイアウト値は変更しない。
========================================================= */
:root{
  --tn-brown-dark:#34241d;
  --tn-brown-dark2:#3b2a22;
  --tn-brown-main:#6b4636;
  --tn-brown-mid:#8a6348;
  --tn-brown-gold:#b88945;
  --tn-brown-bg:#f5f0e8;
  --tn-brown-paper:#fffdf9;
}

/* ===== PC ヘッダーメニュー：実際の .desktop-main-nav ===== */
.desktop-main-nav{
  background:linear-gradient(180deg,#4a3429 0%,#34241d 100%) !important;
  border-top-color:rgba(255,255,255,.12) !important;
  border-bottom-color:#2d1f19 !important;
}
.desktop-main-nav .tn-canonical-menu>li>a,
.desktop-main-nav .nav-list>li>a{
  color:#fff !important;
}
.desktop-main-nav .tn-canonical-menu>li>a:hover,
.desktop-main-nav .nav-list>li>a:hover,
.desktop-main-nav .tn-canonical-menu>li.current-menu-item>a,
.desktop-main-nav .tn-canonical-menu>li.current-menu-ancestor>a,
.desktop-main-nav .nav-list>li.current-menu-item>a,
.desktop-main-nav .nav-list>li.current-menu-ancestor>a{
  background:rgba(184,137,69,.22) !important;
  color:#fff !important;
}
.desktop-main-nav .tn-canonical-menu>li>a::after,
.desktop-main-nav .nav-list>li>a::after{
  background:var(--tn-brown-gold) !important;
}

/* PCドロップダウンも同一配色 */
.desktop-main-nav .sub-menu,
.desktop-main-nav .my-custom-submenu,
.desktop-main-nav .tn-area-region-menu,
.desktop-main-nav .tn-prefecture-menu{
  background:var(--tn-brown-paper) !important;
  border-color:#d8c8b8 !important;
}
.desktop-main-nav .sub-menu a,
.desktop-main-nav .my-custom-submenu a,
.desktop-main-nav .tn-area-region-menu a,
.desktop-main-nav .tn-prefecture-menu a{
  background:var(--tn-brown-paper) !important;
  color:#3b2a22 !important;
  border-bottom-color:#eadfd3 !important;
}
.desktop-main-nav .sub-menu a:hover,
.desktop-main-nav .my-custom-submenu a:hover,
.desktop-main-nav .tn-area-region-menu a:hover,
.desktop-main-nav .tn-prefecture-menu a:hover{
  background:#efe4d8 !important;
  color:#34241d !important;
}

/* ===== スマホメニュー ===== */
.sp-menu{
  background:var(--tn-brown-bg) !important;
}
.sp-menu .tn-canonical-menu>li,
.sp-menu .tn-canonical-menu .sub-menu li{
  border-color:#ddd0c3 !important;
}
.sp-menu .tn-canonical-menu a{
  color:#3b2a22 !important;
  background:transparent !important;
}
.sp-menu .tn-canonical-menu a:hover,
.sp-menu .tn-canonical-menu li.current-menu-item>a{
  background:#eadfd3 !important;
  color:#34241d !important;
}
.sp-menu .tn-submenu-toggle{
  background:#fffaf4 !important;
  color:#4a3429 !important;
  border-color:#d8c8b8 !important;
}

/* ===== トップの濃色エリア ===== */
.ramen-hero,
.searchbox{
  background:#3b2a22 !important;
  color:#fff !important;
}
.ramen-hero-kicker,
.ramen-hero .orange,
.searchbox .orange,
.search_title .orange{
  color:#d6a45e !important;
}
.ramen-hero-points span{
  border-color:rgba(214,164,94,.55) !important;
  background:rgba(255,255,255,.07) !important;
}

/* ===== フッター：実際の要素全部 ===== */
#footer.site-footer,
.site-footer,
#footer,
.site-footer-in,
.footer-menu-wrap,
.tn-footer-canonical{
  background:#34241d !important;
  color:#fff !important;
}
#footer .footer-menu-title,
.site-footer .footer-menu-title{
  color:#fff !important;
  border-bottom-color:#8a6a58 !important;
}
#footer .footer-menu-list a,
.site-footer .footer-menu-list a{
  color:#f7f1ea !important;
}
#footer .footer-menu-list a::before,
.site-footer .footer-menu-list a::before{
  color:#d6a45e !important;
}
#footer .footer-menu-list a:hover,
.site-footer .footer-menu-list a:hover{
  color:#f0c47d !important;
}

/* フッター直前の帯 */
.riyou-annsinbox,
.footer-before,
.footer-message,
.tn-footer-message{
  background:#6b4636 !important;
  color:#fff !important;
}

/* ===== ボタン・リンク ===== */
.tn-static-primary,
.tn-home-more a,
.tn-home-actions a,
.tn-shop-btn.is-primary,
.tn-shop-edit-toggle,
.tn-shop-edit-save,
.tn-shop-edit-login,
.tn-phone-btn,
.tn-shop-report-submit,
.tn-nearby-search-button,
.tn-visit-filter-btn.is-active,
.tn-list-pagination .page-numbers.current,
button[type="submit"]:not([name="delete_me"]),
input[type="submit"]{
  background:#6b4636 !important;
  border-color:#6b4636 !important;
  color:#fff !important;
}
.tn-static-secondary,
.tn-shop-edit-guide-secondary{
  background:#fff !important;
  border-color:#6b4636 !important;
  color:#6b4636 !important;
}

/* ===== リンク・パンくず・ページアクセント ===== */
.breadcrumb-area a,
.tn-unified-breadcrumb a,
.tn-shop-fact a,
.tn-rating-login a,
.tn-visit-login-note a,
.tn-map-popup a{
  color:#6b4636 !important;
}
.tn-static-head{
  border-bottom-color:#b88945 !important;
}
.tn-static-block h2{
  border-bottom-color:#d7c4b2 !important;
}

/* ===== ページ背景/カード ===== */
body{
  background:#f5f0e8 !important;
}
.tn-static-card,
.tn-list-header,
.tn-visit-tools,
.tn-list-map-section,
.tn-list-card,
.tn-home-intro,
.tn-home-news{
  background:#fffdf9 !important;
  border-color:#ded1c5 !important;
}

/* ===== トップへ戻る ===== */
.page-top a,
.go-to-top,
#go-to-top,
.scroll-top{
  background:#6b4636 !important;
  color:#fff !important;
}


/* =========================================================
   2026-09-12 HOME HERO 背景専用写真・確定版
   画像加工なし。既存HTML文字/ボタンを前面表示。
========================================================= */
body.home .ramen-hero{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  background:#34241d url("assets/images/ramen-hero-photo.webp") center center / cover no-repeat !important;
}
body.home .ramen-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(28,18,12,.36);
  z-index:0;
  pointer-events:none;
}
body.home .ramen-hero-inner{
  position:relative !important;
  z-index:1 !important;
  box-sizing:border-box !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.home .ramen-hero-kicker,
body.home .ramen-hero h1,
body.home .ramen-hero-copy,
body.home .ramen-hero-points{
  position:relative !important;
  z-index:2 !important;
  visibility:visible !important;
  opacity:1 !important;
}
@media screen and (max-width:767px){
  html,body{overflow-x:hidden !important;}
  body.home .ramen-hero{
    width:100% !important;
    max-width:100vw !important;
    background-position:center center !important;
  }
  body.home .ramen-hero-inner{
    width:100% !important;
    max-width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  body.home .ramen-hero h1,
  body.home .ramen-hero-copy,
  body.home .ramen-hero-points{
    max-width:100% !important;
  }
}


/* =========================================================
   2026-09-12 現在地ボタンをヒーロー内へ移動
   説明文の直下・「地図/エリア/評価」の上に表示
========================================================= */
body.home .ramen-hero .tn-nearby-search--hero{
  margin:22px auto 12px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:100% !important;
  text-align:center !important;
}

body.home .ramen-hero .tn-nearby-search--hero .tn-nearby-search-button{
  min-width:300px !important;
  min-height:52px !important;
  padding:11px 24px !important;
  border:1px solid #c48946 !important;
  border-radius:10px !important;
  background:#a64a36 !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:700 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.18) !important;
}

body.home .ramen-hero .tn-nearby-search--hero .tn-nearby-search-status{
  min-height:0 !important;
  margin:6px 0 0 !important;
  color:#fff !important;
}

body.home .ramen-hero .tn-nearby-search--hero + .ramen-hero-points{
  margin-top:0 !important;
}

@media screen and (max-width:767px){
  body.home .ramen-hero .tn-nearby-search--hero{
    margin:18px auto 10px !important;
  }
  body.home .ramen-hero .tn-nearby-search--hero .tn-nearby-search-button{
    width:min(92%,340px) !important;
    min-width:0 !important;
    min-height:48px !important;
    padding:10px 14px !important;
    font-size:15px !important;
  }
}




/* =========================================================
   2026-09-12 HERO 高さ修正版
   高さを作っている outer .ramen-hero の上下paddingだけ縮小。
   inner には上下paddingを足さない。
========================================================= */
@media screen and (min-width:768px){
  body.home .ramen-hero{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }
  body.home .ramen-hero-inner{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
}

@media screen and (max-width:767px){
  body.home .ramen-hero{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }
  body.home .ramen-hero-inner{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
}


/* =========================================================
   2026-09-12 MOBILE HERO
   PCの横長感をそのままスマホへ。
   四角くしない／縦に伸ばさない／左側ビジュアルを残す。
========================================================= */
@media screen and (max-width:767px){

  body.home .ramen-hero{
    /* PC同様の横長ヒーロー。スマホでは高さを約3/4へ */
    padding-top:18px !important;
    padding-bottom:18px !important;
    min-height:0 !important;
    height:auto !important;

    /* 左側ビジュアルを残しつつ、横長写真として見せる */
    background-size:cover !important;
    background-position:22% center !important;
  }

  body.home .ramen-hero-inner{
    width:100% !important;
    max-width:100% !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body.home .ramen-hero-kicker{
    margin-top:0 !important;
    margin-bottom:8px !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }

  body.home .ramen-hero h1{
    margin-top:0 !important;
    margin-bottom:10px !important;
    font-size:clamp(25px,7vw,34px) !important;
    line-height:1.22 !important;
  }

  body.home .ramen-hero-copy{
    margin-top:0 !important;
    margin-bottom:12px !important;
    font-size:12px !important;
    line-height:1.5 !important;
  }

  body.home .ramen-hero .tn-nearby-search--hero{
    margin:10px auto 8px !important;
  }

  body.home .ramen-hero .tn-nearby-search--hero .tn-nearby-search-button{
    width:min(86%,300px) !important;
    min-height:42px !important;
    padding:8px 12px !important;
    font-size:13px !important;
  }

  body.home .ramen-hero-points{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:6px !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:0 !important;
  }

  body.home .ramen-hero-points span,
  body.home .ramen-hero-points a{
    min-width:0 !important;
    flex:1 1 0 !important;
    padding:7px 5px !important;
    font-size:11px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   2026-09-12 MOBILE HERO 確定版
   PCは変更なし。
   ・左側のメインビジュアルをきれいに入れる
   ・最下段3項目を均等3列で完全センタリング
========================================================= */
@media screen and (max-width:767px){

  body.home .ramen-hero{
    /* 横長の薄いヒーローは維持 */
    padding-top:18px !important;
    padding-bottom:18px !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;

    /* 左端のビジュアルが欠けない位置まで背景を左へ寄せる */
    background-size:cover !important;
    background-position:left center !important;
  }

  body.home .ramen-hero-inner{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    margin:0 auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    padding-left:12px !important;
    padding-right:12px !important;
    text-align:center !important;
  }

  /* 現在地ボタンも中央 */
  body.home .ramen-hero .tn-nearby-search--hero{
    width:100% !important;
    max-width:100% !important;
    margin:10px auto 8px !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  body.home .ramen-hero .tn-nearby-search--hero .tn-nearby-search-button{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:min(86%,300px) !important;
    min-width:0 !important;
    min-height:42px !important;
    margin:0 auto !important;
    padding:8px 12px !important;
    box-sizing:border-box !important;
    text-align:center !important;
    font-size:13px !important;
  }

  /* 3項目を親幅いっぱいの均等3列に固定 */
  body.home .ramen-hero-points{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:stretch !important;
    justify-content:center !important;
    column-gap:8px !important;
    row-gap:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
    text-align:center !important;
  }

  body.home .ramen-hero-points > span,
  body.home .ramen-hero-points > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:42px !important;
    margin:0 !important;
    padding:7px 3px !important;
    box-sizing:border-box !important;
    text-align:center !important;
    white-space:nowrap !important;
    font-size:11px !important;
    line-height:1.2 !important;
  }
}


/* =========================================================
   2026-09-12 MOBILE HERO 横長強化
   PCは変更なし。スマホだけ縦をさらに圧縮。
========================================================= */
@media screen and (max-width:767px){

  body.home .ramen-hero{
    padding-top:6px !important;
    padding-bottom:6px !important;
    min-height:0 !important;
    height:auto !important;
    background-size:cover !important;
    background-position:left center !important;
  }

  body.home .ramen-hero-inner{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  body.home .ramen-hero-kicker{
    margin-top:0 !important;
    margin-bottom:4px !important;
    font-size:11px !important;
    line-height:1.15 !important;
  }

  body.home .ramen-hero h1{
    margin-top:0 !important;
    margin-bottom:6px !important;
    font-size:clamp(23px,6.4vw,31px) !important;
    line-height:1.12 !important;
  }

  body.home .ramen-hero-copy{
    margin-top:0 !important;
    margin-bottom:6px !important;
    font-size:11px !important;
    line-height:1.3 !important;
  }

  body.home .ramen-hero .tn-nearby-search--hero{
    margin:5px auto 5px !important;
  }

  body.home .ramen-hero .tn-nearby-search--hero .tn-nearby-search-button{
    min-height:36px !important;
    padding:5px 10px !important;
    font-size:12px !important;
  }

  body.home .ramen-hero-points{
    column-gap:6px !important;
  }

  body.home .ramen-hero-points > span,
  body.home .ramen-hero-points > a{
    min-height:36px !important;
    padding:4px 2px !important;
    font-size:10px !important;
    line-height:1.1 !important;
  }
}


/* =========================================================
   2026-09-12 ヘッダーブランド表記
   No1ラーメン / 全国の一杯を、もっと身近に。
========================================================= */
.ramen-header-logo-area{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.ramen-header-brand{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
  text-decoration:none !important;
  color:#34241d !important;
  line-height:1 !important;
}

.ramen-header-brand-title{
  display:block !important;
  font-size:29px !important;
  font-weight:800 !important;
  line-height:1.05 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}

.ramen-header-brand-dotcom{
  display:inline-block !important;
  margin-left:.18em !important;
  font-size:.52em !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  vertical-align:.12em !important;
}

.ramen-header-brand-tagline{
  display:block !important;
  margin-top:6px !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  color:#4a3429 !important;
}

@media screen and (max-width:768px){
  .ramen-header-logo-area{
    gap:8px !important;
  }

  .ramen-header-brand-title{
    font-size:23px !important;
  }

  .ramen-header-brand-dotcom{
    font-size:.50em !important;
  }

  .ramen-header-brand-tagline{
    margin-top:4px !important;
    font-size:11px !important;
  }
}

@media screen and (max-width:390px){
  .ramen-header-brand-title{
    font-size:20px !important;
  }

  .ramen-header-brand-tagline{
    font-size:10px !important;
  }
}


/* =========================================================
   2026-09-12 HEADER BRAND
   画像ではなくHTMLテキストのまま、筆文字・崩し字風に。
========================================================= */
.ramen-header-brand-title{
  font-family:
    "Yuji Syuku",
    "Yuji Mai",
    "Hiragino Mincho ProN",
    "Yu Mincho",
    "YuMincho",
    "HGS行書体",
    "HG行書体",
    serif !important;
  font-weight:800 !important;
  font-style:normal !important;
  letter-spacing:-0.045em !important;
  line-height:.98 !important;
  color:#2f1d14 !important;
  text-shadow:.35px .35px 0 rgba(47,29,20,.18) !important;
}

.ramen-header-brand-dotcom{
  display:inline-block !important;
  margin-left:.28em !important;
  font-family:
    "Yuji Syuku",
    "Yuji Mai",
    "Hiragino Mincho ProN",
    "Yu Mincho",
    "YuMincho",
    "HGS行書体",
    "HG行書体",
    serif !important;
  font-size:.48em !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  vertical-align:.13em !important;
}

.ramen-header-brand-tagline{
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    "YuMincho",
    serif !important;
  letter-spacing:.035em !important;
  color:#3d2a20 !important;
}

/* PC */
@media screen and (min-width:769px){
  .ramen-header-brand-title{
    font-size:31px !important;
  }
}

/* スマホ */
@media screen and (max-width:768px){
  .ramen-header-brand-title{
    font-size:23px !important;
  }
  .ramen-header-brand-dotcom{
    font-size:.47em !important;
  }
  .ramen-header-brand-tagline{
    font-size:11px !important;
  }
}

@media screen and (max-width:390px){
  .ramen-header-brand-title{
    font-size:20px !important;
  }
  .ramen-header-brand-tagline{
    font-size:10px !important;
  }
}

/* =========================================================
   2026-09-14 大きな地図：サイト内表示 + ホームへ戻る導線
   ========================================================= */
.tn-large-map-page{
  width:min(1180px, calc(100% - 32px));
  margin:32px auto 48px;
}
.tn-large-map-card{
  overflow:hidden;
  border:1px solid #e3dbcf;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(61,42,28,.08);
}
.tn-large-map-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid #eee5da;
}
.tn-large-map-header h1{
  margin:0;
  font-size:24px;
  line-height:1.35;
}
.tn-large-map-home{
  flex:0 0 auto;
  width:auto!important;
  min-height:38px!important;
  padding:0 14px!important;
  white-space:nowrap;
}
.tn-large-map-frame iframe{
  display:block;
  width:100%;
  height:min(72vh, 720px);
  min-height:520px;
  border:0;
}
.tn-large-map-footer{
  display:flex;
  justify-content:flex-end;
  padding:14px 20px 18px;
  border-top:1px solid #eee5da;
}
.tn-large-map-shop-back{
  font-weight:700;
  text-decoration:underline;
}
@media screen and (max-width:600px){
  .tn-large-map-page{
    width:calc(100% - 20px);
    margin:16px auto 28px;
  }
  .tn-large-map-header{
    align-items:flex-start;
    flex-direction:column;
    padding:14px;
  }
  .tn-large-map-header h1{
    font-size:20px;
  }
  .tn-large-map-home{
    width:100%!important;
    justify-content:center;
  }
  .tn-large-map-frame iframe{
    height:68vh;
    min-height:420px;
  }
  .tn-large-map-footer{
    padding:12px 14px 16px;
  }
}

/* 2026-09-19 Android: 絞り込み4ボタン＋件数表示を2段に整理 */
@media screen and (max-width: 767px) {
  body.post-type-archive-ramen .tn-visit-tools,
  body.tax-ramen_area .tn-visit-tools,
  body.home .tn-visit-tools {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
  }

  body.post-type-archive-ramen .tn-visit-filter,
  body.tax-ramen_area .tn-visit-filter,
  body.home .tn-visit-filter {
    display: flex !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    overflow-x: auto !important;
    padding-bottom: 1px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.post-type-archive-ramen .tn-visit-filter::-webkit-scrollbar,
  body.tax-ramen_area .tn-visit-filter::-webkit-scrollbar,
  body.home .tn-visit-filter::-webkit-scrollbar {
    display: none;
  }

  body.post-type-archive-ramen .tn-visit-filter-count,
  body.tax-ramen_area .tn-visit-filter-count,
  body.home .tn-visit-filter-count {
    align-self: flex-end !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 2px 0 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }
}


/* 2026-09-19 iPhone: 絞り込み4ボタン＋件数を1段に戻す */
@supports (-webkit-touch-callout: none) {
  @media screen and (max-width: 767px) {
    body.post-type-archive-ramen .tn-visit-tools,
    body.tax-ramen_area .tn-visit-tools,
    body.home .tn-visit-tools {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) auto !important;
      align-items: center !important;
      gap: 4px !important;
    }

    body.post-type-archive-ramen .tn-visit-filter,
    body.tax-ramen_area .tn-visit-filter,
    body.home .tn-visit-filter {
      min-width: 0 !important;
      overflow-x: auto !important;
      padding-bottom: 0 !important;
    }

    body.post-type-archive-ramen .tn-visit-filter-count,
    body.tax-ramen_area .tn-visit-filter-count,
    body.home .tn-visit-filter-count {
      align-self: center !important;
      justify-self: end !important;
      margin: 0 !important;
      padding: 0 !important;
      font-size: 9px !important;
      line-height: 1.1 !important;
      white-space: nowrap !important;
    }
  }
}


/* 2026-09-19 一覧見出し：店舗数をタイトル右端へ */
.tn-list-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
}
.tn-list-title-row .tn-list-count{
  flex:0 0 auto;
  margin:0 !important;
  white-space:nowrap;
}
@media screen and (max-width:600px){
  .tn-list-title-row{gap:10px;}
  .tn-list-title-row h1{min-width:0;font-size:clamp(23px,7vw,30px);}
  .tn-list-title-row .tn-list-count{padding:4px 9px;font-size:11px;}
}


/* 2026-09-19 店舗キーワード検索：見出しカードと絞り込みカードの間 */
.tn-shop-search{
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid #e5ddd3;
  border-radius:12px;
  background:#fff;
  box-sizing:border-box;
}
.tn-shop-search-form{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  margin:0;
}
.tn-shop-search-input{
  flex:1 1 auto;
  min-width:0;
  height:42px;
  margin:0 !important;
  padding:0 14px !important;
  border:1px solid #d8d0c5 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#342f2a !important;
  font-size:14px !important;
  line-height:42px !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
}
.tn-shop-search-input:focus{
  border-color:#7a5138 !important;
  outline:2px solid rgba(122,81,56,.12) !important;
  outline-offset:1px;
}
.tn-shop-search-button,
.tn-shop-search-clear{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  height:42px !important;
  min-width:72px;
  margin:0 !important;
  padding:0 15px !important;
  border:1px solid #7a5138 !important;
  border-radius:9px !important;
  box-sizing:border-box !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.tn-shop-search-button{
  background:#7a5138 !important;
  color:#fff !important;
  cursor:pointer;
}
.tn-shop-search-clear{
  min-width:62px;
  background:#fff !important;
  color:#7a5138 !important;
}
@media screen and (max-width:600px){
  .tn-shop-search{
    margin-bottom:10px;
    padding:8px;
  }
  .tn-shop-search-form{gap:6px;}
  .tn-shop-search-input{
    height:40px;
    padding:0 10px !important;
    font-size:13px !important;
    line-height:40px !important;
  }
  .tn-shop-search-button,
  .tn-shop-search-clear{
    height:40px !important;
    min-width:58px;
    padding:0 10px !important;
    font-size:12px !important;
  }
  .tn-shop-search-clear{min-width:52px;}
}

/* 2026-09-29 店舗詳細：紹介文まわりの縦余白をコンパクトに */
body.single-ramen .tn-shop-header{
  margin-bottom:10px !important;
}

body.single-ramen .tn-shop-catch{
  margin-top:4px !important;
  margin-bottom:0 !important;
}

body.single-ramen .tn-shop-status{
  margin-top:6px !important;
}

@media screen and (max-width:768px){
  body.single-ramen .tn-shop-header{
    margin-bottom:8px !important;
  }

  body.single-ramen .tn-shop-catch{
    margin-top:3px !important;
    margin-bottom:0 !important;
    line-height:1.65 !important;
  }

  body.single-ramen .tn-shop-status{
    margin-top:5px !important;
  }
}

/* 2026-09-29 店舗詳細：パンくず→タイトル間隔をコンパクトに */
body.single-ramen .tn-global-breadcrumb-shell .tn-unified-breadcrumb{
  margin-bottom:3px !important;
}

body.single-ramen .tn-shop-header{
  margin-top:0 !important;
}

@media screen and (max-width:768px){
  body.single-ramen .tn-global-breadcrumb-shell .tn-unified-breadcrumb{
    margin-bottom:2px !important;
  }
}

/* =========================================================
 * RUTUBO 第2燻製工場：一覧カード写真のみ 1.05倍
 * 対象画像ID: 21737
 * 他の店舗画像には影響しない。
 * 既存の hover 1.018倍も維持するため、hover時は 1.05 × 1.018 = 1.0689。
 * ========================================================= */
.tn-list-photo img.wp-image-21737 {
  transform: scale(1.05);
}

.tn-list-card:hover .tn-list-photo img.wp-image-21737 {
  transform: scale(1.0689);
}

/* =========================================================
 * 2026-10-03 SP header actions FINAL
 * 翻訳とメニューを同じ 42x45 の実ボックスで中央揃え。
 * ハンバーガー3本線は margin ではなく gap で中央配置。
 * ========================================================= */
@media screen and (max-width: 767px) {
  .tn-sp-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin-left: auto !important;
    height: 45px !important;
  }

  .tn-sp-header-actions .tn-sp-gtranslate,
  .tn-sp-header-actions .sp-menu-toggle {
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 45px !important;
    min-height: 45px !important;
    max-height: 45px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    align-self: center !important;
    transform: none !important;
  }

  .tn-sp-header-actions .sp-menu-toggle {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  .tn-sp-header-actions .sp-menu-toggle span {
    display: block !important;
    flex: 0 0 3px !important;
    width: 30px !important;
    height: 3px !important;
    margin: 0 !important;
  }

  .tn-sp-header-actions .tn-sp-gtranslate {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .tn-sp-header-actions .tn-sp-gtranslate .gt_float_switcher,
  .tn-sp-header-actions .tn-sp-gtranslate .gt_switcher,
  .tn-sp-header-actions .tn-sp-gtranslate .gtranslate_wrapper,
  .tn-sp-header-actions .tn-sp-gtranslate .gt-selected,
  .tn-sp-header-actions .tn-sp-gtranslate .gt-current-lang {
    width: 42px !important;
    height: 45px !important;
    min-width: 42px !important;
    min-height: 45px !important;
    max-width: 42px !important;
    max-height: 45px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .tn-sp-header-actions .tn-sp-gtranslate .gt-current-lang {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* =========================================================
 * 2026-10-03 SP HEADER WIDTH FINAL
 * Android/iPhone共通:
 * - 右操作（翻訳＋メニュー）は絶対に縮めない
 * - 左ブランドだけが残り幅を使う
 * - 画面外への押し出しを禁止
 * - 縦位置には触れない
 * ========================================================= */
@media screen and (max-width: 768px) {
  .custom-header .header-inner {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .custom-header .ramen-header-logo-area {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: hidden !important;
  }

  .custom-header .ramen-header-logo-link {
    flex: 0 0 auto !important;
  }

  .custom-header .ramen-header-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .custom-header .ramen-header-brand-title,
  .custom-header .ramen-header-brand-tagline {
    max-width: 100% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  .custom-header .tn-sp-header-actions {
    display: flex !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
    margin-left: 6px !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .custom-header .tn-sp-gtranslate,
  .custom-header .sp-menu-toggle {
    flex: 0 0 auto !important;
  }
}

/* Android等の狭い実幅では、右操作を守るためブランド文字だけ段階縮小 */
@media screen and (max-width: 430px) {
  .custom-header .ramen-header-logo-area {
    gap: 5px !important;
  }

  .custom-header .logo-area img.ramen-header-logo-image,
  .custom-header .ramen-header-logo-image {
    width: 50px !important;
    height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
  }

  .custom-header .ramen-header-brand-title {
    font-size: 20px !important;
  }

  .custom-header .ramen-header-brand-tagline {
    font-size: 9px !important;
    letter-spacing: 0 !important;
  }
}

@media screen and (max-width: 380px) {
  .custom-header .ramen-header-logo-area {
    gap: 4px !important;
  }

  .custom-header .logo-area img.ramen-header-logo-image,
  .custom-header .ramen-header-logo-image {
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
  }

  .custom-header .ramen-header-brand-title {
    font-size: 18px !important;
  }

  .custom-header .ramen-header-brand-tagline {
    font-size: 8px !important;
  }

  .custom-header .tn-sp-header-actions {
    gap: 4px !important;
    margin-left: 4px !important;
  }
}

/* =========================================================
 * 2026-10-03 PC GTranslate ONLY
 * 重要：769px以上だけ。スマホ（768px以下）は一切変更しない。
 * PCでは既存のGTranslateをログインボタンの左側に表示。
 * ========================================================= */
@media screen and (min-width: 769px) {
  .custom-header .tn-sp-header-actions {
    display: contents !important;
  }

  .custom-header .tn-sp-gtranslate {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: 42px !important;
    min-width: 58px !important;
    min-height: 42px !important;
    max-width: none !important;
    max-height: 42px !important;
    margin-left: auto !important;
    margin-right: 10px !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 10002 !important;
    box-sizing: border-box !important;
  }

  .custom-header .tn-sp-gtranslate .gt_float_switcher,
  .custom-header .tn-sp-gtranslate .gt_switcher,
  .custom-header .tn-sp-gtranslate .gtranslate_wrapper {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    height: 42px !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  .custom-header .tn-sp-gtranslate .gt_float_switcher {
    min-width: 58px !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .custom-header .tn-sp-gtranslate .gt_float_switcher .gt-selected,
  .custom-header .tn-sp-gtranslate .gt_float_switcher .gt-current-lang {
    height: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
  }

  .custom-header .tn-sp-gtranslate .gt_float_switcher .gt-current-lang {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    gap: 5px !important;
  }

  .custom-header .tn-sp-gtranslate img {
    max-width: 24px !important;
    height: auto !important;
    margin: 0 !important;
  }

  .custom-header .tn-sp-gtranslate .gt_float_switcher .gt_options,
  .custom-header .tn-sp-gtranslate .gt_switcher .gt_option {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    width: 270px !important;
    min-width: 270px !important;
    height: auto !important;
    max-height: 60vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 10050 !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  /* PCではハンバーガーは従来どおり表示しない */
  .custom-header .tn-sp-header-actions .sp-menu-toggle {
    display: none !important;
  }
}

/* =========================================================
 * 2026-10-03 PC ONLY: GTranslateをログインボタン直後へ固定
 * 769px以上のみ。スマホCSSには一切影響しない。
 * HTML順: logo -> header-login-buttons -> tn-sp-header-actions
 * ========================================================= */
@media screen and (min-width: 769px) {
  .custom-header .header-inner {
    display: flex !important;
    align-items: center !important;
  }

  .custom-header .header-login-buttons {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    margin-right: 10px !important;
  }

  .custom-header .tn-sp-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .custom-header .tn-sp-gtranslate {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 58px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .custom-header .tn-sp-header-actions .sp-menu-toggle {
    display: none !important;
  }
}

/* =========================================================
   No1ラーメン 2026-10-05
   PCヒーロータイトルを1行固定（スマホの改行指定は維持）
========================================================= */
@media screen and (min-width:769px){
  body.home .ramen-hero h1#ramen-hero-title{
    white-space:nowrap !important;
    font-size:clamp(38px,4vw,56px) !important;
    letter-spacing:0 !important;
    line-height:1.18 !important;
  }
  body.home #ramen-hero-title .sp-only{
    display:none !important;
  }
}


/* =========================================================
   No1ラーメン 2026-10-05 RED BRAND FINAL
   サイト全体を赤基調へ統一。
   レイアウト・幅・高さ・余白・機能には触れず、配色だけ変更。
========================================================= */
:root{
  --tn-red-dark:#5a0b0b;
  --tn-red-dark2:#710d0d;
  --tn-red-main:#a61b1b;
  --tn-red-mid:#c8322b;
  --tn-red-light:#f7e7e3;
  --tn-red-pale:#fff7f4;
  --tn-red-line:#e4c3bd;
  --tn-red-gold:#d7a23a;
}

/* 全体背景・ブランド文字 */
body{
  background:#fff7f4 !important;
}
.ramen-header-brand,
.ramen-header-brand-title{
  color:#710d0d !important;
}
.ramen-header-brand-tagline{
  color:#6b3430 !important;
}

/* PCメニュー */
.desktop-main-nav{
  background:linear-gradient(180deg,#7d1111 0%,#570909 100%) !important;
  border-top-color:rgba(255,255,255,.12) !important;
  border-bottom-color:#430606 !important;
}
.desktop-main-nav .tn-canonical-menu>li>a,
.desktop-main-nav .nav-list>li>a{
  color:#fff !important;
}
.desktop-main-nav .tn-canonical-menu>li>a:hover,
.desktop-main-nav .nav-list>li>a:hover,
.desktop-main-nav .tn-canonical-menu>li.current-menu-item>a,
.desktop-main-nav .tn-canonical-menu>li.current-menu-ancestor>a,
.desktop-main-nav .nav-list>li.current-menu-item>a,
.desktop-main-nav .nav-list>li.current-menu-ancestor>a{
  background:#a61b1b !important;
  color:#fff !important;
}
.desktop-main-nav .tn-canonical-menu>li>a::after,
.desktop-main-nav .nav-list>li>a::after{
  background:#e0ad42 !important;
}

/* PCドロップダウン */
.desktop-main-nav .sub-menu,
.desktop-main-nav .my-custom-submenu,
.desktop-main-nav .tn-area-region-menu,
.desktop-main-nav .tn-prefecture-menu{
  background:#fff8f5 !important;
  border-color:#e4c3bd !important;
}
.desktop-main-nav .sub-menu a,
.desktop-main-nav .my-custom-submenu a,
.desktop-main-nav .tn-area-region-menu a,
.desktop-main-nav .tn-prefecture-menu a{
  background:#fff8f5 !important;
  color:#651111 !important;
  border-bottom-color:#f0d8d2 !important;
}
.desktop-main-nav .sub-menu a:hover,
.desktop-main-nav .my-custom-submenu a:hover,
.desktop-main-nav .tn-area-region-menu a:hover,
.desktop-main-nav .tn-prefecture-menu a:hover{
  background:#f7e1dc !important;
  color:#7d1111 !important;
}

/* スマホメニュー */
.sp-menu{
  background:#fff7f4 !important;
}
.sp-menu .tn-canonical-menu>li,
.sp-menu .tn-canonical-menu .sub-menu li{
  border-color:#ead0ca !important;
}
.sp-menu .tn-canonical-menu a{
  color:#651111 !important;
}
.sp-menu .tn-canonical-menu a:hover,
.sp-menu .tn-canonical-menu li.current-menu-item>a{
  background:#f4ddd8 !important;
  color:#7d1111 !important;
}
.sp-menu .tn-submenu-toggle{
  background:#fff !important;
  color:#8d1717 !important;
  border-color:#e1bbb5 !important;
}

/* 主要ボタン */
.tn-static-primary,
.tn-home-more a,
.tn-home-actions a,
.tn-shop-btn.is-primary,
.tn-shop-edit-toggle,
.tn-shop-edit-save,
.tn-shop-edit-login,
.tn-phone-btn,
.tn-shop-report-submit,
.tn-nearby-search-button,
.tn-visit-filter-btn.is-active,
.tn-list-pagination .page-numbers.current,
.tn-shop-relation-summary,
.tn-shop-relation-login,
.tn-shop-relation-register-btn,
.tn-shop-relation-toggle,
.tn-shop-search-button,
button[type="submit"]:not([name="delete_me"]),
input[type="submit"]{
  background:#a61b1b !important;
  border-color:#a61b1b !important;
  color:#fff !important;
}
.tn-static-secondary,
.tn-shop-edit-guide-secondary,
.tn-shop-search-clear{
  background:#fff !important;
  border-color:#a61b1b !important;
  color:#a61b1b !important;
}

/* TOP現在地ボタン */
body.home .ramen-hero .tn-nearby-search--hero .tn-nearby-search-button{
  background:#b5221d !important;
  border-color:#e0a33d !important;
  color:#fff !important;
}

/* リンク・パンくず */
.breadcrumb-area a,
.tn-unified-breadcrumb a,
.tn-shop-fact a,
.tn-rating-login a,
.tn-visit-login-note a,
.tn-map-popup a,
.tn-home-section-head a{
  color:#9b1818 !important;
}

/* 見出し・アクセント */
.tn-static-head,
.tn-shop-section-head,
.tn-shop-edit-head,
.tn-new-shop-page .tn-shop-register-section > .tn-shop-edit-head,
.tn-new-shop-page .tn-shop-edit-guide-section > .tn-shop-edit-head{
  border-bottom-color:#c62828 !important;
}
.tn-static-block h2,
.tn-shop-section h2{
  border-bottom-color:#e1a23b !important;
}
.tn-list-kicker,
.tn-list-area,
.tn-home-kicker,
.tn-home-card-area{
  color:#a61b1b !important;
}

/* ページ・カード背景 */
body.single-ramen,
body.single-ramen #container,
body.post-type-archive-ramen,
body.tax-ramen_area,
body.home,
.tn-home{
  background:#fff7f4 !important;
}
.tn-static-card,
.tn-list-header,
.tn-visit-tools,
.tn-list-map-section,
.tn-list-card,
.tn-shop-card,
.tn-shop-section,
.tn-shop-search{
  background:#fffdfb !important;
  border-color:#ead2cc !important;
}

/* フッター直前の帯 */
.riyou-annsinbox,
.footer-before,
.footer-message,
.tn-footer-message,
.footer-top-message{
  background:#a61b1b !important;
  color:#fff !important;
}

/* フッター */
#footer.site-footer,
.site-footer,
#footer,
.site-footer-in,
.footer-menu-wrap,
.tn-footer-canonical,
footer,
.footer,
.footer-in,
.tn-footer{
  background:#570909 !important;
  color:#fff !important;
}
#footer .footer-menu-title,
.site-footer .footer-menu-title{
  color:#fff !important;
  border-bottom-color:#b94b45 !important;
}
#footer .footer-menu-list a,
.site-footer .footer-menu-list a,
footer a,
.footer a,
.tn-footer a{
  color:#fff4f1 !important;
}
#footer .footer-menu-list a::before,
.site-footer .footer-menu-list a::before,
footer .fa-caret-right,
footer .fa-angle-right,
footer li::before,
#footer li::before{
  color:#e3ad43 !important;
}
#footer .footer-menu-list a:hover,
.site-footer .footer-menu-list a:hover{
  color:#ffd27a !important;
}

/* ログイン状態帯 */
.login-status,
.login-status-box,
.tn-login-status,
.user-login-status{
  background:#fff2ee !important;
  border-color:#e8c6bf !important;
  color:#641313 !important;
}

/* 検索 */
.tn-shop-search-input:focus{
  border-color:#a61b1b !important;
  outline:2px solid rgba(166,27,27,.12) !important;
}

/* 支払方法選択 */
.tn-payment-choice input:checked + span{
  border-color:#a61b1b !important;
  background:#a61b1b !important;
  color:#fff !important;
}
.tn-payment-choice input:focus-visible + span{
  outline-color:#a61b1b !important;
}

/* 店舗編集・写真 */
.tn-shop-edit-toggle,
.tn-shop-edit-save,
.tn-shop-edit-login{
  background:#a61b1b !important;
}
.tn-shop-photo-thumb.is-active{
  border-color:#a61b1b !important;
}

/* 地図ピン：未訪問/通常を赤系へ。訪問済みの緑は意味色として維持 */
.tn-legend-pin.is-unvisited,
.tn-map-pin--unvisited{
  background:#b5221d !important;
}
.tn-map-pin--neutral{
  background:#8d1717 !important;
}

/* トップへ戻る */
.page-top a,
.go-to-top,
#go-to-top,
.tn-back-to-top,
.scroll-top{
  background:#a61b1b !important;
  color:#fff !important;
}

/* ヒーロー写真の暗幕も赤みを少し加える */
body.home .ramen-hero::before{
  background:rgba(55,5,5,.34) !important;
}
body.home .ramen-hero-kicker{
  color:#f3c45b !important;
}
