@charset "utf-8";
/*
Theme Name:   fujitaya
Theme URI:    [https://akitu-fujitaya.com/](https://akitu-fujitaya.com/)
Description:  海の味処 藤田屋ホームページリニューアル用子テーマ
Author:       藤田屋 開発チーム
Template:     arkhe
Version:      1.0.0
*/

/* ------------------------------------------
   ★トップページ専用CSSをここでリンク
   ------------------------------------------ */
h1, h2, h3, h4, h5, h6 {
  color: #0b2545;
  letter-spacing: 0.1em;
}
.p-topArea__body h1.c-pageTitle__main {
  color: #fff;
}


.ark-block-heading .ark-block-heading__sub {
    font-size: .8em;
    line-height: 1.25;
    margin-bottom: 1rem;
    margin-top: 0;
    opacity: 1;
    color: var(--ark-color_main);
    letter-spacing: 0.15em;
    font-weight: 700;
}

.ark-block-button__link {
    padding: 1.25em 1.75em;
    font-size: 0.92em;
    font-weight: 700;
}

.innerS {
  max-width: 800px;
    margin: 0 auto;
}



.post-template-default .w-before-footer .ark-block-section__body {
  --ark-width--article: 1200px;
}

.p-drawer {
    background: rgba(11, 37, 69, .96);
}
.w-drawerBottom {
  text-align: center;
}
.w-drawerBottom .c-widget {
  display: inline-block;
}
.w-drawerBottom .contact-banner {
  padding-left: 0;
}
.w-drawerBottom .contact-banner a {
  justify-content: center;
    margin-top: 1rem;
    height: 50px;
    background-color: var(--ark-color_main);
}


@media screen and (max-width: 782px) {
  body {
    font-size: 14px;
  }
  h2 {
      font-size: 1.55em;
  }
  .innerS {
    max-width: 100%;
  }
    .l-footer {
        padding-bottom: 54px;
    }
  .ark-block-heading .ark-block-heading__main {
      font-size: 1.35rem;
  }
  .ark-block-heading .ark-block-heading__sub {
    margin-bottom: 0.5rem;
  }
}

/* footer-btn */
@media screen and (min-width: 783px) {
  .footer-btn { display: none;}
}
.footer-btn {
  position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
  z-index: 2;
}
.footer-btn_Flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
}
.footer-btn_Flex > a {
  width: calc(100% / 3);
  text-align: center;
  display: flex;
    justify-content: center;
    align-items: center;
  padding: 0.75rem 0.5rem;
  text-decoration: none;
  line-height: 1;
  min-height: 48px;
}
.footer-btn_Flex > a:first-child {
  color: #fff;
  background-color: var(--ark-color_main);
}
.footer-btn_Flex > a:nth-child(2) {
    color: #000;
    background-color: var(--ark-color_gray);
}
.footer-btn_Flex > a:last-child {
    color: #fff;
    background-color: #0b2545;
}
.footer-btn_Flex > a img {
  display: inline-block;
  padding-right: 0.35rem;
  height: 20px;
}

.p-fixBtnWrap {
  bottom: 75px;
}


.w-before-footer > .c-widget:last-child {
  margin-top: 0;
}


.w-before-footer .widget_block {
  position: relative;
  z-index: 0;
}

/* ------------------------------------------
   ★投稿一覧のカテゴリをカスタマイズ
   ------------------------------------------ */
.p-postList.-type-card {
    position: relative;
}

.p-postList.-type-card .p-postList__link:hover .p-postList__body {
    opacity: 1;
}

.p-postList.-type-card .p-postList__body,
.p-postList.-type-card .p-postList__meta {
    position: static;
}

.p-postList.-type-card .p-postList__meta {
    letter-spacing: 0.05em;
}

.p-postList.-type-card .p-postList__category {
    position: absolute;
    top: 0;
    right: 0;
    color: #fff; /* 好きな色に調整 */
    background-color: #0b2545; /* 好きな色に調整 */
    margin: 0;
    padding: 0.25em 1em;
    opacity: 1;
    font-weight: bold;
}

.p-postList.-type-card .p-postList__category svg {
    display: none; /* アイコンを表示する場合は不要 */
}


/* ------------------------------------------
   ★ヘッダーコンタクト
   ------------------------------------------ */
.l-header__body {
  padding-left: 3vw;
  padding-right: 3vw;
}

@media (min-width: 1000px){
    [data-btns=rr-rl] .l-header__body { 
    grid-template-columns: 0% 50% 50%; 
    }

    [data-logo=center] .l-header__center {text-align: left;}

    .l-header{
    min-height:120px;
    padding-top:20px;
    }
      
    .l-header__logo{
    display:block;  
    }

    .l-footer__widgets > .l-container {
        align-items: center;
    }
}

