/*
Theme Name: HOTEZA — Faucet
Theme URI: https://www.faucet.co.jp/
Author: 株式会社フォーセット
Author URI: https://www.faucet.co.jp/
Description: HOTEZA（ホテルDX・客室テレビ・IPTV）日本国内取扱代理店・株式会社フォーセットのオリジナルテーマ。トップページ（LP）＋固定ページ＋お知らせ（ブログ）に対応。SEO・構造化データ・お問い合わせフォーム（wp_mail）内蔵。
Version: 2.3.1
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hoteza
Tags: business, custom-colors, custom-menu, featured-images, translation-ready, blog, one-column, two-columns
*/

/* =========================================================================
   1. LP グローバル（元デザインの <style> を完全踏襲）
   ========================================================================= */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:'IBM Plex Sans JP',sans-serif;color:#0B232A;background:#F7F6F2;}
a{text-decoration:none;}
summary{list-style:none;}
summary::-webkit-details-marker{display:none;}
details[open] [data-faq-icon]{transform:rotate(45deg);}
@media(max-width:760px){ [data-nav-links]{display:none !important;} [data-hide-mobile]{display:none !important;} [data-menu-btn]{display:flex !important;} [data-cta-desktop]{display:none !important;} }
/* --- スマホ：ファーストビュー微調整（CTAを全幅に・実績数値の縦積みを整列） --- */
@media(max-width:760px){
  [data-hero-visual]{order:-1;min-height:0 !important;}
  [data-hero-cta]{display:block;width:100%;box-sizing:border-box;text-align:center;padding:18px 24px !important;}
  [data-stat-cell]{border-left:none !important;padding:26px 0 !important;}
}
@media(min-width:761px){ [data-cta-mobile]{display:none !important;} }
[data-hv="ink"]:hover{background:#0B232A !important;color:#F7F6F2 !important;border-color:#0B232A !important;transform:translateY(-2px);}
[data-hv="light"]:hover{background:#F7F6F2 !important;color:#0B232A !important;transform:translateY(-3px);box-shadow:0 20px 44px rgba(1,137,176,0.45) !important;}
[data-hv="lightflat"]:hover{background:#F7F6F2 !important;color:#0B232A !important;transform:translateY(-2px);}
[data-hv="tab"]:hover{background:#F7F6F2 !important;color:#0B232A !important;transform:translateY(-50%) translateX(-4px);}
[data-hv="submit"]:hover{background:#0B232A !important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,35,42,0.3);}
[data-hv="inklink"]:hover{color:#0B232A !important;border-color:#0B232A !important;transform:translateX(4px);}
[data-hv="navlink"]:hover{color:#0189B0 !important;}
::selection{background:#0189B0;color:#FFFFFF;}

/* --- 元デザインの style-hover / style-focus を再現（見た目は不変） --- */
.hz-nav-link:hover{color:#0189B0;}
.hz-faq-summary:hover{color:#0189B0;}
.hz-field:focus{border-color:#0189B0 !important;background:#FFFFFF !important;}

/* --- モバイルメニュー（元は React state での開閉。挙動を完全再現） --- */
.hz-mobile-menu{display:none;}
.hz-mobile-menu.hz-open{display:flex;}

/* WordPress 管理バー分の余白（sticky ヘッダーとの干渉回避） */
@media screen and (max-width:782px){ .admin-bar [data-site-header]{top:46px;} }
@media screen and (min-width:783px){ .admin-bar [data-site-header]{top:32px;} }

/* アクセシビリティ：スキップリンク */
.hz-skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:#0B232A;color:#F7F6F2;padding:12px 20px;font-size:13px;}
.hz-skip-link:focus{left:8px;top:8px;}

/* =========================================================================
   2. 下層ページ・お知らせ（ブログ）共通レイアウト
   LP と同じパレット / タイポグラフィで統一
   ========================================================================= */
.hz-subhero{background:linear-gradient(160deg,#0E2A33 0%,#0B232A 55%,#07181E 100%);color:#F7F6F2;}
.hz-subhero-inner{max-width:1240px;margin:0 auto;padding:clamp(48px,7vw,88px) clamp(16px,4vw,40px);}
.hz-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.12em;color:#4FB6D2;text-transform:uppercase;}
.hz-subhero h1{margin:16px 0 0;font-weight:700;font-size:clamp(26px,3.6vw,42px);line-height:1.35;letter-spacing:.01em;}
.hz-subhero p{margin:14px 0 0;font-size:14px;line-height:2;color:rgba(247,246,242,0.72);max-width:640px;}

.hz-main{max-width:1240px;margin:0 auto;padding:clamp(48px,7vw,96px) clamp(16px,4vw,40px);}
.hz-main-narrow{max-width:880px;}

/* パンくず */
.hz-breadcrumb{max-width:1240px;margin:0 auto;padding:16px clamp(16px,4vw,40px);font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#59666A;letter-spacing:.02em;}
.hz-breadcrumb a{color:#3E4A4E;}
.hz-breadcrumb a:hover{color:#0189B0;}
.hz-breadcrumb .sep{margin:0 8px;color:#C9CCC7;}

/* お知らせ一覧（カード） */
.hz-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(20px,3vw,32px);}
.hz-post-card{background:#FFFFFF;border:1px solid #DFDED8;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.hz-post-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(11,35,42,0.1);}
.hz-post-card a.hz-card-link{color:inherit;display:flex;flex-direction:column;height:100%;}
.hz-post-thumb{aspect-ratio:16/9;background:linear-gradient(150deg,#1B4A5C,#0E2A33);overflow:hidden;}
.hz-post-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.hz-post-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.hz-post-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.05em;color:#0189B0;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.hz-post-cat{border:1px solid #DFDED8;color:#3E4A4E;padding:2px 8px;font-size:10.5px;}
.hz-post-card h2,.hz-post-card h3{margin:0;font-size:16.5px;font-weight:600;line-height:1.6;color:#0B232A;}
.hz-post-excerpt{margin:0;font-size:12.5px;color:#3E4A4E;line-height:1.9;}
.hz-post-more{margin-top:auto;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#0189B0;}

/* 単一記事・固定ページ本文（WYSIWYG コンテンツ） */
.hz-article{max-width:880px;margin:0 auto;}
.hz-article-header{border-bottom:1px solid #DFDED8;padding-bottom:28px;margin-bottom:36px;}
.hz-article-header h1{margin:14px 0 0;font-weight:700;font-size:clamp(24px,3.2vw,38px);line-height:1.45;letter-spacing:.01em;}
.hz-article-meta{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.05em;color:#59666A;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hz-article-featured{margin:0 0 36px;border:1px solid #DFDED8;}
.hz-article-featured img{width:100%;height:auto;display:block;}
.hz-content{font-size:15px;line-height:2.05;color:#3E4A4E;}
.hz-content > *{margin:0 0 1.4em;}
.hz-content h2{font-weight:600;font-size:clamp(20px,2.4vw,28px);line-height:1.5;color:#0B232A;margin:2em 0 .7em;padding-top:.4em;border-top:1px solid #DFDED8;}
.hz-content h3{font-weight:600;font-size:clamp(17px,2vw,21px);line-height:1.55;color:#0B232A;margin:1.6em 0 .6em;}
.hz-content h4{font-weight:600;font-size:16px;color:#0B232A;margin:1.4em 0 .5em;}
.hz-content a{color:#0189B0;border-bottom:1px solid rgba(1,137,176,0.4);}
.hz-content a:hover{border-bottom-color:#0189B0;}
.hz-content img{max-width:100%;height:auto;display:block;}
.hz-content ul,.hz-content ol{padding-left:1.4em;}
.hz-content li{margin:0 0 .5em;}
.hz-content blockquote{margin:1.6em 0;padding:6px 0 6px 22px;border-left:2px solid #0189B0;color:#3E4A4E;font-size:14.5px;}
.hz-content code{font-family:'IBM Plex Mono',monospace;font-size:.9em;background:#EFEEE8;padding:2px 6px;}
.hz-content pre{background:#0B232A;color:#F7F6F2;padding:20px;overflow:auto;font-family:'IBM Plex Mono',monospace;font-size:13px;line-height:1.7;}
.hz-content pre code{background:none;padding:0;color:inherit;}
.hz-content table{width:100%;border-collapse:collapse;font-size:14px;}
.hz-content th,.hz-content td{border:1px solid #DFDED8;padding:10px 14px;text-align:left;}
.hz-content th{background:#F0EFE9;font-weight:600;}
.hz-content figure{margin:1.6em 0;}
.hz-content figcaption{font-size:12px;color:#59666A;margin-top:8px;}

/* タグ／記事フッター */
.hz-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px;padding-top:28px;border-top:1px solid #DFDED8;}
.hz-tags a{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#3E4A4E;border:1px solid #DFDED8;padding:6px 12px;}
.hz-tags a:hover{color:#0189B0;border-color:#0189B0;}

/* 前後記事ナビ */
.hz-postnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:40px;}
.hz-postnav a{border:1px solid #DFDED8;padding:20px 22px;color:#0B232A;background:#FFFFFF;transition:border-color .2s;}
.hz-postnav a:hover{border-color:#0189B0;}
.hz-postnav .dir{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.08em;color:#0189B0;text-transform:uppercase;}
.hz-postnav .ttl{margin-top:8px;font-size:14px;font-weight:600;line-height:1.6;}
.hz-postnav .next{text-align:right;}

/* ページネーション */
.hz-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:56px;}
.hz-pagination .page-numbers{font-family:'IBM Plex Mono',monospace;font-size:13px;padding:10px 15px;border:1px solid #DFDED8;color:#0B232A;background:#FFFFFF;}
.hz-pagination .page-numbers.current{background:#0B232A;color:#F7F6F2;border-color:#0B232A;}
.hz-pagination a.page-numbers:hover{border-color:#0189B0;color:#0189B0;}

/* サイドバー／ウィジェット */
.hz-layout{display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,64px);}
@media(min-width:960px){ .hz-layout.has-sidebar{grid-template-columns:minmax(0,1fr) 280px;} }
.hz-sidebar .widget{margin-bottom:36px;}
.hz-sidebar .widget-title{font-family:'Space Grotesk','IBM Plex Sans JP',sans-serif;font-size:14px;font-weight:600;letter-spacing:.02em;padding-bottom:12px;border-bottom:1px solid #DFDED8;margin:0 0 16px;}
.hz-sidebar ul{list-style:none;margin:0;padding:0;}
.hz-sidebar li{padding:9px 0;border-bottom:1px solid #EDECE6;font-size:13.5px;}
.hz-sidebar a{color:#3E4A4E;}
.hz-sidebar a:hover{color:#0189B0;}

/* 検索フォーム */
.hz-searchform{display:flex;gap:0;border:1px solid #DFDED8;background:#FFFFFF;}
.hz-searchform input[type="search"]{flex:1;border:none;padding:12px 14px;font-size:15px;font-family:inherit;background:transparent;outline:none;color:#0B232A;}
.hz-searchform button{border:none;background:#0189B0;color:#FFFFFF;padding:0 18px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;}
.hz-searchform button:hover{background:#0B232A;}

/* 404 */
.hz-404{text-align:center;padding:clamp(60px,10vw,120px) clamp(16px,4vw,40px);}
.hz-404 .code{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(60px,12vw,120px);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(1,137,176,0.5);}
.hz-404 h1{margin:24px 0 0;font-size:clamp(20px,2.6vw,28px);font-weight:600;}
.hz-404 p{margin:14px 0 0;color:#3E4A4E;font-size:14px;}
.hz-btn{display:inline-block;margin-top:28px;background:#0189B0;color:#FFFFFF;padding:15px 32px;font-size:14px;font-weight:600;letter-spacing:.04em;transition:all .2s;}
.hz-btn:hover{background:#0B232A;}

/* お問い合わせフォームのエラー通知（フロント） */
.hz-form-notice{margin:0 0 16px;padding:13px 16px;font-size:12.5px;line-height:1.7;border:1px solid;}
.hz-form-notice.error{border-color:#B3462F;color:#B3462F;background:rgba(179,70,47,0.05);}
