/* ============================================
   TOWNS Corporate Site v2 - Original Design
   Urban Editorial / Architectural Style
   ============================================ */

:root {
  --black: #0a0a0a;
  --dark: #141414;
  --dark2: #1e1e1e;
  --copper: #c17f59;
  --copper-light: #d4956e;
  --copper-dark: #a06840;
  --warm: #f5f0eb;
  --warm2: #ece5dd;
  --text: #1a1a1a;
  --text-sub: #444444;
  --text-muted: #737373;
  --border: #e0dbd5;
  --white: #ffffff;
  --ease: cubic-bezier(0.25, 0.8, 0.25, 1);
}

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 2;
  font-size: 1rem;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 {
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  line-height: 1.5;
}

img { max-width: 100%; display: block; }
a { color: inherit; }

.font-mincho { font-family: 'Shippori Mincho', serif; }

/* ========== LOADER ========== */
.page-loader {
  position: fixed; inset: 0;
  background: var(--black);
  z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
.page-loader.loaded { opacity: 0; visibility: hidden; pointer-events: none; }
.loader-inner {
  text-align: center;
  color: var(--white);
}
.loader-line {
  width: 60px; height: 1px;
  background: var(--copper);
  margin: 0 auto;
  animation: loaderExpand 1.5s ease-in-out infinite;
}
.loader-brand {
  font-family: 'Shippori Mincho', serif;
  font-size: 0.7rem;
  letter-spacing: 0.5em;
  margin-top: 16px;
  opacity: 0.5;
}
@keyframes loaderExpand {
  0%, 100% { transform: scaleX(0.3); opacity: 0.3; }
  50% { transform: scaleX(1); opacity: 1; }
}

/* ========== HEADER ========== */
.header {
  position: fixed; top: 0; left: 0; width: 100%;
  z-index: 1000;
  transition: background 0.5s var(--ease), backdrop-filter 0.5s var(--ease), mix-blend-mode 0.5s var(--ease);
  mix-blend-mode: difference;
}
.header.scrolled {
  mix-blend-mode: normal;
  background: rgba(10, 10, 10, 0.92);
  backdrop-filter: blur(20px);
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  max-width: 1440px; margin: 0 auto;
  padding: 28px 48px;
  transition: padding 0.5s var(--ease);
}
.header.scrolled .header-inner { padding: 16px 48px; }

.logo { text-decoration: none; color: var(--white); }
.logo-img {
  height: 48px; width: auto;
  transition: height 0.5s var(--ease);
}
.header.scrolled .logo-img { height: 38px; }
.logo-mark {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.5rem; font-weight: 600;
  letter-spacing: 0.2em;
  color: var(--white);
}

.nav-menu { display: flex; gap: 28px; list-style: none; align-items: center; }
.nav-menu a {
  text-decoration: none; color: var(--white);
  font-size: 0.8rem; letter-spacing: 0.14em;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 2px;
  transition: all 0.3s ease;
}
.nav-menu a::after {
  content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--copper);
  transition: width 0.4s var(--ease);
}
.nav-menu a:hover::after { width: 100%; }
.nav-menu .nav-cta {
  padding: 8px 24px;
  border: 1px solid rgba(255,255,255,0.3);
  transition: all 0.3s ease;
}
.nav-menu .nav-cta::after { display: none; }
.nav-menu .nav-cta:hover {
  background: var(--copper); border-color: var(--copper);
  color: var(--white);
}

/* Hamburger */
.hamburger {
  display: none; cursor: pointer; z-index: 1001;
  width: 32px; height: 20px; position: relative;
  background: none; border: none; padding: 0;
}
.hamburger span {
  display: block; width: 100%; height: 1px;
  background: var(--white); position: absolute; left: 0;
  transition: all 0.4s var(--ease);
}
.hamburger span:nth-child(1) { top: 0; }
.hamburger span:nth-child(2) { top: 50%; }
.hamburger span:nth-child(3) { bottom: 0; }
.hamburger.active span:nth-child(1) { top: 50%; transform: rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { bottom: 50%; transform: rotate(-45deg); }

.mobile-nav {
  position: fixed; inset: 0;
  background: var(--black);
  z-index: 999;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: all 0.5s var(--ease);
}
.mobile-nav.active { opacity: 1; visibility: visible; }
.mobile-nav-list { list-style: none; text-align: center; }
.mobile-nav-list li { margin-bottom: 32px; }
.mobile-nav-list a {
  text-decoration: none; color: var(--white);
  font-family: 'Shippori Mincho', serif;
  font-size: 1.4rem; letter-spacing: 0.2em;
  transition: color 0.3s ease;
}
.mobile-nav-list a:hover { color: var(--copper); }

/* ========== HERO - Split Screen ========== */
.hero {
  position: relative; height: 100vh; min-height: 700px;
  display: grid; grid-template-columns: 1fr 1fr;
  overflow: hidden;
}
.hero-left {
  background: var(--black);
  display: flex; flex-direction: column;
  justify-content: center;
  padding: 0 8%;
  position: relative;
}
.hero-left::after {
  content: 'TOWNS';
  position: absolute; bottom: 60px; left: 8%;
  font-family: 'Shippori Mincho', serif;
  font-size: 8rem; letter-spacing: 0.1em;
  color: rgba(255,255,255,0.03);
  line-height: 1; pointer-events: none;
}
.hero-vertical {
  writing-mode: vertical-rl;
  font-family: 'Shippori Mincho', serif;
  font-size: 0.75rem; letter-spacing: 0.5em;
  color: var(--copper); text-transform: uppercase;
  position: absolute; right: 32px; top: 50%;
  transform: translateY(-50%);
}
.hero-tag {
  font-size: 0.75rem; letter-spacing: 0.3em;
  color: var(--copper); text-transform: uppercase;
  margin-bottom: 32px;
}
.hero-catch {
  font-family: 'Shippori Mincho', serif;
  font-size: 3.4rem; font-weight: 400;
  color: var(--white);
  letter-spacing: 0.08em; line-height: 1.5;
  margin-bottom: 24px;
}
.hero-sub {
  font-size: 0.95rem; color: rgba(255,255,255,0.6);
  letter-spacing: 0.08em; line-height: 2;
  max-width: 420px;
}
.hero-right {
  position: relative; overflow: hidden;
}
.hero-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: opacity 1.5s ease;
}
.hero-img.active { opacity: 1; }
.hero-img:not(.active) { opacity: 0; }
.hero-right::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to left, transparent 60%, var(--black) 100%);
  pointer-events: none;
}
.hero-scroll {
  position: absolute; bottom: 40px; left: 8%;
  display: flex; align-items: center; gap: 12px;
  color: rgba(255,255,255,0.4);
  font-size: 0.72rem; letter-spacing: 0.2em;
  z-index: 10;
}
.hero-scroll-line {
  width: 48px; height: 1px;
  background: rgba(255,255,255,0.2);
  position: relative; overflow: hidden;
}
.hero-scroll-line::after {
  content: ''; position: absolute; top: 0; left: -100%;
  width: 100%; height: 100%; background: var(--copper);
  animation: scrollAnim 2s ease-in-out infinite;
}
@keyframes scrollAnim {
  0% { left: -100%; }
  50% { left: 0; }
  100% { left: 100%; }
}

