@charset "UTF-8";
/* =========================
   TC-02 Tapping Mini Story
========================= */
 
.tc02-story {
  background: #5f5f5f;
  color: #f5f5f5;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  line-height: 1.9;
  letter-spacing: 0.08em;
  overflow: hidden;
}
 
.tc02-story * {
  box-sizing: border-box;
}
 
.tc02-story img {
  max-width: 100%;
  display: block;
}
 
.tc02-inner {
  width: min(1080px, 92%);
  margin: 0 auto;
}
 
.tc02-section {
  padding: 90px 0;
  position: relative;
}
 
.tc02-eyebrow {
  color: #d6c39a;
  font-size: 14px;
  letter-spacing: 0.18em;
  margin-bottom: 18px;
}
 
.tc02-title {
  font-size: clamp(32px, 5vw, 58px);
  font-weight: 400;
  line-height: 1.55;
  margin: 0 0 24px;
  color: #ffffff;
}
 
.tc02-subtitle {
  font-size: clamp(24px, 3.6vw, 42px);
  font-weight: 400;
  line-height: 1.65;
  margin: 0 0 28px;
  color: #ffffff;
}
 
.tc02-text {
  font-size: 16px;
  color: rgba(255,255,255,0.86);
  margin: 0 0 24px;
}
 
.tc02-small {
  font-size: 13px;
  color: rgba(255,255,255,0.65);
}
 
.tc02-gold {
  color: #d6c39a;
}
 
.tc02-line {
  width: 100%;
  max-width: 360px;
  height: 1px;
  background: rgba(214,195,154,0.55);
  margin: 28px 0;
}
 
.tc02-btn-note {
  display: inline-block;
  border: 1px solid rgba(214,195,154,0.7);
  color: #d6c39a;
  padding: 10px 22px;
  font-size: 14px;
  letter-spacing: 0.16em;
  margin-top: 18px;
}
 
/* HERO */
.tc02-hero {
  min-height: 760px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 75% 45%, rgba(255,255,255,0.16), transparent 28%),
    linear-gradient(90deg, rgba(40,40,40,0.94) 0%, rgba(82,82,82,0.86) 47%, rgba(90,90,90,0.7) 100%);
}
 
.tc02-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 50px;
  align-items: center;
}
 
.tc02-hero-product {
  position: relative;
}
 
.tc02-hero-product img {
  margin-left: auto;
  max-height: 680px;
  object-fit: contain;
  filter: drop-shadow(0 24px 28px rgba(0,0,0,0.35));
}
 
.tc02-badge {
  width: 118px;
  height: 118px;
  border: 1px solid rgba(214,195,154,0.8);
  border-radius: 50%;
  display: grid;
  place-items: center;
  text-align: center;
  color: #d6c39a;
  font-size: 16px;
  line-height: 1.5;
  position: absolute;
  left: 0;
  bottom: 60px;
  background: rgba(95,95,95,0.38);
  backdrop-filter: blur(4px);
}
 
.tc02-badge strong {
  display: block;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0.08em;
}
 
/* INTRO */
.tc02-intro {
  background: #696969;
}
 
.tc02-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 58px;
  align-items: center;
}
 
.tc02-photo-card {
  background: rgba(255,255,255,0.06);
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.12);
}
 
.tc02-photo-card img {
  width: 100%;
}
 
/* COMPARE */
.tc02-compare {
  background: #565656;
}
 
.tc02-compare-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 36px;
  background: rgba(255,255,255,0.035);
}
 
.tc02-compare-table th,
.tc02-compare-table td {
  border: 1px solid rgba(255,255,255,0.16);
  padding: 20px 18px;
  vertical-align: top;
  font-size: 14px;
}
 
.tc02-compare-table th {
  color: #d6c39a;
  font-weight: 400;
  background: rgba(0,0,0,0.16);
}
 
.tc02-compare-table td:first-child {
  color: #d6c39a;
  width: 18%;
  white-space: nowrap;
}
 
.tc02-product-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  margin-top: 40px;
}
 
.tc02-product-box {
  border: 1px solid rgba(214,195,154,0.45);
  padding: 18px;
  text-align: center;
}
 
.tc02-product-box p {
  margin: 14px 0 0;
  color: rgba(255,255,255,0.78);
  font-size: 14px;
}
 
/* SCENE */
.tc02-scene {
  background:
    linear-gradient(rgba(80,80,80,0.88), rgba(80,80,80,0.88)),
    url("IMAGE_URL_SCENE") center/cover no-repeat;
}
 
.tc02-scene-box {
  width: min(620px, 100%);
  padding: 44px;
  background: rgba(38,38,38,0.42);
  border: 1px solid rgba(255,255,255,0.12);
}
 
/* MATERIAL */
.tc02-material {
  background: #626262;
}
 
.tc02-icons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 36px;
}
 
.tc02-icon {
  border: 1px solid rgba(214,195,154,0.55);
  border-radius: 999px;
  min-height: 72px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #d6c39a;
  font-size: 15px;
}
 
/* CLOSING */
.tc02-closing {
  background: #4f4f4f;
  text-align: center;
}
 
.tc02-closing .tc02-line {
  margin-left: auto;
  margin-right: auto;
}
 
/* RESPONSIVE */
@media screen and (max-width: 768px) {
  .tc02-section {
    padding: 64px 0;
  }
 
  .tc02-hero {
    min-height: auto;
    padding: 72px 0;
  }
 
  .tc02-hero-grid,
  .tc02-two-col {
    grid-template-columns: 1fr;
    gap: 38px;
  }
 
  .tc02-hero-product img {
    margin: 0 auto;
    max-height: 520px;
  }
 
  .tc02-badge {
    width: 96px;
    height: 96px;
    font-size: 13px;
    left: 8px;
    bottom: 20px;
  }
 
  .tc02-badge strong {
    font-size: 24px;
  }
 
  .tc02-compare-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
 
  .tc02-product-pair,
  .tc02-icons {
    grid-template-columns: 1fr 1fr;
  }
 
  .tc02-scene-box {
    padding: 30px 24px;
  }
}
 
@media screen and (max-width: 480px) {
  .tc02-product-pair,
  .tc02-icons {
    grid-template-columns: 1fr;
  }
 
  .tc02-title {
    font-size: 34px;
  }
 
  .tc02-subtitle {
    font-size: 26px;
  }
 
  .tc02-text {
    font-size: 15px;
  }
}
