@font-face {
      font-family: "Outfit";
      src: url("/assets/outfit-latin-600-normal.woff2") format("woff2");
      font-weight: 600; font-style: normal; font-display: swap;
    }
.cc-shots *,
.cc-shots *::before,
.cc-shots *::after { box-sizing: border-box; margin: 0; padding: 0; }
.cc-shots { scroll-behavior: smooth; }
.cc-shots {
      font-family: "Noto Sans JP", "Meiryo UI", "Yu Gothic UI", sans-serif;
      color: #1c2333; background: #f5f6fa; line-height: 1.7;
    }
.cc-shots a { text-decoration: none; color: inherit; }
.cc-shots img { max-width: 100%; display: block; }
.cc-shots {
      --navy:   #1e2a3a;
      --navy2:  #2d3e50;
      --accent: #9a7420;
      --light:  #f5f6fa;
      --border: #dde1e7;
      --sub:    #6b7280;
    }
.cc-shots .page-header {
      background: var(--navy);
      color: #fff; text-align: center;
      padding: 56px 48px 48px;
    }
.cc-shots .page-header h1 {
      font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; margin-bottom: 12px;
    }
.cc-shots .page-header p { color: rgba(255,255,255,0.6); font-size: 0.96rem; }
.cc-shots .gallery {
      max-width: 1200px; margin: 0 auto;
      padding: 64px 48px;
      display: flex; flex-direction: column; gap: 64px;
    }
.cc-shots .gallery-item { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 24px rgba(30,42,58,0.08); }
.cc-shots .gallery-item.reverse { direction: rtl; }
.cc-shots .gallery-item.reverse > * { direction: ltr; }
.cc-shots .gallery-inner {
      display: grid; grid-template-columns: 1fr 340px;
      align-items: stretch;
    }
.cc-shots .gallery-item.reverse .gallery-inner { grid-template-columns: 340px 1fr; }
.cc-shots .app-window { background: #1e2a3a; }
.cc-shots .win-titlebar {
      background: #2d3748; padding: 10px 14px;
      display: flex; align-items: center; gap: 6px;
    }
.cc-shots .win-dot { width: 11px; height: 11px; border-radius: 50%; }
.cc-shots .win-dot-r { background: #ff5f57; }
.cc-shots .win-dot-y { background: #febc2e; }
.cc-shots .win-dot-g { background: #28c840; }
.cc-shots .win-title { font-size: 0.72rem; color: rgba(255,255,255,0.45); margin-left: 8px; }
.cc-shots .win-body img { width: 100%; }
.cc-shots .gallery-desc {
      padding: 40px 36px;
      display: flex; flex-direction: column; justify-content: center; gap: 16px;
    }
.cc-shots .gallery-tag {
      display: inline-block;
      background: rgba(201,160,74,0.12); color: var(--accent);
      font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em;
      padding: 3px 12px; border-radius: 4px; width: fit-content;
    }
.cc-shots .gallery-num {
      font-size: 0.78rem; color: var(--sub); font-weight: 700; letter-spacing: 0.06em;
    }
.cc-shots .gallery-desc h2 {
      font-size: 1.3rem; font-weight: 800; color: var(--navy); line-height: 1.3;
    }
.cc-shots .gallery-desc p { font-size: 0.9rem; color: var(--sub); line-height: 1.75; }
.cc-shots .gallery-points {
      list-style: none; display: flex; flex-direction: column; gap: 6px;
      font-size: 0.88rem; color: #3d4a5c;
    }
.cc-shots .gallery-points li::before { content: "✓ "; color: #22a05a; font-weight: 700; }
.cc-shots .footer-cta {
      display: inline-block; margin-top: 16px;
      background: var(--accent); color: #fff;
      padding: 12px 32px; border-radius: 8px;
      font-weight: 700; font-size: 0.92rem; letter-spacing: 0.04em;
      transition: background 0.2s;
    }
.cc-shots .footer-cta:hover { background: #b3871f; }
@media (max-width: 860px) {
.cc-shots .page-header { padding: 40px 20px 32px; }
.cc-shots .gallery { padding: 40px 20px; gap: 40px; }
.cc-shots .gallery-inner { grid-template-columns: 1fr; }
.cc-shots .gallery-item.reverse .gallery-inner { grid-template-columns: 1fr; }
.cc-shots .gallery-item.reverse { direction: ltr; }
.cc-shots .gallery-desc { padding: 28px 24px; }
}
.cc-shots .app-window { border-radius: 0; box-shadow: none; }
.cc-shots-cta { background: #0d1b2a; color: rgba(255,255,255,0.55); text-align: center; padding: 40px 24px 8px; font-size: 0.9rem; line-height: 1.8; }
.cc-shots-cta strong { color: rgba(255,255,255,0.8); }
