/*==================================================================================================================*/
/* 診断シミュレーション */
/*==================================================================================================================*/

/* -----------------------------------------------
   「初めての方へ」ラベル
----------------------------------------------- */
.sim-for-beginners {
  display: inline-block;
  padding: 3px 14px;
  background: #5a7a3d;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  border-radius: 25px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

/* ブロック全体 */
.easys_content:has(.simulation_input_head) .entry_post > div {
  font-size: 16px;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp > div {
  margin-right: 0;
  margin-left: 0;
  font-size: 14px;
}

/* -----------------------------------------------
   質問ブロック共通
----------------------------------------------- */
.sim-question {
  margin: 0 0 40px 0;
  padding: 0;
  width: 100%;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-question {
  margin: 0 0 30px 0;
}

/* 質問タイトル */
.sim-question-title {
  margin: 0 0 16px 0;
  padding: 12px 16px;
  background: #5a7a3d;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  border-radius: 6px;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-question-title {
  font-size: 15px;
  padding: 10px 14px;
}

/* -----------------------------------------------
   選択肢（ラジオボタン）
----------------------------------------------- */
.sim-options {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-options {
  flex-direction: column;
  gap: 8px;
}

.sim-option-label {
  display: flex;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  padding: 14px 20px;
  border: 2px solid #ccc;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
  flex: 1 1 0;
  min-width: 140px;
}
.sim-option-label:hover {
  border-color: #5a7a3d;
  background: #f5f9f0;
}
.sim-option-label.selected {
  border-color: #5a7a3d;
  background: #eaf3e0;
  box-shadow: 0 0 0 1px #5a7a3d;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-option-label {
  padding: 12px 16px;
  min-width: auto;
}

.sim-option-label input[type="radio"] {
  margin: 0;
  padding: 0;
  width: 20px;
  height: 20px;
  accent-color: #5a7a3d;
  flex-shrink: 0;
}

.sim-option-text {
  font-size: 16px;
  line-height: 1.5;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-option-text {
  font-size: 14px;
}

/* -----------------------------------------------
   入力画面ヘッダ
----------------------------------------------- */
.easys_content:has(.simulation_input_head) .entry_post > div .simulation_input_head {
  width: 100%;
}

/* -----------------------------------------------
   入力画面スクロール部
----------------------------------------------- */
.easys_content:has(.simulation_input_head) .entry_post > div .simulation_input_scroll {
  display: none;
  width: 100%;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp > div .simulation_input_scroll {
  overflow-x: scroll;
}

/* -----------------------------------------------
   横スクロールメッセージ
----------------------------------------------- */
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp > div .sp_message {
  color: #ff0000;
  font-weight: bold;
  font-size: 12px;
}

/* -----------------------------------------------
   入力画面フッタ
----------------------------------------------- */
.easys_content:has(.simulation_input_head) .entry_post > div .simulation_input_foot {
  width: 100%;
}

/* -----------------------------------------------
   診断結果
----------------------------------------------- */
.sim-result {
  margin: 40px 0 0 0;
  padding: 30px;
  background: #fafaf5;
  border: 2px solid #5a7a3d;
  border-radius: 10px;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-result {
  margin: 30px 0 0 0;
  padding: 20px 16px;
}

.sim-result-header {
  margin: 0 0 24px 0;
  padding: 10px 0;
  border-bottom: 2px solid #5a7a3d;
  color: #5a7a3d;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-result-header {
  font-size: 18px;
  margin: 0 0 16px 0;
}

/* 結果行 */
.sim-result-row {
  display: flex;
  align-items: center;
  margin: 0 0 16px 0;
  padding: 12px 16px;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #e0e0d8;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-result-row {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 10px 14px;
}

.sim-result-label {
  font-size: 14px;
  color: #666;
  min-width: 140px;
  flex-shrink: 0;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-result-label {
  font-size: 13px;
  min-width: auto;
}

.sim-result-value {
  font-size: 18px;
  font-weight: bold;
  color: #333;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-result-value {
  font-size: 16px;
}

.sim-classification {
  color: #5a7a3d;
  font-size: 20px;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-classification {
  font-size: 17px;
}

/* -----------------------------------------------
   おすすめ商品セクション
----------------------------------------------- */
.sim-result-products {
  margin: 24px 0 0 0;
}

.sim-result-products-title {
  margin: 0 0 16px 0;
  padding: 0;
  font-size: 18px;
  font-weight: bold;
  color: #5a7a3d;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-result-products-title {
  font-size: 16px;
}

.sim-product-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* テキストのみのカード（画像なし・分類・推奨容量用） */
.sim-card-text {
  border-left: 4px solid #5a7a3d;
}

.sim-product-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #d4d4c8;
  border-radius: 8px;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-product-card {
  gap: 14px;
  padding: 12px 14px;
}

/* 商品画像エリア */
.sim-product-img {
  flex-shrink: 0;
  width: 100px;
  min-height: 133px;
}
.sim-product-img img {
  width: 100px;
  height: 133px;
  object-fit: cover;
  border-radius: 6px;
  display: block;
}
/* 画像なしプレースホルダー（同じ高さの余白） */
.sim-product-img--empty {
  height: 133px;
  background: transparent;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-product-img {
  width: 80px;
  min-height: 107px;
}
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-product-img img {
  width: 80px;
  height: 107px;
}
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-product-img--empty {
  height: 107px;
}

/* 商品情報エリア */
.sim-product-info {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sim-product-name {
  font-size: 17px;
  font-weight: bold;
  color: #333;
  margin: 0 0 6px 0;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-product-name {
  font-size: 15px;
}

.sim-product-price {
  font-size: 16px;
  color: #c0392b;
  font-weight: bold;
  margin: 0 0 6px 0;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-product-price {
  font-size: 14px;
}

.sim-product-reason {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-product-reason {
  font-size: 13px;
}

/* カートボタン */
.sim-cart-btn {
  display: block;
  margin: 12px 0 0 0;
  padding: 12px 20px;
  background: #e07b2a;
  color: #fff !important;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  text-decoration: none !important;
  border-radius: 18px;
  transition: background 0.2s ease;
  width: 150px;
}
.sim-cart-btn:hover {
  background: #c4681d;
  text-decoration: none !important;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp .sim-cart-btn {
  font-size: 14px;
  padding: 11px 16px;
}

.sim-no-products {
  padding: 20px;
  text-align: center;
  color: #999;
  font-size: 14px;
}

/* -----------------------------------------------
   注意事項
----------------------------------------------- */
.easys_content:has(.simulation_input_head) .entry_post > div .notes_message {
  margin: 30px 0 0 0;
}
.easys_content:has(.simulation_input_head) .entry_post > div .notes_message p {
  margin: 0;
  padding: 5px;
  line-height: 24px;
}
/* SP */
.easys_content:has(.simulation_input_head) .entry_post.sp > div .notes_message {
  margin: 10px 0 0 0;
}

/* -----------------------------------------------
   質問表（非公開）を非表示
----------------------------------------------- */
#p6totjzbvj4ztrbpivmg {
  display: none;
}
