.kgs30-wrap,.kgs30-wrap *{box-sizing:border-box}
.kgs30-wrap{max-width:980px;margin:18px auto;color:#2f3a45;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif}
.kgs30-accordion{border:1px solid #dbe8f5;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(48,105,165,.05)}
.kgs30-accordion>summary{list-style:none;cursor:pointer;padding:14px 18px;font-size:18px;font-weight:800;color:#315b84;background:#f7fbff;display:flex;align-items:center;justify-content:space-between}
.kgs30-accordion>summary::-webkit-details-marker{display:none}
.kgs30-accordion>summary:after{content:"＋";font-size:22px;color:#5a9fe6;line-height:1}
.kgs30-accordion[open]>summary:after{content:"−"}
.kgs30-card{padding:18px 20px 20px;border-top:1px solid #e5eef7}
.kgs30-lead{margin:0 0 16px;color:#65788c;font-size:14px;line-height:1.8}
.kgs30-step{padding:17px 0;border-top:1px solid #e7eef5}
.kgs30-step:first-of-type{border-top:0;padding-top:4px}
.kgs30-step-head{font-size:17px;font-weight:800;color:#315b84;margin-bottom:12px}
.kgs30-step-head>span{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:#5a9fe6;color:#fff;margin-right:7px;font-size:14px}
.kgs30-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.kgs30-choice{border:1px solid #cbdced!important;background:#f7fbff!important;color:#315b84!important;border-radius:9px!important;padding:10px 8px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important;line-height:1.35!important;min-height:44px}
.kgs30-choice:hover{background:#edf6ff!important}
.kgs30-choice.is-active{background:#4d8fd3!important;border-color:#4d8fd3!important;color:#fff!important}
.kgs30-custom-amount-cell{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #cbdced;background:#f7fbff;border-radius:9px;min-height:44px;padding:5px 9px;color:#315b84;font-weight:700}
.kgs30-custom-amount-cell:focus-within{border-color:#4d8fd3;box-shadow:0 0 0 3px rgba(77,143,211,.12)}
.kgs30-custom-amount-cell input{width:100%;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:5px 2px!important;font:inherit;text-align:center;color:#315b84}
.kgs30-custom-amount-cell span:last-child{white-space:nowrap}
.kgs30-budget-box{margin-top:13px;background:#f3f9ff;border:1px solid #d7eaf9;border-radius:11px;padding:13px 15px}
.kgs30-budget-caption{font-size:12px;color:#61788f;font-weight:700}
.kgs30-budget-value{font-size:23px;font-weight:800;color:#2f70ad;margin-top:2px}
.kgs30-budget-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.kgs30-budget-btn{border:1px solid #bad5ed!important;background:#fff!important;color:#315b84!important;border-radius:999px!important;padding:7px 12px!important;font-size:12px!important;font-weight:800!important;cursor:pointer;box-shadow:none!important}
.kgs30-budget-btn.is-active{background:#4d8fd3!important;border-color:#4d8fd3!important;color:#fff!important}
.kgs30-budget-note{font-size:11px;color:#748798;line-height:1.6;margin-top:8px}
.kgs30-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kgs30-check-grid label{display:flex;align-items:center;gap:7px;border:1px solid #dbe7f2;background:#fafcff;border-radius:8px;padding:9px 10px;font-size:13px;font-weight:700;color:#47647e;cursor:pointer}
.kgs30-check-grid input{accent-color:#4d8fd3}
.kgs30-search-btn{display:block;width:min(100%,360px);margin:9px auto 0;border:0!important;border-radius:999px!important;background:#4d8fd3!important;color:#fff!important;padding:13px 22px!important;font-size:16px!important;font-weight:800!important;cursor:pointer;box-shadow:0 3px 8px rgba(60,119,180,.18)}
.kgs30-search-btn:hover{background:#3d7fbe!important}.kgs30-search-btn:disabled{opacity:.55;cursor:wait}
.kgs30-status{margin:16px 0 4px;font-size:13px;color:#61788f;min-height:1.5em;text-align:left}
.kgs30-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 0;align-items:stretch}
.kgs30-item{border:1px solid #d9d9d9;border-radius:10px;background:#fff;min-width:0;overflow:hidden;display:flex;flex-direction:column;height:100%}
.kgs30-number{background:#4d9ce6;color:#fff;font-weight:800;font-size:15px;line-height:1.2;padding:8px 10px;text-align:center;border-bottom:1px solid #3b87cf}
.kgs30-body{padding:10px;text-align:left;display:flex;flex-direction:column;flex:1}
.kgs30-image{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;flex:0 0 auto}
.kgs30-image img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.kgs30-noimg{color:#999;font-size:12px}
.kgs30-ranking{margin-top:7px;color:#e6a400;font-size:12px;font-weight:800;line-height:1.35}
.kgs30-title{margin-top:6px;font-size:11px;font-weight:400;line-height:1.45;color:#4b5560;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;min-height:2.9em;word-break:break-word}
.kgs30-price{margin-top:5px;font-size:16px;font-weight:800;line-height:1.45;color:#333}.kgs30-ship{margin-left:4px;font-size:11px;font-weight:400;color:#555}
.kgs30-gift-icon{display:inline-block;margin-left:5px;font-size:.9em;line-height:1;vertical-align:baseline}
.kgs30-gift-legend{margin:0 0 10px;font-size:11px;color:#6e7f90;line-height:1.5;text-align:left}
.kgs30-review{margin-top:4px;font-size:12px;line-height:1.4}.kgs30-stars{color:#e6a400;letter-spacing:.5px;font-weight:800}.kgs30-score,.kgs30-count{font-size:10px}

.kgs30-shop{margin-top:7px;font-size:12px;line-height:1.45}.kgs30-shop a{color:#2c73b7;font-weight:700;text-decoration:none}.kgs30-shop a:hover{text-decoration:underline}
@media(max-width:760px){.kgs30-card{padding:14px}.kgs30-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kgs30-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kgs30-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kgs30-title{font-size:10px;line-height:1.45;min-height:2.9em}.kgs30-price{font-size:14px}.kgs30-review{font-size:11px}.kgs30-score,.kgs30-count{font-size:9px}.kgs30-shop{font-size:11px}.kgs30-accordion>summary{padding:12px 14px;font-size:17px}}
@media(max-width:420px){.kgs30-check-grid{grid-template-columns:1fr}}

/* v2.2: 閉じているときは「ボタン」に見える入口 */
.kgs30-accordion{border:0;background:transparent;box-shadow:none;overflow:visible}
.kgs30-accordion>summary{
  width:min(100%,420px);margin:0 auto;justify-content:center;gap:12px;
  border-radius:999px;background:#4d8fd3;color:#fff;padding:13px 22px;
  box-shadow:0 4px 12px rgba(60,119,180,.18);border:1px solid #3d7fbe;
}
.kgs30-accordion>summary:after{color:#fff}
.kgs30-accordion[open]>summary{border-radius:14px 14px 0 0;width:100%;background:#4d8fd3}
.kgs30-card{border:1px solid #dbe8f5;border-top:0;border-radius:0 0 12px 12px;background:#fff;box-shadow:0 2px 10px rgba(48,105,165,.05)}
.kgs30-sort-row{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:3px 0 12px}
.kgs30-sort-row label{font-size:13px;font-weight:800;color:#47647e}
.kgs30-sort-row select{min-width:190px;border:1px solid #cbdced;border-radius:8px;background:#fff;color:#315b84;padding:8px 10px;font:inherit}
@media(max-width:520px){.kgs30-sort-row{justify-content:stretch}.kgs30-sort-row select{flex:1;min-width:0}}


/* v3.0 adjustments */
.kgs30-categories .kgs30-choice-all{
  grid-column:span 3;
}
.kgs30-shop{
  margin-top:4px!important;
}
.kgs30-more-wrap{
  margin:18px 0 4px;
  text-align:center;
}
.kgs30-more-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:min(100%,360px);
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  background:#4d8fd3;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  box-shadow:0 4px 12px rgba(60,119,180,.16);
}
.kgs30-more-link:hover{opacity:.9}
@media(max-width:700px){
  .kgs30-categories .kgs30-choice-all{grid-column:span 2;}
}

/* v3.0: 香典額の自由入力と、返礼品の金額から直接探す入力を同じ枠内に */
.kgs30-custom-amount-cell{
  flex-direction:column;
  gap:2px;
  padding:5px 8px;
}
.kgs30-amount-label{
  display:block;
  width:100%;
  text-align:center;
  font-size:11px;
  line-height:1.2;
  color:#5c7185;
  font-weight:700;
  white-space:nowrap;
}
.kgs30-amount-input{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:center;
  gap:3px;
  line-height:1.2;
  color:#315b84;
  font-weight:800;
}
.kgs30-amount-input input{
  width:76px!important;
  flex:0 1 76px;
  min-width:0;
}
.kgs30-amount-input>span{
  white-space:nowrap;
  font-size:12px;
}
@media(max-width:420px){
  .kgs30-amount-label{font-size:10px}
  .kgs30-amount-input input{width:64px!important;flex-basis:64px}
  .kgs30-amount-input>span{font-size:11px}
}

/* v3.0: PCでは商品画像をカード内いっぱいに拡大。スマホ表示は従来サイズのまま */
@media(min-width:761px){
  .kgs30-image img{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
  }
}
