
/* concept.css: Concept page add-on */
/* Keep base styles from style.css; only add what's needed here. */

.concept-visual{
  max-width:1100px;
  margin: 0 auto 24px;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.concept-visual img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
}
.concept-visual figcaption{
  text-align:center;
  font-size:.85rem;
  color:#666;
  padding:10px 0 0;
}

.concept-lead{
  text-align:center;
  font-family:'Montserrat',sans-serif;
  font-size:1.05rem;
  font-weight: 600;
  line-height:1.9;
  max-width:900px;
  margin:0 auto 40px;
}
.br-md{ display:none; }

/* About block */
.about-wrap{
  display:grid;
  grid-template-columns: 1.05fr 1fr;
  gap:24px;
  max-width:1100px;
  margin:0 auto;
  align-items:start;
}
.about-media img{
  width:100%;
  height:420px;
  object-fit:cover;
  border-radius:12px;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  background:#f2f2f2;
}
.about-text{ font-size:1.05rem; line-height:1.9; font-weight: 600; color:#111; }
.about-thumbs{
  margin-top:14px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
.about-thumbs img{
  width:100%;
  height:120px;
  object-fit:cover;
  border-radius:10px;
  background:#f4f4f4;
  box-shadow:0 6px 16px rgba(0,0,0,.05);
}

/* Reviews */
.reviews{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;
  max-width:1000px;
  margin:0 auto;
}
.review{
  background:#fafafa;
  padding:20px;
  border-radius:10px;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  font-size:.95rem;
  line-height:1.7;
  font-weight: 500;
  color:#111;
}
.review span{
  display:block;
  margin-top:10px;
  font-size:.85rem;
  color:#666;
}

/* Gallery */
.gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:12px;
  max-width:1100px;
  margin:0 auto;
}
.gallery img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:10px;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  background:#f2f2f2;
}

/* Responsive */
@media (max-width: 900px){
  .about-wrap{
    grid-template-columns: 1fr;
  }
  .about-media img{ height:320px; }
}
@media (max-width: 768px){
  .concept-visual img{ height:300px; }
  .concept-lead{ font-size:1.05rem; }
  .br-md{ display:inline; }
  .gallery img{ height:180px; }
}
/* ===== Concept page Mobile font tweaks ===== */
@media (max-width: 768px){
  /* リード文 */
  .concept-lead{
    font-size: 0.95rem;
    line-height: 1.7;
    padding: 0 12px;
  }

  /* About本文 */
  .about-text{
    font-size: 0.95rem;
    line-height: 1.7;
  }

  /* Reviews */
  .review{
    font-size: 0.9rem;
    line-height: 1.6;
    padding: 16px;  /* 余白少しだけコンパクトに */
  }

  /* ギャラリーキャプションや補足がある場合 */
  .concept-visual figcaption,
  .review span{
    font-size: 0.8rem;
  }
}

