@charset "UTF-8";

/* =========================================================
   ichi1Design LP Template - Style
   ========================================================= */

body {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0; 
}

/* ▼▼▼ デザイン干渉防止用スコープ ▼▼▼ */
/* ページ全体ではなく、このクラス内のみに適用 */
.ichi1-template {
  background: #fff;
  color: #333;
  line-height: 1.6;
  box-sizing: border-box;
  max-width: 1200px;
  margin: auto; 
  padding: 20px 10px;
}

.ichi1-template *,
.ichi1-template *::before,
.ichi1-template *::after {
  box-sizing: inherit;
}

/* 画像の基本設定（重要：ここを限定しないとサイトが壊れる） */
.ichi1-template img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border-style: none;
}

/* ヘッダー */
.ichi1-template .ichi1-header h1 {
  font-size: 36px;
  text-align: center;
  margin: 20px 0;
  font-weight: 700;
}

/* スライダーエリア */
.ichi1-template .ichi1-slider-wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 50px;
}

.ichi1-template .ichi1-slider {
  width: 100%;
  position: relative;
  min-height: 200px; 
}

.ichi1-template .ichi1-slider img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 1;
}

.ichi1-template .ichi1-slider img.active {
  opacity: 1;
  z-index: 2;
  position: relative;
}

/* サムネイル＋矢印 */
.ichi1-template .ichi1-thumbnails-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 10px 0;
}

.ichi1-template .ichi1-thumbnails {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
}
.ichi1-template .ichi1-thumbnails::-webkit-scrollbar {
  display: none;
}

.ichi1-template .ichi1-thumbnails img.thumb {
  width: 120px;
  cursor: pointer;
  opacity: 0.6;
  border-radius: 4px;
  transition: opacity 0.3s, border 0.3s;
  flex: 0 0 auto;
  border: 2px solid transparent;
}

.ichi1-template .ichi1-thumbnails img.thumb.active {
  opacity: 1;
  border-color: #007BFF;
}

.ichi1-template .thumb-nav {
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  border: none;
  font-size: 24px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background 0.3s;
}
.ichi1-template .thumb-nav:hover {
  background: rgba(0, 0, 0, 0.6);
}

/* キャプション */
.ichi1-template .slider-caption {
  text-align: center;
  margin-top: 10px;
}
.ichi1-template .slider-caption .slide-title {
  font-size: 22px;
  font-weight: bold;
  margin: 0 0 5px 0;
}
.ichi1-template .slider-caption .slide-sub {
  font-size: 16px;
  color: #555;
  margin: 0;
}

/* 説明帯 */
.ichi1-template .demo-info {
  background-color: #f8f9fa;
  padding: 25px 20px;
  text-align: center;
  margin: 30px 0;
  border-radius: 8px;
}
.ichi1-template .demo-info h2 {
  font-size: 26px;
  margin-bottom: 15px;
  margin-top: 0;
}
.ichi1-template .demo-info p {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin-bottom: 10px;
}

/* CTAセクション */
.ichi1-template .hero-cta, 
.ichi1-template .middle-cta {
  text-align: center;
  margin: 20px 0;
}

/* 特徴・詳細・お問い合わせ */
.ichi1-template .ichi1-features,
.ichi1-template .ichi1-details,
.ichi1-template .ichi1-contact {
  padding: 30px 20px;
  text-align: center;
}
.ichi1-template .ichi1-features h2,
.ichi1-template .ichi1-details h2,
.ichi1-template .ichi1-contact h2 {
  font-size: 28px;
  margin-bottom: 15px;
  margin-top: 0;
}

.ichi1-template .ichi1-features ul {
  list-style: disc inside;
  display: inline-block;
  text-align: left;
  font-size: 18px;
  line-height: 1.6;
  color: #333;
  margin: 0 auto;
  padding-left: 20px;
}

.ichi1-template .ichi1-details p,
.ichi1-template .ichi1-contact p {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 20px;
}

/* ボタン設定 */
.ichi1-template .ichi1-btn { 
  font-weight: bold;
  padding: 12px 30px; 
  border-radius: 6px; 
  font-size: 18px; 
  text-decoration: none; 
  display: inline-block; 
  transition: background-color 0.3s, transform 0.3s; 
  color: #fff;
  border: none;
}

.ichi1-template .ichi1-footer {
      text-align: center;
      padding: 20px;
      font-size: 14px;
      color: #666;
    }

.ichi1-template .btn-blue { background-color:#007BFF; }
.ichi1-template .btn-blue:hover { background-color:#0056b3; }

.ichi1-template .btn-green { background-color:#28a745; }
.ichi1-template .btn-green:hover { background-color:#1e7e34; }

.ichi1-template .btn-orange { background-color:#FF7A00; }
.ichi1-template .btn-orange:hover { background-color:#e67300; }

.ichi1-template .btn-gradient { background: linear-gradient(90deg,#FF7A00,#FF9E00); }
.ichi1-template .btn-gradient:hover { background: linear-gradient(90deg,#FF9E00,#FF7A00); transform:translateY(-2px); }

/* レスポンシブ */
@media (max-width:767px){
  .ichi1-template .ichi1-header h1 { font-size: 24px; }
  .ichi1-template .slider-caption .slide-title{ font-size:18px; }
  .ichi1-template .slider-caption .slide-sub{ font-size:14px; }
  .ichi1-template .ichi1-btn { font-size:16px; padding:10px 20px; }
  .ichi1-template .demo-info h2{ font-size:22px; }
  .ichi1-template .demo-info p{ font-size:14px; }
  .ichi1-template .ichi1-features ul{ font-size:16px; padding-left:15px; }
  .ichi1-template .ichi1-footer { padding: 10px; }
  .ichi1-template .ichi1-footer p { font-size: 10px; }
}