@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/* ===== LP全体ラップ ===== */
.lp-wrapper {
  font-family: 'Segoe UI', 'Hiragino Sans', sans-serif;
  background-color: #f9fafb;
  color: #333;
}

/* ===== 全セクション ===== */
.lp-wrapper section {
  padding: 60px 20px;
  max-width: 1200px;
  margin: 0 auto;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-in-out;
}

.lp-wrapper section.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===== ヘッダー ===== */
.lp-wrapper .lp-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background: #ffffff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.lp-wrapper .lp-header .logo { font-size: 1.5rem; font-weight: bold; color: #0077b6; }
.lp-wrapper .lp-header nav a {
  margin: 0 10px;
  text-decoration: none;
  color: #333;
  font-weight: 500;
}
.lp-wrapper .lp-header .cta-btn {
  background: #0077b6;
  color: #fff;
  padding: 10px 15px;
  border-radius: 5px;
  text-decoration: none;
  transition: background 0.3s;
}
.lp-wrapper .lp-header .cta-btn:hover { background: #005f87; }

/* ===== ファーストビュー ===== */
.lp-wrapper .hero {
  background: url('https://via.placeholder.com/1200x600') center/cover no-repeat;
  color: #fff;
  text-align: center;
  padding: 100px 20px;
}
.lp-wrapper .hero h1 { font-size: 2.5rem; margin-bottom: 20px; animation: fadeInDown 1s forwards; }
.lp-wrapper .hero p { font-size: 1.2rem; margin-bottom: 30px; animation: fadeInUp 1s forwards 0.5s; }
.lp-wrapper .hero .cta-btn { animation: fadeInUp 1s forwards 1s; }

/* ===== 商品紹介 ===== */
.lp-wrapper .products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}
.lp-wrapper .product-card {
  background: #f1f7fb;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  transition: transform 0.3s, box-shadow 0.3s;
}
.lp-wrapper .product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}

/* ===== 導入事例 ===== */
.lp-wrapper .case-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}
.lp-wrapper .case-card {
  background: #ffffff;
  padding: 20px;
  border-radius: 10px;
  transition: transform 0.3s, box-shadow 0.3s;
}
.lp-wrapper .case-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}

/* ===== 選ばれる理由 ===== */
.lp-wrapper .reason-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.lp-wrapper .reason {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  flex: 1 1 250px;
  transition: transform 0.3s, box-shadow 0.3s;
}
.lp-wrapper .reason:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}

/* ===== お客様の声 ===== */
.lp-wrapper .voice-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}
.lp-wrapper .voice-item {
  background: #f1f7fb;
  padding: 20px;
  border-radius: 10px;
  font-style: italic;
  transition: transform 0.3s, box-shadow 0.3s;
}
.lp-wrapper .voice-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}

/* ===== 会社案内 ===== */
.lp-wrapper .company {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.lp-wrapper .company .message {
  flex: 1 1 400px;
}
.lp-wrapper .company .info {
  flex: 1 1 400px;
  background: #ffffff;
  padding: 20px;
  border-radius: 10px;
}

/* ===== お問い合わせ ===== */
.lp-wrapper .contact form {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.lp-wrapper .contact input, .lp-wrapper .contact textarea {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  width: 100%;
}
.lp-wrapper .contact button {
  background: #0077b6;
  color: #fff;
  padding: 12px;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  cursor: pointer;
}

/* ===== フッター ===== */
.lp-wrapper footer {
  background: #ffffff;
  padding: 20px;
  text-align: center;
  font-size: 0.9rem;
  color: #666;
}

/* ===== アニメーション ===== */
@keyframes fadeInDown { from { opacity:0; transform: translateY(-30px); } to { opacity:1; transform: translateY(0); } }
@keyframes fadeInUp { from { opacity:0; transform: translateY(30px); } to { opacity:1; transform: translateY(0); } }

/* ===== レスポンシブ ===== */
@media(max-width:768px) {
  .lp-wrapper .hero h1 { font-size: 1.8rem; }
  .lp-wrapper .hero p { font-size: 1rem; }
  .lp-wrapper .company { flex-direction: column; }
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