/* ========== LAYOUT ========== */
.container { max-width: 1200px; margin: 0 auto; padding: 0 48px; }
.container-narrow { max-width: 860px; margin: 0 auto; padding: 0 48px; }
.section { padding: 120px 0; }

/* Section Label - unique style */
.sec-label {
  display: flex; align-items: center; gap: 16px;
  margin-bottom: 48px;
}
.sec-label-line { width: 40px; height: 1px; background: var(--copper); }
.sec-label-text {
  font-size: 0.75rem; letter-spacing: 0.3em;
  color: var(--copper); text-transform: uppercase;
}
.sec-label-centered {
  justify-content: center;
}
.sec-title {
  font-size: 2.4rem; letter-spacing: 0.1em;
  line-height: 1.5; margin-bottom: 24px;
}
.sec-title-sm {
  font-size: 1.8rem;
}

/* ========== NUMBERS BAND ========== */
.numbers-band {
  background: var(--black); color: var(--white);
  padding: 60px 0;
  overflow: hidden;
}
.numbers-track {
  display: flex; justify-content: center; gap: 0;
  max-width: 1200px; margin: 0 auto; padding: 0 48px;
}
.num-item {
  flex: 1; text-align: center;
  padding: 20px; position: relative;
}
.num-item + .num-item::before {
  content: ''; position: absolute; left: 0; top: 20%;
  width: 1px; height: 60%; background: rgba(255,255,255,0.1);
}
.num-value {
  font-family: 'Shippori Mincho', serif;
  font-size: 3rem; font-weight: 400; line-height: 1;
  color: var(--copper);
}
.num-unit { font-size: 0.9rem; color: var(--copper); margin-left: 2px; }
.num-desc {
  font-size: 0.8rem; color: rgba(255,255,255,0.5);
  letter-spacing: 0.1em; margin-top: 10px;
}

/* ========== SERVICES - Hover Reveal ========== */
.svc-list { position: relative; }
.svc-item {
  display: grid; grid-template-columns: 80px 1fr auto;
  align-items: center; gap: 32px;
  padding: 36px 0;
  border-bottom: 1px solid var(--border);
  cursor: default;
  transition: all 0.4s var(--ease);
  text-decoration: none; color: inherit;
}
.svc-item:first-child { border-top: 1px solid var(--border); }
.svc-item:hover { padding-left: 16px; }
.svc-num {
  font-family: 'Shippori Mincho', serif;
  font-size: 0.85rem; letter-spacing: 0.2em;
  color: var(--copper);
}
.svc-name {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.4rem; letter-spacing: 0.08em;
}
.svc-arrow {
  font-size: 1.2rem; color: var(--text-muted);
  transition: all 0.3s ease;
}
.svc-item:hover .svc-arrow {
  color: var(--copper);
  transform: translateX(4px);
}
.svc-desc {
  grid-column: 2/3;
  font-size: 0.92rem; color: var(--text-sub);
  line-height: 2;
  max-height: 0; overflow: hidden;
  transition: max-height 0.5s var(--ease), opacity 0.4s ease;
  opacity: 0;
}
.svc-item:hover .svc-desc { max-height: 200px; opacity: 1; }

/* ========== ABOUT BLOCK ========== */
.about-block {
  display: grid; grid-template-columns: 1.2fr 1fr;
  gap: 0; min-height: 600px;
}
.about-img {
  position: relative; overflow: hidden;
}
.about-img img {
  width: 100%; height: 100%; object-fit: cover;
}
.about-content {
  background: var(--warm);
  display: flex; flex-direction: column;
  justify-content: center;
  padding: 72px 64px;
}
.about-text {
  font-size: 1rem; color: var(--text-sub);
  line-height: 2.2; margin-bottom: 36px;
}

/* ========== NEWS ========== */
.news-item {
  display: grid; grid-template-columns: 100px 80px 1fr;
  align-items: center; gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--border);
  text-decoration: none; color: inherit;
  transition: all 0.3s var(--ease);
}
.news-item:hover { padding-left: 8px; }
.news-date {
  font-size: 0.85rem; color: var(--text-muted);
  letter-spacing: 0.05em;
}
.news-tag {
  font-size: 0.72rem; padding: 4px 12px;
  border: 1px solid var(--border);
  text-align: center; letter-spacing: 0.05em;
  color: var(--text-sub);
}
.news-title-text {
  font-size: 0.95rem; color: var(--text);
}

/* ========== CTA BAND ========== */
.cta-band {
  background: var(--copper);
  padding: 72px 0;
  text-align: center; color: var(--white);
  position: relative; overflow: hidden;
}
.cta-band::before {
  content: 'CONTACT';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Shippori Mincho', serif;
  font-size: 10rem; letter-spacing: 0.1em;
  color: rgba(255,255,255,0.06);
  white-space: nowrap; pointer-events: none;
}
.cta-band .sec-title { color: var(--white); position: relative; }
.cta-subtitle {
  font-size: 0.95rem; opacity: 0.85;
  margin-bottom: 36px; position: relative;
}
.cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; position: relative; }

/* ========== BUTTONS ========== */
.btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 16px 40px;
  font-size: 0.88rem; letter-spacing: 0.1em;
  text-decoration: none;
  transition: background 0.4s var(--ease), color 0.4s var(--ease), border-color 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
  font-family: 'Noto Sans JP', sans-serif;
  cursor: pointer; border: none;
}
.btn-copper {
  background: var(--copper); color: var(--white);
}
.btn-copper:hover {
  background: var(--copper-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(193,127,89,0.3);
}
.btn-dark {
  background: var(--black); color: var(--white);
}
.btn-dark:hover { background: var(--dark2); }
.btn-ghost {
  background: transparent; color: var(--text);
  border: 1px solid var(--text);
}
.btn-ghost:hover { background: var(--text); color: var(--white); }
.btn-ghost-white {
  background: transparent; color: var(--white);
  border: 1px solid rgba(255,255,255,0.5);
}
.btn-ghost-white:hover { background: var(--white); color: var(--black); }
.btn-arrow::after { content: '\2192'; transition: transform 0.3s ease; }
.btn-arrow:hover::after { transform: translateX(4px); }

/* ========== FOOTER ========== */
.footer { background: var(--black); color: rgba(255,255,255,0.6); padding: 80px 0 0; }
.footer-top {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px; margin-bottom: 60px;
}
.footer-brand {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.2rem; color: var(--white);
  letter-spacing: 0.2em; margin-bottom: 20px;
}
.footer-logo-img {
  height: 60px; width: auto;
  margin-bottom: 16px;
}
.footer-info { font-size: 0.85rem; line-height: 2.2; }
.footer-heading {
  font-size: 0.75rem; letter-spacing: 0.2em;
  color: var(--copper); text-transform: uppercase;
  margin-bottom: 20px;
}
.footer-links { list-style: none; }
.footer-links li { margin-bottom: 10px; }
.footer-links a {
  text-decoration: none; color: rgba(255,255,255,0.55);
  font-size: 0.85rem; transition: color 0.3s ease;
}
.footer-links a:hover { color: var(--copper); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 28px 0; text-align: center;
  font-size: 0.78rem; letter-spacing: 0.08em;
  color: rgba(255,255,255,0.3);
}

/* ========== PAGE HEADER ========== */
.page-hero {
  height: 50vh; min-height: 360px;
  background: var(--black);
  display: flex; align-items: flex-end;
  position: relative; overflow: hidden;
  padding: 0 0 60px;
}
.page-hero::before {
  content: attr(data-en);
  position: absolute; right: 48px; top: 50%;
  transform: translateY(-50%);
  font-family: 'Shippori Mincho', serif;
  font-size: 8rem; letter-spacing: 0.05em;
  color: rgba(255,255,255,0.03);
  pointer-events: none; white-space: nowrap;
}
.page-hero-inner {
  max-width: 1440px; margin: 0 auto;
  padding: 0 48px; width: 100%;
}
.page-hero-en {
  font-size: 0.78rem; letter-spacing: 0.3em;
  color: var(--copper); text-transform: uppercase;
  margin-bottom: 14px;
}
.page-hero-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 3rem; color: var(--white);
  letter-spacing: 0.12em;
}

