/* ==========================================================================
Direct Growth Cloud - DGCloud Specific Styles
========================================================================== */
.header-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #000;
  padding: 10px 20px;
}

.logo {
  height: 100px; 
  width: auto;
}

.back-button {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  font-size: 0.9rem;
  transition: opacity 0.3s ease;
}

.back-button:hover {
  opacity: 0.7;
}

body {
font-family: 'Noto Sans JP', sans-serif;
color: #333;
background-color: #fff;
margin: 0;
padding: 0;
}

h1, h2, h3, h4 {
margin: 0 0 20px 0;
}

img {
max-width: 100%;
height: auto;
display: block;
}

/* Hero Section */
/* 
.hero {
  position: relative;
  background-color: #000;
  background-image: url("https://direct-growth.jp/images/mission_bg.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  color: #fff;
  text-align: center;
  padding: 20px 20px 60px;
  overflow: hidden;
}
.hero-content {
  text-align: center;
  padding: 40px 20px;
  color: #fff;
} */

.hero-content {
  position: relative;
  text-align: center;
  padding: 40px 20px;
  background-color: #000;
  color: #fff;
  z-index: 1;
}

.hero-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("https://direct-growth.jp/images/mission_bg.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.5; /* 背景が強すぎるときは調整 */
  z-index: -1;
}


.hero-content h1 {
font-size: 3.5rem;
margin-top: 10px;
}
.hero-content h2 {
font-size: 1.5rem;
font-weight: normal;
letter-spacing: 0.1rem;
}

/* Section Base */
.section {
padding: 60px 20px;
max-width: 960px;
margin: auto;
}
.section h2 {
font-size: 2rem;
text-align: center;
color: #111;
}
.section h3 {
font-size: 1.3rem;
text-align: center;
margin-top: -10px;
color: #333;
}

/* About */
.about-content {
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
margin-top: 30px;
}
.about-content p {
max-width: 700px;
line-height: 1.8;
font-size: 1rem;
}

/* Cards */
.cards {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 30px;
margin-top: 40px;
}
.card {
flex: 0 0 280px;
background: #fff;
border: 1px solid #eee;
border-radius: 10px;
padding: 20px;
text-align: center;
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.card h4 {
font-size: 1.2rem;
margin: 15px 0 10px;
}
.card p {
font-size: 0.95rem;
color: #555;
line-height: 1.6;
}

.card img {
  height: 150px;
  display: block;
  margin: 0 auto;
}

/* Comparison Table */
.comparison table {
border-collapse: collapse;
margin-top: 40px;
}
.comparison th,
.comparison td {
border: 1px solid #ccc;
padding: 12px 10px;
text-align: center;
}
.comparison th {
background-color: #f9f9f9;
font-weight: bold;
}
.comparison td:first-child {
text-align: left;
}

/* Policy Section */
.policy details {
margin-top: 20px;
border: 1px solid #ddd;
border-radius: 6px;
padding: 10px 15px;
background-color: #fafafa;
}
.policy summary {
font-weight: bold;
cursor: pointer;
}
.policy p {
padding: 10px 0;
line-height: 1.6;
font-size: 0.95rem;
}

/* Footer */
.footer {
background-color: #333;
color: #fff;
text-align: center;
padding: 30px 10px;
margin-top: 60px;
font-size: 0.9rem;
}

/* Responsive */
@media (max-width: 768px) {
.cards {
  flex-direction: column;
  align-items: center;
}
}

.table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.table-wrapper table {
  min-width: 600px; /* 横スクロールさせる最低幅 */
  width: 100%;
  border-collapse: collapse;
}

.table-wrapper th,
.table-wrapper td {
  padding: 12px;
  border: 1px solid #ddd;
  text-align: center;
}

/* ==========================================================================
Footer Styles
========================================================================== */
footer {
background-color: var(--secondary-color);
color: var(--white);
padding: 20px 0;
font-size: 0.85rem;
}

footer .container {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
max-width: 1200px;
margin: 0 auto;
padding: 0 15px;
}

.footer-left {
display: flex;
align-items: center;
gap: 20px;
flex-wrap: wrap;
}

footer .footer-logo img {
height: 60px;
}

footer p {
margin: 0;
color: #ccc;
}

footer .footer-links {
list-style: none;
padding: 0;
margin: 0;
display: flex;
gap: 30px;
flex-wrap: wrap;
}

footer .footer-links li {
margin: 0;
}

footer .footer-links a {
color: #ccc;
text-decoration: none;
transition: color 0.3s ease;
}

footer .footer-links a:hover {
color: #fff;
text-decoration: underline;
}

@media (max-width: 768px) {
footer .container {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
}

.footer-left {
    flex-direction: column;
    align-items: center;
}

.footer-links {
    justify-content: center;
}
}