@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;700&display=swap');

body {
  font-family: 'Zen Maru Gothic', sans-serif;
  margin: 0;
  padding: 0;
  background-color: #fff8f0;
  color: #444;
}

/* ----------------------ここからヘッダー---------------------- */
header {
  background-color: #fceae8;
  padding: 2rem 1rem;
  text-align: center;
}

header h1 {
  font-size: 2rem;
  margin: 0;
}

.header-logo {
  text-align: center;
  margin-bottom: 10px;
}

.header-logo img {
  width: 300px;         /* 横幅を固定（調整可） */
  height: auto;         /* 縦は比率を保って自動 */
  max-width: 100%;      /* スマホ画面での崩れ防止 */
}


header p {
  font-size: 1rem;
  color: #666;
}

/* ISUM登録事業者表示（背景なし・中央寄せ） */
.isum-logo {
  max-width: 160px;
  height: auto;
  margin-bottom: 10px;
}

.isum-section {
  text-align: center;
  margin: 30px auto;
}

#isumCertificateBanner {
  display: inline-block;
  font-size: 14px;
  color: #0066cc;
  text-decoration: underline;
  margin-top: 8px;
}

/* ----------------------ヘッダー終わり---------------------- */

/* ----------------------ここからナビ---------------------- */
nav {
  display: flex;
  justify-content: center;
  background-color: #fff0f5;
  padding: 10px 0;
  border-bottom: 1px solid #f0cfc1;
}

nav a {
  text-decoration: none;
  color: #6d4c41;
  font-weight: bold;
  font-size: 15px;
  transition: color 0.3s;
}

nav a:hover {
  color: #d2691e;
}

@media screen and (max-width: 600px) {
  nav {
    flex-direction: column;
    gap: 10px;
  }
}

/* ナビ全体を中央寄せにして、スマホで横並びにも対応 */
nav {
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0;
  text-align: center;
}
/* ----------------------ナビ終わり---------------------- */

/* ----------------------ここからボディー基本設定---------------------- */
section {
    padding: 2rem 1rem;
    text-align: center;
  }

h2 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  color: #aa4a5c;
}
/* ----------------------ボディー基本設定終わり---------------------- */

/* ----------------------ここから制作映像一覧---------------------- */
section.products {
    background-color: #fff6f2;
  }

.products-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 960px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .products-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.product-card {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
  padding: 1rem;
  text-align: center;
}

.product-card img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.product-card h3 {
  font-size: 1.1rem;
  margin: 1rem 0 0.5rem;
}

.product-card h5 {
  color:#f7999c ;
}

.product-card p {
  font-size: 0.95rem;
  color: #555;
  line-height: 0.5;
}

/* 詳しく見るボタン */
.detail-button {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.5rem 1.2rem;
  background-color: #f4a9ac;
  color: white;
  border-radius: 999px;
  text-decoration: none;
  transition: background-color 0.3s;
}

.detail-button:hover {
  background-color: #e78b90;
}

/* もっと見るボタン */
 .more-button-container {
    text-align: center;
    margin-top: 2rem;
  }

  .more-button {
  display: inline-block;
  padding: 0.7rem 2rem;
  background-color: #f4a9ac;
  color: white;
  font-weight: bold;
  border-radius: 999px;
  text-decoration: none;
  transition: background-color 0.3s;
}

   .more-products {
  width: 100%;
  display: flex;
  justify-content: center; /* 中央寄せ */
  margin-top: 2rem;
}

.more-button:hover {
  background-color: #e78b90;
}
/* ----------------------制作映像一覧終わり---------------------- */

/* ----------------------ここからその他サービス---------------------- */
section.other-services {
  background-color: #fff0f0;
}

.other-services-grid {
  display: flex; /* grid → flex に変更 */
  justify-content: center; /* 中央寄せ */
  flex-wrap: wrap; /* 複数枚ある場合折り返し */
  gap: 2rem;
  max-width: 960px;
  margin: 0 auto;
}

.other-services-card {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
  padding: 1rem;
  text-align: center;
  max-width: 400px; /* 任意：カード最大幅 */
  flex: 1 1 300px; /* 最小300pxで伸縮 */
}

.other-services-card img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.other-services-card h3 {
  font-size: 1.1rem;
  margin: 1rem 0 0.5rem;
}

.other-services-card p {
  font-size: 0.95rem;
  color: #555;
  line-height: 0.5;
}

/* 詳しく見るボタン */
.other-services-detail-button {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.5rem 1.2rem;
  background-color: #f4a9ac;
  color: white;
  border-radius: 999px;
  text-decoration: none;
  transition: background-color 0.3s;
}

.other-services-detail-button:hover {
  background-color: #e78b90;
}

/* もっと見るボタン */
.other-services-more-products {
  width: 100%;
  display: flex;
  justify-content: center; /* 中央寄せ */
  margin-top: 2rem;
}

.other-services-more-button {
  display: inline-block;
  padding: 0.7rem 2rem;
  background-color: #f4a9ac;
  color: white;
  font-weight: bold;
  border-radius: 999px;
  text-decoration: none;
  transition: background-color 0.3s;
}

.other-services-more-button:hover {
  background-color: #e78b90;
}

/* ----------------------その他サービス終わり---------------------- */

/* ----------------------ここからお問い合わせ---------------------- */
section#contact {
  background-color: #ebfcec;
}

.line-button {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.75rem 2rem;
  background-color: #06c755;
  color: white;
  border-radius: 999px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s;
}

.line-button:hover {
  background-color: #04b14a;
}
/* ----------------------お問い合わせ終わり---------------------- */

/* ----------------------ここからお客様の声---------------------- */
section.reviews {
  background-color: #fff7f7;
}

.reviews .line-button {
  background-color: #ffa07a;
}

.reviews .line-button:hover {
  background-color: #ff865c;
}
/* ----------------------お客様の声終わり---------------------- */

/* ----------------------ここからSNS欄---------------------- */
  .sns-links {
    background-color: #fff7f5;
    padding: 2rem 1rem;
    text-align: center;
    border-top: 2px dashed #f0d2c2;
  }
  
  .sns-links h2 {
    font-size: 1.4rem;
    color: #a65f3e;
    margin-bottom: 1rem;
  }
  
  .sns-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
  }
  
  .sns-button {
    width: 50px;
    height: 50px;
    display: inline-block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s;
  }
  
  .sns-button:hover {
    transform: scale(1.1);
  }
  
  .sns-button.instagram {
    background-image: url('https://cdn-icons-png.flaticon.com/512/2111/2111463.png');
    background-color: #fce5e7;
  }
  
  .sns-button.tiktok {
    background-image: url('https://cdn-icons-png.flaticon.com/512/3046/3046121.png');
    background-color: #fce5e7;
  }
  
  .sns-button.youtube {
    background-image: url('https://cdn-icons-png.flaticon.com/512/1384/1384060.png');
    background-color: #fce5e7;
  }
/* ----------------------SNS欄終わり---------------------- */


/* ----------------------ここからフッター---------------------- */
footer {
  background-color: #fdeaea;
  text-align: center;
  padding: 1rem;
  font-size: 0.8rem;
}
/* ----------------------フッター終わり---------------------- */
