/* ============================================
   single.php 専用スタイル
   タイトルエリアはコンセプトページの sec-opn 構成を踏襲
   ============================================ */
.sec-opn .sec-opn_bg{padding:0}
.sec-opn .sec-opn_bg .contents__left{
  height:auto;padding:30px;background:#a49072;
  display:flex;justify-content:center;align-items:center;
}
.sec-opn .sec-opn_bg .contents__left--ttl{
  display:inline-block;color:#fff;
}
.sec-opn .sec-opn_bg .contents__left--ttl p{
  display:inline-block;font-family:"Lora",serif;
  font-size:1.4rem;border-bottom:1px solid #fff;
}
.sec-opn .sec-opn_bg .contents__left--ttl .opn-ttl{
  font-size:3rem;
  margin-bottom:0.8rem;
  font-weight:400;
  font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
}
.sec-opn .sec-opn_bg .contents__left--ttl span{
  font-family:"Lora",serif;
  font-size:1.4rem;letter-spacing:0.2rem;
}
.sec-opn .sec-opn_bg .contents__right{padding:0}
.sec-opn .sec-opn_bg .contents__right--img{
  width:100%;position:relative;
  aspect-ratio:3/2;overflow:hidden;   /* サムネが巨大化しないよう固定比でトリミング */
}
.sec-opn .sec-opn_bg .contents__right--img img{
  width:100%;height:100%;object-fit:cover;display:block;
}

/* 本文エリア */
.single-body{padding:6rem 0 10rem;background:#faf8f4}
.single-body__inner{max-width:84rem;margin:0 auto;padding:0 24px}

.single-body__tags{
  list-style:none;display:flex;flex-wrap:wrap;
  gap:0.8rem;padding:0;margin:0 0 3rem;
}
.single-body__tags a{
  display:inline-block;padding:0.4rem 1.2rem;
  font-family:"Lora",serif;font-size:1.2rem;letter-spacing:0.15rem;
  color:#a49072;border:1px solid rgba(164,144,114,.3);
  text-decoration:none;
}
.single-body__tags a:hover{background:#a49072;color:#fff}

.single-body__content{font-size:1.5rem;line-height:2.1;letter-spacing:0.05rem}
.single-body__content p{margin:0 0 2rem}

.single-body__nav{
  display:flex;justify-content:space-between;gap:2rem;
  font-size:1.3rem;font-family:"Lora",serif;letter-spacing:0.1rem;
}
.single-body__nav a{color:#a49072;text-decoration:none}
.single-body__nav a:hover{color:#000}
.single-body--nav{padding:6rem 0;background:#faf8f4}

/* ============================================
   本文下 CTA ブロック（モカ地）
   ============================================ */
.single-cta{
  padding:8rem 0;background:#a49072;color:#fff;text-align:center;
}
.single-cta__inner{max-width:84rem;margin:0 auto;padding:0 24px}
.single-cta__cap{
  font-family:"Lora",serif;font-size:1.3rem;letter-spacing:0.4rem;
  margin:0 0 2.4rem;color:rgba(255,255,255,.9);
  display:inline-block;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.5);
}
.single-cta__title{
  font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:2.4rem;line-height:1.8;letter-spacing:0.15rem;font-weight:400;
  margin:0 0 3rem;
}
.single-cta__body{
  font-size:1.4rem;line-height:2;letter-spacing:0.05rem;
  max-width:65rem;margin:0 auto 4rem;
}
.single-cta__btns{
  display:flex;flex-wrap:wrap;gap:1.6rem;justify-content:center;align-items:center;
}
.single-cta__btn{
  display:inline-block;min-width:26rem;padding:1.6rem 2.4rem;
  font-family:"Lora",serif;font-size:1.3rem;letter-spacing:0.3rem;
  text-decoration:none;transition:.2s;
}
.single-cta__btn--primary{
  background:#000;color:#fff;border:1px solid #000;
}
.single-cta__btn--primary:hover{background:transparent;color:#fff}
.single-cta__btn--secondary{
  background:transparent;color:#fff;border:1px solid #fff;
}
.single-cta__btn--secondary:hover{background:#fff;color:#a49072}

@media only screen and (max-width:768px){
  .single-cta{padding:5rem 0}
  .single-cta__title{font-size:1.5rem;line-height:1.7}
  .single-cta__body{font-size:1.3rem;margin:0 0 3rem}
  .single-cta__btns{flex-direction:column;gap:1.2rem}
  .single-cta__btn{min-width:auto;width:100%;max-width:28rem}
  .single-body--nav{padding:3rem 0}
}

@media only screen and (max-width:768px){
  .sec-opn{margin-top:0}
  .sec-opn .sec-opn_bg .contents{position:relative}
  .sec-opn .sec-opn_bg .contents__left{
    position:absolute;bottom:0;left:0;
    transform:translateY(50%);
    padding:0;display:block;background:none;z-index:1;
  }
  .sec-opn .sec-opn_bg .contents__left--ttl{
    padding:20px 30px;display:inline-block;color:#fff;background:#a49072;
  }
  .sec-opn .sec-opn_bg .contents__left--ttl p{display:none}
  .sec-opn .sec-opn_bg .contents__left--ttl .opn-ttl{font-size:2rem;line-height:1.6}
  .sec-opn .sec-opn_bg .contents__left--ttl span{font-size:1.2rem}
  .sec-opn .sec-opn_bg .contents__right--img{
    width:auto;height:45vh;
  }
  .sec-opn .sec-opn_bg .contents__right--img img{
    width:100%;height:100%;object-fit:cover;object-position:center;
  }
  .single-body{padding:8rem 0 6rem}
  .single-body__nav{flex-direction:column;gap:1rem;text-align:center}
}
