:root {
    --radius-l: 20px;
    --radius-m: 12px;
    --maxw: 1080px;
  }

  /* ---------- Section shared ---------- */
  .section {
  	padding: 50px 0;
}

  .section__head {
  	text-align: center; margin-bottom: 40px; 
}
  .section__head h2 {
    font-size: 28px;
    font-weight: 700;
	color: #663520;
  }
  .section__head p {
    margin-top: 10px;
    color: #785f55;
    font-size: 16px;
  }

  /* ---------- Selection guide (group__navi) ---------- */
  .group__navi__flow {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .group__navi__flow--item {
    background: #FFFFFF;
    border: 1px solid #E4DACB;
    border-radius: var(--radius-m);
    padding: 28px 22px;
    text-align: center;
  }

  .group__navi__flow--item:first-child {
    background: #E7EEE3;
    border-color: #5F7A61;
  }

  .group__navi__flow--img {
    width: 320px;
    height: auto;
    /*object-fit: cover;*/
    border-radius: var(--radius-m);
    margin: 0 auto 16px;
    display: block;
    /*border: 1px solid #E4DACB;*/
    background: #FFFFFF;
  }

  .group__navi__flow--label {
    display: inline-block;
    font-size: 16px;
    color: #5F7A61;
    font-weight: 700;
    background: #fff;
    border: 1px solid #5F7A61;
    border-radius: 999px;
    padding: 3px 14px;
    margin-bottom: 14px;
  }
  .group__navi__flow--item:first-child .group__navi__flow--label {
    background: #5F7A61;
    color: #fff;
    border-color: #5F7A61;
  }

  .group__navi__flow--tit {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
  }
  .group__navi__flow--tit a { text-decoration: underline; text-underline-offset: 3px; }

  .group__navi__flow--txt {
    font-size: 15px;
    line-height: 1.8;
  }

  /* ---------- Compare table (group__compare) ---------- */
  .group__compare__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--radius-m);
    border: 1px solid #E4DACB;
    background: #FFFFFF;
  }
  .group__compare__hint {
    display: none;
    font-size: 12px;
    color: #7A6C5D;
    text-align: right;
    margin-bottom: 8px;
  }

  .group__compare__table {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
    font-size: 15px;
  }
  .group__compare__table th,
  .group__compare__table td {
    padding: 16px 18px;
    border-bottom: 1px solid #E4DACB;
    text-align: left;
    vertical-align: top;
  }
  .group__compare__table thead th {
    font-size: 17px;
    background: #E7EEE3;
    color: #3B2F27;
  }
  .group__compare__table thead th:first-child { background: transparent; }
  .group__compare__table thead th a { text-decoration: none; border-bottom: 2px solid #5F7A61; }

  .group__compare__table tbody th {
    width: 110px;
    color: #7A6C5D;
    font-weight: 500;
    background: #F1E9DA;
  }
  .group__compare__table tbody tr:last-child th,
  .group__compare__table tbody tr:last-child td { border-bottom: none; }
  .group__compare__table tbody tr:last-child td {
    color: #C97A4A;
    font-weight: 700;
  }

  /* ---------- Strength (group__strength) ---------- */
  .group__strength__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid #E4DACB;
    border-left: 1px solid #E4DACB;
  }
  .group__strength__item {
    padding: 26px 22px;
    border-right: 1px solid #E4DACB;
    border-bottom: 1px solid #E4DACB;
    background: #FFFFFF;
  }
  .group__strength__item--tit {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 10px;
    color: #5F7A61;
  }
  .group__strength__item--txt {
    font-size: 15px;
    color: #785f55;
  }

  .group__strength__age {
    text-align: center;
    margin: 28px auto 0;
    font-size: 18px;
    color: #3B2F27;
    background: #F5E4D6;
    display: table;
    padding: 8px 22px;
    border-radius: 999px;
  }
  
 /* 商品詳細FAQブロック */

.group_head .pd_faq{
max-width:100%;
margin:30px 0;
}

.group_head .faq_titlebox{
text-align:center;
margin-bottom:20px;
}

.group_head .faq_title{
font-size:28px;
font-weight:bold;
color:#663520;
}

.group_head .faq_subtitle{
font-size:16px;
color:#785f55;
}

.group_head .pd_faq details{
border:1px solid #e8e8e8;
border-radius:14px;
background:#ffffff;
margin-bottom:14px;
overflow:hidden;
box-shadow:0 2px 8px rgba(0,0,0,0.04);
}

.group_head .pd_faq summary{
cursor:pointer;
list-style:none;
padding:18px 22px;
font-size:16px;
font-weight:bold;
color:#333333;
background:#fafaf7;
}

.group_head .pd_faq span{
display:inline-block;
background:#C97A4A;
color:#fff;
font-size:12px;
padding:3px 8px;
border-radius:20px;
margin-right:8px;
}

.group_head .pd_faq details .ans{
padding:20px 22px;
line-height:1.9;
color:#555555;
font-size:15px;
}

  /* ---------- Responsive ---------- */
  @media (max-width: 650px) {
  
    .section {
		padding: 30px 0;
	}
	
  .section__head h2 {
    font-size: 26px;
  }

    .group__navi__flow {
      grid-template-columns: 1fr;
    }

    .group__compare__hint {
		display: block;
	}

    .group__strength__list {
      grid-template-columns: 1fr;
	  border-right: 1px solid #E4DACB;
    }
    .group__strength__item { 
		border-right: none;
	}
  }
