/*
 Theme Name:   NANO Child - フジデン
 Theme URI:    https://www.fuji-den.co.jp/
 Description:  TCD NANO (tcd065) の子テーマ。テーマアップデートの影響を受けずにカスタマイズを保持します。
 Author:       株式会社フジデンホールディングス
 Author URI:   https://www.fuji-den.co.jp/
 Template:     nano_tcd065
 Version:      1.1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  nano-child-fujiden
*/

/* ==========================================================================
   フジデン カスタムデザイン - プロトタイプ準拠
   NANOテーマのアップデートで上書きされません
   ========================================================================== */

/* --- カラー変数 --- */
:root {
    --fujiden-blue: #1a5fa0;
    --fujiden-green: #4caf50;
    --fujiden-dark: #1a1a2e;
    --fujiden-dark-light: #252545;
    --fujiden-text: #333333;
    --fujiden-text-light: #666666;
    --fujiden-light-bg: #f5f5f5;
    --fujiden-accent-gold: #c4a35a;
    --fujiden-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --fujiden-shadow-card: 0 4px 20px rgba(0, 0, 0, 0.08);
    --fujiden-shadow-card-hover: 0 12px 40px rgba(0, 0, 0, 0.15);
}

/* ==========================================================================
   ヘッダー — 白背景・プレミアムスタイル
   ========================================================================== */

/* ヘッダー全体 */
.l-header {
    background: #ffffff !important;
    border-bottom: 1px solid #e0e0e0 !important;
}

/* ヘッダー上部（ロゴエリア） */
.l-header__inner {
    border-bottom: 1px solid #e8e8e8;
}

/* スクロール固定時のヘッダー */
.l-header--fixed.is-active {
    background: #ffffff !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* ロゴのテキストカラー */
.l-header__logo a,
.l-header__logo a:hover {
    color: #1a1a2e !important;
}

/* キャッチフレーズ */
.l-header__desc {
    color: #666666 !important;
    font-size: 12px !important;
    letter-spacing: 0.08em;
}

/* ==========================================================================
   グローバルナビゲーション — プロトタイプ準拠
   ========================================================================== */

/* ナビ背景 */
.l-header__nav {
    background: var(--fujiden-dark) !important;
}

/* ナビリンク — 高さを低く */
.p-global-nav > li > a {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em;
    padding: 10px 16px !important;
    transition: all var(--fujiden-transition);
    position: relative;
}

/* ナビリンク下線アニメーション */
.p-global-nav > li > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: var(--fujiden-blue);
    transition: width var(--fujiden-transition);
}

.p-global-nav > li > a:hover::after,
.p-global-nav > .current-menu-item > a::after,
.p-global-nav > .current-menu-ancestor > a::after {
    width: 100%;
}

/* ホバー・アクティブ状態 */
.p-global-nav > li > a:hover,
.p-global-nav > .current-menu-item > a,
.p-global-nav > .current-menu-ancestor > a,
.p-global-nav > .current-menu-parent > a {
    color: #ffffff !important;
    background: transparent !important;
}

/* サブメニュー */
.p-global-nav .sub-menu {
    background: var(--fujiden-dark-light) !important;
    border-top: 2px solid var(--fujiden-blue) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}

.p-global-nav .sub-menu a {
    color: rgba(255, 255, 255, 0.75) !important;
    background: var(--fujiden-dark-light) !important;
    font-size: 13px !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: all var(--fujiden-transition);
}

.p-global-nav .sub-menu a:hover {
    color: #ffffff !important;
    background: rgba(26, 95, 160, 0.2) !important;
    padding-left: 26px !important;
}

/* メニューボタン（ハンバーガー） */
.p-menu-btn {
    color: #333333 !important;
}

/* ナビの英語サブテキスト */
.p-global-nav > li > a .gMenu_description {
    font-size: 10px !important;
    margin-top: 2px !important;
}

/* ==========================================================================
   固定ページ カバーヘッダー — 余白を最小化
   ========================================================================== */
.p-cover {
    min-height: auto !important;
    height: auto !important;
    padding: 40px 0 !important;
}

.p-cover.mt0 {
    margin-top: 0 !important;
}

.p-cover__inner {
    padding: 20px 0 !important;
}

.p-cover__title {
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

.p-cover__sub {
    font-size: 14px !important;
    margin: 8px 0 0 !important;
}

/* l-contents の上余白も削減 */
.l-contents--no-border {
    padding-top: 0 !important;
}

.l-contents__inner.mt50 {
    margin-top: 20px !important;
}

/* ==========================================================================
   コンテンツ01（事業案内カード） — プロトタイプ準拠
   ========================================================================== */

/* セクション見出し */
.p-index-content01__title {
    font-size: 28px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    color: var(--fujiden-text) !important;
    position: relative;
    padding-bottom: 20px;
}

.p-index-content01__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background: var(--fujiden-blue);
}

.p-index-content01__desc {
    font-size: 15px !important;
    color: var(--fujiden-text-light) !important;
    line-height: 2;
}

/* 事業カード */
.p-article12 {
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: var(--fujiden-shadow-card);
    transition: all var(--fujiden-transition);
}

.p-article12:hover {
    transform: translateY(-8px);
    box-shadow: var(--fujiden-shadow-card-hover);
}

.p-article12__img {
    border-radius: 6px 6px 0 0;
    overflow: hidden;
}

.p-article12__img img {
    transition: transform 0.6s ease;
}

.p-article12:hover .p-article12__img img {
    transform: scale(1.08);
}