/* ========== COMPANY TABLE ========== */
.info-table { width: 100%; border-collapse: collapse; }
.info-table tr { border-bottom: 1px solid var(--border); }
.info-table th, .info-table td {
  padding: 24px 24px; font-size: 0.95rem;
  text-align: left; vertical-align: top;
}
.info-table th {
  font-family: 'Shippori Mincho', serif; font-weight: 500;
  color: var(--text); width: 180px;
  letter-spacing: 0.08em;
}
.info-table td { color: var(--text-sub); line-height: 2.2; }

/* ========== MESSAGE ========== */
.msg-section {
  display: grid; grid-template-columns: 5fr 7fr;
  gap: 0; min-height: 560px;
}
.msg-photo {
  position: relative; overflow: hidden;
  background: var(--dark);
}
.msg-photo img { width: 100%; height: 100%; object-fit: cover; }
.msg-body {
  padding: 72px 64px;
  display: flex; flex-direction: column; justify-content: center;
}
.msg-text {
  font-size: 0.98rem; color: var(--text-sub);
  line-height: 2.3; margin-bottom: 18px;
}
.msg-sign {
  margin-top: 36px;
}
.msg-position {
  font-size: 0.82rem; color: var(--text-muted);
  letter-spacing: 0.08em;
}
.msg-name {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.25rem; letter-spacing: 0.1em;
  margin-top: 6px;
}

/* ========== SERVICE DETAIL ========== */
.svc-detail {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: center;
  padding: 80px 0;
}
.svc-detail + .svc-detail { border-top: 1px solid var(--border); }
.svc-detail.alt { direction: rtl; }
.svc-detail.alt > * { direction: ltr; }
.svc-detail-img {
  width: 100%; height: 420px; object-fit: cover;
}
.svc-detail-num {
  font-family: 'Shippori Mincho', serif;
  font-size: 4rem; color: var(--copper); opacity: 0.2;
  line-height: 1; margin-bottom: 16px;
}
.svc-detail-title {
  font-size: 1.6rem; letter-spacing: 0.08em; margin-bottom: 20px;
}
.svc-detail-text {
  font-size: 0.95rem; color: var(--text-sub);
  line-height: 2.2; margin-bottom: 28px;
}
.feature-list { list-style: none; }
.feature-list li {
  font-size: 0.9rem; color: var(--text-sub);
  padding: 12px 0 12px 22px; position: relative;
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.feature-list li::before {
  content: ''; position: absolute; left: 0; top: 50%;
  width: 6px; height: 6px;
  border: 1px solid var(--copper);
  transform: translateY(-50%) rotate(45deg);
}

/* Process Steps */
.process-steps {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0; background: var(--warm);
}
.step {
  padding: 48px 32px; text-align: center;
  position: relative;
}
.step + .step::before {
  content: ''; position: absolute; left: 0; top: 25%;
  width: 1px; height: 50%; background: var(--border);
}
.step-num {
  font-family: 'Shippori Mincho', serif;
  font-size: 2rem; color: var(--copper); opacity: 0.3;
  margin-bottom: 12px;
}
.step-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1rem; letter-spacing: 0.08em;
  margin-bottom: 12px;
}
.step-text { font-size: 0.88rem; color: var(--text-sub); line-height: 2; }

/* ========== WORKS ========== */
.works-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.work-card {
  overflow: hidden; text-decoration: none; color: inherit;
  position: relative; group: true;
}
.work-card-img {
  width: 100%; height: 240px; object-fit: cover;
  transition: transform 0.6s var(--ease);
}
.work-card:hover .work-card-img { transform: scale(1.06); }
.work-card-body { padding: 20px 4px; }
.work-card-tag {
  font-size: 0.75rem; color: var(--copper);
  letter-spacing: 0.12em; text-transform: uppercase;
  margin-bottom: 8px;
}
.work-card-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.05rem; letter-spacing: 0.05em; margin-bottom: 6px;
}
.work-card-info { font-size: 0.82rem; color: var(--text-muted); }

/* ========== RECRUIT ========== */
.recruit-intro {
  text-align: center; padding: 0 0 48px;
}
.recruit-intro-text {
  font-size: 1rem; color: var(--text-sub);
  line-height: 2.2; max-width: 620px; margin: 0 auto;
}
.culture-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.culture-item {
  padding: 48px 36px; text-align: center;
  border-right: 1px solid var(--border);
}
.culture-item:last-child { border-right: none; }
.culture-num {
  font-family: 'Shippori Mincho', serif;
  font-size: 2rem; color: var(--copper); opacity: 0.3;
  margin-bottom: 16px;
}
.culture-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1rem; letter-spacing: 0.08em;
  margin-bottom: 12px;
}
.culture-text { font-size: 0.9rem; color: var(--text-sub); line-height: 2; }

.job-card {
  border: 1px solid var(--border);
  padding: 48px; margin-bottom: 20px;
  transition: box-shadow 0.4s var(--ease);
}
.job-card:hover { box-shadow: 0 8px 40px rgba(0,0,0,0.06); }
.job-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.3rem; letter-spacing: 0.08em;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.job-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.job-table th, .job-table td {
  padding: 14px 0; font-size: 0.9rem;
  border-bottom: 1px solid rgba(0,0,0,0.04);
  text-align: left;
}
.job-table th { width: 120px; color: var(--text); font-weight: 500; }
.job-table td { color: var(--text-sub); line-height: 1.9; }

/* ========== CONTACT ========== */
.contact-phone {
  text-align: center; padding: 64px 0;
  background: var(--warm);
}
.phone-number {
  font-family: 'Shippori Mincho', serif;
  font-size: 2.8rem; color: var(--black);
  text-decoration: none; letter-spacing: 0.05em;
  display: block; margin-bottom: 12px;
}
.phone-note { font-size: 0.9rem; color: var(--text-sub); }

