/* ===== Variables ===== */
:root {
  --gold: #c9a84c;
  --gold-light: #e8d48b;
  --gold-dark: #a88b2e;
  --black: #0a0a0a;
  --black-soft: #141414;
  --black-card: #1a1a1a;
  --cream: #f8f5ef;
  --cream-dark: #ebe6dc;
  --text: #1a1a1a;
  --text-muted: #666;
  --white: #ffffff;
  --line-green: #06c755;
  --radius: 8px;
  --radius-lg: 16px;
  --shadow: 0 8px 32px rgba(0,0,0,0.12);
  --font-sans: 'Noto Sans JP', system-ui, sans-serif;
  --font-serif: 'Noto Serif JP', serif;
  --transition: 0.3s ease;
}

/* ===== Reset ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--font-sans);
  color: var(--text);
  background: var(--cream);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
img { max-width: 100%; display: block; }

.container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ===== Top Bar ===== */
.top-bar {
  background: var(--black);
  color: var(--white);
  font-size: 0.8rem;
  padding: 8px 0;
}
.top-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.top-bar-text { opacity: 0.85; }
.top-bar-contact {
  display: flex;
  align-items: center;
  gap: 20px;
}
.phone-block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.phone-label { font-size: 0.7rem; opacity: 0.7; }
.phone-number {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.02em;
}
.icon-phone { width: 20px; height: 20px; }

.btn-line {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--line-green);
  color: var(--white);
  padding: 8px 18px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.9rem;
  transition: transform var(--transition), box-shadow var(--transition);
  line-height: 1.3;
}
.btn-line:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(6,199,85,0.4);
}
.btn-line .line-icon {
  font-size: 0.7rem;
  background: rgba(255,255,255,0.2);
  padding: 1px 6px;
  border-radius: 3px;
  margin-bottom: 2px;
}
.btn-line .line-sub { font-size: 0.7rem; font-weight: 400; opacity: 0.9; }
.btn-line.large {
  padding: 16px 40px;
  font-size: 1.15rem;
  margin-top: 20px;
}
.btn-line.large .line-sub { font-size: 0.85rem; }

/* ===== Header ===== */
.header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(10,10,10,0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(201,168,76,0.2);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
}
.logo {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--white);
}
.logo-mark {
  width: 52px;
  height: 52px;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.3);
}
.logo-fuku {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--black);
}
.logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.logo-sub { font-size: 0.7rem; opacity: 0.8; letter-spacing: 0.05em; }
.logo-main { font-size: 1.15rem; font-weight: 700; letter-spacing: 0.03em; }
.logo-tag { font-size: 0.65rem; color: var(--gold); margin-top: 2px; }

.nav {
  display: flex;
  gap: 4px;
}
.nav a {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 12px;
  color: rgba(255,255,255,0.85);
  font-size: 0.8rem;
  font-weight: 500;
  transition: color var(--transition);
  border-radius: 4px;
}
.nav a span {
  font-size: 0.65rem;
  opacity: 0.6;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.nav a:hover { color: var(--gold); }

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}
.menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--white);
  transition: all var(--transition);
}

/* ===== Hero ===== */
.hero {
  position: relative;
  min-height: 560px;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1508 50%, #0f0d05 100%);
  color: var(--white);
  overflow: hidden;
  display: flex;
  align-items: center;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 70% 50%, rgba(201,168,76,0.12) 0%, transparent 55%),
    radial-gradient(ellipse at 20% 80%, rgba(201,168,76,0.06) 0%, transparent 40%);
  pointer-events: none;
}
.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c9a84c' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity: 0.6;
}
.hero-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 60px 24px;
  gap: 40px;
}
.hero-left { flex: 1; max-width: 560px; }
.hero-title {
  font-family: var(--font-serif);
  font-size: clamp(2.4rem, 6vw, 3.8rem);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 20px;
  letter-spacing: 0.04em;
}
.hero-title .gold {
  color: var(--gold-light);
  text-shadow: 0 0 40px rgba(201,168,76,0.4);
}
.hero-lead {
  font-size: 1.05rem;
  opacity: 0.9;
  margin-bottom: 36px;
  line-height: 1.8;
}
.hero-points {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.point {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(201,168,76,0.3);
  border-radius: var(--radius);
  padding: 14px 18px;
  min-width: 150px;
}
.point-icon {
  width: 36px;
  height: 36px;
  color: var(--gold);
  flex-shrink: 0;
}
.point-icon svg { width: 100%; height: 100%; }
.point strong {
  display: block;
  font-size: 0.8rem;
  opacity: 0.8;
  font-weight: 400;
}
.point span {
  font-size: 1rem;
  font-weight: 700;
  color: var(--gold-light);
}
.hero-right {
  display: flex;
  align-items: center;
}
.hero-vertical {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: var(--font-serif);
  font-size: 1.1rem;
  letter-spacing: 0.3em;
  color: var(--gold);
  border: 1px solid rgba(201,168,76,0.4);
  padding: 24px 16px;
  background: rgba(0,0,0,0.4);
}
.hero-vertical span { display: block; }

/* ===== Section Common ===== */
.section { padding: 80px 0; }
.section-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 48px;
}
.section-header.light .section-title { color: var(--white); }
.section-header.light .section-ornament { color: var(--gold); }
.section-ornament {
  color: var(--gold);
  font-size: 0.9rem;
}
.section-title {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
}

/* ===== Reasons ===== */
.reasons {
  background: var(--cream);
}
.reasons-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
.reason-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 32px 20px;
  text-align: center;
  box-shadow: var(--shadow);
  border: 1px solid rgba(201,168,76,0.15);
  transition: transform var(--transition), box-shadow var(--transition);
}
.reason-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.12);
}
.reason-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  color: var(--gold-dark);
}
.reason-icon svg { width: 100%; height: 100%; }
.reason-card h3 {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--text);
}