/* カードタイトル */
.p-article12__title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--fujiden-text) !important;
    padding-left: 14px;
    border-left: 4px solid var(--fujiden-blue);
}

.p-article12__sub {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px !important;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--fujiden-blue) !important;
}

/* ボタン */
.p-index-content02 .p-btn a {
    background: var(--fujiden-blue) !important;
    color: #ffffff !important;
    border: 2px solid var(--fujiden-blue) !important;
    border-radius: 4px;
    padding: 14px 36px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    transition: all var(--fujiden-transition);
}

.p-index-content02 .p-btn a:hover {
    background: transparent !important;
    color: var(--fujiden-blue) !important;
}

/* ==========================================================================
   お知らせセクション — プロトタイプ準拠
   ========================================================================== */

/* セクション見出し */
.p-cb__item-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    position: relative;
    padding-bottom: 20px;
}

.p-cb__item-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background: var(--fujiden-blue);
}

.p-cb__item-sub {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px !important;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--fujiden-blue) !important;
}

/* お知らせリスト */
.p-article02 {
    border-bottom: 1px solid #eee;
    transition: all var(--fujiden-transition);
}

.p-article02:first-child {
    border-top: 1px solid #eee;
}

.p-article02:hover {
    padding-left: 10px;
}

.p-article02__date {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500;
    color: var(--fujiden-text-light);
}

.p-article02__title {
    font-size: 14px !important;
    color: var(--fujiden-text);
    line-height: 1.6;
    transition: color var(--fujiden-transition);
}

.p-article02 a:hover .p-article02__title {
    color: var(--fujiden-blue) !important;
}

.p-cat {
    background: var(--fujiden-blue) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    padding: 3px 12px !important;
    border-radius: 2px !important;
    border: none !important;
}

/* お知らせボタン */
.p-index-content03 .p-btn a,
.p-cb__item-btn a {
    background: var(--fujiden-blue) !important;
    color: #ffffff !important;
    border: 2px solid var(--fujiden-blue) !important;
    border-radius: 4px;
    padding: 14px 36px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    transition: all var(--fujiden-transition);
}

.p-index-content03 .p-btn a:hover,
.p-cb__item-btn a:hover {
    background: transparent !important;
    color: var(--fujiden-blue) !important;
}

/* ==========================================================================
   フッター — ダークネイビー・プレミアムスタイル
   ========================================================================== */

/* 会社情報エリア */
.p-info {
    background: var(--fujiden-dark) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    padding: 70px 0 !important;
}

.p-info__logo a,
.p-info__logo {
    color: #ffffff !important;
}

.p-info__desc {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 12px !important;
}

.p-info__address {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 13px !important;
    line-height: 1.9;
}

.p-info__tel a {
    color: rgba(255, 255, 255, 0.8) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

/* フッターウィジェット */
.p-footer-widgets {
    background: var(--fujiden-dark) !important;
    color: rgba(255, 255, 255, 0.6) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.p-footer-widget__title {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    margin-bottom: 16px !important;
}

/* フッターナビ */
.p-footer-nav {
    background: #111122 !important;
    color: rgba(255, 255, 255, 0.55) !important;
}

.p-footer-nav a {
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 13px !important;
    transition: all var(--fujiden-transition);
}

.p-footer-nav a:hover {
    color: #ffffff !important;
}

/* コピーライト */
.p-copyright {
    background: #0d0d1a !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.35) !important;
    letter-spacing: 0.05em;
}

/* ==========================================================================
   ウィジェット
   ========================================================================== */

.p-widget__title {
    background: var(--fujiden-blue) !important;
    font-size: 14px !important;
    letter-spacing: 0.05em;
}

/* ==========================================================================
   ページヘッダー（各ページ上部）
   ========================================================================== */

.p-page-header {
    background: var(--fujiden-blue) !important;
}

.p-cover {
    background-size: cover;
    background-position: center;
}

.p-page-header__title,
.p-cover__header-title {
    font-weight: 700 !important;
    letter-spacing: 0.08em;
}

/* ==========================================================================
   記事・コンテンツエリア
   ========================================================================== */

/* コンテンツリンク */
.p-entry__body a {
    color: var(--fujiden-blue) !important;
    text-decoration: underline;
}

.p-entry__body a:hover {
    color: var(--fujiden-green) !important;
}

/* テーブル */
.p-entry__body table {
    border-collapse: collapse;
    width: 100%;
}

.p-entry__body th {
    background: var(--fujiden-light-bg);
    font-weight: 500;
}

/* ==========================================================================
   パンくずリスト
   ========================================================================== */

.p-breadcrumb__item {
    color: var(--fujiden-blue) !important;
    font-size: 12px;
}

/* ==========================================================================
   ページトップボタン
   ========================================================================== */

.p-pagetop {
    background: var(--fujiden-blue) !important;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(26, 95, 160, 0.3);
    transition: all var(--fujiden-transition);
}

.p-pagetop:hover {
    background: var(--fujiden-dark) !important;
    transform: translateY(-3px);
}

/* ==========================================================================
   レスポンシブ — モバイルナビゲーション
   ========================================================================== */

@media screen and (max-width: 1199px) {
    .p-global-nav > li > a,
    .p-global-nav > li > a:hover,
    .p-accordion-nav li > a,
    .p-accordion-nav li > a:hover {
        background: var(--fujiden-dark) !important;
        color: rgba(255, 255, 255, 0.85) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .p-global-nav > li > a::after {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .p-index-content01__title {
        font-size: 22px !important;
    }

    .p-cb__item-title {
        font-size: 20px !important;
    }
}