.kanta-right {
  display: flex;
  align-items: center;
  font-weight: 600;
}
.contact-box {
  margin-left: auto;
  margin-bottom: 2px;
  line-height: 1.5em;
}
.contact-box span {
    display: block;
}
.contact-box01 {
    font-size: 11px;
    text-align: justify;
    text-align-last: justify;
}
.contact-box02 {
    font-weight: 700;
    font-size: 28px;
    letter-spacing: 2px;
    margin-bottom: 2px;
}
.contact-box03 {
    font-size: 10px;
    text-align: justify;
    text-align-last: justify;
    line-height: 1.3;
    margin-top: 5px;
}
.contact-banner {
    padding-left: 1em;
}
.contact-banner a {
    display: flex;
    align-items: center;
    padding: 0 2.5em;
    margin-top: 3px;
    text-decoration: none;
}
.contact-banner .far {
    padding-right: 5px;
}
.kanta-cta {
    border: 1px solid #0b2545;
    background: #0b2545;
    color: white;
    height: 70px;
    font-weight: 700;
}

@media screen and (max-width: 782px) {
  [data-btns=rr-rl] .l-header__body {
    grid-template-columns: 0 70% auto 0 var(--ark-drawerW);
  }
}


/* ============================================================
   藤田屋のこだわりページ 専用CSS
   Arkheテーマ「追加CSS」または子テーマの style.css に追加してください
   ※色は既存の予約・仕出しフォーム（fujitaya-forms.js側のインラインスタイル）
     で使われている実際のブランドカラーに統一しています
   ============================================================ */

:root {
  --fj-navy: #0b2545;      /* 格式高い紺（フォームと共通） */
  --fj-dark: #1A2328;      /* 見出し等の濃色テキスト */
  --fj-gold: #bfa15f;      /* アクセントの金（フォームと共通） */
  --fj-gold-light: #E8DFD3;
  --fj-cream: #fcfaf7;     /* 生成り背景（フォームの notice box と共通） */
  --fj-cream-soft: #f7f9fa;
  --fj-charcoal: #2C3539;
}