/* ===== Flow + Items ===== */
.flow-items {
  background: var(--black-soft);
  color: var(--white);
}
.two-col {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
}
.col-header {
  background: linear-gradient(90deg, var(--gold-dark), var(--gold));
  color: var(--black);
  padding: 14px 24px;
  border-radius: var(--radius) var(--radius) 0 0;
  margin-bottom: 0;
}
.col-header h2 {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.col-flow, .col-items {
  background: var(--black-card);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(201,168,76,0.2);
}

.flow-list { padding: 24px; }
.flow-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.flow-item:last-child { border-bottom: none; }
.flow-num {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--black);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
}
.flow-content { flex: 1; }
.flow-content h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--gold-light);
}
.flow-content p {
  font-size: 0.85rem;
  opacity: 0.75;
}
.flow-icon {
  width: 28px;
  height: 28px;
  color: var(--gold);
  opacity: 0.7;
}
.flow-icon svg { width: 100%; height: 100%; }
.flow-note {
  font-size: 0.8rem;
  opacity: 0.6;
  padding: 0 24px 20px;
  line-height: 1.5;
}

.items-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 24px;
}
.item-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: var(--radius);
  padding: 20px 12px;
  text-align: center;
  transition: background var(--transition), border-color var(--transition);
}
.item-card:hover {
  background: rgba(201,168,76,0.1);
  border-color: var(--gold);
}
.item-icon {
  font-size: 1.8rem;
  margin-bottom: 8px;
}
.item-card span {
  font-size: 0.85rem;
  font-weight: 500;
  display: block;
}
.btn-items {
  display: block;
  text-align: center;
  background: linear-gradient(90deg, #8b1a1a, #c0392b);
  color: var(--white);
  padding: 14px;
  font-weight: 700;
  font-size: 0.95rem;
  transition: opacity var(--transition);
}
.btn-items:hover { opacity: 0.9; }

/* ===== Results ===== */
.results {
  background: linear-gradient(180deg, #1a1508 0%, #0a0a0a 100%);
  color: var(--white);
}
.results-note {
  text-align: center;
  font-size: 0.85rem;
  opacity: 0.6;
  margin-top: -32px;
  margin-bottom: 36px;
}
.results-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
.result-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(201,168,76,0.25);
  border-radius: var(--radius-lg);
  padding: 28px 16px;
  text-align: center;
  transition: transform var(--transition), border-color var(--transition);
}
.result-card:hover {
  transform: translateY(-4px);
  border-color: var(--gold);
}
.result-img {
  font-size: 2.5rem;
  margin-bottom: 12px;
}
.result-card h3 {
  font-size: 0.9rem;
  font-weight: 500;
  margin-bottom: 12px;
  line-height: 1.4;
  min-height: 2.8em;
}
.price {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--gold-light);
}
.price span { font-size: 0.85rem; }

/* ===== Area ===== */
.area {
  background: var(--cream);
  padding: 60px 0;
}
.area-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 40px 48px;
  box-shadow: var(--shadow);
  border: 1px solid rgba(201,168,76,0.2);
}
.area-text h2 {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  margin-bottom: 12px;
  color: var(--text);
}
.area-lead {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gold-dark);
  margin-bottom: 8px;
}
.area-text p { color: var(--text-muted); font-size: 0.95rem; }
.area-note { margin-top: 8px; font-size: 0.9rem; }
.badge-circle {
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, #8b1a1a, #c0392b);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--white);
  box-shadow: 0 8px 24px rgba(139,26,26,0.3);
}
.badge-circle span { font-size: 0.8rem; }
.badge-circle strong { font-size: 1.5rem; font-weight: 900; }

/* ===== Voice ===== */
.voice { background: var(--cream-dark); }
.voice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.voice-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 32px 28px;
  box-shadow: var(--shadow);
  border-top: 3px solid var(--gold);
}
.voice-stars {
  color: var(--gold);
  font-size: 1.1rem;
  margin-bottom: 12px;
  letter-spacing: 2px;
}
.voice-text {
  font-size: 0.95rem;
  color: var(--text-muted);
  line-height: 1.8;
  margin-bottom: 16px;
}
.voice-meta {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--text);
}

/* ===== FAQ ===== */
.faq { background: var(--cream); }
.faq-list {
  max-width: 800px;
  margin: 0 auto;
}
.faq-item {
  background: var(--white);
  border-radius: var(--radius);
  margin-bottom: 12px;
  border: 1px solid rgba(201,168,76,0.2);
  overflow: hidden;
}
.faq-item summary {
  padding: 18px 24px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background var(--transition);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  font-size: 1.4rem;
  color: var(--gold);
  font-weight: 400;
}
.faq-item[open] summary::after { content: '−'; }
.faq-item summary:hover { background: rgba(201,168,76,0.05); }
.faq-item p {
  padding: 0 24px 20px;
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.7;
}

/* ===== CTA ===== */
.cta-section {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1508 100%);
  color: var(--white);
  text-align: center;
  padding: 70px 24px;
}
.cta-section h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  margin-bottom: 12px;
  letter-spacing: 0.04em;
}
.cta-sub {
  font-size: 0.95rem;
  opacity: 0.8;
  margin-bottom: 20px;
}
.cta-phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(1.8rem, 5vw, 2.6rem);
  font-weight: 700;
  color: var(--gold);
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}
.cta-phone svg { width: 32px; height: 32px; }

/* ===== Company ===== */
.company { background: var(--cream); }
.company-table {
  max-width: 700px;
  margin: 0 auto;
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid rgba(201,168,76,0.2);
}
.company-table dl div {
  display: grid;
  grid-template-columns: 160px 1fr;
  border-bottom: 1px solid var(--cream-dark);
}
.company-table dl div:last-child { border-bottom: none; }
.company-table dt {
  background: rgba(201,168,76,0.08);
  padding: 16px 20px;
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--gold-dark);
}
.company-table dd {
  padding: 16px 20px;
  font-size: 0.95rem;
}