.contact-form { max-width: 680px; margin: 0 auto; }
.form-group { margin-bottom: 28px; }
.form-label {
  display: block; font-size: 0.9rem;
  font-weight: 500; letter-spacing: 0.05em;
  margin-bottom: 10px; color: var(--text);
}
.form-label .req {
  color: var(--copper); font-size: 0.75rem;
  margin-left: 8px; font-weight: 400;
}
.form-input, .form-select, .form-textarea {
  width: 100%; padding: 14px 0;
  font-size: 0.95rem;
  border: none; border-bottom: 1px solid var(--border);
  background: transparent; color: var(--text);
  font-family: 'Noto Sans JP', sans-serif;
  transition: border-color 0.3s ease;
  outline: none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-bottom-color: var(--copper);
}
.form-textarea { min-height: 150px; resize: vertical; border: 1px solid var(--border); padding: 14px; margin-top: 4px; }
.form-textarea:focus { border-color: var(--copper); }
.form-select {
  appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%236e6e6e' d='M5 6L0 0h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
}

.privacy-content h3 {
  font-size: 1.05rem; margin: 36px 0 14px; letter-spacing: 0.05em;
}
.privacy-content p {
  font-size: 0.92rem; color: var(--text-sub);
  line-height: 2.2; margin-bottom: 14px;
}

/* Map */
.map-wrap { width: 100%; height: 380px; }
.map-wrap iframe { width: 100%; height: 100%; border: none; filter: grayscale(0.8); }

/* ========== RESPONSIVE ========== */
@media (max-width: 1024px) {
  .nav-menu { display: none; }
  .hamburger { display: block; }
  .hero { grid-template-columns: 1fr; height: auto; min-height: 100vh; }
  .hero-left { padding: 160px 8% 80px; min-height: 60vh; }
  .hero-right { height: 40vh; position: relative; }
  .hero-left::after { font-size: 4rem; }
  .hero-vertical { display: none; }
  .about-block { grid-template-columns: 1fr; }
  .about-img { height: 400px; }
  .msg-section { grid-template-columns: 1fr; }
  .msg-photo { height: 400px; }
  .svc-detail { grid-template-columns: 1fr; gap: 40px; }
  .svc-detail.alt { direction: ltr; }
  .svc-detail-img { height: 300px; }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .step + .step::before { display: none; }
  .works-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .culture-grid { grid-template-columns: 1fr; }
  .culture-item { border-right: none; border-bottom: 1px solid var(--border); }
  .culture-item:last-child { border-bottom: none; }
  .numbers-track { flex-wrap: wrap; }
  .num-item { flex: 0 0 50%; }
  .num-item + .num-item::before { display: none; }
}

@media (max-width: 768px) {
  .section { padding: 80px 0; }
  .container, .container-narrow { padding: 0 24px; }
  .header-inner { padding: 20px 24px; }
  .hero-catch { font-size: 2rem; }
  .hero-left { padding: 140px 24px 60px; }
  .sec-title { font-size: 1.6rem; }
  .page-hero { min-height: 280px; }
  .page-hero-title { font-size: 2rem; }
  .page-hero::before { font-size: 4rem; }
  .page-hero-inner { padding: 0 24px; }
  .about-content { padding: 48px 24px; }
  .msg-body { padding: 48px 24px; }
  .info-table th, .info-table td {
    display: block; width: 100%; padding: 10px 0;
  }
  .info-table th { padding-bottom: 2px; }
  .process-steps { grid-template-columns: 1fr; }
  .works-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 36px; }
  .svc-item { grid-template-columns: 60px 1fr auto; gap: 16px; padding: 24px 0; }
  .svc-name { font-size: 1.1rem; }
  .num-item { flex: 0 0 50%; }
  .news-item { grid-template-columns: 1fr; gap: 4px; }
  .job-card { padding: 32px 24px; }
  .cta-band { padding: 56px 0; }
  .cta-band .sec-title { font-size: 1.3rem; }
  .phone-number { font-size: 2rem; }
}

@media (max-width: 480px) {
  .hero-catch { font-size: 1.6rem; }
  .hero-left { min-height: 70vh; }
  .hero-right { height: 30vh; }
  .num-item { flex: 0 0 100%; }
  .num-value { font-size: 2.2rem; }
}

/* ========== SELL PAGE ========== */
.sell-intro {
  text-align: center; max-width: 700px; margin: 0 auto;
}
.sell-intro-text {
  font-size: 1rem; color: var(--text-sub);
  line-height: 2.2; text-align: center;
  max-width: 640px; margin: 0 auto;
}

/* Comparison Grid */
.compare-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 24px; max-width: 960px; margin: 0 auto;
}
.compare-card {
  background: var(--white);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: box-shadow 0.4s var(--ease);
}
.compare-card:hover { box-shadow: 0 12px 48px rgba(0,0,0,0.06); }
.compare-card--towns { border-color: var(--copper); }
.compare-header {
  padding: 28px 32px; border-bottom: 1px solid var(--border);
}
.compare-card--towns .compare-header { border-bottom-color: var(--copper); }
.compare-badge {
  display: inline-block;
  font-size: 0.75rem; letter-spacing: 0.12em;
  padding: 5px 14px; border: 1px solid var(--text-muted);
  color: var(--text-muted); text-transform: uppercase;
  margin-bottom: 12px;
}
.compare-badge--copper {
  border-color: var(--copper); color: var(--copper);
  background: rgba(193,127,89,0.05);
}
.compare-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.3rem; letter-spacing: 0.08em;
}
.compare-list {
  list-style: none; padding: 8px 0;
}
.compare-item {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 18px 32px;
  border-bottom: 1px solid rgba(0,0,0,0.03);
}
.compare-item:last-child { border-bottom: none; }
.compare-icon {
  flex-shrink: 0; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; font-size: 0.75rem; font-weight: 600;
}
.compare-item--negative .compare-icon {
  background: rgba(0,0,0,0.04); color: var(--text-muted);
}
.compare-item--positive .compare-icon {
  background: rgba(193,127,89,0.1); color: var(--copper);
}
.compare-item strong {
  font-size: 0.95rem; display: block; margin-bottom: 4px;
}
.compare-item p {
  font-size: 0.85rem; color: var(--text-muted); line-height: 1.7;
}

/* Recommend Grid */
.recommend-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 0; max-width: 960px; margin: 0 auto;
  border-top: 1px solid var(--border);
}
.recommend-item {
  padding: 40px 28px;
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
  transition: background 0.3s ease;
}
.recommend-item:nth-child(3n) { border-right: none; }
.recommend-item:hover { background: var(--warm); }
.recommend-num {
  font-family: 'Shippori Mincho', serif;
  font-size: 2rem; color: var(--copper); opacity: 0.25;
  line-height: 1; margin-bottom: 16px;
}
.recommend-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.08rem; letter-spacing: 0.05em;
  margin-bottom: 14px; line-height: 1.6;
}
.recommend-text {
  font-size: 0.9rem; color: var(--text-sub);
  line-height: 2;
}

/* Assessment CTA */
.sell-assessment {
  background: var(--black);
  padding: 100px 0;
  position: relative; overflow: hidden;
}
.sell-assessment::before {
  content: 'ASSESSMENT';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Shippori Mincho', serif;
  font-size: 8rem; letter-spacing: 0.1em;
  color: rgba(255,255,255,0.02);
  white-space: nowrap; pointer-events: none;
}
.assessment-inner { position: relative; z-index: 1; }
.assessment-content { max-width: 600px; }
.assessment-text {
  font-size: 1rem; color: rgba(255,255,255,0.65);
  line-height: 2.2; margin-bottom: 40px;
}
.assessment-buttons {
  display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 16px;
}
.assessment-note {
  font-size: 0.82rem; color: rgba(255,255,255,0.35);
  letter-spacing: 0.05em;
}

