/* =========================================================
   Hy+ 2026 — hyplus.jp 新デザイン
   色・文字・角丸は Hy+ デザインシステムに合わせる
   ========================================================= */

:root {
	--hy-cyan: #1B94CB;
	--hy-cyan-700: #14719C;
	--hy-cyan-50: #F1F9FD;
	--hy-cyan-100: #E3F3FB;
	--hy-cyan-200: #B6E0F2;
	--hy-orange: #F5A623;
	--hy-navy: #0B3A5B;
	--hy-navy-900: #072943;
	--hy-gray-50: #F7F9FB;
	--hy-gray-200: #DDE4EA;
	--hy-gray-300: #C4CFD8;
	--hy-gray-500: #6B7B88;
	--hy-gray-700: #3F4C57;
	--hy-font: 'Noto Sans JP', -apple-system, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	--hy-serif: 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	--hy-wrap: 1136px;
	--hy-gutter: 32px;
	--hy-shadow-card: 0 1px 2px rgba(11,58,91,.06), 0 1px 3px rgba(11,58,91,.08);
	--hy-shadow-float: 0 12px 32px rgba(11,58,91,.12);
}

/* ---------- 共通のリセット（親テーマの装飾を受けないように） ---------- */
.hy-header, .hy-footer, .hy-main {
	font-family: var(--hy-font);
	color: var(--hy-gray-700);
	line-height: 1.75;
	letter-spacing: .02em;
	-webkit-font-smoothing: antialiased;
}
.hy-header *, .hy-footer *, .hy-main *,
.hy-header *::before, .hy-footer *::before, .hy-main *::before,
.hy-header *::after, .hy-footer *::after, .hy-main *::after { box-sizing: border-box; }
.hy-main h1, .hy-main h2, .hy-main h3, .hy-main h4, .hy-main p, .hy-main ul, .hy-main ol, .hy-main dl, .hy-main dd, .hy-main figure,
.hy-header ul, .hy-header p, .hy-footer p {
	margin: 0; padding: 0; border: 0; background: none;
}
.hy-main h1::before, .hy-main h1::after, .hy-main h2::before, .hy-main h2::after, .hy-main h3::before, .hy-main h3::after { content: none; display: none; }
.hy-main ul, .hy-main ol, .hy-header ul { list-style: none; }
.hy-main a, .hy-header a, .hy-footer a { text-decoration: none; transition: color .15s, background-color .15s, border-color .15s, box-shadow .15s, opacity .15s; }
.hy-main a:hover, .hy-header a:hover, .hy-footer a:hover { opacity: 1; }
.hy-main img, .hy-header img, .hy-footer img { max-width: 100%; border: 0; vertical-align: middle; }
.hy-main button, .hy-header button, .hy-main input, .hy-header input { font-family: inherit; }
.hy-icon { flex: none; display: inline-block; vertical-align: middle; }
.hy-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hy-skip { position: absolute; left: -9999px; top: 0; z-index: 10000; background: #fff; color: var(--hy-navy); padding: 8px 16px; font-weight: 700; }
.hy-skip:focus { left: 8px; top: 8px; }
.hy-main :focus-visible, .hy-header :focus-visible, .hy-footer :focus-visible { outline: 3px solid var(--hy-cyan); outline-offset: 2px; }

body.hy-body { margin: 0; background: #FFFFFF; }

/* ---------- 文字 ---------- */
.hy-wrap { max-width: var(--hy-wrap); margin: 0 auto; }
.hy-eyebrow { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .2em; color: var(--hy-cyan-700); line-height: 1.6; }
.hy-eyebrow--sm { font-size: 11px; letter-spacing: .18em; }
.hy-eyebrow--light { color: var(--hy-cyan-200); }
.hy-eyebrow--bar { display: flex; align-items: center; gap: 12px; letter-spacing: .3em; }
.hy-eyebrow--bar::before { content: ""; display: inline-block; width: 32px; height: 3px; background: var(--hy-cyan); }
.hy-h2 { font-size: 32px; font-weight: 900; color: var(--hy-navy); line-height: 1.4; }
.hy-h3 { font-size: 28px; font-weight: 900; color: var(--hy-navy); line-height: 1.45; }
.hy-cyan { color: var(--hy-cyan); }
.hy-dot { color: var(--hy-orange); }
.hy-nowrap { white-space: nowrap; }
.hy-serif { font-family: var(--hy-serif); font-weight: 700; letter-spacing: .06em; }
.hy-note { font-size: 12px; color: var(--hy-gray-500); }
.hy-note--light { color: rgba(255,255,255,.72); }
.hy-more { font-size: 15px; font-weight: 700; color: var(--hy-cyan-700); }
.hy-more:hover { color: var(--hy-navy); }
.hy-sechead { display: flex; flex-direction: column; gap: 4px; margin-bottom: 32px; }
.hy-sechead--row { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }

/* ---------- ボタン ---------- */
.hy-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 48px; padding: 0 24px; border-radius: 999px; border: 2px solid transparent;
	font-size: 15px; font-weight: 900; line-height: 1; white-space: nowrap; cursor: pointer;
}
.hy-btn--lg { height: 54px; padding: 0 28px; font-size: 16px; }
.hy-btn--xl { height: 56px; padding: 0 28px; font-size: 16px; }
.hy-btn--square { border-radius: 6px; }
.hy-btn--amazon { background: var(--hy-orange); color: var(--hy-navy-900) !important; box-shadow: 0 6px 16px rgba(245,166,35,.32); }
.hy-btn--amazon:hover { background: #E8971A; }
.hy-btn--primary { background: var(--hy-cyan-700); color: #fff !important; }
.hy-btn--primary:hover { background: var(--hy-navy); }
.hy-btn--outline { background: #fff; border-color: var(--hy-cyan-700); color: var(--hy-cyan-700) !important; }
.hy-btn--outline:hover { background: var(--hy-cyan-50); }
.hy-btn--white { background: #fff; color: var(--hy-navy-900) !important; }
.hy-btn--white:hover { background: var(--hy-cyan-100); }
.hy-btn--outline-white { background: transparent; border-color: #fff; color: #fff !important; }
.hy-btn--outline-white:hover { background: rgba(255,255,255,.12); }

/* =========================================================
   ヘッダー
   ========================================================= */
.hy-header { position: relative; z-index: 1000; background: #fff; border-bottom: 1px solid var(--hy-gray-200); }
.hy-header__inner { max-width: 1200px; margin: 0 auto; padding: 14px var(--hy-gutter); display: flex; align-items: center; gap: 24px; }
.hy-header__brand { display: flex; align-items: center; gap: 14px; }
.hy-header__brand img { height: 42px; width: auto; }
/* 看板の添え文字：大きく・太く（2026-10-28 西川さん） */
.hy-header__tag { font-size: 16px; font-weight: 900; color: var(--hy-navy); letter-spacing: .03em; white-space: nowrap; }
.hy-nav { margin-left: auto; display: flex; align-items: center; }
.hy-nav__list { display: flex; gap: 4px 26px; margin: 0; padding: 0; }
.hy-nav__list a { display: block; padding: 10px 0; font-size: 15px; font-weight: 700; color: var(--hy-navy); white-space: nowrap; }
.hy-nav__list a:hover { color: var(--hy-cyan-700); }
.hy-nav__list a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--hy-cyan); }
.hy-nav__sub, .hy-nav__amazon { display: none !important; }
.hy-header__actions { display: flex; align-items: center; gap: 10px; }
.hy-iconbtn { width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--hy-gray-200); background: #fff; color: var(--hy-navy); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.hy-iconbtn:hover { background: var(--hy-gray-50); }
.hy-header__amazon { height: 44px; padding: 0 20px; font-size: 14px; }
.hy-header__menu { display: none; }
.hy-ico-close { display: none; }
.hy-header__menu[aria-expanded="true"] .hy-ico-open { display: none; }
.hy-header__menu[aria-expanded="true"] .hy-ico-close { display: inline; }
.hy-search { border-top: 1px solid var(--hy-gray-200); background: var(--hy-gray-50); }
.hy-search[hidden] { display: none; }
.hy-search__form { max-width: 760px; margin: 0 auto; padding: 16px var(--hy-gutter); display: flex; gap: 10px; }
.hy-search__form input { flex: 1 1 auto; min-width: 0; height: 48px; padding: 0 16px; border: 1px solid var(--hy-gray-300); border-radius: 10px; font-size: 16px; color: var(--hy-navy); background: #fff; }
.hy-search__form .hy-btn { border-radius: 10px; }

/* =========================================================
   フッター
   ========================================================= */
.hy-footer { background: var(--hy-navy-900); color: rgba(255,255,255,.82); padding: 64px var(--hy-gutter) 40px; }
.hy-footer__inner { max-width: var(--hy-wrap); margin: 0 auto; display: flex; flex-direction: column; gap: 40px; }
.hy-footer__cols { display: flex; flex-wrap: wrap; gap: 40px 64px; }
.hy-footer__brand { flex: 1 1 240px; display: flex; flex-direction: column; gap: 12px; }
.hy-footer__brand img { height: 40px; width: auto; align-self: flex-start; }
.hy-footer__brand p { font-size: 13px; letter-spacing: .08em; }
.hy-footer__col { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.hy-footer__col b { color: #fff; }
.hy-footer__col a { color: rgba(255,255,255,.82); }
.hy-footer__col a:hover { color: #fff; }
.hy-footer__copy { padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); font-size: 12px; }

/* =========================================================
   TOP：看板
   ========================================================= */
.hy-hero { background: var(--hy-navy-900); display: flex; flex-wrap: wrap; align-items: stretch; min-height: 600px; overflow: hidden; }
.hy-hero__text {
	flex: 1 1 500px; display: flex; flex-direction: column; justify-content: center; gap: 24px;
	padding: 96px 48px 112px max(32px, calc((100% - 1200px) / 2 + 32px));
}
.hy-hero__title { font-size: clamp(48px, 6vw, 84px); line-height: 1.12; font-weight: 900; color: #fff; letter-spacing: -.01em; }
.hy-hero__lead { font-size: 17px; line-height: 1.9; color: rgba(255,255,255,.86); max-width: 30em; }
.hy-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.hy-hero__visual { flex: 1.25 1 600px; min-height: 600px; position: relative; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); background: var(--hy-navy); }
.hy-hero__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 35% 55%; }

/* TOP：機種から探す */
.hy-finder { padding: 0 var(--hy-gutter); position: relative; z-index: 2; }
.hy-finder__card { max-width: var(--hy-wrap); margin: -64px auto 0; background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 16px; box-shadow: var(--hy-shadow-float); padding: 32px 36px; display: flex; flex-direction: column; gap: 20px; }
.hy-finder__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 24px; }
.hy-finder__head { flex: 0 0 auto; }
.hy-finder__title { margin-top: 2px !important; font-size: 26px; line-height: 1.4; font-weight: 900; color: var(--hy-navy); }
.hy-finder__form { flex: 1 1 480px; display: flex; flex-direction: column; gap: 6px; }
.hy-finder__label { font-size: 13px; font-weight: 700; color: var(--hy-gray-700); }
.hy-finder__field { display: flex; gap: 10px; }
.hy-finder__field input { flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 18px; border: 1px solid var(--hy-gray-300); border-radius: 10px; font-size: 16px; color: var(--hy-navy); background: #fff; }
.hy-finder__field .hy-btn { height: 52px; border-radius: 10px; padding: 0 26px; font-size: 16px; }
.hy-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.hy-chip { display: inline-flex; align-items: center; height: 44px; padding: 0 20px; border-radius: 999px; border: 1px solid var(--hy-gray-200); background: var(--hy-gray-50); color: var(--hy-navy) !important; font-weight: 700; font-size: 15px; }
.hy-chip:hover { border-color: var(--hy-cyan); background: var(--hy-cyan-50); }
.hy-chip--all { background: #fff; color: var(--hy-cyan-700) !important; }

/* セクション */
.hy-sec { padding: 88px var(--hy-gutter); }
#products.hy-sec { padding-top: 96px; }
.hy-sec--gray { background: var(--hy-gray-50); }
.hy-sec--cyan { background: var(--hy-cyan-50); }

/* 製品カード */
.hy-cards4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.hy-pcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 16px; box-shadow: var(--hy-shadow-card); overflow: hidden; color: inherit !important; }
.hy-pcard:hover { border-color: var(--hy-cyan-200); box-shadow: var(--hy-shadow-float); }
.hy-pcard__img { background: var(--hy-gray-50); aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; }
.hy-pcard__img img { width: 78%; height: 90%; object-fit: contain; mix-blend-mode: multiply; }
.hy-pcard__svg { width: 70%; height: 70%; }
.hy-pcard__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 6px; }
.hy-pcard__name { font-size: 20px; font-weight: 900; color: var(--hy-navy); }
.hy-pcard__text { font-size: 14px; line-height: 1.7; }
.hy-pcard__more { margin-top: 6px; font-size: 14px; font-weight: 700; color: var(--hy-cyan-700); }

/* TOP：四隅 */
.hy-structure { background: var(--hy-navy-900); display: flex; flex-wrap: wrap; align-items: stretch; }
.hy-structure__visual { flex: 1 1 560px; min-height: 480px; position: relative; background: var(--hy-navy); }
.hy-structure__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 70%; }
.hy-structure__text { flex: 1 1 520px; padding: 80px max(32px, calc((100% - 1200px) / 2 + 32px)) 80px 56px; display: flex; flex-direction: column; gap: 20px; }
.hy-structure__title { font-size: 40px; font-weight: 900; color: #fff; line-height: 1.3; }
.hy-structure__lead { font-size: 16px; line-height: 1.9; color: rgba(255,255,255,.86); }
.hy-spec { margin-top: 4px !important; display: grid; grid-template-columns: 112px 1fr; border-top: 1px solid rgba(182,224,242,.3); }
.hy-spec dt, .hy-spec dd { padding: 14px 0; border-bottom: 1px solid rgba(182,224,242,.3); }
.hy-spec dt { font-size: 12px; font-weight: 700; letter-spacing: .2em; color: var(--hy-cyan-200); }
.hy-spec dd { margin: 0; font-size: 15px; font-weight: 700; color: #fff; }

/* TOP：人気の機種 */
.hy-models { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 20px; }
.hy-model { background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 16px; padding: 20px; display: flex; gap: 18px; align-items: center; }
.hy-model__img { width: 112px; height: 120px; object-fit: contain; flex: none; }
.hy-model__body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.hy-model__maker { font-size: 12px; color: var(--hy-gray-500); }
.hy-model__name { font-size: 19px; font-weight: 900; color: var(--hy-navy); line-height: 1.4; }
.hy-badge { margin-left: 6px; font-size: 11px; font-weight: 900; color: var(--hy-navy); background: var(--hy-orange); padding: 1px 8px; border-radius: 999px; }
.hy-model__links { display: flex; flex-wrap: wrap; gap: 6px; }
.hy-model__links a { font-size: 13px; font-weight: 700; padding: 6px 12px; border-radius: 999px; background: var(--hy-cyan-100); color: var(--hy-navy) !important; }
.hy-model__links a:hover { background: var(--hy-cyan-200); }

/* TOP：テレビに映す */
.hy-tv { display: flex; flex-wrap: wrap; gap: 40px; align-items: stretch; }
.hy-tv__main { flex: 1 1 520px; display: flex; flex-direction: column; gap: 18px; }
.hy-tv__lead { font-size: 16px; }
.hy-linklist { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin-top: 4px !important; }
.hy-linklist a { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 10px; padding: 14px 16px; font-size: 15px; font-weight: 700; color: var(--hy-navy) !important; }
.hy-linklist a span { color: var(--hy-cyan-700); }
.hy-linklist a:hover { border-color: var(--hy-cyan); }
.hy-tv .hy-more { align-self: flex-start; margin-top: 6px; }
.hy-adapter { flex: 1 1 360px; background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 16px; box-shadow: var(--hy-shadow-card); padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.hy-adapter__img { background: var(--hy-gray-50); border-radius: 10px; height: 180px; display: flex; align-items: center; justify-content: center; }
.hy-adapter__img svg { width: 240px; height: 150px; }
.hy-adapter__sub { font-size: 12px; color: var(--hy-gray-500); }
.hy-adapter__name { margin-top: -12px !important; font-size: 19px; font-weight: 900; color: var(--hy-navy); line-height: 1.5; }
.hy-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.hy-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--hy-navy); background: var(--hy-cyan-100); padding: 6px 12px; border-radius: 999px; }
.hy-tag .hy-icon { color: var(--hy-cyan-700); }
.hy-adapter__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; }
.hy-adapter__btns .hy-btn { flex: 1 1 160px; height: 50px; }

/* TOP：こだわり */
.hy-why { background: var(--hy-navy); padding: 96px var(--hy-gutter); }
.hy-why__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 40px; }
.hy-why__title { margin-top: 6px !important; font-size: 36px; font-weight: 900; color: #fff; line-height: 1.4; }
.hy-why__title span { color: var(--hy-cyan); }
.hy-why__serif { margin-top: 6px !important; font-size: 20px; color: #fff; }
.hy-why__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.hy-why__item { border: 1px solid rgba(182,224,242,.35); border-radius: 16px; padding: 24px 22px; display: flex; flex-direction: column; gap: 10px; }
.hy-why__item .hy-icon { color: var(--hy-cyan-200); }
.hy-why__item h3 { font-size: 18px; font-weight: 900; color: #fff; }
.hy-why__item p { font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.82); }

/* TOP：購入 */
.hy-shops { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; }
.hy-shop { border: 1px solid var(--hy-gray-200); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; background: #fff; }
.hy-shop--amazon { border: 2px solid var(--hy-orange); }
.hy-shop h3 { font-size: 22px; font-weight: 900; color: var(--hy-navy); }
.hy-shop p { font-size: 15px; }
.hy-shop__base { margin-top: 28px !important; font-size: 14px; }
.hy-shop__base a { font-weight: 700; color: var(--hy-cyan-700); text-decoration: underline !important; }

/* TOP：サポートの4つ */
.hy-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.hy-tile { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 16px; padding: 22px; color: inherit !important; }
.hy-tile:hover { border-color: var(--hy-cyan); }
.hy-tile .hy-icon { color: var(--hy-cyan-700); }
.hy-tile b { display: block; font-size: 16px; color: var(--hy-navy); }
.hy-tile span span { font-size: 13px; }

/* =========================================================
   固定ページ：看板
   ========================================================= */
.hy-subhero { background: var(--hy-navy-900); display: flex; flex-wrap: wrap; align-items: stretch; min-height: 360px; overflow: hidden; }
.hy-subhero__text { flex: 1 1 560px; display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: 56px 48px 64px max(32px, calc((100% - 1200px) / 2 + 32px)); }
.hy-crumbs { font-size: 13px; color: rgba(255,255,255,.72); display: flex; flex-wrap: wrap; gap: 0 8px; }
.hy-crumbs a { color: rgba(255,255,255,.72) !important; }
.hy-crumbs a:hover { color: #fff !important; }
.hy-subhero__title { font-size: 60px; line-height: 1.15; font-weight: 900; color: #fff; }
.hy-subhero__title .hy-en { display: block; font-size: 72px; line-height: 1.05; letter-spacing: -.01em; }
.hy-subhero__lead { font-size: 17px; line-height: 1.9; color: rgba(255,255,255,.86); max-width: 36em; }
.hy-subhero--image .hy-subhero__lead { font-size: 18px; font-weight: 700; color: rgba(255,255,255,.9); }
.hy-subhero__visual { flex: 1 1 520px; min-height: 360px; position: relative; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); background: var(--hy-navy) repeating-linear-gradient(135deg, rgba(182,224,242,.06) 0 2px, transparent 2px 22px); display: flex; align-items: center; justify-content: center; }
.hy-subhero__logo { height: 128px; width: auto; margin-left: 12%; }
.hy-subhero__icon { width: 150px; height: 150px; margin-left: 12%; color: var(--hy-cyan); stroke-width: 1.5; }
.hy-subhero--image { min-height: 480px; }
.hy-subhero--image .hy-subhero__visual { flex: 1.1 1 560px; min-height: 480px; background: var(--hy-navy); }
.hy-subhero--image .hy-subhero__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 40% 50%; }
.hy-subhero--compact { min-height: 340px; }
.hy-subhero--compact .hy-subhero__text { flex-basis: 600px; padding-top: 48px; padding-bottom: 104px; }
.hy-subhero--compact .hy-subhero__title { font-size: 56px; }
.hy-subhero--compact .hy-subhero__visual { flex-basis: 440px; min-height: 340px; }

/* 数字の帯（会社情報） */
.hy-stats { background: var(--hy-navy); border-top: 3px solid var(--hy-cyan); }
.hy-stats__inner { max-width: 1200px; margin: 0 auto; padding: 0 var(--hy-gutter); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hy-stat { padding: 28px 24px; border-right: 1px solid rgba(182,224,242,.22); display: flex; flex-direction: column; }
.hy-stat:last-child { border-right: 0; }
.hy-stat b { font-size: 40px; line-height: 1.1; font-weight: 900; color: #fff; }
.hy-stat small { font-size: 18px; margin-left: 4px; }
.hy-stat span { font-size: 13px; font-weight: 700; color: var(--hy-cyan-200); }

/* 会社情報：紹介 */
.hy-intro { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.hy-intro__text { flex: 1 1 480px; display: flex; flex-direction: column; gap: 16px; }
.hy-intro__text p:not(.hy-eyebrow) { font-size: 16px; line-height: 1.95; }
.hy-intro__text .hy-h2 { font-size: 34px; }
.hy-intro__text .hy-more { align-self: flex-start; margin-top: 4px; }
.hy-intro__imgs { flex: 1 1 440px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.hy-intro__imgs span { background: var(--hy-gray-50); border-radius: 16px; aspect-ratio: 3 / 4; display: flex; align-items: center; justify-content: center; }
.hy-intro__imgs span:nth-child(2) { margin-top: 32px; }
.hy-intro__imgs img { width: 86%; height: 86%; object-fit: contain; mix-blend-mode: multiply; }

/* 会社概要の表 */
.hy-table { background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 16px; overflow: hidden; display: grid; grid-template-columns: 220px 1fr; }
.hy-table dt, .hy-table dd { padding: 20px 28px; border-bottom: 1px solid var(--hy-gray-200); }
.hy-table dt:last-of-type, .hy-table dd:last-of-type { border-bottom: 0; }
.hy-table dt { background: var(--hy-cyan-50); font-size: 14px; font-weight: 700; color: var(--hy-navy); }
.hy-table dd { margin: 0; font-size: 16px; }
.hy-table dd > span { display: block; }
.hy-table dd a { font-weight: 700; color: var(--hy-cyan-700); text-decoration: underline !important; }
.hy-table__note { margin-top: 4px; font-size: 13px; color: var(--hy-gray-500); }

/* 事業内容 */
.hy-biz { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.hy-bizcard { border: 1px solid var(--hy-gray-200); border-top: 4px solid var(--hy-cyan); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 12px; color: inherit !important; background: #fff; }
.hy-bizcard:hover { box-shadow: var(--hy-shadow-float); }
.hy-bizcard__top { display: flex; align-items: center; justify-content: space-between; }
.hy-bizcard__top .hy-icon { color: var(--hy-cyan-700); }
.hy-num { font-size: 22px; font-weight: 900; color: var(--hy-cyan); }
.hy-bizcard b { font-size: 20px; font-weight: 900; color: var(--hy-navy); }
.hy-bizcard > span:not(.hy-bizcard__top):not(.hy-bizcard__more) { font-size: 15px; line-height: 1.85; }
.hy-bizcard__more { margin-top: auto; font-size: 14px; font-weight: 700; color: var(--hy-cyan-700); }

/* 濃紺の帯 */
.hy-band { background: var(--hy-navy-900); padding: 72px var(--hy-gutter); }
.hy-band__inner { max-width: var(--hy-wrap); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.hy-band__text { display: flex; flex-direction: column; gap: 6px; }
.hy-band__title { font-size: 30px; font-weight: 900; color: #fff; line-height: 1.4; }
.hy-band__note { font-size: 14px; color: rgba(255,255,255,.82); }
.hy-band__note a { color: var(--hy-cyan-200) !important; font-weight: 700; text-decoration: underline !important; }
.hy-band__btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* コンセプト */
.hy-mission { padding-top: 104px; padding-bottom: 96px; }
.hy-mission__inner { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.hy-mission__title { font-size: 38px; font-weight: 900; color: var(--hy-navy); line-height: 1.5; }
.hy-mission__text { font-size: 17px; line-height: 2.1; }
.hy-promise { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; margin-top: 72px; }
.hy-sechead + .hy-promise { margin-top: 40px; }
.hy-promise--rev { flex-direction: row-reverse; }
.hy-promise__visual { flex: 1 1 460px; aspect-ratio: 4 / 3; border-radius: 16px; position: relative; overflow: hidden; }
.hy-promise__text { flex: 1 1 440px; display: flex; flex-direction: column; gap: 14px; }
.hy-promise__text p { font-size: 16px; line-height: 1.95; }
.hy-bignum { font-size: 64px; line-height: 1; font-weight: 900; color: var(--hy-cyan); }
.hy-promise__serif { margin-top: 8px !important; padding-top: 18px !important; border-top: 1px solid var(--hy-gray-200) !important; font-size: 21px; color: var(--hy-navy); line-height: 1.75 !important; }
.hy-reviews { background: var(--hy-cyan-100); display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 40px 56px; }
.hy-review { background: #fff; border-radius: 10px; box-shadow: 0 6px 18px rgba(11,58,91,.10); padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.hy-review--a { margin-right: 56px; }
.hy-review--b { margin-left: 56px; }
.hy-review i { display: block; height: 8px; border-radius: 4px; background: var(--hy-gray-200); width: 90%; }
.hy-review i.s { width: 60%; }
.hy-stars { display: flex; gap: 3px; fill: var(--hy-cyan); }
.hy-stars__off { display: flex; gap: 3px; fill: var(--hy-gray-300); }
.hy-reviews__badge { align-self: center; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #fff; background: var(--hy-navy); padding: 8px 16px; border-radius: 999px; }
.hy-flow { background: #fff; border: 1px solid var(--hy-gray-200); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; padding: 32px; }
.hy-flow__row { display: flex; align-items: center; width: 100%; max-width: 440px; }
.hy-flow__node { flex: none; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.hy-flow__node b { font-size: 15px; color: var(--hy-navy); }
.hy-flow__circle { width: 96px; height: 96px; border-radius: 999px; background: var(--hy-cyan-100); display: flex; align-items: center; justify-content: center; color: var(--hy-cyan-700); }
.hy-flow__node--hy .hy-flow__circle { width: 112px; height: 112px; background: var(--hy-navy); }
.hy-flow__node--hy img { width: 70px; height: auto; }
.hy-flow__line { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; gap: 4px; margin-bottom: 28px; }
.hy-flow__line::after { content: ""; display: block; width: 100%; height: 3px; background: var(--hy-cyan); }
.hy-flow__line small { font-size: 12px; font-weight: 700; color: var(--hy-cyan-700); }
.hy-flow__note { font-size: 14px; font-weight: 700; color: var(--hy-navy); background: var(--hy-cyan-50); border-radius: 999px; padding: 8px 18px; }
.hy-photo-slot { border: 2px dashed var(--hy-gray-300); background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--hy-gray-500); text-align: center; }
.hy-photo-slot b { font-size: 15px; color: var(--hy-gray-700); }
.hy-photo-slot span { font-size: 13px; }
.hy-photo { background: var(--hy-gray-200); }
.hy-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hy-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.hy-steps li { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--hy-navy); background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 10px; padding: 10px 14px; }
.hy-steps li .hy-icon { color: var(--hy-cyan-700); }
.hy-steps li:not(:last-child)::after { content: "→"; margin-left: 10px; color: var(--hy-cyan); font-weight: 900; }

/* サポート：よく使う手続き */
.hy-quick { padding: 0 var(--hy-gutter); position: relative; z-index: 2; scroll-margin-top: 16px; }
.hy-quick__grid { max-width: var(--hy-wrap); margin: -72px auto 0; display: grid; grid-template-columns: 1.15fr 1fr 1fr; grid-template-rows: auto auto; gap: 16px; }
.hy-quick__main { grid-row: span 2; background: var(--hy-navy); border-top: 4px solid var(--hy-cyan); border-radius: 16px; box-shadow: 0 12px 32px rgba(11,58,91,.18); padding: 32px; display: flex; flex-direction: column; gap: 14px; color: rgba(255,255,255,.86); }
.hy-quick__main > .hy-icon { color: var(--hy-cyan-200); }
.hy-quick__main h2 { margin-top: -8px !important; font-size: 26px; font-weight: 900; color: #fff; line-height: 1.4; }
.hy-quick__main > p:not(.hy-eyebrow) { font-size: 15px; line-height: 1.8; }
.hy-quick__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.hy-quick__btns .hy-btn { height: 44px; padding: 0 18px; font-size: 14px; }
.hy-quick__tile { background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 16px; box-shadow: 0 12px 32px rgba(11,58,91,.10); padding: 24px; display: flex; gap: 14px; align-items: center; color: inherit !important; }
.hy-quick__tile:hover { border-color: var(--hy-cyan); }
.hy-quick__tile .hy-icon { color: var(--hy-cyan-700); }
.hy-quick__tile b { display: block; font-size: 17px; color: var(--hy-navy); }
.hy-quick__tile span span { font-size: 13px; }

/* サポート：よくある質問 */
.hy-faq { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.hy-faq__side { flex: 0 1 260px; display: flex; flex-direction: column; gap: 18px; position: sticky; top: 24px; }
.hy-faq__nav { display: flex; flex-direction: column; border-top: 2px solid var(--hy-navy-900); }
.hy-faq__nav a { display: flex; align-items: center; justify-content: space-between; padding: 14px 4px; border-bottom: 1px solid var(--hy-gray-200); font-weight: 700; color: var(--hy-navy) !important; }
.hy-faq__nav a span { color: var(--hy-cyan); }
.hy-faq__main { flex: 1 1 600px; display: flex; flex-direction: column; gap: 44px; }
.hy-faq__group { display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 24px; }
.hy-faq__gtitle { margin-bottom: 4px !important; display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 900; color: var(--hy-navy); }
.hy-faq__gtitle .hy-icon { color: var(--hy-cyan-700); }
.hy-qa { background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 12px; }
.hy-qa summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 18px 22px; font-size: 16px; font-weight: 700; color: var(--hy-navy); }
.hy-qa summary::-webkit-details-marker { display: none; }
.hy-qa summary::marker { content: ""; }
.hy-qa__q { flex: none; font-weight: 900; color: var(--hy-cyan); }
.hy-qa__text { flex: 1 1 auto; }
.hy-qa__chev { color: var(--hy-cyan-700); transition: transform .2s; }
.hy-qa[open] .hy-qa__chev { transform: rotate(180deg); }
.hy-qa__a { padding: 0 22px 20px 50px; font-size: 15px; line-height: 1.9; }

/* サポート：営業日 */
.hy-days { display: flex; flex-wrap: wrap; gap: 40px; align-items: stretch; }
.hy-days__text { flex: 1 1 360px; display: flex; flex-direction: column; gap: 14px; }
.hy-days__text p:not(.hy-eyebrow) { font-size: 15px; line-height: 1.9; }
.hy-days__cal { flex: 1.4 1 520px; }
.hy-days__placeholder { min-height: 260px; height: 100%; border-radius: 16px; border: 1px solid var(--hy-gray-200); background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--hy-cyan-700); font-size: 14px; font-weight: 700; }
.hy-days__img { background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 16px; padding: 20px; display: flex; justify-content: center; }
.hy-days__img img { width: auto; max-width: 100%; height: auto; }
.hy-widget { background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 16px; padding: 20px; }
.hy-widget__title { font-weight: 900; color: var(--hy-navy); margin-bottom: 8px !important; }

/* =========================================================
   記事ページなど（親テーマのページ）との並び
   ========================================================= */
/* 親テーマの body::before（半透明の黒い膜）を新デザインのページでは出さない */
body.hy-design-page::before { content: none !important; display: none !important; }
.hy-main { background: #fff; }

/* 記事ページの見出し帯（親テーマの #ct-hd）を新デザインに合わせて濃紺・低めに */
body.hy-site:not(.hy-design-page) #ct-hd {
	min-height: 0 !important; height: auto !important;
	padding: 44px 20px 40px !important;
	background-color: var(--hy-navy-900) !important;
}
body.hy-site:not(.hy-design-page) #ct-hd.has-bg-image { padding: 72px 20px 64px !important; }
body.hy-site:not(.hy-design-page) #ct-hd .hd-title {
	font-family: var(--hy-font) !important; font-weight: 900 !important; font-size: 28px !important;
	letter-spacing: .08em; line-height: 1.4 !important; color: #fff !important; margin: 0 !important;
}
body.hy-site:not(.hy-design-page) #ct-hd .hd-title span::before,
body.hy-site:not(.hy-design-page) #ct-hd .hd-title span::after { display: none !important; }
body.hy-site:not(.hy-design-page) #ct-hd .title-desc { display: none !important; }
body.hy-site:not(.hy-design-page) #ct-hd .hd-title::before {
	content: "" !important; display: block !important; width: 32px; height: 3px; margin: 0 auto 12px; background: var(--hy-cyan);
}
@media (max-width: 860px) {
	body.hy-site:not(.hy-design-page) #ct-hd { padding: 28px 16px 24px !important; }
	body.hy-site:not(.hy-design-page) #ct-hd .hd-title { font-size: 20px !important; }
}

/* =========================================================
   タブレット
   ========================================================= */
@media (max-width: 1260px) {
	.hy-nav__list { gap: 4px 20px; }
	.hy-header__tag { font-size: 14px; }
}
@media (max-width: 1100px) {
	.hy-nav__list { gap: 4px 16px; }
	.hy-header__tag { display: none; }
}
@media (max-width: 1024px) {
	.hy-nav__list { gap: 4px 13px; }
	.hy-nav__list a { font-size: 14px; }
	.hy-header__inner { gap: 16px; }
}
@media (max-width: 940px) {
	.hy-nav__list { gap: 4px 10px; }
	.hy-nav__list a { font-size: 13px; }
	.hy-header__amazon { padding-left: 14px !important; padding-right: 14px !important; }
}

/* =========================================================
   スマホ
   ========================================================= */
@media (max-width: 860px) {
	:root { --hy-gutter: 16px; }

	/* ヘッダー：ロゴ・検索・メニュー */
	.hy-header__inner { padding: 10px 12px 10px 16px; gap: 8px; }
	.hy-header__brand img { height: 34px; }
	.hy-header__brand { gap: 10px; }
	.hy-header__tag { display: inline; font-size: 12.5px; letter-spacing: .01em; }
	.hy-header__amazon { display: none !important; }
	.hy-header__actions { margin-left: auto; gap: 4px; }
	.hy-iconbtn { border: 0; }
	.hy-header__menu { display: inline-flex; }
	.hy-nav {
		display: none; position: absolute; left: 0; right: 0; top: 100%;
		background: #fff; border-top: 1px solid var(--hy-gray-200); border-bottom: 1px solid var(--hy-gray-200);
		box-shadow: 0 16px 32px rgba(11,58,91,.14); flex-direction: column; align-items: stretch; padding: 8px 16px 20px; margin: 0;
	}
	.hy-nav.is-open { display: flex; }
	.hy-nav__list { flex-direction: column; gap: 0; }
	.hy-nav__list a { padding: 14px 4px; border-bottom: 1px solid var(--hy-gray-200); font-size: 16px; }
	.hy-nav__list a[aria-current="page"] { box-shadow: inset 4px 0 0 var(--hy-cyan); padding-left: 14px; }
	.hy-nav__sub { display: flex !important; flex-wrap: wrap; gap: 8px 20px; padding: 14px 4px 4px; }
	.hy-nav__sub a { font-size: 14px; font-weight: 700; color: var(--hy-cyan-700); }
	.hy-nav__amazon { display: flex !important; margin-top: 14px; height: 52px; font-size: 16px; }
	.hy-search__form { padding: 12px 16px; }

	/* 共通 */
	.hy-sec { padding: 52px var(--hy-gutter); }
	.hy-sechead { margin-bottom: 20px; }
	.hy-h2 { font-size: 24px; }
	.hy-h3 { font-size: 22px; }
	.hy-eyebrow { font-size: 11px; }
	.hy-btn--lg, .hy-btn--xl { height: 54px; }

	/* 看板 */
	.hy-hero { flex-direction: column-reverse; min-height: 0; }
	.hy-hero__visual { flex: none; min-height: 0; height: 300px; clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%); }
	.hy-hero__visual img { object-position: 38% 55%; }
	.hy-hero__text { flex: none; padding: 20px 20px 84px; gap: 14px; }
	.hy-hero__title { font-size: 46px; line-height: 1.14; }
	.hy-hero__lead { font-size: 15px; line-height: 1.85; }
	.hy-hero__btns { flex-direction: column; gap: 10px; margin-top: 4px; }
	.hy-hero__btns .hy-btn { width: 100%; }
	.hy-hero__finder { display: none !important; }

	/* 機種から探す */
	.hy-finder__card { margin-top: -52px; padding: 20px 18px; gap: 14px; border-radius: 16px; }
	.hy-finder__title { font-size: 20px; }
	.hy-finder__head .hy-eyebrow { display: none; }
	.hy-finder__form { flex-basis: 100%; }
	.hy-finder__field input { height: 48px; padding: 0 14px; }
	.hy-finder__field .hy-btn { height: 48px; width: 52px; padding: 0; }
	.hy-finder__field .hy-btn span { display: none; }
	.hy-chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
	.hy-chip { height: 44px; padding: 0 4px; border-radius: 10px; justify-content: center; font-size: 13px; text-align: center; line-height: 1.2; }
	#products.hy-sec { padding-top: 56px; }

	/* 製品カード：2列 */
	.hy-cards4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.hy-pcard__img { aspect-ratio: auto; height: 128px; }
	.hy-pcard__img img { height: 112px; width: auto; }
	.hy-pcard__body { padding: 12px 14px 14px; gap: 2px; }
	.hy-pcard__body .hy-eyebrow, .hy-pcard__more { display: none; }
	.hy-pcard__name { font-size: 15px; }
	.hy-pcard__text { font-size: 12px; line-height: 1.6; }

	/* 四隅 */
	.hy-structure { flex-direction: column; }
	.hy-structure__visual { flex: none; min-height: 0; height: 220px; }
	.hy-structure__visual img { object-position: 72% 72%; }
	.hy-structure__text { flex: none; padding: 28px 20px 40px; gap: 14px; }
	.hy-structure__title { font-size: 28px; }
	.hy-structure__lead { font-size: 14px; }
	.hy-spec { grid-template-columns: 64px 1fr; }
	.hy-spec dt, .hy-spec dd { padding: 11px 0; }
	.hy-spec dt { font-size: 11px; letter-spacing: .18em; }
	.hy-spec dd { font-size: 14px; }

	/* 人気の機種 */
	.hy-models { grid-template-columns: 1fr; gap: 10px; }
	.hy-model { padding: 12px 14px; gap: 14px; border-radius: 14px; }
	.hy-model__img { width: 64px; height: 72px; }
	.hy-model__body { gap: 6px; }
	.hy-model__name { font-size: 16px; }
	.hy-model__links a { font-size: 12px; padding: 4px 10px; }

	/* テレビ */
	.hy-tv { gap: 20px; }
	.hy-tv__main { gap: 14px; flex-basis: 100%; }
	.hy-tv__lead { font-size: 14px; }
	.hy-linklist { grid-template-columns: 1fr; gap: 8px; }
	.hy-linklist a { padding: 12px 14px; }
	.hy-adapter { flex-basis: 100%; padding: 18px; gap: 10px; }
	.hy-adapter__img { height: 140px; }
	.hy-adapter__img svg { width: 180px; height: 112px; }
	.hy-adapter__name { margin-top: -6px !important; font-size: 16px; }
	.hy-adapter__btns { flex-direction: column; }
	.hy-adapter__btns .hy-btn { flex: none; width: 100%; height: 48px; }

	/* こだわり */
	.hy-why { padding: 52px 20px; }
	.hy-why__head { margin-bottom: 18px; }
	.hy-why__title { font-size: 28px; }
	.hy-why__title span { display: block; }
	.hy-why__serif { font-size: 17px; }
	.hy-why__head .hy-btn { order: 3; width: 100%; }
	.hy-why__grid { grid-template-columns: 1fr; gap: 0; border-bottom: 1px solid rgba(182,224,242,.3); }
	.hy-why__item { border: 0; border-top: 1px solid rgba(182,224,242,.3); border-radius: 0; padding: 14px 0; display: grid; grid-template-columns: 26px 1fr; column-gap: 14px; row-gap: 0; }
	.hy-why__item .hy-icon { width: 26px; height: 26px; grid-row: span 2; }
	.hy-why__item h3 { font-size: 16px; }
	.hy-why__item p { font-size: 13px; }

	/* 購入 */
	.hy-shops { grid-template-columns: 1fr; gap: 12px; }
	.hy-shop { padding: 20px; align-items: stretch; }
	.hy-shop h3 { font-size: 18px; }
	.hy-shop p { font-size: 14px; }
	.hy-shop .hy-btn { width: 100%; }
	.hy-shop__base { text-align: center; font-size: 13px; margin-top: 16px !important; }

	/* サポート4つ */
	.hy-tiles { grid-template-columns: 1fr; gap: 10px; }
	.hy-tile { padding: 14px 16px; border-radius: 12px; align-items: center; }
	.hy-tile span span { display: none; }

	/* フッター */
	.hy-footer { padding: 40px 20px 32px; }
	.hy-footer__inner { gap: 24px; }
	.hy-footer__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
	.hy-footer__brand { grid-column: 1 / -1; }
	.hy-footer__brand img { height: 34px; }
	.hy-footer__col { font-size: 13px; }

	/* 固定ページの看板 */
	.hy-subhero { flex-direction: column-reverse; min-height: 0; }
	.hy-subhero__visual { flex: none; min-height: 0; height: 150px; clip-path: polygon(0 0, 100% 0, 100% 78%, 0 100%); }
	.hy-subhero__logo { height: 64px; margin: -14px 0 0; }
	.hy-subhero__text { flex: none; padding: 16px 20px 40px; gap: 12px; }
	.hy-crumbs { font-size: 12px; gap: 0 6px; }
	.hy-subhero__title { font-size: 42px; }
	.hy-subhero__title .hy-en { font-size: 44px; line-height: 1.08; }
	.hy-subhero__lead { font-size: 15px; line-height: 1.85; }
	.hy-subhero--image, .hy-subhero--image .hy-subhero__visual { min-height: 0; }
	.hy-subhero--image .hy-subhero__visual { height: 250px; clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%); }
	.hy-subhero--image .hy-subhero__lead { font-size: 16px; }
	.hy-subhero--compact { flex-direction: column; position: relative; }
	.hy-subhero--compact .hy-subhero__text { padding: 24px 20px 84px; }
	.hy-subhero--compact .hy-subhero__title { font-size: 40px; }
	.hy-subhero--compact .hy-subhero__visual { position: absolute; right: -34px; top: 6px; height: auto; min-height: 0; background: none; clip-path: none; opacity: .3; }
	.hy-subhero--compact .hy-subhero__icon { width: 130px; height: 130px; margin: 0; }

	/* 数字の帯 */
	.hy-stats__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
	.hy-stat { padding: 18px 16px; border-bottom: 1px solid rgba(182,224,242,.22); }
	.hy-stat:nth-child(2n) { border-right: 0; }
	.hy-stat:nth-child(n+3) { border-bottom: 0; }
	.hy-stat b { font-size: 30px; }
	.hy-stat small { font-size: 15px; margin-left: 3px; }
	.hy-stat span { font-size: 12px; }

	/* 会社情報 */
	.hy-intro { gap: 16px; }
	.hy-intro__text { gap: 14px; flex-basis: 100%; }
	.hy-intro__text .hy-h2 { font-size: 26px; }
	.hy-intro__text p:not(.hy-eyebrow) { font-size: 15px; line-height: 1.9; }
	.hy-intro__imgs { flex-basis: 100%; gap: 8px; }
	.hy-intro__imgs span { border-radius: 12px; }
	.hy-intro__imgs span:nth-child(2) { margin-top: 0; }
	.hy-table { display: block; }
	.hy-table dt { background: none; padding: 12px 16px 0; font-size: 12px; color: var(--hy-cyan-700); border-bottom: 0; }
	.hy-table dd { padding: 2px 16px 12px; font-size: 15px; color: var(--hy-navy); }
	.hy-table dd:last-of-type { border-bottom: 0; }
	.hy-table__note { font-size: 12px; }
	.hy-biz { grid-template-columns: 1fr; gap: 10px; }
	.hy-bizcard { border-top: 1px solid var(--hy-gray-200); border-left: 4px solid var(--hy-cyan); border-radius: 12px; padding: 16px; gap: 6px; }
	.hy-bizcard__top .hy-icon { width: 28px; height: 28px; }
	.hy-bizcard b { font-size: 16px; }
	.hy-bizcard > span:not(.hy-bizcard__top):not(.hy-bizcard__more) { font-size: 13px; line-height: 1.7; }

	/* 濃紺の帯 */
	.hy-band { padding: 44px 20px; }
	.hy-band__inner { flex-direction: column; align-items: stretch; gap: 16px; }
	.hy-band__title { font-size: 22px; }
	.hy-band__note { font-size: 13px; }
	.hy-band__btns { flex-direction: column; }
	.hy-band__btns .hy-btn { width: 100%; }

	/* コンセプト */
	.hy-mission { padding-top: 52px; padding-bottom: 48px; }
	.hy-mission__inner { align-items: flex-start; text-align: left; gap: 16px; }
	.hy-mission__title { font-size: 26px; }
	.hy-mission__text { font-size: 15px; line-height: 2; }
	.hy-mission__text br { display: none; }
	.hy-promise, .hy-promise--rev { flex-direction: column; align-items: stretch; gap: 12px; margin-top: 40px; }
	.hy-promise__visual { flex: none; }
	.hy-promise__text { flex: none; gap: 12px; }
	.hy-promise__text p { font-size: 15px; line-height: 1.9; }
	.hy-bignum { font-size: 44px; margin-top: 8px; }
	.hy-promise__serif { font-size: 18px; }
	.hy-reviews { aspect-ratio: auto; padding: 22px 24px; gap: 10px; }
	.hy-review { padding: 12px 14px; gap: 6px; }
	.hy-review--a { margin-right: 36px; }
	.hy-review--b { margin-left: 36px; }
	.hy-reviews__badge { font-size: 12px; padding: 6px 14px; }
	.hy-flow { aspect-ratio: auto; padding: 22px 14px; gap: 14px; }
	.hy-flow__circle { width: 64px; height: 64px; }
	.hy-flow__circle .hy-icon { width: 28px; height: 28px; }
	.hy-flow__node--hy .hy-flow__circle { width: 76px; height: 76px; }
	.hy-flow__node--hy img { width: 48px; }
	.hy-flow__node b { font-size: 12px; }
	.hy-flow__line { margin-bottom: 22px; }
	.hy-flow__line small { display: none; }
	.hy-flow__note { font-size: 12px; padding: 6px 14px; }
	.hy-steps { flex-direction: column; align-items: stretch; gap: 6px; }
	.hy-steps li:not(:last-child)::after { content: none; }

	/* サポート */
	.hy-quick__grid { margin-top: -56px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.hy-quick__main { grid-column: 1 / -1; grid-row: auto; padding: 22px 20px; gap: 10px; }
	.hy-quick__main > .hy-icon { display: none; }
	.hy-quick__main .hy-eyebrow { display: none; }
	.hy-quick__main h2 { margin-top: 0 !important; font-size: 20px; }
	.hy-quick__main h2 br { display: none; }
	.hy-quick__main > p:not(.hy-eyebrow) { font-size: 13px; }
	.hy-quick__btns { flex-direction: column; }
	.hy-quick__btns .hy-btn { width: 100%; justify-content: space-between; }
	.hy-quick__tile { flex-direction: column; align-items: flex-start; gap: 6px; padding: 14px; border-radius: 14px; box-shadow: none; }
	.hy-quick__tile .hy-icon { width: 24px; height: 24px; }
	.hy-quick__tile b { font-size: 14px; line-height: 1.5; }
	.hy-quick__tile span span { display: none; }
	.hy-faq { gap: 14px; }
	.hy-faq__side { flex-basis: 100%; position: static; gap: 14px; }
	.hy-faq__nav { flex-direction: row; gap: 6px; border-top: 0; }
	.hy-faq__nav a { flex: 1 1 0; justify-content: center; height: 44px; padding: 0 4px; border: 2px solid var(--hy-gray-200); border-radius: 6px; font-size: 13px; text-align: center; }
	.hy-faq__nav a span { display: none; }
	.hy-faq__main { gap: 28px; }
	.hy-faq__gtitle { font-size: 17px; }
	.hy-qa summary { align-items: flex-start; gap: 10px; padding: 14px; font-size: 15px; }
	.hy-qa__chev { margin-top: 4px; }
	.hy-qa__a { padding: 0 14px 14px 34px; font-size: 14px; line-height: 1.85; }
	.hy-days { gap: 14px; }
	.hy-days__text { flex-basis: 100%; gap: 10px; }
	.hy-days__cal { flex-basis: 100%; }
	.hy-days__placeholder { min-height: 220px; }
}

/* =========================================================
   v0.1.3（2026-10-28）
   ========================================================= */

/* 各ページの SNS シェアボタン（親テーマ）を出さない */
.loop-share-num, .ct-shares { display: none !important; }

/* 親テーマの読み込み中の表示（PACE：線と％）は出さない（新しいヘッダーの位置とずれて、ページの途中に出るため） */
.pace, .pace-progress, .pace-activity { display: none !important; }

/* ---------- 記事・固定ページのサイド（sidebar.php） ---------- */
#sidebar.hy-side {
	font-family: var(--hy-font);
	color: var(--hy-gray-700);
	line-height: 1.7;
	letter-spacing: .02em;
	display: flex;
	flex-direction: column;
	gap: 20px;
	-webkit-font-smoothing: antialiased;
}
#sidebar.hy-side *, #sidebar.hy-side *::before, #sidebar.hy-side *::after { box-sizing: border-box; }
#sidebar.hy-side h2, #sidebar.hy-side h3, #sidebar.hy-side p, #sidebar.hy-side ul, #sidebar.hy-side ol { margin: 0; padding: 0; list-style: none; border: 0; background: none; }
#sidebar.hy-side li { margin: 0; padding: 0; border: 0; background: none; list-style: none; }
#sidebar.hy-side li::before, #sidebar.hy-side li::after { content: none; }
#sidebar.hy-side a { text-decoration: none; }

.hy-side__box { background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 12px; padding: 18px 16px; box-shadow: var(--hy-shadow-card); }
#sidebar.hy-side .hy-side__title { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 900; color: var(--hy-navy); line-height: 1.4; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 2px solid var(--hy-cyan); }
#sidebar.hy-side .hy-side__title .hy-icon { color: var(--hy-cyan); flex: none; }
#sidebar.hy-side .hy-side__sub { font-size: 13px; font-weight: 900; color: var(--hy-navy); margin: 18px 0 8px; }

/* 機種から探す */
.hy-side__search { display: flex; border: 2px solid var(--hy-gray-200); border-radius: 8px; overflow: hidden; background: #fff; }
.hy-side__search:focus-within { border-color: var(--hy-cyan); }
.hy-side__search input { flex: 1 1 auto; min-width: 0; height: 42px; border: 0 !important; padding: 0 10px; font-size: 14px; background: transparent; box-shadow: none !important; outline: none; }
.hy-side__search button { flex: none; width: 46px; border: 0; background: var(--hy-cyan); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.hy-side__search button:hover { background: var(--hy-cyan-700); }
.hy-side__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
#sidebar.hy-side .hy-side__chips a { display: inline-block; padding: 4px 10px; font-size: 12px; font-weight: 700; color: var(--hy-navy); background: var(--hy-gray-50); border: 1px solid var(--hy-gray-200); border-radius: 999px; }
#sidebar.hy-side .hy-side__chips a:hover { border-color: var(--hy-cyan); color: var(--hy-cyan-700); background: var(--hy-cyan-50); }
.hy-side__cats { display: grid; gap: 6px; }
#sidebar.hy-side .hy-side__cats a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; background: var(--hy-gray-50); color: var(--hy-navy); }
#sidebar.hy-side .hy-side__cats a:hover { background: var(--hy-cyan-50); }
.hy-side__caticon { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #fff; border: 1px solid var(--hy-cyan-200); color: var(--hy-cyan); display: flex; align-items: center; justify-content: center; }
.hy-side__cats b { display: block; font-size: 14px; font-weight: 900; line-height: 1.4; }
.hy-side__cats small { display: block; font-size: 11px; color: var(--hy-gray-500); line-height: 1.5; }

/* 新着の機種 */
.hy-side__models { display: grid; gap: 12px; }
#sidebar.hy-side .hy-side__models li { display: flex; gap: 12px; align-items: center; }
.hy-side__models img { flex: none; width: 52px; height: 58px; object-fit: cover; border-radius: 6px; background: var(--hy-gray-50); }
#sidebar.hy-side .hy-side__mname { font-size: 14px; font-weight: 900; color: var(--hy-navy); line-height: 1.4; }
#sidebar.hy-side .hy-side__mlinks { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; }
#sidebar.hy-side .hy-side__mlinks a { font-size: 12px; font-weight: 700; color: var(--hy-cyan-700); border-bottom: 1px solid var(--hy-cyan-200); }
#sidebar.hy-side .hy-side__mlinks a:hover { color: var(--hy-navy); }

/* よく見られているページ */
.hy-side__rank { display: grid; gap: 10px; counter-reset: none; }
#sidebar.hy-side .hy-side__rank a { display: flex; align-items: center; gap: 10px; color: var(--hy-gray-700); }
#sidebar.hy-side .hy-side__rank a:hover .hy-side__rtitle { color: var(--hy-cyan-700); }
.hy-side__no { flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--hy-navy); color: #fff; font-size: 12px; font-weight: 900; display: flex; align-items: center; justify-content: center; }
.hy-side__rank li:first-child .hy-side__no { background: var(--hy-orange); color: var(--hy-navy-900); }
.hy-side__rank img { flex: none; width: 56px; height: 56px; object-fit: cover; border-radius: 6px; }
.hy-side__rtitle { font-size: 13px; font-weight: 700; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* テレビに映す方法 */
.hy-side__links { display: grid; }
#sidebar.hy-side .hy-side__links a { display: flex; justify-content: space-between; align-items: center; padding: 9px 2px; border-bottom: 1px solid var(--hy-gray-200); font-size: 14px; font-weight: 700; color: var(--hy-navy); }
#sidebar.hy-side .hy-side__links a span { color: var(--hy-cyan); font-weight: 900; }
#sidebar.hy-side .hy-side__links a:hover { color: var(--hy-cyan-700); }
#sidebar.hy-side .hy-side__more { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 700; color: var(--hy-cyan-700); }

/* 購入先 */
.hy-side__box--shop { display: flex; flex-direction: column; gap: 10px; background: var(--hy-cyan-50); border-color: var(--hy-cyan-200); }
#sidebar.hy-side .hy-side__box--shop .hy-side__title { margin-bottom: 4px; }
.hy-side__btn { width: 100%; justify-content: center; height: 46px; font-size: 15px; }
#sidebar.hy-side .hy-side__base { font-size: 13px; font-weight: 700; color: var(--hy-cyan-700); text-align: center; }

/* ==========================================================
   スマホ用の短いサイド（記事の本文の下・v0.1.5）
   本文（.entry）の中に入るので、親テーマの見出し・リストの装飾を #hy-mside で打ち消す
   ========================================================== */
#hy-mside { display: grid; gap: 14px; margin: 36px 0 8px; padding: 0; border: 0; background: none; font-family: var(--hy-font); color: var(--hy-gray-700); text-align: left; }
#hy-mside *, #hy-mside *::before, #hy-mside *::after { box-sizing: border-box; }
#hy-mside h2, #hy-mside p, #hy-mside form { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
#hy-mside h2::before, #hy-mside h2::after { content: none; display: none; }
#hy-mside a { text-decoration: none; }
#hy-mside .hy-mside__box { background: #fff; border: 1px solid var(--hy-gray-200); border-radius: 12px; padding: 16px 14px; box-shadow: var(--hy-shadow-card); }
#hy-mside .hy-mside__title { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 900; color: var(--hy-navy); line-height: 1.4; padding: 0 0 10px; margin: 0 0 12px; border-bottom: 2px solid var(--hy-cyan); }
#hy-mside .hy-mside__title .hy-icon { color: var(--hy-cyan); flex: none; }
#hy-mside .hy-mside__search { display: flex; border: 2px solid var(--hy-gray-200); border-radius: 8px; overflow: hidden; background: #fff; }
#hy-mside .hy-mside__search:focus-within { border-color: var(--hy-cyan); }
#hy-mside .hy-mside__search input { flex: 1 1 auto; min-width: 0; width: auto; height: 44px; margin: 0; border: 0 !important; border-radius: 0; padding: 0 10px; font-size: 16px; background: transparent; box-shadow: none !important; outline: none; }
#hy-mside .hy-mside__search button { flex: none; width: 48px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--hy-cyan); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#hy-mside .hy-mside__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
#hy-mside .hy-mside__chips a { display: inline-block; padding: 6px 12px; font-size: 13px; font-weight: 700; line-height: 1.4; color: var(--hy-navy); background: var(--hy-gray-50); border: 1px solid var(--hy-gray-200); border-radius: 999px; }
#hy-mside .hy-mside__box--shop { display: flex; flex-direction: column; gap: 10px; background: var(--hy-cyan-50); border-color: var(--hy-cyan-200); }
#hy-mside .hy-mside__box--shop .hy-mside__title { margin-bottom: 4px; }
#hy-mside .hy-mside__btn { display: flex; width: 100%; justify-content: center; height: 48px; font-size: 15px; }
#hy-mside .hy-mside__base { font-size: 13px; font-weight: 700; color: var(--hy-cyan-700); text-align: center; padding: 4px 0; }

/* ==========================================================
   購入ボタン（v0.1.7）Amazon＝オレンジ／Yahoo!＝赤／BASE＝Hy+の水色
   3つとも同じ高さ・形・影。文字は19pxの太字（白い文字でも読める大きさ）
   ========================================================== */
.hy-btn--shop { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 56px; padding: 0 22px; border-radius: 999px; border: 0; font-size: 19px; font-weight: 900; line-height: 1.2; white-space: nowrap; text-decoration: none !important; box-shadow: 0 4px 12px rgba(11,58,91,.12); transition: background-color .15s; }
.hy-btn--shop.hy-btn--amazon { background: var(--hy-orange); color: var(--hy-navy-900) !important; }
.hy-btn--shop.hy-btn--amazon:hover { background: #E8971A; }
.hy-btn--yahoo { background: #E60033; color: #FFFFFF !important; }
.hy-btn--yahoo:hover { background: #C4002B; }
.hy-btn--base { background: #1B94CB; color: #FFFFFF !important; }
.hy-btn--base:hover { background: #14719C; }
.hy-btn--shop:focus-visible { outline: 3px solid var(--hy-navy); outline-offset: 2px; }
#sidebar.hy-side .hy-btn--shop, #hy-mside .hy-btn--shop { display: flex; width: 100%; height: 48px; padding: 0 10px; font-size: 19px; }
.hy-shop .hy-btn--shop { font-size: 19px; }

/* ==========================================================
   商品ページ（v0.1.7・絵コンテ①〜⑩）
   ========================================================== */
body.hy-product-page, .hy-product-page .hy-main { background: var(--hy-gray-50); }
.hy-pd-crumb { background: #FFFFFF; border-bottom: 1px solid var(--hy-gray-200); font-family: var(--hy-font); }
.hy-pd-crumb__in { max-width: calc(var(--hy-wrap) + var(--hy-gutter) * 2); margin: 0 auto; padding: 10px var(--hy-gutter); display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 13px; color: var(--hy-gray-500); }
.hy-pd-crumb__in a { color: var(--hy-gray-500); text-decoration: none; }
.hy-pd-crumb__in a:hover { color: var(--hy-cyan-700); }
.hy-pd-crumb__in [aria-current] { color: var(--hy-navy); font-weight: 700; }

.hy-pd { max-width: calc(var(--hy-wrap) + var(--hy-gutter) * 2); margin: 0 auto; padding: 32px var(--hy-gutter) 64px; }
.hy-pd__cols { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.hy-pd__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 40px; }
.hy-pd__side { flex: 1 1 240px; max-width: 280px; }
.hy-pd__side #sidebar { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
@media (min-width: 961px) { .hy-pd__side { order: -1; } }
@media (max-width: 960px) { .hy-pd__side { max-width: none; } }

/* ② 商品の顔 */
.hy-pd-hero { background: #FFFFFF; border: 1px solid var(--hy-gray-200); border-radius: 16px; padding: 28px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
.hy-pd-gal { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.hy-pd-gal__main img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 12px; border: 1px solid var(--hy-gray-200); background: #FFFFFF; }
/* v0.1.9 画像が無い古い商品 */
.hy-pd-gal__main--none { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; aspect-ratio: 1 / 1; border-radius: 12px; border: 1px solid var(--hy-gray-200); background: var(--hy-cyan-50); color: var(--hy-navy); }
.hy-pd-gal__none-logo { font-size: 56px; font-weight: 900; line-height: 1; letter-spacing: .02em; }
.hy-pd-gal__none-logo sup { font-size: .5em; color: var(--hy-cyan-700); }
.hy-pd-gal__none-txt { font-size: 14px; font-weight: 700; color: var(--hy-gray-500); }
.hy-pd-gal__thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.hy-main .hy-pd-thumb { position: relative; display: block; width: 100%; padding: 0; margin: 0; aspect-ratio: 1 / 1; border: 1px solid var(--hy-gray-200); border-radius: 8px; overflow: hidden; background: #FFFFFF; cursor: pointer; }
.hy-pd-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hy-main .hy-pd-thumb[aria-current="true"] { border: 2px solid var(--hy-cyan); }
.hy-main .hy-pd-thumb.is-extra { display: none; }
.hy-pd-gal__thumbs.is-all .hy-pd-thumb.is-extra { display: block; }
.hy-pd-gal__thumbs.is-all .hy-pd-thumb--more { display: none; }
.hy-main .hy-pd-thumb--more { display: flex; align-items: center; justify-content: center; background: var(--hy-navy); border: 0; color: #FFFFFF; font-size: 14px; font-weight: 900; }
.hy-pd-thumb__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #FFFFFF; }
.hy-pd-thumb__label { position: absolute; left: 0; right: 0; bottom: 0; background: rgba(7,41,67,.85); color: #FFFFFF; font-size: 10px; font-weight: 900; text-align: center; line-height: 1.7; }
.hy-pd-gal__note { font-size: 12px; color: var(--hy-gray-500); }
.hy-pd-info { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.hy-pd-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.hy-pd-tag { padding: 2px 12px; border-radius: 999px; background: var(--hy-cyan-100); color: var(--hy-cyan-700); font-size: 12px; font-weight: 900; }
.hy-pd-tag--new { background: var(--hy-orange); color: var(--hy-navy-900); }
.hy-main h1.hy-pd-title { font-size: 21px; line-height: 1.6; font-weight: 900; color: var(--hy-navy); overflow-wrap: anywhere; }
.hy-main .hy-pd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hy-pd-chips li { padding: 4px 10px; border: 1px solid var(--hy-cyan-200); border-radius: 6px; color: var(--hy-cyan-700); font-size: 12px; font-weight: 700; line-height: 1.5; }
.hy-pd-compat { background: var(--hy-cyan-50); border: 1px solid var(--hy-cyan-200); border-radius: 12px; padding: 14px 16px; }
.hy-main .hy-pd-compat__h { font-size: 13px; font-weight: 900; color: var(--hy-navy); margin-bottom: 8px; }
.hy-main .hy-pd-compat__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; font-size: 13px; }
.hy-pd-compat__list span { color: var(--hy-gray-500); margin-right: 8px; }
.hy-pd-compat__list b { color: var(--hy-navy); }
.hy-pd-compat__txt { font-size: 13px; }
.hy-pd-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.hy-pd-price__l { font-size: 13px; color: var(--hy-gray-500); }
.hy-pd-price__v { font-size: 26px; font-weight: 900; color: var(--hy-navy); font-variant-numeric: tabular-nums; }
.hy-pd-price__v small { font-size: 13px; font-weight: 700; }
.hy-pd-buttons { display: flex; flex-direction: column; gap: 10px; }
.hy-pd-buttons .hy-btn--shop { width: 100%; }
.hy-pd-meta { font-size: 12px; color: var(--hy-gray-500); }
.hy-pd-review a { font-size: 13px; font-weight: 700; color: var(--hy-cyan-700); }

/* 見出し（TOP と同じ：上に水色の短い線） */
.hy-main h2.hy-pd-h { position: relative; padding-top: 14px; margin: 0 0 18px; font-size: 24px; font-weight: 900; color: var(--hy-navy); line-height: 1.5; scroll-margin-top: 90px; }
.hy-main h2.hy-pd-h::before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 32px; height: 3px; background: var(--hy-cyan); }

/* ⑩ 3D動画 */
.hy-pd-movie { scroll-margin-top: 90px; }
.hy-pd-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 16px; background: var(--hy-navy-900); }
.hy-main .hy-pd-note { margin-top: 8px; font-size: 12px; color: var(--hy-gray-500); }

/* ③ 目次 */
.hy-pd-toc { display: flex; flex-wrap: wrap; gap: 8px; }
.hy-main .hy-pd-toc a { padding: 7px 16px; border-radius: 999px; background: #FFFFFF; border: 1px solid var(--hy-gray-200); color: var(--hy-navy); font-size: 13px; font-weight: 700; }
.hy-main .hy-pd-toc a:hover { border-color: var(--hy-cyan); color: var(--hy-cyan-700); }

/* 本文 */
.hy-pd-body { font-size: 15px; line-height: 1.85; }
.hy-pd-body > * + * { margin-top: 16px !important; }
.hy-pd-body > h2.hy-pd-h { margin-top: 44px !important; }
.hy-pd-body > h2.hy-pd-h:first-child { margin-top: 0 !important; }
.hy-main .hy-pd-lead { max-width: 68ch; }
.hy-pd-body a { color: var(--hy-cyan-700); }
.hy-pd-body img { height: auto; }

/* ④ 特長カード */
.hy-main .hy-pd-feats { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; padding: 0; }
.hy-main .hy-pd-feats > li { list-style: none; margin: 0; }
.hy-main .hy-pd-feats > li::before, .hy-main .hy-pd-feats > li::after { content: none; display: none; }
.hy-pd-feat { background: #FFFFFF; border: 1px solid var(--hy-gray-200); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.hy-pd-feat__i { width: 40px; height: 40px; border-radius: 50%; background: var(--hy-cyan-100); color: var(--hy-cyan-700); display: flex; align-items: center; justify-content: center; }
.hy-pd-feat__t { font-size: 15px; font-weight: 900; color: var(--hy-navy); line-height: 1.5; }
.hy-pd-feat__d { font-size: 13px; line-height: 1.75; }

/* ⑤ 仕様の表 */
.hy-pd-specwrap { overflow-x: auto; background: #FFFFFF; border: 1px solid var(--hy-gray-200); border-radius: 12px; }
.hy-main table.hy-pd-spec { width: 100% !important; margin: 0 !important; border: 0 !important; border-collapse: collapse !important; font-size: 14px; background: #FFFFFF; }
.hy-main table.hy-pd-spec th, .hy-main table.hy-pd-spec td { padding: 12px 16px !important; border: 0 !important; border-bottom: 1px solid var(--hy-gray-200) !important; text-align: left; vertical-align: top; background: #FFFFFF; color: var(--hy-gray-700); font-weight: 400; line-height: 1.7; }
.hy-main table.hy-pd-spec tr > :first-child:not(:only-child) { width: 170px; background: var(--hy-cyan-50) !important; color: var(--hy-navy); font-size: 13px; font-weight: 700; }
.hy-main table.hy-pd-spec tr:last-child > * { border-bottom: 0 !important; }

/* ⑥ よくあるご質問（開け閉め） */
.hy-pd-faq { background: #FFFFFF; border: 1px solid var(--hy-gray-200); border-radius: 12px; padding: 14px 18px; }
.hy-pd-body > .hy-pd-faq + .hy-pd-faq { margin-top: 10px !important; }
.hy-pd-faq summary { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 15px; font-weight: 700; color: var(--hy-navy); list-style: none; }
.hy-pd-faq summary::-webkit-details-marker { display: none; }
.hy-pd-faq summary::before { content: "Q"; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--hy-cyan); color: #FFFFFF; font-size: 13px; font-weight: 900; display: flex; align-items: center; justify-content: center; }
.hy-pd-faq summary::after { content: ""; flex: none; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid var(--hy-cyan-700); border-bottom: 2px solid var(--hy-cyan-700); transform: rotate(45deg); transition: transform .2s; }
.hy-pd-faq[open] summary::after { transform: rotate(-135deg); }
.hy-pd-faq__a { margin: 12px 0 0 40px; font-size: 14px; }

/* ⑦ 関連アクセサリー */
.hy-main .hy-pd-related { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; padding: 0; }
.hy-main .hy-pd-related > li { list-style: none; margin: 0; }
.hy-main .hy-pd-related > li::before { content: none; display: none; }
.hy-main a.hy-pd-related__a { display: flex; align-items: center; gap: 16px; background: #FFFFFF; border: 1px solid var(--hy-gray-200); border-radius: 12px; padding: 12px; }
.hy-main a.hy-pd-related__a:hover { border-color: var(--hy-cyan); }
.hy-pd-related__a img { width: 88px; height: 88px; object-fit: cover; border-radius: 8px; flex: none; }
.hy-pd-related__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hy-pd-related__cat { font-size: 12px; font-weight: 700; color: var(--hy-cyan-700); }
.hy-pd-related__name { font-size: 15px; font-weight: 900; color: var(--hy-navy); line-height: 1.5; }
.hy-pd-related__more { font-size: 13px; font-weight: 700; color: var(--hy-cyan-700); }

/* ⑧ 購入欄 */
.hy-pd-buy { background: var(--hy-cyan-50); border: 1px solid var(--hy-cyan-200); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 90px; }
.hy-main h2.hy-pd-buy__h { font-size: 22px; font-weight: 900; color: var(--hy-navy); }
.hy-pd-buy__btns { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.hy-pd-buy__btns .hy-btn--shop { width: 100%; padding: 0 12px; }
.hy-main .hy-pd-buy__notes { font-size: 12px; color: var(--hy-gray-500); line-height: 1.8; }

/* スマホの下に残る購入バー（商品の顔のボタンが画面から消えたら出す） */
.hy-pd-stick { display: none; }

@media (max-width: 760px) {
	.hy-pd-crumb__in { padding: 8px 16px; font-size: 12px; flex-wrap: nowrap; overflow: hidden; white-space: nowrap; }
	.hy-pd { padding: 16px 16px 40px; }
	.hy-pd__main { gap: 32px; }
	.hy-pd-hero { grid-template-columns: minmax(0, 1fr); padding: 14px; gap: 14px; }
	.hy-pd-gal__thumbs { gap: 6px; }
	.hy-main h1.hy-pd-title { font-size: 17px; }
	.hy-pd-price__v { font-size: 22px; }
	.hy-pd-buttons .hy-btn--shop { height: 54px; }
	.hy-main h2.hy-pd-h { font-size: 19px; }
	.hy-main .hy-pd-feats { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.hy-pd-feat { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; padding: 14px; }
	.hy-pd-feat__i { grid-row: span 2; width: 36px; height: 36px; }
	.hy-main table.hy-pd-spec { font-size: 12.5px; }
	.hy-main table.hy-pd-spec th, .hy-main table.hy-pd-spec td { padding: 10px 12px !important; }
	.hy-main table.hy-pd-spec tr > :first-child:not(:only-child) { width: 96px; }
	.hy-pd-faq__a { margin-left: 0; }
	.hy-pd-toc { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
	.hy-main .hy-pd-toc a { white-space: nowrap; }
	.hy-pd-buy { padding: 18px; }
	.hy-pd-buy__btns { grid-template-columns: minmax(0, 1fr); }
	.hy-pd-stick { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; background: #FFFFFF; border-top: 1px solid var(--hy-gray-200); box-shadow: 0 -6px 18px rgba(11,58,91,.12); padding: 10px max(12px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); transform: translateY(110%); transition: transform .25s; font-family: var(--hy-font); }
	.hy-pd-stick.is-show { transform: none; }
	.hy-pd-stick .hy-btn--shop { width: 100%; height: 48px; padding: 0 6px; font-size: 19px; box-shadow: none; }
	body.hy-product-page { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) {
	.hy-pd-stick, .hy-pd-faq summary::after { transition: none; }
}

/* v0.1.9 お問い合わせフォームの中の [label] を見出しラベルにする（Contact Form 7） */
.hy-label { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 6px; background: var(--hy-label, #1B94CB); color: #FFFFFF; font-weight: 700; font-size: 15px; line-height: 1.5; }
.hy-label--attention { background: #E60033; }

/* ---------- v0.1.9 親テーマで出しているページ（記事・固定ページ・一覧・お問い合わせ）も Hy+ の書体にそろえる ---------- */
body.hy-site .dp-container,
body.hy-site .dp-container input,
body.hy-site .dp-container select,
body.hy-site .dp-container textarea,
body.hy-site .dp-container button { font-family: var(--hy-font); }
body.hy-site .dp-container .entry-content { color: var(--hy-gray-700); -webkit-font-smoothing: antialiased; }

/* お問い合わせ・交換申請のフォーム（Contact Form 7） */
body.hy-site .wpcf7 input[type="text"],
body.hy-site .wpcf7 input[type="email"],
body.hy-site .wpcf7 input[type="tel"],
body.hy-site .wpcf7 input[type="url"],
body.hy-site .wpcf7 input[type="number"],
body.hy-site .wpcf7 input[type="date"],
body.hy-site .wpcf7 select,
body.hy-site .wpcf7 textarea { width: 100%; max-width: 560px; padding: 10px 12px; border: 1px solid var(--hy-gray-300); border-radius: 8px; background: #FFFFFF; color: var(--hy-gray-700); font-size: 16px; line-height: 1.6; box-shadow: none; }
body.hy-site .wpcf7 textarea { max-width: 720px; min-height: 160px; }
body.hy-site .wpcf7 input:focus,
body.hy-site .wpcf7 select:focus,
body.hy-site .wpcf7 textarea:focus { outline: none; border-color: var(--hy-cyan-700); box-shadow: 0 0 0 3px rgba(27,148,203,.18); }
body.hy-site .wpcf7 input[type="submit"],
body.hy-site .wpcf7 input[type="button"],
body.hy-site .wpcf7 button { -webkit-appearance: none; appearance: none; min-width: 200px; height: 52px; padding: 0 32px; border: 0; border-radius: 999px; background: var(--hy-cyan-700); color: #FFFFFF; font-size: 16px; font-weight: 700; letter-spacing: .04em; cursor: pointer; box-shadow: 0 6px 16px rgba(20,113,156,.24); }
body.hy-site .wpcf7 input[type="submit"]:hover,
body.hy-site .wpcf7 input[type="button"]:hover,
body.hy-site .wpcf7 button:hover { background: var(--hy-navy); }


/* v0.2.0 販売を終えた商品（商品ページの購入欄の代わり・今までの作りのページの本文の先頭） */
.hy-pd-tag--ended { background: var(--hy-gray-200); color: var(--hy-gray-700); }
.hy-pd-ended,
.hy-ended { margin: 16px 0 20px; padding: 16px 20px; border: 1px solid var(--hy-gray-200); border-left: 4px solid var(--hy-gray-500); border-radius: 8px; background: var(--hy-gray-50); color: var(--hy-gray-700); font-family: var(--hy-font); }
.hy-pd-ended__h,
.hy-ended__h { margin: 0 0 4px !important; font-size: 17px; font-weight: 900; color: var(--hy-navy); line-height: 1.5; }
.hy-pd-ended__txt,
.hy-ended__txt { margin: 0 0 12px !important; font-size: 14px; line-height: 1.7; }
.hy-pd-ended__btn { background: var(--hy-cyan-700); color: #FFFFFF !important; text-decoration: none !important; }
.hy-pd-ended__btn:hover { background: var(--hy-navy); }
.hy-pd-ended__links,
.hy-ended__links { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
.hy-pd-ended__links a,
.hy-ended__links a { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border: 1px solid var(--hy-cyan-700); border-radius: 999px; background: #FFFFFF; color: var(--hy-cyan-700) !important; font-size: 14px; font-weight: 700; text-decoration: none !important; }
.hy-pd-ended__links a:hover,
.hy-ended__links a:hover { background: var(--hy-cyan-50); }