/* ---------- 共通パーツ ---------- */
.fj-eyebrow {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: var(--fj-gold);
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.fj-gold-divider {
  width: 48px;
  height: 2px;
  background: var(--fj-gold);
  margin: 1rem 0;
}
.fj-gold-divider.center {
  margin-left: auto;
  margin-right: auto;
}

/* ---------- 1. ヒーロー（カバー画像ブロックに追加クラス fj-hero を指定） ---------- */
.fj-hero {
  min-height: 70vh;
}
.fj-hero .wp-block-cover__background {
  background: linear-gradient(
    to top,
    rgba(11, 37, 69, 0.95) 0%,
    rgba(11, 37, 69, 0.4) 55%,
    rgba(11, 37, 69, 0.15) 100%
  ) !important;
}
.fj-hero h1 {
  font-size: clamp(1.75rem, 4vw, 3rem);
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.fj-hero p {
  max-width: 40em;
  font-weight: 300;
  color: #eee;
}

/* ---------- 2. イントロ：縦書き見出し（見出しブロックに fj-vertical を指定） ---------- */
.fj-vertical {
  writing-mode: vertical-rl;
  text-combine-upright: all;
  letter-spacing: 0.3em;
  font-size: clamp(1.25rem, 3vw, 2rem);
  line-height: 2;
  color: var(--fj-dark);
}
.fj-vertical .accent {
  color: var(--fj-gold);
}

/* ---------- 4. こだわり各項目 ---------- */
/* メディア&テキストブロックの画像に番号バッジを重ねる場合は
   画像を fj-media-badge-wrap でグループ化し、中に span.fj-badge を Custom HTML で追加 */
.fj-media-badge-wrap {
  position: relative;
}
.fj-badge {
  position: absolute;
  top: 0;
  left: 1rem;
  background: rgba(11, 37, 69, 0.9);
  color: #fff;
  padding: 0.4rem 0.9rem;
  letter-spacing: 0.2em;
  font-size: 0.9em;
  font-weight: 700;
}

/* ワンポイント解説ボックス（グループブロックに fj-point-box を指定） */
.fj-point-box {
  background: var(--fj-cream);
  border-left: 3px solid var(--fj-gold);
  padding: 1.25rem 1.5rem;
  border-radius: 2px;
}
.fj-point-box h4 {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--fj-navy);
  margin-bottom: 0.5rem;
}
.fj-point-box p {
  font-size: 0.85rem;
  color: #666;
  line-height: 1.8;
  margin-top: 0.5rem;
}

/* ---------- 5. 専門調理師・バリアフリーセクション ---------- */
.fj-navy-section {
  background: var(--fj-navy);
  color: #fff;
  padding: 5rem 0;
}
.fj-navy-section h2, .fj-navy-section h3 {
  color: #fff;
}
.fj-navy-section p {
  color: #cbd5da;
  font-weight: 300;
}
.fj-navy-section a {
  color: var(--fj-gold);
}

.fj-a11y-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.fj-a11y-icon {
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 3px;
  background: rgba(191, 161, 95, 0.15);
  border: 1px solid rgba(191, 161, 95, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
}
.fj-a11y-icon svg {
  width: 18px;
  height: 18px;
  stroke: var(--fj-gold);
}
.fj-a11y-card h4 {
  font-size: 0.9rem;
  color: #fff;
  margin: 0 0 0.35rem;
}
.fj-a11y-card p {
  font-size: 0.8rem;
  color: #9fb0bb;
  margin: 0;
  line-height: 1.7;
}

/* ---------- 6. CTAセクション ---------- */
.fj-cta-section {
  background: var(--fj-cream);
  padding: 5rem 0;
  text-align: center;
}
.fj-cta-section .wp-block-buttons {
  justify-content: center;
}
.fj-cta-section .wp-block-button__link.is-style-fj-outline {
  background: #fff;
  color: var(--fj-navy);
  border: 1px solid var(--fj-gold-light);
}
.fj-cta-section .wp-block-button__link.is-style-fj-solid {
  background: var(--fj-navy);
  color: #fff;
}

/* ---------- レスポンシブ：縦書き見出しはスマホでは横書きに戻す ---------- */
@media (max-width: 767px) {
  .fj-vertical {
    writing-mode: horizontal-tb;
    letter-spacing: 0.05em;
    text-align: center;
  }
}


/* ==========================================================================
   一品料理ページ専用スタイル (fujitaya-alacarte.css)
   ========================================================================== */


/* 2. セクション見出し */
.fj-section-title {
    text-align: center;
    margin-bottom: 70px;
}
.fj-section-title .sub {
    display: block;
    color: var(--fj-gold);
    font-family: "Noto Serif JP", serif !important;
    font-size: 0.85rem;
    letter-spacing: 0.3em;
    font-weight: 700;
    margin-bottom: 12px;
}
.fj-section-title h2 {
    color: var(--fj-navy);
    font-family: "Noto Serif JP", serif !important;
    font-size: 2.4rem;
    letter-spacing: 0.15em;
    margin-bottom: 24px;
    font-weight: 500;
}
.fj-section-title .lead {
    font-size: 1rem;
    color: #475569;
    line-height: 2;
    max-width: 750px;
    margin: 0 auto;
    font-weight: 300;
}

/* 3. 名物活タコグリッド */
.fj-alacarte-featured-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}
.fj-alacarte-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-top: 4px solid var(--fj-navy);
    padding: 35px 30px;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    text-align: center;
}
.fj-alacarte-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(11, 37, 69, 0.08);
    border-top-color: var(--fj-gold);
}
.fj-alacarte-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    margin-bottom: 24px;
}
.fj-alacarte-card h4 {
    font-family: "Noto Serif JP", serif !important;
    color: var(--fj-navy);
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: 0.1em;
}
.fj-alacarte-card .price {
    font-family: "Noto Serif JP", serif !important;
    color: var(--fj-gold);
    font-size: 1.25rem;
    font-weight: 700;
    display: block;
    margin-bottom: 16px;
}
.fj-alacarte-card p {
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.8;
    font-weight: 300;
}

/* 4. お品書きテーブル */
.fj-menu-container {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 24px;
}
.fj-menu-section-title {
    font-family: "Noto Serif JP", serif !important;
    color: var(--fj-navy);
    font-size: 1.45rem;
    font-weight: 700;
    border-bottom: 2px solid var(--fj-gold);
    padding-bottom: 12px;
    margin-bottom: 30px;
    letter-spacing: 0.12em;
}
.fj-menu-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 50px;
}
.fj-menu-table tr {
    border-bottom: 1px dashed #cbd5e1;
    transition: background-color 0.3s;
}
.fj-menu-table tr:hover {
    background-color: rgba(197, 168, 128, 0.05);
}
.fj-menu-table td {
    padding: 20px 16px;
    vertical-align: middle;
}
.fj-menu-table .menu-name {
    font-family: "Noto Serif JP", serif !important;
    font-size: 1.05rem;
    color: var(--fj-text-main);
    font-weight: 500;
    letter-spacing: 0.05em;
}
.fj-menu-table .menu-price {
    font-family: "Noto Serif JP", serif !important;
    font-size: 1.05rem;
    color: var(--fj-navy);
    text-align: right;
    font-weight: 700;
    white-space: nowrap;
    letter-spacing: 0.05em;
}

/* セクションパディング */
.arkhe-section {
    padding: 120px 24px;
    max-width: 1200px;
    margin: 0 auto;
}

/* レスポンシブ対応 */
@media screen and (max-width: 991px) {
    .fj-alacarte-featured-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .fj-alacarte-card {
        padding: 30px 20px;
    }
    .arkhe-section {
        padding: 80px 20px;
    }
    .fj-menu-container {
        margin: 40px auto;
    }
}

@import url("assets/css/front-page.css");