/* FAQ */
.faq-list { margin-top: 36px; }
.faq-item {
  border-bottom: 1px solid var(--border);
  padding: 28px 0;
}
.faq-question, .faq-answer {
  display: flex; gap: 16px; align-items: flex-start;
}
.faq-question { margin-bottom: 16px; }
.faq-q, .faq-a {
  flex-shrink: 0; width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Shippori Mincho', serif;
  font-size: 0.85rem; font-weight: 600;
}
.faq-q { color: var(--copper); border: 1px solid var(--copper); }
.faq-a { color: var(--white); background: var(--copper); }
.faq-question span:last-child {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.08rem; letter-spacing: 0.05em;
  padding-top: 4px;
}
.faq-answer span:last-child {
  font-size: 0.95rem; color: var(--text-sub);
  line-height: 2.2; padding-top: 4px;
}

/* ========== LISTINGS PAGE ========== */
.listing-filter {
  background: var(--warm);
  padding: 32px 0;
  border-bottom: 1px solid var(--border);
}
.filter-bar {
  display: flex; gap: 20px; align-items: flex-end;
  flex-wrap: wrap;
}
.filter-group { flex: 1; min-width: 160px; }
.filter-label {
  display: block; font-size: 0.8rem;
  letter-spacing: 0.1em; color: var(--text-muted);
  text-transform: uppercase; margin-bottom: 8px;
}
.filter-select {
  width: 100%; padding: 14px 16px;
  font-size: 0.9rem; border: 1px solid var(--border);
  background: var(--white); color: var(--text);
  font-family: 'Noto Sans JP', sans-serif;
  appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%236e6e6e' d='M5 6L0 0h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  transition: border-color 0.3s ease;
}
.filter-select:focus { outline: none; border-color: var(--copper); }
.filter-btn { min-width: 120px; justify-content: center; height: 46px; }

.listing-count {
  font-size: 0.95rem; color: var(--text-sub);
  margin-bottom: 36px; padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}
.listing-count-num {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.4rem; color: var(--copper);
  margin-right: 4px;
}

/* Listings Grid */
.listings-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 24px; margin-bottom: 48px;
}
.listing-card {
  text-decoration: none; color: inherit;
  background: var(--white);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: all 0.4s var(--ease);
}
.listing-card:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
  transform: translateY(-4px);
}
.listing-card-img-wrap {
  position: relative; overflow: hidden;
  height: 220px;
}
.listing-card-img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.6s var(--ease);
}
.listing-card:hover .listing-card-img { transform: scale(1.06); }
.listing-badge {
  position: absolute; top: 12px; left: 12px;
  padding: 4px 12px; font-size: 0.68rem;
  font-weight: 600; letter-spacing: 0.08em;
  z-index: 1;
}
.listing-badge--new {
  background: var(--copper); color: var(--white);
}
.listing-badge--renov {
  background: var(--black); color: var(--white);
}
.listing-badge--sold {
  background: rgba(0,0,0,0.7); color: var(--white);
}
.listing-badge-type {
  position: absolute; bottom: 12px; right: 12px;
  padding: 4px 10px; font-size: 0.68rem;
  background: rgba(255,255,255,0.92);
  color: var(--text); letter-spacing: 0.05em;
  z-index: 1;
}
.listing-card-body { padding: 20px 24px 24px; }
.listing-card-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.05rem; letter-spacing: 0.05em;
  margin-bottom: 12px; line-height: 1.5;
}
.listing-card-price {
  margin-bottom: 12px;
  font-size: 0.9rem; color: var(--text);
}
.price-num {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.6rem; font-weight: 500;
  color: var(--copper); letter-spacing: 0.02em;
}
.listing-card-specs {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-bottom: 10px;
}
.listing-card-specs span {
  font-size: 0.82rem; color: var(--text-sub);
  padding: 4px 10px;
  background: var(--warm);
  letter-spacing: 0.03em;
}
.listing-card-address {
  font-size: 0.85rem; color: var(--text-sub);
  margin-bottom: 6px;
}
.listing-card-access {
  font-size: 0.8rem; color: var(--text-muted);
}

.listing-no-results {
  text-align: center; padding: 80px 0;
  font-size: 1rem; color: var(--text-sub);
  line-height: 2;
}
.listing-note {
  padding: 28px 0;
  border-top: 1px solid var(--border);
}
.listing-note p {
  font-size: 0.85rem; color: var(--text-muted);
  line-height: 2.2;
}

/* ========== SELL & LISTINGS RESPONSIVE ========== */
@media (max-width: 1024px) {
  .compare-grid { grid-template-columns: 1fr; }
  .recommend-grid { grid-template-columns: repeat(2, 1fr); }
  .recommend-item:nth-child(3n) { border-right: 1px solid var(--border); }
  .recommend-item:nth-child(2n) { border-right: none; }
  .listings-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .recommend-grid { grid-template-columns: 1fr; }
  .recommend-item { border-right: none !important; }
  .sell-intro-text { font-size: 0.85rem; }
  .sell-intro-text br { display: none; }
  .sell-assessment { padding: 72px 0; }
  .sell-assessment::before { font-size: 4rem; }
  .assessment-buttons { flex-direction: column; }
  .filter-bar { flex-direction: column; gap: 12px; }
  .filter-group { min-width: 100%; }
  .filter-btn { width: 100%; }
  .listings-grid { grid-template-columns: 1fr; }
  .listing-card-img-wrap { height: 200px; }
  .compare-item { padding: 14px 20px; }
}

/* ========== FOCUS-VISIBLE ========== */
:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: 2px;
}
.nav-menu a:focus-visible::after { width: 100%; }
.btn:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: 2px;
}
.hamburger:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: 4px;
}
.filter-select:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: 0;
}
.news-item:focus-visible { padding-left: 8px; }
.svc-item:focus-visible { padding-left: 16px; }
.svc-item:focus-visible .svc-desc { max-height: 200px; opacity: 1; }
.svc-item:focus-visible .svc-arrow { color: var(--copper); transform: translateX(4px); }

