/* Astra Override */
.ast-container { display: block !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-inner { background: transparent !important; padding: 0 !important; margin: 0 !important; }
.ast-separate-container .ast-article-single:not(.remove-featured-img-padding) .single-layout-1 .entry-header { padding-top: 0 !important; }
#primary, #secondary { width: 100% !important; float: none !important; }
#secondary { display: none !important; }
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 { margin-top: 0 !important; margin-bottom: 0 !important; padding: 0 !important; color: inherit !important; font-size: inherit !important; }
.entry-content p { margin-bottom: 0 !important; }
.entry-content ul, .entry-content ol { margin: 0 !important; padding: 0 !important; }
.entry-content img { max-width: 100% !important; }
.entry-content a { color: inherit !important; }
.ast-above-header-wrap, .ast-below-header-wrap, .main-header-bar-wrap,
.main-header-bar, .ast-primary-header-bar { display: none !important; }
.ast-small-footer, .site-below-footer-wrap, .ast-footer-copyright,
.site-footer, .ast-footer-overlay { display: none !important; }
.ast-page-builder-template .entry-header { display: none !important; }
p:empty { display: none !important; }
html { background: #050505 !important; color: #fff !important; margin-top: 0 !important; }
body { background: #050505 !important; color: #fff !important; margin-top: 0 !important; }
html.wp-toolbar { padding-top: 0 !important; }
@media screen and (max-width: 782px) {
  html.wp-toolbar { padding-top: 0 !important; }
  html { margin-top: 0 !important; }
}
h1, h2, h3, h4, h5, h6 { color: inherit !important; }
p, span, a, li, td, th, label, strong, em, b, i { color: inherit; }
.site-content, #content, .ast-container, .ast-separate-container, #page { background: #050505 !important; }

/* Variables */
:root {
  --hd-black: #050505;
  --hd-orange: #ff6600;
  --hd-white: #ffffff;
  --hd-gray: #cccccc;
  --hd-zinc-400: #a1a1aa;
  --hd-zinc-800: #1a1a1a;
  --hd-zinc-900: #111;
  --hd-glow: rgba(255,102,0,.4);
  --hd-border: rgba(255,255,255,.1);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif; background: var(--hd-black); color: var(--hd-white); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }

/* Utility Bar */
.hd-utilbar {
  display: none;
  position: fixed; top: 0; left: 0; right: 0; z-index: 1001;
  background: #0a0a0a; border-bottom: 1px solid rgba(255,255,255,.06);
  height: 32px;
}
.hd-utilbar__inner {
  max-width: 1400px; margin: 0 auto; height: 100%;
  display: flex; align-items: center; justify-content: flex-end;
  padding: 0 24px; gap: 0;
}
.hd-utilbar__inner a {
  padding: 6px 16px; font-size: 0.7rem; font-weight: 700;
  color: var(--hd-white); transition: color 0.2s; white-space: nowrap;
  letter-spacing: 0.04em; position: relative;
}
.hd-utilbar__inner a:hover, .hd-utilbar__inner a.is-active { color: var(--hd-white); }
.hd-utilbar__inner a + a::before {
  content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 1px; height: 12px; background: rgba(255,255,255,.15);
}

/* Info Bar */
.hd-infobar {
  position: fixed; top: 32px; left: 0; right: 0; z-index: 1000;
  background: linear-gradient(180deg, #111 0%, #0a0a0a 100%);
  border-bottom: none; height: 72px;
  box-shadow: inset 0 -4px 6px rgba(0,0,0,.9), inset 0 -1px 0 rgba(255,255,255,.04);
}
.hd-infobar__inner {
  max-width: 1400px; margin: 0 auto; height: 100%;
  display: flex; align-items: center; gap: 24px; padding: 0 24px;
}
.hd-infobar__logo { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.hd-infobar__logo img { height: 48px; width: auto; }
.hd-infobar__logo span {
  font-family: "Roboto Condensed", sans-serif; font-size: 1rem; font-weight: 900;
  letter-spacing: 0.06em; color: var(--hd-white); white-space: nowrap; line-height: 1.3;
}
.hd-infobar__logo sup { font-size: 0.6em; }
.hd-infobar__logo small {
  display: block; font-size: 0.6rem; font-weight: 700;
  letter-spacing: 0.25em; color: var(--hd-zinc-400); margin-top: 2px;
}
.hd-infobar__social {
  display: flex; flex-direction: column; align-items: center; margin-left: 6px; gap: 1px;
}
.hd-infobar__yt {
  font-size: 1.1rem; color: #ff0000;
  transition: opacity 0.2s;
}
.hd-infobar__yt:hover { opacity: 0.7; }
.hd-infobar__stars {
  font-size: 0.5rem; color: #d4a017; letter-spacing: 1px; line-height: 1;
}
.hd-infobar__meta {
  display: flex; align-items: center; gap: 16px;
  border-left: 1px solid rgba(255,255,255,.12); padding-left: 16px;
  margin-left: auto; flex-shrink: 0;
}
.hd-infobar__block { display: flex; align-items: baseline; gap: 4px; white-space: nowrap; }
.hd-infobar__label {
  font-size: 0.5rem; font-weight: 700; letter-spacing: 0.06em;
  color: var(--hd-orange); text-transform: uppercase;
}
.hd-infobar__value {
  font-size: 0.75rem; font-weight: 900; color: var(--hd-white); letter-spacing: 0.02em;
  font-family: "Roboto Condensed", sans-serif;
}
.hd-infobar__tel {
  display: flex; align-items: center; gap: 8px;
  font-family: "Roboto Condensed", sans-serif; font-size: 1.3rem; font-weight: 900;
  font-style: italic; color: var(--hd-white); letter-spacing: 0.02em;
  white-space: nowrap; transition: all 0.3s;
  border-left: 1px solid rgba(255,255,255,.12); padding-left: 24px;
}
.hd-infobar__tel:hover { color: var(--hd-orange); }
.hd-infobar__tel i { font-size: 0.9rem; color: var(--hd-orange); font-style: normal; }
.hd-infobar__cta {
  --glow: rgb(217,176,255);
  --glow-spread: rgba(191,123,255,.78);
  --glow-enhanced: rgb(231,206,255);
  flex-shrink: 0; display: inline-flex; align-items: center;
  padding: 6px 14px; background-color: rgb(100,61,136);
  font-size: 0.65rem; font-weight: 900; color: #fff;
  letter-spacing: 0.04em; white-space: nowrap; transition: all 0.3s;
  border: 2px solid var(--glow);
  border-radius: 0.6em;
  box-shadow: 0 0 0.4em 0.1em var(--glow),
              0 0 1.2em 0.3em var(--glow-spread),
              inset 0 0 0.3em 0.1em var(--glow);
  text-shadow: none;
  position: relative;
  transform: skewX(-12deg);
}
.hd-infobar__cta-inner {
  display: inline-flex; align-items: center; gap: 6px;
  transform: skewX(12deg);
}
.hd-infobar__cta::after {
  pointer-events: none; content: "";
  position: absolute; top: 120%; left: 0;
  height: 100%; width: 100%;
  background-color: var(--glow-spread);
  filter: blur(1.5em); opacity: .3;
  transform: perspective(1.5em) rotateX(35deg) scale(1,.6);
}
.hd-infobar__cta:hover {
  color: #fff; background-color: rgb(100,61,136);
}
.hd-infobar__cta:active {
}

/* Header (Nav Bar) */
.hd-header {
  position: fixed; top: 104px; left: 0; right: 0; z-index: 999;
  background: rgba(5,5,5,.95); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--hd-border);
  box-shadow: inset 0 3px 5px rgba(0,0,0,.7), 0 4px 20px rgba(0,0,0,.5);
  border-top: 1px solid rgba(255,255,255,.06);
}
.hd-header__inner {
  max-width: 1400px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 24px; height: 48px;
}
.hd-header__logo { display: none; align-items: center; gap: 10px; }
.hd-header__logo img { height: 36px; width: auto; }
.hd-header__logo span {
  font-family: "Roboto Condensed", sans-serif; font-size: 0.8rem; font-weight: 900;
  letter-spacing: 0.1em; color: var(--hd-white); white-space: nowrap;
}

/* LINE Button in Nav */
.hd-header__line-btn {
  display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0;
  padding: 0; border: none; background: transparent;
  font-size: 0.8rem; font-weight: 700; color: var(--hd-white); white-space: nowrap;
  transition: color 0.2s;
}
.hd-header__line-btn i { color: #06C755; font-size: 1rem; }
.hd-header__line-btn:hover { color: #06C755; }

/* Nav */
.hd-nav { display: flex; align-items: center; gap: 0; height: 100%; }
.hd-nav a {
  display: flex; align-items: center; height: 100%;
  padding: 0 12px; font-size: 0.82rem; font-weight: 700;
  letter-spacing: 0.02em; color: var(--hd-white);
  transition: color 0.2s, background 0.2s; white-space: nowrap; position: relative;
}
.hd-nav a:hover { color: var(--hd-white); background: rgba(255,255,255,.04); }
.hd-nav a.is-active { color: var(--hd-white); }
.hd-nav a::after {
  content: ''; position: absolute; bottom: 0; left: 12px; right: 12px;
  height: 3px; background: var(--hd-orange);
  transform: scaleX(0); transition: transform 0.3s cubic-bezier(.23,1,.32,1);
  box-shadow: 0 0 8px rgba(255,102,0,.5);
}
.hd-nav a:hover { color: var(--hd-orange); background: rgba(255,102,0,.06); }
.hd-nav a:hover::after { transform: scaleX(1); }
.hd-nav a.is-active { color: var(--hd-orange); }
.hd-nav a.is-active::after { transform: scaleX(1); }

/* Hamburger */
.hd-burger {
  display: none; flex-direction: column; gap: 6px; cursor: pointer;
  background: none; border: none; padding: 10px; z-index: 1001;
  -webkit-tap-highlight-color: transparent; outline: none;
}
.hd-burger:hover, .hd-burger:focus, .hd-burger:active { outline: none; background: none; color: inherit; }
.hd-burger span {
  display: block; width: 26px; height: 2px; background: #fff !important;
  transition: all 0.3s;
}
.hd-burger.is-open span:nth-child(1) { transform: rotate(45deg) translate(6px, 6px); }
.hd-burger.is-open span:nth-child(2) { opacity: 0; }
.hd-burger.is-open span:nth-child(3) { transform: rotate(-45deg) translate(6px, -6px); }

/* Mobile Nav */
.hd-mobile-nav {
  display: none; position: fixed; top: 152px; left: 0; right: 0; bottom: 0;
  background: rgba(5,5,5,.98); z-index: 999; overflow-y: auto;
  padding: 16px 0;
}
.hd-mobile-nav.is-open { display: block; }
.hd-mobile-nav-grid {
  display: grid !important; grid-template-columns: 1fr 1fr !important; padding: 0 !important;
}
.hd-mobile-nav a {
  display: block; padding: 13px 18px; font-size: 0.82rem; font-weight: 700;
  color: var(--hd-zinc-400); border-bottom: 1px solid var(--hd-border);
  border-right: 1px solid var(--hd-border);
  transition: all 0.2s; text-decoration: none;
}
.hd-mobile-nav a:hover, .hd-mobile-nav a.is-active {
  color: var(--hd-white); background-color: rgba(255,102,0,.08);
}
.hd-mobile-nav a.is-active { border-left: 3px solid var(--hd-orange); }

/* Mobile Contact Block */
.hd-mobile-contact {
  margin: 16px 20px 20px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.hd-mobile-contact__tel,
.hd-mobile-contact__line {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 15px 12px;
  font-size: 0.95rem; font-weight: 900; letter-spacing: 0.03em;
  text-decoration: none !important; transition: all 0.2s;
  color: #fff !important; text-align: center;
}
.hd-mobile-contact__tel { background-color: var(--hd-orange); }
.hd-mobile-contact__line { background-color: #06C755; }
.hd-mobile-contact__tel:hover { background-color: #e55a00; color: #fff !important; }
.hd-mobile-contact__line:hover { background-color: #05b34a; color: #fff !important; }
.hd-mobile-contact__tel i,
.hd-mobile-contact__line i { font-size: 1.1rem; }
.hd-mobile-logo { text-align: center; padding: 0 0 24px; }

/* Body offset: admin-bar(32) + infobar(72) + navbar(48) + border(2) = 154 */
.hd-body { padding-top: 154px; }
/* No admin bar: subtract 32px */
body:not(.admin-bar) .hd-infobar { top: 0; }
body:not(.admin-bar) .hd-header { top: 72px; }
body:not(.admin-bar) .hd-body { padding-top: 122px; }
body:not(.admin-bar) .hd-breadcrumb-wrap { margin-top: 120px; }

/* Breadcrumb */
.hd-breadcrumb-wrap {
  width: 100vw; position: relative; left: 50%; margin-left: -50vw;
  background: var(--hd-black); z-index: 100; margin-top: 152px;
}
.hd-breadcrumb {
  padding: 12px 24px !important; font-size: 0.75rem; color: var(--hd-zinc-400);
  max-width: 1400px; margin: 0 auto !important; position: relative; z-index: 9999 !important;
  background: var(--hd-black) !important; display: block !important;
}
.hd-breadcrumb a { color: var(--hd-zinc-400); }
.hd-breadcrumb a:hover { color: var(--hd-white); }
.hd-breadcrumb span { margin: 0 6px; }

/* CTA */
.hd-cta { background: #000; color: #fff; }
.hd-cta * { box-sizing: border-box; }
.hd-cta__wrap { max-width: 1200px; margin: 0 auto; padding: 60px 20px; }
.hd-cta__top { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }
.hd-cta__brand { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.hd-cta__logo { width: clamp(120px, 10vw, 180px); height: auto; display: block; margin: 0 auto 14px; }
.hd-cta__name { width: 100%; text-align: center; font-size: clamp(22px, 2.2vw, 34px); font-weight: 800; letter-spacing: 0.04em; line-height: 1.25; margin: 0; }
.hd-cta__contact { text-align: center; }
.hd-cta__tel { margin: 0; font-size: clamp(24px, 3vw, 44px); font-weight: 900; letter-spacing: 0.02em; font-style: italic; }
.hd-cta__telLink { color: #fff; text-decoration: none; display: inline-block; padding: 4px 0; transition: color 0.3s; }
.hd-cta__telLink:hover { color: #ff5e00; text-decoration: none; }
.hd-cta__meta { margin: 10px 0 0; font-size: 13px; line-height: 1.8; color: rgba(255,255,255,.85); }
.hd-cta__bubble { position: relative; display: inline-block; margin-top: 18px; margin-bottom: 12px; padding: 10px 18px; border-radius: 8px; background: #06c755; color: #fff; font-weight: 800; font-size: 14px; line-height: 1.4; }
.hd-cta__bubble::after { content: ''; position: absolute; bottom: -10px; right: 14px; border-style: solid; border-width: 10px 10px 0 0; border-color: #06c755 transparent transparent; }
.hd-cta__sns { display: flex; gap: 12px; margin-top: 16px; justify-content: center; flex-wrap: wrap; }
.hd-cta__icon { width: 44px; height: 44px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: #fff; background: #222; font-size: 1rem; transition: transform 0.25s, filter 0.25s; }
.hd-cta__icon:hover { opacity: 0.85; }
.hd-cta__icon.is-tiktok { background: #111; }
.hd-cta__icon.is-youtube { background: #ff0000; }
.hd-cta__icon.is-facebook { background: #1877f2; }
.hd-cta__icon.is-instagram { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.hd-cta__icon.is-line { background: #06c755; }
.hd-cta__bottom { margin-top: 30px; display: grid; grid-template-columns: 1fr; gap: 20px; }
.hd-cta__photo, .hd-cta__map { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 4px; background: #111; border: 1px solid rgba(255,255,255,.1); }
.hd-cta__photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.hd-cta__map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Footer */
.hd-footer { background: #0a0a0a; border-top: 1px solid var(--hd-border); padding: 60px 20px 40px; }
.hd-footer__inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 40px 32px; }
.hd-footer__heading { font-family: "Roboto Condensed", sans-serif; font-weight: 900; font-style: italic; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hd-orange); margin-bottom: 16px; }
.hd-footer__links { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.hd-footer__links a { font-size: 0.82rem; font-weight: 700; color: var(--hd-zinc-400); transition: color 0.2s; }
.hd-footer__links a:hover { color: var(--hd-white); }
.hd-footer__bottom { max-width: 1200px; margin: 32px auto 0; padding-top: 24px; border-top: 1px solid var(--hd-border); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.hd-footer__logo { display: flex; align-items: center; gap: 10px; }
.hd-footer__logo img { height: 32px; width: auto; }
.hd-footer__logo span { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.08em; color: var(--hd-zinc-400); }
.hd-footer__copy { font-size: 0.65rem; color: var(--hd-zinc-400); letter-spacing: 0.03em; }

/* Copyright */
.hd-copyright { background: #0a0a0a; color: var(--hd-zinc-400); letter-spacing: 0.05em; padding: 16px 40px; }
.hd-copyright__inner { max-width: 1200px; margin: 0 auto; }
.hd-copyright__left { text-align: center; font-size: 0.6rem; line-height: 1.6; color: #666; }

/* Utility */
.hd-orange { color: #ff6600 !important; }
.bg-hd-orange { background-color: #ff6600 !important; }
.font-roboto { font-family: "Roboto Condensed", sans-serif; }
.text-hd-orange { color: #ff6600; }

/* Title */
.pdf-title-container { display: flex; flex-direction: column; align-items: center; text-align: center; margin-bottom: 3rem; }
.pdf-main-title { font-family: "Roboto Condensed", sans-serif; font-weight: 900; font-style: italic; font-size: clamp(2.2rem, 5.5vw, 4.5rem); line-height: 1; letter-spacing: -0.02em; text-transform: uppercase; margin: 0; color: #fff; }
.pdf-sub-title { font-family: "Noto Sans JP", sans-serif; font-weight: 700; font-size: clamp(0.9rem, 2vw, 1.2rem); letter-spacing: 0.1em; color: #a1a1aa; margin: 16px 0 0; }
.title-line, .bw-line { width: 6rem; height: 0.25rem; background-color: #ff6600; position: relative; overflow: hidden; }
.title-line { margin: 24px auto 0; }
.title-line::after, .bw-line::after { display: none; }

/* Animations */
.glass-card { background: rgba(255,255,255,0.05); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.1); }
@keyframes slideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.reveal { animation: slideUp 0.8s ease-out forwards; }

/* Card Shutter */
.card-shutter { position: absolute; bottom: 0; left: 0; width: 0; height: 5px; background-color: #ff6600; transition: width 0.5s ease; }
.group:hover .card-shutter { width: 100%; }

/* Photo Name Label */
.photo-name-label { position: absolute; top: 20px; left: 20px; background: #ff6600; color: #fff; padding: 4px 15px; font-weight: 900; font-style: italic; z-index: 20; font-size: 14px; }

/* COMMUNICATION Section */
.hd-comm { background: #050505; }
.hd-comm__wrap { max-width: 1280px; margin: 0 auto; padding: 120px 20px; }
.hd-comm__header { text-align: center; margin-bottom: 96px; }
.hd-comm__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media(max-width:768px){ .hd-comm__header { margin-bottom: 48px; }
  .hd-comm__thumb { aspect-ratio: 4/3; }
  .hd-comm__body { padding: 14px 10px; gap: 8px; }
  .hd-comm__icon { font-size: 1.6rem; }
  .hd-comm__text { font-size: .75rem; line-height: 1.4; }
  .hd-comm__text br { display: none; }
  .hd-comm .hd-btn { padding: 6px 14px; font-size: .65rem; }
  .hd-comm .sns-icons-row a { font-size: 1.8rem; }
  .hd-comm .sns-icons-row { gap: 12px; margin-bottom: 6px; }
}
@media(max-width:480px){
  .hd-comm__wrap { padding: 60px 12px; }
  .hd-comm__header { margin-bottom: 32px; }
  .hd-comm__grid { gap: 8px; }
  .hd-comm__body { padding: 10px 8px; gap: 6px; }
  .hd-comm__icon { font-size: 1.2rem; }
  .hd-comm__text { font-size: .68rem; line-height: 1.4; }
  .hd-comm .hd-btn { padding: 5px 10px; font-size: .58rem; }
  .hd-comm .sns-icons-row a { font-size: 1.5rem; }
  .hd-comm .sns-icons-row { gap: 8px; }
}
@media(min-width:1024px){ .hd-comm__grid { grid-template-columns: repeat(4, 1fr); gap: 24px; } }
.hd-comm__card { position: relative; background: linear-gradient(145deg, #1a1a1a 0%, #111111 100%); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; overflow: hidden; transition: all 0.5s cubic-bezier(0.2,1,0.3,1); display: flex; flex-direction: column; height: 100%; z-index: 10; cursor: pointer; }
.hd-comm__card:hover { border-color: rgba(255,102,0,0.4); }
.hd-comm__thumb { width: 100%; aspect-ratio: 16/10; overflow: hidden; background: #000; position: relative; }
.hd-comm__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(0.2,1,0.3,1); }
.hd-comm__card:hover .hd-comm__thumb img { }
.hd-comm__body { padding: 32px 24px; flex-grow: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; position: relative; z-index: 5; }
.hd-comm__icon { font-size: 2.8rem; margin-bottom: 4px; filter: drop-shadow(0 0 8px rgba(255,255,255,0.2)); transition: transform 0.4s ease; }
.hd-comm__card:hover .hd-comm__icon { }
.hd-comm__text { font-size: 1.1rem; font-weight: 700; color: #fff; line-height: 1.6; margin: 0; letter-spacing: 0.02em; }

/* Skew Button */
.hd-btn { background-color: #ff6600; color: #fff; padding: 10px 24px; font-family: "Roboto Condensed", sans-serif; font-weight: 900; font-style: italic; text-transform: uppercase; transform: skewX(-12deg); letter-spacing: -0.02em; display: inline-block; transition: all 0.3s cubic-bezier(0.4,0,0.2,1); margin-top: auto; border: 1px solid #ff6600; }
.hd-btn-inner { display: inline-block; transform: skewX(12deg); }
.hd-comm__card:hover .hd-btn { }

/* Card Gloss Sweep */
.hd-comm__card .card-shutter { position: absolute; inset: 0; z-index: 15; pointer-events: none; background: linear-gradient(115deg, transparent 0%, transparent 45%, rgba(255,255,255,0.2) 50%, transparent 55%, transparent 100%); transform: translateX(-150%); transition: transform 0.7s cubic-bezier(0.4,0,0.2,1); width: auto; height: auto; bottom: auto; left: auto; }
.hd-comm__card:hover .card-shutter { }

/* SNS */
.sns-icons-row { display: flex; justify-content: center; gap: 20px; margin-bottom: 12px; }
.sns-icons-row a { font-size: 2rem; transition: all 0.3s ease; color: #ccc; }
.sns-icons-row a:hover { color: #ff6600 !important; }
.sns-sub-links { display: flex; flex-direction: column; gap: 6px; width: 100%; margin-top: 8px; }
.sns-sub-link { font-family: "Roboto Condensed", sans-serif; font-weight: 900; font-style: italic; font-size: 0.75rem; letter-spacing: 0.1em; color: #ff6600; transition: color 0.3s ease; }
.sns-sub-link:hover { color: #fff; }

/* Single */
.hd-single { max-width: 860px; margin: 0 auto; padding: 60px 20px 80px; }
.hd-single__inner { background: #111; border: 1px solid rgba(255,255,255,.1); padding: clamp(30px, 5vw, 60px); }
.hd-single__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.hd-single__meta time { font-family: "Roboto Condensed", sans-serif; font-size: 0.9rem; color: var(--hd-zinc-400); }
.hd-single__cat { background: var(--hd-orange); color: #fff; font-size: 0.7rem; font-weight: 900; padding: 3px 12px; text-transform: uppercase; }
.hd-single__title { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 900; line-height: 1.5; margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.1); }
.hd-single__body { font-size: 1rem; line-height: 2; color: #ddd; }
.hd-single__body p { margin-bottom: 1.5em; }
.hd-single__body img { border-radius: 2px; margin: 1em 0; }
.hd-single__body a { color: var(--hd-orange); text-decoration: underline; }
.hd-single__body strong, .hd-single__body b { color: #fff; font-weight: 900; }
.hd-single__thumb { margin-top: 32px; }
.hd-single__thumb img { width: 100%; border-radius: 2px; }
.hd-single__nav { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; max-width: 860px; margin-left: auto; margin-right: auto; padding: 0 20px 60px; }
.hd-single__nav-link { display: flex; flex-direction: column; gap: 6px; padding: 16px 20px; background: #111; border: 1px solid rgba(255,255,255,.1); flex: 1; transition: border-color 0.3s; }
.hd-single__nav-link:hover { border-color: var(--hd-orange); }
.hd-single__nav-link.is-next { text-align: right; }
.hd-single__nav-arrow { font-size: 0.8rem; color: var(--hd-orange); font-weight: 900; font-family: "Roboto Condensed", sans-serif; }
.hd-single__nav-title { font-size: 0.85rem; font-weight: 700; color: var(--hd-zinc-400); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Archive */
.hd-archive { max-width: 960px; margin: 0 auto; padding: 60px 20px 80px; }
.hd-archive__inner { background: #111; border: 1px solid rgba(255,255,255,.1); padding: clamp(30px, 5vw, 60px); }
.hd-archive__heading { font-family: "Roboto Condensed", sans-serif; font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 900; font-style: italic; text-transform: uppercase; }
.hd-archive__line { width: 6rem; height: 0.25rem; background: var(--hd-orange); margin: 16px 0 40px; }
.hd-archive__list { list-style: none; }
.hd-archive__item { border-bottom: 1px solid rgba(255,255,255,.06); }
.hd-archive__item a { display: flex; align-items: center; gap: 12px; padding: 18px 0; transition: background 0.2s; flex-wrap: wrap; }
.hd-archive__item a:hover { background: rgba(255,102,0,.05); }
.hd-archive__item time { font-family: "Roboto Condensed", sans-serif; font-size: 0.85rem; color: var(--hd-zinc-400); flex-shrink: 0; }
.hd-archive__cat { background: var(--hd-orange); color: #fff; font-size: 0.65rem; font-weight: 900; padding: 2px 10px; flex-shrink: 0; }
.hd-archive__title { font-weight: 700; font-size: 0.95rem; }
.hd-archive__pager { margin-top: 40px; text-align: center; }
.hd-archive__pager .page-numbers { display: inline-block; padding: 8px 14px; margin: 0 4px; background: #222; color: #fff; font-weight: 700; font-size: 0.85rem; transition: background 0.2s; }
.hd-archive__pager .page-numbers.current, .hd-archive__pager .page-numbers:hover { background: var(--hd-orange); }
.hd-archive__empty { text-align: center; padding: 60px 0; color: var(--hd-zinc-400); font-size: 1rem; }

/* Responsive */
@media(max-width:1100px) {
  .hd-utilbar { display: none; }
  .hd-infobar { display: none; }
  .hd-header { top: 0 !important; background: #050505; backdrop-filter: none; }
  .hd-header__inner { height: 64px; }
  .hd-header__logo { display: flex; }
  .hd-header__logo img { height: 36px; }
  .hd-header__line-btn { padding: 5px 12px; font-size: 0.75rem; }
  .hd-breadcrumb-wrap { margin-top: 64px !important; }
  .hd-mobile-nav { top: 64px; }
  .hd-nav { display: none; }
  .hd-burger { display: flex; }
  .hd-body { padding-top: 64px !important; }
}
@media(min-width:992px) {
  .hd-cta__top { grid-template-columns: 1fr 1fr; gap: 48px; }
  .hd-cta__contact { text-align: right; justify-self: end; }
  .hd-cta__sns { justify-content: flex-end; }
  .hd-cta__bottom { grid-template-columns: 1fr 1fr; }
}
@media(max-width:768px) {
  .hd-cta__photo img { max-height: 300px; }
}

/* Tuning Makoto Banner */
.hd-tuning-float{position:fixed;bottom:20px;right:20px;z-index:998;max-width:280px;transition:all .4s cubic-bezier(.2,1,.3,1);filter:drop-shadow(0 8px 24px rgba(0,0,0,.6))}
.hd-tuning-float:hover{transform:translateY(-6px);filter:drop-shadow(0 12px 32px rgba(255,102,0,.3))}
.hd-tuning-float img{width:100%;height:auto;border-radius:4px;border:2px solid rgba(255,102,0,.4);transition:border-color .3s}
.hd-tuning-float:hover img{border-color:#ff6600}
.hd-tuning-float__close{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#333;color:#fff;border:none;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s;z-index:1}
.hd-tuning-float__close:hover{background:#ff6600}
@media(max-width:768px){.hd-tuning-float{max-width:200px;bottom:12px;right:12px}}
