@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
*/

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

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

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

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

/************************************
** Landing Page Custom Styles
************************************/
:root {
  /* Updated Palette for 50s Women: Stylish, Natural, Fun */
  --lp-primary-color: #E07A5F;
  /* Terra Cotta / Soft Coral - Warmth & Energy */
  --lp-secondary-color: #3D5A80;
  /* Elegant Slate Blue - Trust & Intelligence */
  --lp-accent-color: #F2CC8F;
  /* Soft Gold - Highlight/Fun */
  --lp-text-main: #4a4a4a;
  /* Softer Dark Gray */
  --lp-bg-light: #FDFCF8;
  /* Warm Off-White/Cream */
  --lp-font-base: 'Noto Sans JP', sans-serif;
  --lp-gradient-hero: linear-gradient(120deg, #f6d365 0%, #fda085 100%);
  /* Warm Sunset Gradient (fallback) */
  --lp-gradient-btn: linear-gradient(to right, #E07A5F, #d96d50);
}

.page-template-page-lp img {
  max-width: 100%;
  height: auto;
  display: block;
}

.page-template-page-lp a {
  text-decoration: none;
  color: inherit;
}

/* LP Hero */
.lp-hero {
  position: relative;
  width: 100%;
  height: 80vh;
  min-height: 500px;
  /* Static background removed for slider */
  background-color: #fcece8;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--lp-text-main);
  text-align: left;
  padding: 0 5%;
  overflow: hidden;
  /* Ensure slides don't overflow */
}

/* Slider Base Styles */
.lp-slider-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.lp-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}

.lp-slide.active {
  opacity: 1;
}

/* Content Slider specific */
.lp-content-slider-box {
  position: relative;
  width: 100%;
  max-width: 800px;
  /* Make 16:9 responsive */
  aspect-ratio: 16/9;
  height: auto;
  margin: 30px auto;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.lp-hero::before {
  /* Soft overlay to make text readable */
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.4) 60%, rgba(255, 255, 255, 0) 100%);
  z-index: 1;
}

.lp-hero-content {
  max-width: 600px;
  z-index: 2;
  padding: 40px;
}

.lp-hero-title {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: var(--lp-secondary-color);
  background: none;
  -webkit-text-fill-color: initial;
  text-shadow: 2px 2px 0px rgba(255, 255, 255, 1);
}

.lp-catchphrase {
  font-size: 1.2rem;
  margin-bottom: 2.5rem;
  color: #555;
  font-weight: 500;
}

.lp-btn-cta {
  display: inline-block;
  padding: 1rem 4rem;
  font-size: 1.1rem;
  font-weight: bold;
  color: white;
  background: var(--lp-gradient-btn);
  border-radius: 50px;
  box-shadow: 0 6px 20px rgba(224, 122, 95, 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
  letter-spacing: 0.05em;
}

.lp-btn-cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(224, 122, 95, 0.6);
}

/* LP Sections */
.lp-section {
  padding: 120px 20px;
  /* Increased spacing */
}

/* Animations */
.lp-animate {
  opacity: 0;
  transition: all 0.8s ease-out;
}

.lp-fade-up {
  transform: translateY(40px);
}

.lp-fade-left {
  transform: translateX(-40px);
}

.lp-fade-right {
  transform: translateX(40px);
}

.lp-scale-in {
  transform: scale(0.9);
}

.lp-animate.lp-visible {
  opacity: 1;
  transform: none;
}

.lp-section-title {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 3rem;
  position: relative;
  display: block;
  color: var(--lp-text-main);
}

.lp-section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  background: var(--lp-secondary-color);
  margin: 15px auto 0;
  border-radius: 2px;
}

/* About */
.lp-about-section {
  background-color: white;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.lp-about-text {
  font-size: 1.1rem;
  line-height: 2;
  color: var(--lp-text-main);
}

.lp-guide-container {
  max-width: 480px;
  /* Smartphone width */
  margin: 0 auto;
  text-align: left;
  background: #fdfdfd;
  padding: 30px;
  border-radius: 10px;
  border: 1px solid #eee;
}

.lp-guide-container ol {
  padding-left: 20px;
  margin-bottom: 20px;
}

.lp-guide-note {
  font-size: 0.9rem;
  color: #666;
}

/* Target Grid */
.lp-target-section {
  background-color: var(--lp-bg-light);
  background-image: radial-gradient(#E07A5F 0.5px, transparent 0.5px);
  background-size: 20px 20px;
  /* Subtle polka dot pattern for fun */
}

.lp-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  max-width: 900px;
  margin: 0 auto;
}

.lp-card {
  background: white;
  padding: 30px;
  border-radius: 20px;
  /* Softer shape */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border: none;
  border-top: 6px solid var(--lp-accent-color);
  /* Pop of color */
  transition: transform 0.3s ease;
}

.lp-card:hover {
  transform: translateY(-8px);
}

.lp-card h3 {
  font-size: 1.3rem;
  margin-bottom: 1rem;
  color: var(--lp-primary-color);
  display: flex;
  align-items: center;
  gap: 10px;
}

.lp-card p {
  font-size: 0.95rem;
  color: #555;
  margin-bottom: 0.5rem;
}

.lp-solution {
  color: var(--lp-text-main);
  font-weight: bold;
  margin-top: 10px;
  display: block;
  padding-top: 10px;
  border-top: 1px dashed #eee;
}

/* Content/Topics */
.lp-content-section {
  background: white;
}

.lp-keyword-cloud {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  max-width: 1000px;
  margin: 0 auto;
}

.lp-keyword-tag {
  background: #eff6ff;
  color: var(--lp-secondary-color);
  padding: 10px 20px;
  border-radius: 30px;
  font-weight: 600;
  border: 1px solid #dae0f2;
}

.lp-topics-list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  max-width: 1000px;
  margin: 40px auto 0;
}

.lp-topic-item {
  display: flex;
  align-items: center;
  background: white;
  border: 1px solid #eee;
  padding: 15px;
  border-radius: 8px;
  color: var(--lp-text-main);
}

.lp-topic-item::before {
  content: '✓';
  color: var(--lp-accent-color);
  font-weight: bold;
  margin-right: 10px;
  font-size: 1.2rem;
}

/* CTA Section */
.lp-cta-section {
  background: linear-gradient(135deg, #1e1e2f, #2a2a40);
  color: white;
  text-align: center;
}

.lp-price-info {
  font-size: 1.5rem;
  margin: 20px 0;
  font-weight: bold;
}

.lp-price-small {
  font-size: 1rem;
  font-weight: normal;
  opacity: 0.8;
}

/* Responsive */
@media (max-width: 768px) {
  .lp-hero-title {
    font-size: 2rem;
    word-break: auto-phrase;
    /* helps with natural breaking if supported */
  }

  .lp-section-title {
    font-size: 1.6rem;
    word-break: auto-phrase;
  }

  .lp-section {
    padding: 60px 20px;
  }

  .lp-card-grid {
    grid-template-columns: 1fr;
  }

  /* Optimize Button for mobile */
  .lp-btn-cta {
    padding: 1rem 1.5rem;
    /* Reduce side padding from 4rem */
    font-size: 1rem;
    width: 90%;
    /* Ensure it fits but doesn't touch edges */
    max-width: 320px;
    /* Don't get too wide on tablets */
    display: block;
    margin: 0 auto;
    text-align: center;
    white-space: nowrap;
    /* Try to keep one line if possible */
  }
}