/* ========== PAIN POINTS (お悩み) ========== */
.pain-section {
  background: var(--warm);
}
.pain-heading-accent {
  color: var(--copper);
  position: relative;
  display: inline-block;
}
.pain-heading-accent::after {
  content: '';
  position: absolute; left: 0; bottom: -2px;
  width: 100%; height: 2px;
  background: var(--copper);
}
.pain-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  max-width: 860px;
  margin: 48px auto 0;
}
.pain-item {
  display: flex; align-items: center; gap: 14px;
  background: var(--white);
  padding: 20px 24px;
  border: 1px solid var(--border);
  font-size: 0.92rem;
  line-height: 1.6;
  color: var(--text);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.pain-item:hover {
  border-color: var(--copper);
  box-shadow: 0 4px 16px rgba(193,127,89,0.08);
}
.pain-item-icon {
  flex-shrink: 0;
  width: 20px; height: 20px;
  color: var(--copper);
}
.pain-item strong {
  color: var(--copper);
}
.pain-cta {
  text-align: center;
  margin-top: 48px;
  font-family: 'Shippori Mincho', serif;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  color: var(--text);
  line-height: 2;
}
.pain-cta strong {
  color: var(--copper);
  font-weight: 600;
}

/* ========== ASSET MAXIMIZATION (資産の最大化) ========== */
.asset-section {
  background: var(--black);
  color: var(--white);
  position: relative;
  overflow: hidden;
}
.asset-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.asset-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.asset-tag {
  display: flex; align-items: center; gap: 6px;
  padding: 10px 18px;
  border: 1px solid rgba(193,127,89,0.35);
  background: rgba(193,127,89,0.06);
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  color: var(--white);
  transition: background 0.3s ease, border-color 0.3s ease;
}
.asset-tag:hover {
  background: rgba(193,127,89,0.15);
  border-color: var(--copper);
}
.asset-tag-dot {
  width: 4px; height: 4px;
  background: var(--copper);
  flex-shrink: 0;
}
.asset-desc {
  margin-top: 36px;
  font-size: 0.92rem;
  line-height: 2;
  color: rgba(255,255,255,0.7);
}
.asset-desc strong {
  color: var(--copper);
}
.asset-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.asset-card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 100%;
}
.asset-card {
  padding: 28px 20px;
  border: 1px solid rgba(193,127,89,0.2);
  background: rgba(255,255,255,0.03);
  text-align: center;
  transition: background 0.3s ease, transform 0.3s ease;
}
.asset-card:hover {
  background: rgba(193,127,89,0.08);
  transform: translateY(-4px);
}
.asset-card-icon {
  width: 32px; height: 32px;
  margin: 0 auto 12px;
  color: var(--copper);
}
.asset-card-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.asset-card-text {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.5);
  line-height: 1.6;
}

/* ========== REASONS (選ばれる理由) ========== */
.reasons-section {
  background: var(--warm);
}
.reasons-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 48px;
}
.reason-card {
  background: var(--white);
  padding: 40px 28px 36px;
  text-align: center;
  border: 1px solid var(--border);
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.reason-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
}
.reason-num {
  font-family: 'Shippori Mincho', serif;
  font-size: 2.2rem;
  color: var(--copper);
  line-height: 1;
  margin-bottom: 16px;
  display: block;
}
.reason-icon {
  width: 40px; height: 40px;
  margin: 0 auto 16px;
  color: var(--copper);
}
.reason-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 1.05rem;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
  line-height: 1.5;
}
.reason-text {
  font-size: 0.85rem;
  color: var(--text-sub);
  line-height: 1.9;
}

@media (max-width: 1024px) {
  .pain-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .asset-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .asset-visual { order: -1; }
  .reasons-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .reason-card {
    padding: 28px 24px;
    text-align: left;
    display: flex;
    gap: 20px;
    align-items: flex-start;
  }
  .reason-num { font-size: 1.6rem; margin-bottom: 0; flex-shrink: 0; }
  .reason-icon { display: none; }
}
@media (max-width: 768px) {
  .asset-card-grid { gap: 10px; }
  .asset-card { padding: 20px 14px; }
  .reason-card { padding: 20px 18px; }
}

/* ========== SCROLL PROGRESS BAR ========== */
.scroll-progress {
  position: fixed; top: 0; left: 0;
  width: 0%; height: 3px;
  background: linear-gradient(90deg, var(--copper), var(--copper-light));
  z-index: 1100;
  transition: none;
  pointer-events: none;
}

/* ========== BACK TO TOP ========== */
.back-to-top {
  position: fixed; bottom: 32px; right: 32px;
  width: 48px; height: 48px;
  background: var(--black);
  color: var(--white);
  border: 1px solid rgba(255,255,255,0.1);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 900;
  opacity: 0; visibility: hidden;
  transform: translateY(16px);
  transition: opacity 0.4s var(--ease), visibility 0.4s var(--ease), transform 0.4s var(--ease), background 0.3s ease;
  font-size: 0;
}
.back-to-top::before {
  content: '';
  width: 10px; height: 10px;
  border-top: 2px solid var(--copper);
  border-right: 2px solid var(--copper);
  transform: rotate(-45deg);
  margin-top: 4px;
}
.back-to-top.visible {
  opacity: 1; visibility: visible;
  transform: translateY(0);
}
.back-to-top:hover {
  background: var(--copper);
}
.back-to-top:hover::before {
  border-color: var(--white);
}

/* ========== MOBILE PHONE CTA ========== */
.mobile-phone-cta {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0;
  z-index: 950;
  background: var(--black);
  border-top: 1px solid rgba(193,127,89,0.3);
}
.mobile-phone-cta a {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 16px;
  text-decoration: none; color: var(--white);
  font-size: 0.95rem; letter-spacing: 0.1em;
  font-family: 'Shippori Mincho', serif;
}
.mobile-phone-cta .phone-icon {
  width: 18px; height: 18px;
  fill: var(--copper);
}

/* ========== CURRENT PAGE NAV HIGHLIGHT ========== */
.nav-menu a.current {
  color: var(--copper);
}
.nav-menu a.current::after {
  width: 100%;
  background: var(--copper);
}
.mobile-nav-list a.current {
  color: var(--copper);
}

/* ========== STAGGERED MOBILE NAV ANIMATION ========== */
.mobile-nav-list li {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.4s var(--ease), transform 0.4s var(--ease);
}
.mobile-nav.active .mobile-nav-list li {
  opacity: 1;
  transform: translateY(0);
}
.mobile-nav.active .mobile-nav-list li:nth-child(1) { transition-delay: 0.08s; }
.mobile-nav.active .mobile-nav-list li:nth-child(2) { transition-delay: 0.14s; }
.mobile-nav.active .mobile-nav-list li:nth-child(3) { transition-delay: 0.20s; }
.mobile-nav.active .mobile-nav-list li:nth-child(4) { transition-delay: 0.26s; }
.mobile-nav.active .mobile-nav-list li:nth-child(5) { transition-delay: 0.32s; }
.mobile-nav.active .mobile-nav-list li:nth-child(6) { transition-delay: 0.38s; }
.mobile-nav.active .mobile-nav-list li:nth-child(7) { transition-delay: 0.44s; }
.mobile-nav.active .mobile-nav-list li:nth-child(8) { transition-delay: 0.50s; }

/* ========== CARD HOVER OVERLAY ========== */
.work-card {
  position: relative;
}
.work-card::after {
  content: 'VIEW';
  position: absolute; top: 0; left: 0; right: 0;
  height: 240px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(10,10,10,0.5);
  color: var(--white);
  font-size: 0.8rem; letter-spacing: 0.3em;
  opacity: 0;
  transition: opacity 0.4s var(--ease);
  pointer-events: none;
}
.work-card:hover::after { opacity: 1; }
.work-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.1); }

.listing-card-img-wrap::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,10,10,0.4) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.4s var(--ease);
  pointer-events: none;
}
.listing-card:hover .listing-card-img-wrap::after { opacity: 1; }

/* ========== GRAIN TEXTURE ========== */
.grain::before {
  content: '';
  position: absolute; inset: -50%;
  width: 200%; height: 200%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
}
.hero-left { position: relative; }
.cta-band { position: relative; }
.sell-assessment { position: relative; }