/* ===== Footer ===== */
.footer {
  background: var(--black);
  color: rgba(255,255,255,0.75);
  padding: 50px 0 0;
  font-size: 0.85rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1.5fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer .logo { color: var(--white); }
.footer .logo-mark {
  width: 40px;
  height: 40px;
}
.footer .logo-fuku { font-size: 1.2rem; }
.footer .logo-main { font-size: 1rem; }
.footer-info p { margin-bottom: 6px; line-height: 1.6; }
.footer-links p { margin-bottom: 16px; line-height: 1.6; }
.footer-links ul { display: flex; flex-direction: column; gap: 8px; }
.footer-links a:hover { color: var(--gold); }
.footer-bottom {
  text-align: center;
  padding: 20px 0;
  font-size: 0.8rem;
  opacity: 0.6;
}

/* ===== Page Top ===== */
.page-top {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 48px;
  height: 48px;
  background: var(--gold);
  color: var(--black);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 700;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition), transform var(--transition);
  z-index: 900;
}
.page-top.visible {
  opacity: 1;
  pointer-events: auto;
}
.page-top:hover { transform: translateY(-3px); }

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .reasons-grid { grid-template-columns: repeat(3, 1fr); }
  .results-grid { grid-template-columns: repeat(3, 1fr); }
  .two-col { grid-template-columns: 1fr; }
  .nav { display: none; }
  .menu-toggle { display: flex; }
  .nav.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    background: var(--black);
    padding: 16px 24px 24px;
    gap: 0;
    border-bottom: 1px solid rgba(201,168,76,0.2);
  }
  .nav.open a {
    flex-direction: row;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .menu-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle.active span:nth-child(2) { opacity: 0; }
  .menu-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

@media (max-width: 768px) {
  .top-bar-inner { flex-direction: column; align-items: flex-start; gap: 10px; }
  .top-bar-contact { width: 100%; justify-content: space-between; }
  .phone-number { font-size: 1.15rem; }
  .hero-content { flex-direction: column; padding: 48px 24px; }
  .hero-right { display: none; }
  .hero-points { flex-direction: column; }
  .point { width: 100%; }
  .reasons-grid { grid-template-columns: 1fr 1fr; }
  .results-grid { grid-template-columns: 1fr 1fr; }
  .voice-grid { grid-template-columns: 1fr; }
  .area-inner { flex-direction: column; text-align: center; padding: 32px 24px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .company-table dl div { grid-template-columns: 1fr; }
  .company-table dt { padding-bottom: 4px; }
  .items-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .reasons-grid { grid-template-columns: 1fr; }
  .results-grid { grid-template-columns: 1fr; }
  .header-inner { height: 70px; }
  .logo-mark { width: 42px; height: 42px; }
  .logo-main { font-size: 0.95rem; }
}


/* ===== Sub pages ===== */
.sub-header{background:var(--black);padding:18px 24px;color:var(--gold);font-weight:700}
.sub-header a{display:block;max-width:900px;margin:auto}
.legal-page{width:min(900px,calc(100% - 40px));margin:48px auto 80px;background:var(--white);padding:clamp(24px,5vw,52px);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.legal-page h1{font-family:var(--font-serif);font-size:clamp(1.7rem,5vw,2.4rem);margin-bottom:32px;border-bottom:2px solid var(--gold);padding-bottom:14px}
.legal-page h2{font-size:1.15rem;margin:30px 0 8px;color:var(--gold-dark)}
.legal-page p{margin-bottom:14px}
.legal-list div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--cream-dark)}
.legal-list dt,.legal-list dd{padding:14px 12px}.legal-list dt{font-weight:700;color:var(--gold-dark)}
.legal-note{margin-top:28px;font-size:.9rem;color:var(--text-muted)}
.sitemap-list{display:grid;gap:10px}.sitemap-list a{padding:14px 16px;background:var(--cream);border-left:3px solid var(--gold);border-radius:4px}.sitemap-list a:hover{background:var(--cream-dark)}
@media(max-width:600px){.legal-page{width:calc(100% - 24px);margin:24px auto 48px;padding:24px 18px}.legal-list div{grid-template-columns:1fr}.legal-list dt{padding-bottom:2px}.legal-list dd{padding-top:2px}}

/* ===== Seven Lucky Gods theme — clean responsive layer ===== */
:root{--vermilion:#a51f24;--navy:#071a29;--paper:#f7f0df}
body{background:var(--paper)}
.header{background:#071a29;border-bottom:1px solid rgba(201,168,76,.35)}
.logo-mark{background:radial-gradient(circle at 35% 30%,#f5dc83,#b48220 72%);box-shadow:0 0 0 2px #071a29,0 0 0 4px rgba(201,168,76,.55)}
.hero{background:linear-gradient(135deg,#faf2df,#efd7a2);color:#14212b}
.hero-bg{background:radial-gradient(circle at 72% 42%,rgba(255,255,255,.7),transparent 32%)}
.hero-title{color:#101820}.hero-title .gold{color:var(--vermilion)}
.hero-lead{color:#26343e}
.point{background:#0a1d2a;border-color:#b9913d}.point strong{color:#fff}.point span{color:#f1d474}
.shichifukujin-art{position:absolute;right:4%;top:50%;transform:translateY(-50%);width:44%;height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sun-ring{position:absolute;width:340px;height:340px;border:28px solid rgba(185,132,28,.22);border-radius:50%}
.god-row{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:5px}
.god-row span{font-family:var(--font-serif);display:flex;align-items:center;justify-content:center;width:58px;height:116px;border-radius:45% 45% 24% 24%;background:linear-gradient(160deg,#c89b3c,#7d191c);border:2px solid #6e5118;color:#f8e5a4;font-size:1.6rem;font-weight:800}
.god-row span:nth-child(2),.god-row span:nth-child(6){height:140px}.god-row span:nth-child(4){height:152px}
.shichifukujin-art p{position:relative;margin-top:20px;padding:8px 18px;background:#071a29;color:#f5d97d;font-family:var(--font-serif);border:1px solid #b9913d}
.footer{background:#05141f;border-top:1px solid #c9a84c}

@media (max-width:768px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .top-bar{display:none}
  .container{width:100%;max-width:none;padding-left:18px;padding-right:18px}
  .header{position:relative;top:auto}
  .header-inner{height:76px;padding:0 18px}
  .logo{gap:10px;min-width:0}.logo-mark{width:46px;height:46px;flex:0 0 46px}
  .logo-sub{font-size:10px}.logo-main{font-size:16px;white-space:nowrap}.logo-tag{font-size:9px;white-space:nowrap}
  .menu-toggle{width:42px;height:42px;flex:0 0 42px}
  .nav.open{top:76px;z-index:1000;background:#071a29;padding:8px 20px 18px}

  .hero{min-height:0;height:auto;padding:0}
  .hero-content{min-height:0;height:auto;display:block;padding:28px 18px 38px}
  .shichifukujin-art{position:relative;inset:auto;transform:none;width:100%;height:170px;margin:0 0 24px;overflow:hidden}
  .sun-ring{width:160px;height:160px;border-width:15px}
  .god-row{gap:2px}.god-row span{width:34px;height:74px;font-size:14px}
  .god-row span:nth-child(2),.god-row span:nth-child(6){height:86px}.god-row span:nth-child(4){height:98px}
  .shichifukujin-art p{position:absolute;bottom:5px;margin:0;padding:5px 10px;font-size:11px}
  .hero-left{position:relative;width:100%;max-width:none;margin:0;padding:0}
  .hero-title{width:100%;margin:0 0 16px;font-size:42px;line-height:1.2;text-align:left;writing-mode:horizontal-tb;white-space:normal}
  .hero-lead{width:100%;margin:0 0 22px;font-size:15px;line-height:1.85;text-align:left;writing-mode:horizontal-tb;white-space:normal}
  .hero-lead br{display:none}
  .hero-points{display:grid;grid-template-columns:1fr;gap:10px;width:100%;margin:0}
  .point{width:100%;min-height:68px;padding:12px 15px}
  .hero-right{display:none}

  .section{padding:48px 0}.section-title{font-size:21px;line-height:1.5;text-align:center}.section-ornament{display:none}
  .reasons-grid{grid-template-columns:1fr;gap:12px}.reason-card{padding:22px 16px}
  .two-col{display:flex;flex-direction:column;gap:20px}.col-flow,.col-items{width:100%;margin:0}
  .flow-item{grid-template-columns:36px minmax(0,1fr) 28px;gap:10px;padding:15px 13px}
  .items-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
  .area-inner{padding:26px 18px;text-align:center}.cta-section{padding:46px 18px}.cta-phone{font-size:28px}
  .company-table dl div{grid-template-columns:1fr}.company-table dt{padding:11px 13px 2px}.company-table dd{padding:3px 13px 12px}
  .footer-grid{grid-template-columns:1fr;gap:24px}
}
@media (max-width:390px){
 .hero-title{font-size:38px}.logo-main{font-size:14px}.logo-tag{font-size:8px}
 .god-row span{width:31px}
}


/* premium content system v4 */
.section-eyebrow,.col-header>span{display:block;color:#a51f24;font-size:11px;font-weight:800;letter-spacing:.18em;margin-bottom:7px}
.section-copy{max-width:680px;margin:10px auto 0;color:#687078;font-size:14px;line-height:1.9}
.reasons{background:linear-gradient(180deg,#fbf7ed,#f2e8d3)}
.reason-card{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(167,127,44,.24);box-shadow:0 12px 35px rgba(23,30,34,.07)}
.reason-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#8d1e24,#d4ad4f)}
.reason-icon{color:#9c7425}.reason-card h3{color:#102331}
.flow-items{background:#071a29;color:#eef3f5}
.col-flow,.col-items{background:#0b2230;border:1px solid rgba(207,168,71,.35);box-shadow:0 20px 45px rgba(0,0,0,.18)}
.col-header{background:linear-gradient(135deg,#071722,#102c3b);border-bottom:1px solid rgba(207,168,71,.35);padding:25px 28px}
.col-header>span{color:#d5b45b}.col-header h2{color:#fff;margin:0 0 6px}.col-header p{color:#aebbc2;margin:0;font-size:12px}
.flow-item{border-color:rgba(255,255,255,.08)}.flow-content h3{color:#f5df96}.flow-content p{color:#c4cdd1}.flow-num{background:#a52429;color:#fff}
.col-items .items-grid{background:#0b2230}
.item-card{background:#0f2b3a;border:1px solid rgba(207,168,71,.24);transition:transform .2s ease,border-color .2s ease}
.item-card:hover{transform:translateY(-3px);border-color:#d4ad4f}.item-card span{color:#f2f3f1}
.item-symbol{width:56px;height:56px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;border:1px solid #cda447;background:radial-gradient(circle,#183b4b,#081a26);color:#e4c467;font-family:var(--font-serif);font-weight:700;font-size:12px;letter-spacing:.02em}
.area{background:linear-gradient(135deg,#f7efd9,#ead4a3)}.area-inner{border:1px solid rgba(138,93,21,.28)}
.faq{background:#fbf8f0}.faq-item{background:#fff;border-color:#e3d3ad}
.company{background:#f2ead8}.company-table{box-shadow:0 12px 35px rgba(0,0,0,.06)}


/* luxury homepage v5 */
.header-inner{gap:18px}.header-phone{margin-left:auto;display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;text-decoration:none;color:#fff}.header-phone span{grid-row:1/3;color:#d8b14b;font-size:25px}.header-phone strong{font-family:var(--font-serif);font-size:20px;line-height:1}.header-phone small{color:#c8d0d4;font-size:9px;margin-top:4px}
.hero{background:#061724!important}.hero-content{position:relative;z-index:2}.hero-visual{border:1px solid #b98b2f!important;box-shadow:0 20px 60px rgba(0,0,0,.36)!important}.seven-gods-img{display:block;width:100%;height:auto}
.hero-call{display:inline-flex;flex-direction:column;margin-top:18px;padding:13px 22px 14px;min-width:310px;background:linear-gradient(135deg,#a61920,#6e0f15);border:1px solid #e2b654;box-shadow:inset 0 0 0 2px rgba(255,255,255,.05),0 10px 30px rgba(0,0,0,.22);color:#fff;text-decoration:none}.hero-call span{font-size:11px}.hero-call strong{font-family:var(--font-serif);font-size:28px;letter-spacing:.04em}.hero-call small{font-size:9px;color:#f0dca2}
.reasons{background:#071a29!important;color:#fff}.reasons .section-title{color:#fff}.reasons .section-copy{color:#bdc7cb}.reasons .section-eyebrow{color:#d8b45c}.reasons .section-ornament{color:#d8b45c}.reason-card{background:linear-gradient(145deg,#0c2736,#061722)!important;border:1px solid rgba(216,180,92,.45)!important;box-shadow:0 15px 35px rgba(0,0,0,.22)!important}.reason-card h3{color:#fff!important}.reason-icon{color:#e0bc61!important}
#items .item-card,.item-card{overflow:hidden}.item-symbol{box-shadow:inset 0 0 18px rgba(215,177,75,.12)}
.cta-section{background:linear-gradient(135deg,#081d2b,#04121c)!important;border-top:1px solid #9e7829;border-bottom:1px solid #9e7829}.cta-section h2,.cta-section p{color:#fff}.cta-phone{background:linear-gradient(135deg,#a71920,#6d1015)!important;border:1px solid #e1b654!important}

/* ===== Premium redesign 2026-10-05 ===== */
:root{--p-ink:#14262b;--p-green:#183d3b;--p-green2:#24534d;--p-ivory:#f7f4ec;--p-stone:#e9e4d9;--p-gold:#b89243;--p-red:#8f3434;--p-text:#243238}
body{background:var(--p-ivory);color:var(--p-text)}
.header{background:rgba(20,38,43,.98)!important;border-bottom:1px solid rgba(184,146,67,.4)!important}
.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#132b30 0%,#183d3b 54%,#2c5a51 100%)!important;color:#fff!important}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 28%,rgba(211,187,126,.2),transparent 26%),linear-gradient(115deg,transparent 0 58%,rgba(255,255,255,.04) 58% 59%,transparent 59%);pointer-events:none}
.hero-title{color:#fff!important}.hero-title .gold{color:#e0c47c!important}.hero-lead{color:#dbe3df!important}
.point{background:rgba(8,25,28,.42)!important;border-color:rgba(220,193,124,.55)!important}.point span{color:#e4c97e!important}
.hero-call{background:linear-gradient(135deg,#9a3c3c,#74292d)!important;border-color:#d8bb72!important}
.hero-showcase{position:absolute;right:3%;top:50%;transform:translateY(-50%);width:43%;max-width:510px;height:410px}
.showcase-halo{position:absolute;width:330px;height:330px;right:45px;top:30px;border-radius:50%;border:1px solid rgba(225,198,128,.45);box-shadow:0 0 0 22px rgba(225,198,128,.04),0 0 0 50px rgba(225,198,128,.025)}
.showcase-card{position:absolute;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));border:1px solid rgba(225,198,128,.5);box-shadow:0 24px 50px rgba(0,0,0,.24);backdrop-filter:blur(5px)}
.showcase-watch{width:170px;height:210px;right:180px;top:90px;display:grid;place-items:center;transform:rotate(-7deg)}
.watch-face{position:relative;width:105px;height:105px;border:8px solid #c5a65d;border-radius:50%;box-shadow:inset 0 0 0 3px #273d40,0 0 0 12px #172d31;background:radial-gradient(circle,#304a4b,#0c1d21)}
.watch-face:before,.watch-face:after{content:"";position:absolute;left:50%;top:50%;width:3px;height:32px;background:#e7d398;transform-origin:50% 0}.watch-face:before{transform:rotate(205deg)}.watch-face:after{height:24px;transform:rotate(300deg)}.watch-face i{position:absolute;left:50%;top:50%;width:7px;height:7px;background:#e7d398;border-radius:50%;transform:translate(-50%,-50%)}
.showcase-ring{width:145px;height:150px;right:48px;top:48px;display:grid;place-items:center;transform:rotate(8deg)}.showcase-ring i{position:absolute;width:70px;height:70px;border:8px solid #c8aa65;border-radius:50%;bottom:19px}.showcase-ring .gem{position:absolute;z-index:2;top:20px;color:#e8f0ed;font-size:47px;text-shadow:0 0 18px rgba(255,255,255,.45)}
.showcase-gold{width:175px;height:115px;right:42px;bottom:45px;padding:28px 24px;transform:rotate(-4deg)}.showcase-gold span{display:block;height:17px;margin:-2px 0;background:linear-gradient(90deg,#9d762e,#e2c46e,#ad8130);border:1px solid #e1c16b;transform:skewX(-13deg)}
.showcase-seal{position:absolute;left:18px;bottom:34px;width:92px;height:92px;border:1px solid #d7ba71;border-radius:50%;display:grid;place-items:center;color:#e0c47c;font-family:var(--font-serif);font-size:43px}.showcase-seal small{position:absolute;bottom:-23px;font:600 7px var(--font-sans);letter-spacing:.17em}
.reasons{background:linear-gradient(180deg,#f8f6f0,#ece8de)!important;color:var(--p-text)!important}.reasons .section-title{color:#1b3436!important}.reasons .section-copy{color:#687574!important}.reason-card{background:rgba(255,255,255,.88)!important;border-color:#d8cfbc!important;box-shadow:0 14px 36px rgba(30,55,53,.08)!important}.reason-card h3{color:#203638!important}.reason-icon{color:#9b7838!important}
.flow-items{background:linear-gradient(135deg,#173b3a,#102e31)!important}.col-flow,.col-items{background:#163637!important;border-color:rgba(213,183,111,.38)!important}.col-header{background:linear-gradient(135deg,#112f31,#1f4945)!important}.item-card{background:linear-gradient(145deg,#214844,#153433)!important;border-color:rgba(214,184,112,.32)!important}
.area{background:linear-gradient(135deg,#dfe7e2,#f4f1e9)!important}.area-inner{background:rgba(255,255,255,.72)!important;border-color:#c8d0c7!important}
.faq{background:#f7f5ef!important}.faq-item{border-color:#d9d3c7!important}
.company{background:#e8ece7!important}.company-table{background:#fff!important}
.cta-section{background:linear-gradient(135deg,#173b3a,#102b2e)!important}
.footer{background:#10272b!important}

/* ===== clean rebuild v17 ===== */
:root{--base:#f4f2ed;--white:#fff;--charcoal:#252c2d;--forest:#284641;--sage:#6f837a;--sand:#d7c9ad;--accent:#a76d43}
body{background:var(--base)!important;color:var(--charcoal)!important}
.header{background:#fff!important;border-bottom:1px solid #ddd9cf!important;box-shadow:0 4px 22px rgba(34,45,43,.06)!important}.logo-main,.nav>a{color:#263b39!important}.logo-sub,.logo-tag,.nav>a span{color:#78817e!important}.header-phone{color:#29443f!important}.header-phone span{color:#a76d43!important}.header-phone small{color:#75807d!important}
.hero{background:linear-gradient(120deg,#eef1ec 0%,#f7f4ed 54%,#e4e9e3 100%)!important;color:#243432!important;border:0!important}.hero:before{background:radial-gradient(circle at 85% 20%,rgba(92,125,113,.14),transparent 30%)!important}.hero-title{color:#213633!important}.hero-title .gold{color:#a76d43!important}.hero-lead{color:#566562!important}.hero-kicker{color:#71837b!important}.point{background:#fff!important;border:1px solid #d9d7cf!important;box-shadow:0 7px 22px rgba(40,62,58,.06)!important}.point strong{color:#596965!important}.point span{color:#284641!important}.hero-call{background:#284641!important;border:0!important;border-radius:5px!important;box-shadow:0 12px 26px rgba(40,70,65,.16)!important}
.hero-panel{position:absolute;right:4%;top:50%;transform:translateY(-50%);width:39%;max-width:460px;min-height:330px;padding:54px 48px;background:rgba(255,255,255,.7);border:1px solid rgba(89,112,103,.22);box-shadow:0 24px 70px rgba(41,63,59,.1);display:flex;flex-direction:column;justify-content:center}.hero-panel-mark{font-family:var(--font-serif);font-size:48px;letter-spacing:.12em;color:#284641}.hero-panel p{font-family:var(--font-serif);font-size:21px;line-height:1.9;color:#52625e;margin:18px 0}.hero-panel-line{width:52px;height:1px;background:#a76d43;margin-bottom:20px}.hero-panel small{font-size:8px;letter-spacing:.22em;color:#8a938f}
.reasons{background:#fff!important;color:#263735!important}.reasons .section-title{color:#263735!important}.reasons .section-copy{color:#6d7774!important}.reason-card{background:#f8f7f3!important;border:1px solid #e3e0d8!important;box-shadow:none!important}.reason-card:before{background:#6f837a!important}.reason-card h3{color:#293b38!important}.reason-icon{color:#6f837a!important}
.flow-items{background:#e9ece7!important;color:#293b38!important}.col-flow,.col-items{background:#fff!important;border:1px solid #d8ddd7!important;box-shadow:0 16px 42px rgba(42,64,60,.07)!important}.col-header{background:#284641!important}.col-header>span{color:#d7c9ad!important}.flow-item{border-color:#ecebe6!important}.flow-content h3{color:#304b46!important}.flow-content p{color:#6c7774!important}.flow-num{background:#6f837a!important}.flow-icon{color:#87958f!important}.flow-note{color:#737d79!important}
.col-items .items-grid{background:#fff!important}.item-card{background:#f7f6f2!important;border:1px solid #e0ddd5!important}.item-card span{color:#31413e!important}.item-illustration svg{filter:none!important}
.area{background:#f4f2ed!important}.area-inner{background:#fff!important;border:1px solid #dfddd5!important;box-shadow:none!important}.faq{background:#fff!important}.faq-item{background:#f8f7f3!important;border-color:#e1ded6!important}.company{background:#ecefe9!important}.company-table{background:#fff!important;box-shadow:none!important}.cta-section{background:#284641!important;border:0!important}.footer{background:#203733!important}

/* ===== unified Japanese luxury system v18 ===== */
:root{--u-ink:#241f1b;--u-wine:#6f2025;--u-wine2:#8b3133;--u-gold:#b68a3c;--u-gold2:#d5b66d;--u-paper:#f5f0e6;--u-paper2:#ebe1d0;--u-black:#191714}
body{background:var(--u-paper)!important;color:var(--u-ink)!important}
.header{background:#f8f3e9!important;border-bottom:1px solid #cdbb98!important}.logo-main,.nav>a{color:#2a211b!important}.logo-sub,.logo-tag,.nav>a span{color:#7b6d5c!important}.header-phone{color:#6f2025!important}.header-phone span{color:#a77c31!important}
.hero{background:linear-gradient(115deg,#f7f1e5 0%,#eee2cd 52%,#d7c09a 100%)!important;color:#211b17!important}.hero:before{background:radial-gradient(circle at 84% 25%,rgba(111,32,37,.12),transparent 28%),linear-gradient(120deg,transparent 68%,rgba(92,60,34,.08) 68%)!important}.hero-kicker{color:#8a652d!important}.hero-title{color:#211b17!important}.hero-title .gold{color:#7c2428!important}.hero-lead{color:#5d5146!important}.point{background:rgba(255,252,245,.86)!important;border:1px solid #cfb98f!important;box-shadow:0 8px 22px rgba(65,45,30,.07)!important}.point strong{color:#65594e!important}.point span{color:#7b2428!important}.hero-call{background:linear-gradient(135deg,#7b2228,#5d181d)!important;border:1px solid #b98d42!important;border-radius:2px!important}
.hero-panel{position:absolute!important;right:3%!important;top:50%!important;transform:translateY(-50%)!important;width:43%!important;max-width:520px!important;min-height:380px!important;padding:0!important;background:linear-gradient(145deg,#241c18,#100f0d)!important;border:1px solid #a77c31!important;overflow:hidden!important;box-shadow:0 30px 70px rgba(44,30,20,.2)!important}
.luxury-still{position:absolute;inset:0;overflow:hidden}.still-sun{position:absolute;width:270px;height:270px;border-radius:50%;right:-40px;top:-50px;background:radial-gradient(circle,#9c5a35 0,#70252a 52%,transparent 53%);opacity:.78}.still-box{position:absolute;background:linear-gradient(145deg,#5c3024,#241711);border:1px solid #a67a35;box-shadow:0 18px 25px rgba(0,0,0,.38)}.box-back{width:210px;height:145px;right:32px;bottom:48px;transform:rotate(-4deg)}.box-front{width:190px;height:108px;left:30px;bottom:28px;transform:rotate(4deg)}
.still-watch{position:absolute;width:142px;height:142px;right:68px;bottom:68px;border:15px solid #a88953;border-radius:50%;background:radial-gradient(circle,#111 0 60%,#30271f 61%);box-shadow:0 8px 25px #000}.still-watch:before,.still-watch:after{content:"";position:absolute;left:50%;top:50%;width:3px;height:39px;background:#d8c397;transform-origin:top}.still-watch:before{transform:rotate(210deg)}.still-watch:after{height:29px;transform:rotate(300deg)}.still-watch span{position:absolute;inset:11px;border:1px solid #c8ad72;border-radius:50%}
.still-ring{position:absolute;left:62px;top:76px;width:88px;height:88px;border:9px solid #c4a05b;border-radius:50%;box-shadow:0 7px 18px #000}.still-ring b{position:absolute;top:-42px;left:18px;color:#eee9dd;font-size:46px;text-shadow:0 0 14px #fff}
.still-ingot{position:absolute;left:160px;top:56px;width:145px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#d9b14c,#80581e);border:2px solid #e4c76e;transform:rotate(-8deg);font:700 20px var(--font-serif);color:#4a3214;box-shadow:0 10px 24px #000}.still-ingot small{font:700 10px var(--font-sans);letter-spacing:.12em}.hero-signature{position:absolute;left:25px;bottom:16px;color:#c6a45e;font-size:7px;letter-spacing:.2em}
.reasons{background:#f7f1e7!important;color:#2b231e!important}.reasons .section-title{color:#2b231e!important}.reasons .section-copy{color:#74675b!important}.section-eyebrow,.col-header>span{color:#8a652d!important}.reason-card{background:#fffaf1!important;border:1px solid #d8c6a5!important;box-shadow:0 12px 30px rgba(65,45,30,.06)!important}.reason-card:before{background:linear-gradient(90deg,#76252a,#b68a3c)!important}.reason-card h3{color:#342820!important}.reason-icon{color:#9a7334!important}
.flow-items{background:linear-gradient(135deg,#2b211c,#181512)!important}.col-flow,.col-items{background:#241d19!important;border:1px solid #72582f!important}.col-header{background:linear-gradient(135deg,#6f2025,#3f1719)!important}.col-header>span{color:#d6b76c!important}.flow-content h3{color:#d6b76c!important}.flow-content p{color:#c9beb0!important}.flow-num{background:#8a3032!important}.col-items .items-grid{background:#241d19!important}.item-card{background:linear-gradient(145deg,#302721,#1d1916)!important;border:1px solid #70582f!important}.item-card span{color:#f2eadb!important}
.area{background:#e8ddca!important}.area-inner{background:#f9f4ea!important;border:1px solid #cdb993!important}.faq{background:#f7f1e7!important}.faq-item{background:#fffaf1!important;border-color:#d8c7a8!important}.company{background:#e8ddca!important}.company-table{background:#fffaf1!important}.cta-section{background:linear-gradient(135deg,#751f25,#4c1619)!important;border-top:1px solid #b68a3c!important}.footer{background:#1b1714!important;border-top:1px solid #70582f!important}

/* ===== real photo hero v19 ===== */
.hero-photo{position:absolute;right:0;top:0;width:50%;height:100%;overflow:hidden;background:#211814}
.hero-photo:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(247,241,229,.92) 0%,rgba(247,241,229,.18) 22%,transparent 48%),linear-gradient(0deg,rgba(34,21,15,.16),transparent 45%);pointer-events:none}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-left{position:relative;z-index:3;max-width:54%}
.hero{min-height:620px!important;display:flex!important;align-items:center!important}

/* ===== rich visual system v22 ===== */
.reason-card{overflow:hidden!important;padding:0 0 26px!important;background:#fffdf7!important}
.reason-photo{height:145px;overflow:hidden;border-bottom:1px solid rgba(176,132,45,.28);margin-bottom:22px}
.reason-photo img,.flow-photo img,.items-showcase img,.area-visual img{width:100%;height:100%;object-fit:cover;display:block}
.reason-photo-1 img{object-position:8% 55%}.reason-photo-2 img{object-position:95% 50%}.reason-photo-3 img{object-position:72% 58%}.reason-photo-4 img{object-position:45% 58%}.reason-photo-5 img{object-position:28% 62%}
.reason-card .reason-icon,.reason-card h3{margin-left:24px;margin-right:24px}
.flow-item{position:relative;overflow:hidden!important;padding-top:145px!important;min-height:250px!important}
.flow-photo{position:absolute;left:0;right:0;top:0;height:125px;overflow:hidden}
.flow-photo-1 img{object-position:5% 56%}.flow-photo-2 img{object-position:35% 55%}.flow-photo-3 img{object-position:62% 60%}.flow-photo-4 img{object-position:90% 58%}.flow-photo-5 img{object-position:50% 62%}
.items-showcase{height:210px;border-radius:18px;overflow:hidden;margin:0 0 22px;box-shadow:0 14px 34px rgba(45,28,17,.13);border:1px solid rgba(179,137,50,.28)}
.items-showcase img{object-position:center 62%}
.area-inner{position:relative;overflow:hidden}
.area-visual{width:300px;height:210px;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(38,24,18,.18);border:1px solid rgba(184,140,48,.35)}
.area-visual img{object-position:center}
.reasons,.flow-items,.area{background-image:radial-gradient(circle at 8% 8%,rgba(190,145,48,.08),transparent 28%),radial-gradient(circle at 92% 88%,rgba(119,26,30,.06),transparent 30%)!important}

/* ===== final responsive artwork integration v24 ===== */
.final-visual-wrap{max-width:1280px!important;padding-top:24px!important;padding-bottom:24px!important}
.final-section-image{display:block;width:100%;margin:0 auto}
.final-section-image img{display:block;width:100%;height:auto;object-fit:contain}
.final-hero-image img{border-radius:18px;box-shadow:0 16px 45px rgba(35,20,12,.18)}
.reasons .final-section-image img,.final-visual-sections .final-section-image img{border-radius:14px;box-shadow:0 10px 30px rgba(45,28,17,.10)}
.final-visual-sections .container{display:flex;flex-direction:column;gap:32px}
.final-items-anchor{scroll-margin-top:100px}
.final-items-link{text-align:center;margin-top:-12px}
.final-items-link a{display:inline-block;padding:13px 28px;border:1px solid #9b7029;border-radius:999px;color:#6f161b;background:#fffaf0;font-weight:700;text-decoration:none}
.hero{min-height:0!important;display:block!important;background:#f8f2e6!important}
.reasons{padding:50px 0!important;background:#fbf6ec!important}
.flow-items{padding:50px 0!important;background:#fffaf1!important}

/* ===== Approved artwork homepage v27 ===== */
.artwork-home{background:#17120f}
.artwork-section{position:relative;width:100%;background:#f7f0e3;scroll-margin-top:92px}
.artwork-section picture,.artwork-section img{display:block;width:100%}
.artwork-section img{height:auto;max-width:100%;margin:0 auto}
.artwork-section:not(.artwork-hero){padding:34px max(24px,calc((100vw - 1440px)/2))}
.artwork-section:not(.artwork-hero) img{max-width:1360px;border-radius:18px;box-shadow:0 18px 52px rgba(32,20,12,.14)}
.artwork-hero{padding:0;background:#211713}
.artwork-hero img{max-height:760px;object-fit:cover;object-position:center}
.artwork-action{text-align:center;padding:0 20px 8px;margin-top:24px}
.artwork-action a{display:inline-flex;align-items:center;justify-content:center;min-width:280px;padding:15px 32px;border-radius:999px;background:linear-gradient(135deg,#7b1d24,#561319);border:1px solid #c49a48;color:#fff8e9;font-weight:700;letter-spacing:.08em;text-decoration:none;box-shadow:0 10px 24px rgba(89,21,25,.18);transition:.2s ease}
.artwork-action a:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(89,21,25,.24)}
.artwork-area{padding-bottom:52px!important}
.faq{border-top:1px solid rgba(184,139,52,.35)}

/* SEO semantic heading: visible to crawlers/accessibility, no duplicate visual headline */
.seo-heading{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* High contrast footer brand and traditional three-seven emblem */
.footer .logo-text .logo-sub{color:#f7f0e3!important;opacity:1!important}
.footer .logo-text .logo-main{color:#f5ddb0!important;-webkit-text-fill-color:#f5ddb0!important;opacity:1!important;text-shadow:none!important}
.logo-mark .logo-fuku{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;font-weight:700!important;line-height:1!important;letter-spacing:0!important}

/* Consultation CTA: refined gold pill, responsive and overflow-safe */
.cta-section{background:linear-gradient(125deg,#7b1822,#4d1018)!important;padding:64px 20px!important;text-align:center!important;overflow:hidden!important}
.cta-section .container{width:100%!important;max-width:860px!important;margin:0 auto!important;box-sizing:border-box!important}
.cta-section h2{font-family:"Noto Serif JP","Yu Mincho",serif!important;color:#fffaf0!important;font-size:clamp(24px,4.5vw,39px)!important;line-height:1.45!important;overflow-wrap:anywhere!important;margin:0 auto 20px!important}
.cta-section .cta-sub{color:#f7e8dc!important;opacity:1!important;font-size:clamp(13px,2.7vw,18px)!important;line-height:1.65!important;margin:0 0 26px!important}
.cta-section .cta-phone{display:inline-flex!important;justify-content:center!important;align-items:center!important;gap:clamp(7px,2vw,16px)!important;box-sizing:border-box!important;max-width:100%!important;width:max-content!important;min-width:0!important;padding:15px clamp(13px,3vw,30px)!important;border:2px solid #d9ae5b!important;border-radius:999px!important;background:linear-gradient(135deg,#a42029,#67121c)!important;color:#ffe5a0!important;font-family:Arial,"Helvetica Neue","Noto Sans JP",sans-serif!important;font-weight:700!important;font-size:clamp(20px,5.6vw,43px)!important;line-height:1.15!important;letter-spacing:0!important;white-space:nowrap!important;text-decoration:none!important;font-variant-numeric:tabular-nums!important;box-shadow:0 10px 26px rgba(0,0,0,.2)!important}
.cta-section .cta-phone svg{width:clamp(20px,5vw,36px)!important;height:clamp(20px,5vw,36px)!important;flex:0 0 auto!important}

/* Phone digits remain exact and legible on all viewport sizes */
.cta-phone-digits,.phone-number,.header-phone strong{font-family:Arial,"Helvetica Neue",sans-serif!important;font-variant-numeric:lining-nums tabular-nums!important;font-feature-settings:"lnum" 1,"tnum" 1!important;letter-spacing:0!important;-webkit-font-smoothing:antialiased!important;font-synthesis:none!important}
.cta-phone-digits{display:inline-block!important;white-space:nowrap!important;direction:ltr!important;unicode-bidi:isolate!important}

/* Search-friendly service details: real selectable text, responsive layout */
.search-service-info{background:#faf6ed;color:#28231d;padding:64px 22px 68px;border-top:1px solid #d6bd8c;border-bottom:1px solid #decba6}
.search-service-info .container{max-width:1110px;margin:0 auto}
.search-service-eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.25em;color:#a47737;text-align:center;margin:0 0 12px}
.search-service-info h2{font-family:"Noto Serif JP",serif;font-size:clamp(24px,3vw,36px);line-height:1.5;text-align:center;color:#4e2026;margin:0 0 18px}
.search-service-lead{max-width:870px;margin:0 auto 38px;font-size:15px;line-height:2;color:#51473f;text-align:center}
.search-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.search-service-grid>div{background:#fffdf8;border:1px solid #e2d1ac;border-radius:12px;padding:25px 23px;box-shadow:0 8px 20px rgba(66,38,15,.045)}
.search-service-grid h3{font-family:"Noto Serif JP",serif;color:#742b32;font-size:18px;line-height:1.6;margin:0 0 12px}
.search-service-grid p{font-size:14px;line-height:1.95;color:#51473f;margin:0}
.search-service-more{text-align:center;margin:30px 0 0}
.search-service-more a{display:inline-block;color:#6e2529;font-weight:700;text-decoration:none;border-bottom:1px solid #b7914d;padding-bottom:5px}
@media(max-width:768px){.search-service-info{padding:42px 20px 48px}.search-service-info h2{font-size:23px;text-align:left}.search-service-eyebrow{text-align:left}.search-service-lead{text-align:left;font-size:14px;margin-bottom:22px}.search-service-grid{grid-template-columns:1fr;gap:12px}.search-service-grid>div{padding:20px 18px}.search-service-grid h3{font-size:17px}.search-service-grid p{font-size:14px}.search-service-more{margin-top:25px}}
