/* style.css */

/* --- Global Styles --- */
body {
  font-family: 'Noto Sans JP', sans-serif;
}

/* --- Page Specific Styles --- */

/* index.html */
.hero-bg-top {
  background-image: url('./images/pc/top_hero.png');
  background-size: cover;
  background-position: center;
}
.cta-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cta-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* service.html */
.hero-bg-service {
  background-image: url('./images/pc/service_hero.png');
  background-size: cover;
  background-position: center;
}
.solution-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.solution-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.tech-card {
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  transition: all 0.3s ease;
}
.tech-card:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border-color: #6366f1; /* indigo-500 */
}

/* company.html */
.signature-font {
  font-family: 'Yuji Syuku', serif;
}

/* careers.html */
.hero-bg-careers {
  background-image: url('./images/pc/careers_hero.png');
  background-position: center;
  background-size: cover;
}
.gradient-text {
  background: -webkit-linear-gradient(45deg, #fdbb2d, #22c1c3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* contact.html */
.required-label::after {
  content: '必須';
  margin-left: 0.5rem;
  padding: 0.125rem 0.5rem;
  background-color: #ef4444; /* red-500 */
  color: white;
  font-size: 0.75rem; /* 12px */
  border-radius: 0.25rem; /* 4px */
  font-weight: bold;
}

/* privacy.html */
.policy-content h2 {
  font-size: 1.5rem; /* 24px */
  font-weight: 700;
  margin-top: 2rem; /* 32px */
  margin-bottom: 1rem; /* 16px */
  padding-bottom: 0.5rem; /* 8px */
  border-bottom: 2px solid #e5e7eb; /* gray-200 */
}
.policy-content h3 {
  font-size: 1.25rem; /* 20px */
  font-weight: 700;
  margin-top: 1.5rem; /* 24px */
  margin-bottom: 0.75rem; /* 12px */
}
.policy-content p,
.policy-content ul {
  line-height: 1.75;
  margin-bottom: 1rem; /* 16px */
}
.policy-content ul {
  list-style-position: inside;
}
.policy-content li {
  margin-bottom: 0.5rem; /* 8px */
}