/* ========== SECTION DIVIDER ========== */
.sec-divider {
  display: flex; align-items: center; justify-content: center;
  gap: 20px; padding: 0;
  color: var(--copper);
  opacity: 0.35;
}
.sec-divider::before, .sec-divider::after {
  content: '';
  flex: 1; max-width: 120px;
  height: 1px;
  background: var(--copper);
}
.sec-divider-diamond {
  width: 6px; height: 6px;
  border: 1px solid var(--copper);
  transform: rotate(45deg);
}

/* ========== LICENSE BADGE ========== */
.footer-license {
  display: flex; align-items: center; gap: 10px;
  margin-top: 20px;
  padding: 10px 16px;
  border: 1px solid rgba(193,127,89,0.25);
  background: rgba(193,127,89,0.05);
  width: fit-content;
}
.footer-license-icon {
  width: 16px; height: 16px; flex-shrink: 0;
}
.footer-license-text {
  font-size: 0.75rem;
  color: var(--copper);
  letter-spacing: 0.05em;
  line-height: 1.4;
}

/* ========== TEXT REVEAL ANIMATION ========== */
@keyframes revealUp {
  from { clip-path: inset(100% 0 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}
@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero-catch {
  animation: revealUp 1s var(--ease) 0.3s both;
}
.hero-tag {
  animation: fadeSlideUp 0.8s var(--ease) 0.1s both;
}
.hero-sub {
  animation: fadeSlideUp 0.8s var(--ease) 0.6s both;
}
.hero-scroll {
  animation: fadeSlideUp 0.8s var(--ease) 0.9s both;
}

/* ========== HERO PARALLAX ========== */
.hero-right { will-change: transform; }

/* ========== SMOOTH IMAGE LOAD ========== */
.work-card-img, .listing-card-img, .svc-detail-img {
  background: var(--warm);
}

/* ========== MOBILE RESPONSIVE ADDITIONS ========== */
@media (max-width: 1024px) {
  .back-to-top { bottom: 80px; }
  .mobile-phone-cta { display: block; }
  body { padding-bottom: 54px; }
}

/* ========== CUSTOM CURSOR ========== */
.cursor-dot {
  position: fixed; top: 0; left: 0;
  width: 8px; height: 8px;
  background: var(--copper);
  border-radius: 50%;
  pointer-events: none; z-index: 9998;
  transform: translate(-50%, -50%);
  transition: width 0.3s var(--ease), height 0.3s var(--ease), background 0.3s var(--ease), opacity 0.3s ease;
  mix-blend-mode: difference;
}
.cursor-ring {
  position: fixed; top: 0; left: 0;
  width: 40px; height: 40px;
  border: 1px solid rgba(193,127,89,0.4);
  border-radius: 50%;
  pointer-events: none; z-index: 9997;
  transform: translate(-50%, -50%);
  transition: width 0.4s var(--ease), height 0.4s var(--ease), border-color 0.4s var(--ease), opacity 0.3s ease;
}
.cursor-dot.hovering {
  width: 48px; height: 48px;
  background: rgba(193,127,89,0.15);
  mix-blend-mode: normal;
}
.cursor-ring.hovering {
  width: 64px; height: 64px;
  border-color: var(--copper);
}

/* ========== MARQUEE TICKER ========== */
.marquee-band {
  background: var(--black);
  overflow: hidden;
  padding: 14px 0;
  border-bottom: 1px solid rgba(193,127,89,0.1);
}
.marquee-track {
  display: flex;
  animation: marqueeScroll 30s linear infinite;
  width: max-content;
}
.marquee-track span {
  font-family: 'Shippori Mincho', serif;
  font-size: 0.8rem;
  letter-spacing: 0.35em;
  color: rgba(255,255,255,0.15);
  text-transform: uppercase;
  white-space: nowrap;
  padding: 0 48px;
}
.marquee-track span .marquee-dot {
  display: inline-block;
  width: 4px; height: 4px;
  background: var(--copper);
  border-radius: 50%;
  margin: 0 24px;
  vertical-align: middle;
  opacity: 0.5;
}
@keyframes marqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ========== SHIMMER CTA BUTTON ========== */
.btn-copper {
  position: relative; overflow: hidden;
}
.btn-copper::before {
  content: '';
  position: absolute; top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.6s ease;
}
.btn-copper:hover::before {
  left: 100%;
}

/* ========== GRADIENT TEXT ========== */
.gradient-text {
  background: linear-gradient(135deg, var(--copper) 0%, #e8b891 40%, var(--copper-light) 60%, var(--copper) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 200% 200%;
  animation: gradientShift 6s ease infinite;
}
@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ========== GLOWING ACCENT LINE ========== */
.glow-line {
  width: 80px; height: 2px;
  background: var(--copper);
  position: relative;
  margin: 0 auto;
}
.glow-line::after {
  content: '';
  position: absolute; inset: -4px -8px;
  background: var(--copper);
  filter: blur(8px);
  opacity: 0.4;
}

/* ========== SPLIT TEXT ANIMATION ========== */
.split-char {
  display: inline-block;
  opacity: 0;
  transform: translateY(60px) rotateX(-60deg);
  animation: charReveal 0.8s var(--ease) forwards;
  transform-origin: bottom center;
}
@keyframes charReveal {
  to { opacity: 1; transform: translateY(0) rotateX(0); }
}

/* ========== IMAGE REVEAL ========== */
.img-reveal {
  position: relative; overflow: hidden;
}
.img-reveal::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--black);
  z-index: 2;
  transform: scaleX(1);
  transform-origin: right;
  transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);
}
.img-reveal.revealed::before {
  transform: scaleX(0);
}

/* ========== FLOATING ACCENT ELEMENTS ========== */
.float-accent {
  position: absolute;
  width: 1px; height: 120px;
  background: linear-gradient(to bottom, transparent, var(--copper), transparent);
  opacity: 0.15;
  animation: floatAccent 8s ease-in-out infinite;
}
@keyframes floatAccent {
  0%, 100% { transform: translateY(0); opacity: 0.15; }
  50% { transform: translateY(-30px); opacity: 0.3; }
}

/* ========== 3D CARD TILT ========== */
.tilt-card {
  transform-style: preserve-3d;
  perspective: 1000px;
  transition: transform 0.5s var(--ease);
}
.tilt-card:hover {
  transform: rotateY(-2deg) rotateX(2deg) translateZ(10px);
}
.tilt-card .tilt-inner {
  transform: translateZ(20px);
  transition: transform 0.5s var(--ease);
}

/* ========== COUNTER ENHANCED ========== */
.num-value {
  position: relative;
}
.num-item::after {
  content: '';
  position: absolute; bottom: 0; left: 50%;
  width: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--copper), transparent);
  transition: width 0.8s var(--ease), left 0.8s var(--ease);
}
.num-item.counted::after {
  width: 60%; left: 20%;
}

/* ========== HERO ENHANCEMENTS ========== */
.hero-left::before {
  content: '';
  position: absolute; top: 20%; right: 0;
  width: 1px; height: 0;
  background: linear-gradient(to bottom, transparent, rgba(193,127,89,0.3), transparent);
  animation: lineGrow 2s var(--ease) 1s forwards;
  z-index: 1;
}
@keyframes lineGrow {
  to { height: 60%; }
}
.hero-catch-line {
  display: block;
  overflow: hidden;
}
.hero-catch-line-inner {
  display: block;
  animation: slideUp 0.9s var(--ease) forwards;
  transform: translateY(100%);
}
.hero-catch-line:nth-child(2) .hero-catch-line-inner {
  animation-delay: 0.15s;
}
@keyframes slideUp {
  to { transform: translateY(0); }
}

/* ========== SECTION REVEAL ========== */
.sec-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.sec-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.sec-reveal.visible .sec-label-line {
  animation: lineExpand 0.6s var(--ease) 0.3s both;
}
@keyframes lineExpand {
  from { width: 0; }
  to { width: 40px; }
}

/* ========== STAGGER CHILDREN ========== */
.stagger-children.visible > * {
  animation: fadeUp 0.7s var(--ease) forwards;
  opacity: 0;
}
.stagger-children.visible > *:nth-child(1) { animation-delay: 0s; }
.stagger-children.visible > *:nth-child(2) { animation-delay: 0.08s; }
.stagger-children.visible > *:nth-child(3) { animation-delay: 0.16s; }
.stagger-children.visible > *:nth-child(4) { animation-delay: 0.24s; }
.stagger-children.visible > *:nth-child(5) { animation-delay: 0.32s; }
.stagger-children.visible > *:nth-child(6) { animation-delay: 0.40s; }
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ========== MAGNETIC BUTTON ========== */
.btn-magnetic {
  position: relative;
  transition: transform 0.4s var(--ease), background 0.4s var(--ease), color 0.4s var(--ease), border-color 0.4s var(--ease), box-shadow 0.4s var(--ease);
}

/* ========== ENHANCED SERVICE ITEMS ========== */
.svc-item::before {
  content: '';
  position: absolute; left: 0; bottom: 0;
  width: 0; height: 1px;
  background: var(--copper);
  transition: width 0.6s var(--ease);
}
.svc-item:hover::before { width: 100%; }
.svc-item { position: relative; }

/* ========== HERO NUMBER BADGE ========== */
.hero-badge {
  position: absolute; bottom: 120px; right: 8%;
  z-index: 2;
  display: flex; flex-direction: column; align-items: center;
  padding: 24px;
  border: 1px solid rgba(193,127,89,0.2);
  background: rgba(10,10,10,0.6);
  backdrop-filter: blur(10px);
  animation: fadeSlideUp 0.8s var(--ease) 1.2s both;
}
.hero-badge-num {
  font-family: 'Shippori Mincho', serif;
  font-size: 2.4rem; color: var(--copper);
  line-height: 1;
}
.hero-badge-unit {
  font-size: 0.7rem; color: rgba(255,255,255,0.6);
  letter-spacing: 0.1em;
  margin-top: 6px;
}

/* ========== SMOOTH LINK UNDERLINE ========== */
.link-fancy {
  position: relative; text-decoration: none;
}
.link-fancy::after {
  content: '';
  position: absolute; bottom: -2px; left: 0;
  width: 100%; height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s var(--ease);
}
.link-fancy:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* ========== PULSE DOT ========== */
.pulse-dot {
  width: 8px; height: 8px;
  background: var(--copper);
  border-radius: 50%;
  position: relative;
}
.pulse-dot::after {
  content: '';
  position: absolute; inset: -4px;
  border: 1px solid var(--copper);
  border-radius: 50%;
  animation: pulseDot 2s ease infinite;
}
@keyframes pulseDot {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(2.5); opacity: 0; }
}

/* ========== ENHANCED CTA BAND ========== */
.cta-band {
  position: relative;
}
.cta-band::after {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
}

/* ========== ABOUT BLOCK IMAGE ZOOM ========== */
.about-img img {
  transition: transform 8s ease;
}
.about-img:hover img {
  transform: scale(1.08);
}

/* ========== NUMBER BAND GLOW ========== */
.numbers-band {
  position: relative;
}
.numbers-band::after {
  content: '';
  position: absolute; bottom: 0; left: 10%; right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(193,127,89,0.3), transparent);
}

/* ========== FOOTER ENHANCED ========== */
.footer::before {
  content: '';
  display: block; height: 1px;
  background: linear-gradient(90deg, transparent 5%, rgba(193,127,89,0.3) 50%, transparent 95%);
}

/* ========== HIDE CURSOR ON DESKTOP ========== */
@media (hover: hover) and (pointer: fine) {
  body.has-cursor { cursor: none; }
  body.has-cursor a, body.has-cursor button, body.has-cursor [role="button"] { cursor: none; }
}
@media (hover: none) {
  .cursor-dot, .cursor-ring { display: none; }
}

/* ========== PREFERS REDUCED MOTION ========== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
  .hero-img { transition: none; }
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ========== TESTIMONIALS (お客様の声) ========== */
.testimonials-section {
  background: var(--white);
}
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.testimonial-card {
  padding: 36px 28px;
  border: 1px solid var(--border);
  background: var(--white);
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
  position: relative;
}
.testimonial-card::before {
  content: '\201C';
  position: absolute;
  top: 20px;
  right: 24px;
  font-family: 'Shippori Mincho', serif;
  font-size: 4rem;
  line-height: 1;
  color: var(--copper);
  opacity: 0.12;
  pointer-events: none;
}
.testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
}
.testimonial-stars {
  font-size: 0.85rem;
  color: var(--copper);
  letter-spacing: 0.15em;
  margin-bottom: 16px;
}
.testimonial-text {
  font-size: 0.92rem;
  color: var(--text-sub);
  line-height: 2;
  margin-bottom: 24px;
}
.testimonial-author {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}
.testimonial-avatar {
  width: 44px;
  height: 44px;
  background: var(--copper);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Shippori Mincho', serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.testimonial-name {
  font-family: 'Shippori Mincho', serif;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  margin-bottom: 2px;
}
.testimonial-detail {
  font-size: 0.78rem;
  color: var(--text-muted);
  letter-spacing: 0.05em;
}

@media (max-width: 1024px) {
  .testimonial-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
@media (max-width: 768px) {
  .testimonial-card {
    padding: 28px 20px;
  }
}

/* ========== SKIP NAVIGATION ========== */
.skip-link {
  position: fixed;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--copper);
  color: var(--white);
  padding: 12px 24px;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-decoration: none;
  z-index: 10000;
  transition: top 0.3s ease;
}
.skip-link:focus {
  top: 12px;
}

/* ========== NEWS ITEM LINK ENHANCEMENT ========== */
.news-item {
  cursor: pointer;
}
.news-item:hover .news-title-text {
  color: var(--copper);
}

/* ========== LISTING CARD ON INDEX (3-col override) ========== */
@media (max-width: 1024px) {
  .listings-grid[style*="grid-template-columns: repeat(3"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .listings-grid[style*="grid-template-columns: repeat(3"] {
    grid-template-columns: 1fr !important;
  }
}

/* ========== ENHANCED FAQ ACCORDION ========== */
.faq-item {
  cursor: default;
  transition: background 0.3s ease;
}
.faq-item:hover {
  background: rgba(193,127,89,0.03);
}

/* TOWNS logo HD (2026-07) */
.logo-img,.footer-logo-img{content:url("data:image/webp;base64,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")}
