/* Shared template layout */
#fs_CustomPage .fs-l-main, #fs_CustomPage .fs-l-pageMain {
  width: 100%; max-width: none; margin: 0 auto; padding: 0; background-color: #fff6ed;overflow: hidden;
}
.fs-c-breadcrumb__listItem { display: inline; }

/* Keiro gift collection */
.lp_wrap {
  --gift-ink: #592811;
  --gift-red: #c44424;
  --gift-paper: #f4eee1;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
  color: var(--gift-ink);
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  background: var(--gift-paper);
  box-shadow: 0px 0px 20px #e1e1e1;
}
.lp_wrap *, .lp_wrap *::before, .lp_wrap *::after { box-sizing: border-box; }
.lp_wrap h1, .lp_wrap h2, .lp_wrap h3, .lp_wrap p, .lp_wrap ul {
  padding: 0; margin: 0; font-family: inherit; font-weight: inherit; line-height: inherit; color: inherit;
}
.lp_wrap img { display: block; width: 100%; max-width: 100%; height: auto; }
.lp_wrap a { text-decoration: none; }
.lp_wrap a:focus-visible { outline: 3px solid var(--gift-ink); outline-offset: 4px; }
.lp_wrap section { scroll-margin-top: 100px; }
.lp_wrap .content-wrap { width: 100%; padding: 60px 20px; margin: 0 auto; }
.lp_wrap .fv h1 { font-size: inherit; }
.lp_wrap .gift-lead { background: #f7f6f0; }
.lp_wrap .gift-lead .content-wrap { padding-top: 40px; padding-bottom: 40px; }
.lp_wrap .lead-title { width: 70%; margin: 0 auto 30px; }
.lp_wrap .gift-concerns { list-style: none; display: flex; gap: 20px; }
.lp_wrap .gift-concerns li {
  display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: space-between;
  padding: 30px 10px 20px; border-radius: 20px; background: #f0e8da; text-align: center;
}
.lp_wrap .concern-icon { display: flex; align-items: center; justify-content: center;}
.lp_wrap .concern-icon img { max-height: 100%; width: auto; max-width: 60px; }
.lp_wrap .gift-concerns p { font-size: 14px; line-height: 1.35;
  height: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
.lp_wrap .health-gift { background: var(--gift-paper) url('../img/background@2x.jpg') center top / 100% 100% no-repeat; }
.lp_wrap .belly-warmer { background: #e7d9b8 url('../img/background02@2x.jpg') center / cover no-repeat; }
.lp_wrap .gift-socks { background: #f1e8d7 url('../img/background03@2x.jpg') center / 100% 100% no-repeat; }
.lp_wrap .gift-wrapping { background: #f8ebcc url('../img/background04@2x.jpg') center / 100% 100% no-repeat; }
.lp_wrap .ribbon { width: 28%; margin: 0 auto 20px; }
.lp_wrap .section-title { font-size: 36px; font-weight: 600; line-height: 1.45; text-align: center; margin-bottom: 40px; }
.lp_wrap #health-title { font-size: 36px; }
.lp_wrap .title-intro, .lp_wrap .title-tail { font-size: inherit; font-weight: 400; }
.lp_wrap .section-kicker { display: block; font-size: 24px; font-weight: 500; }
.lp_wrap .section-icon { width: 34px; margin: 0 auto 10px; }
.lp_wrap .gift-question { width: fit-content; max-width: 100%; margin: 0 auto 40px; font-size: 25px; border-bottom: 2px dotted var(--gift-ink); text-align: center; }
.lp_wrap .product-list { display: flex; flex-wrap: wrap; align-items: stretch; gap: 20px; }
.lp_wrap .product-card { width: calc((100% - 20px) / 2); background: #fff; border-radius: 8px; padding: 30px 20px; }
.lp_wrap .health-card { text-align: center; }
.lp_wrap .gift-copy { display: flex; flex-direction: column; justify-content: center; font-size: 20px; line-height: 1.4; margin-bottom: 10px; }
.lp_wrap .brand-name { font-size: 20px; font-weight: 600; }
.lp_wrap .health-price { font-size: 28px; margin-bottom: 30px; }
.lp_wrap .health-price span { display: inline-block; font-size: 14px; }
/* セール価格を使用する場合は、HTMLの価格を切り替えて以下も有効化。
.lp_wrap .health-price-sale { color: var(--gift-red); }
.lp_wrap .health-price-sale span { color: var(--gift-ink); }
*/
.lp_wrap .product-image { display: block; margin-bottom: 20px; }
.lp_wrap .product-image img { aspect-ratio: 1; object-fit: contain; }
.lp_wrap .product-point { font-size: 20px; margin-bottom: 30px; }
.lp_wrap .product-actions { display: flex; flex-direction: column; gap: 10px; }
.lp_wrap a.buy-button {
  display: flex; align-items: center; justify-content: center; position: relative;
  width: 100%; padding: 10px 30px;
  border: 1px solid var(--gift-red); border-radius: 8px; background: var(--gift-red);
  color: #fff; font-family: inherit; font-size: 18px; font-weight: 600; line-height: 1.45;
  text-align: center; text-decoration: none; transition: background-color .2s;
}
.lp_wrap a.buy-button:hover { background: #a93419; }
.lp_wrap .buy-button span { position: absolute; right: 20px; color: #fff; font-family: sans-serif; font-size: 25px; }
.lp_wrap .detail-card { display: flex; flex-direction: column; }
.lp_wrap .product-name { font-size: 20px; line-height: 1.35; margin-bottom: 10px; }
.lp_wrap .product-description { font-size: 14px; line-height: 1.5; margin-bottom: 10px; }
.lp_wrap .product-price { margin-top: auto; margin-bottom: 20px; text-align: right; color: var(--gift-red); font-size: 28px; }
.lp_wrap .product-price span { font-size: 17px; }
.lp_wrap .wrapping-card { display: flex; flex-direction: column; align-items: center; }
.lp_wrap .product-card.wrapping-main { width: 100%; text-align: center; }
.lp_wrap .wrapping-image { display: flex; align-items: center; justify-content: center; width: 100%; margin-bottom: 30px; }
.lp_wrap .wrapping-card:not(.wrapping-main) .wrapping-image { height: 280px; }
.lp_wrap .wrapping-card:not(.wrapping-main) .wrapping-image img { height: 100%; width: auto; max-width: 100%; object-fit: contain; }
.lp_wrap .wrapping-main .wrapping-image { width: 90%; }
.lp_wrap .wrapping-label { width: fit-content; padding: 0 20px; margin-bottom: 20px; border-radius: 50px; background: var(--gift-ink); color: #fff; font-size: 20px; line-height: 1.8; font-weight: 600; }
.lp_wrap .wrapping-description { margin-bottom: 30px; font-size: 18px; }
.lp_wrap .wrapping-card .buy-button { margin-top: auto; }
.lp_wrap .wrapping-main .buy-button { max-width: 320px; }

.gift-footer { background: #e5e5e5; color: #242424; font: 14px/1.6 "Noto Sans JP", sans-serif; }
.gift-footer * { box-sizing: border-box; }
.gift-footer-inner { max-width: 768px; padding: 30px 20px 40px; margin: 0 auto; }
.gift-footer h2 { font: 700 18px/1.5 "Noto Sans JP", sans-serif; text-align: center; margin: 0 0 20px; }
.gift-footer details { border-bottom: 1px solid #d3d3d3; }
.gift-footer summary { display: block; position: relative; cursor: pointer; font-weight: 700; padding: 10px 30px 10px 0; list-style: none; }
.gift-footer summary::-webkit-details-marker { display: none; }
.gift-footer summary::after { content: '+'; position: absolute; right: 0; font-weight: 400; }
.gift-footer details[open] summary::after { content: '−'; }
.gift-footer a { color: inherit; text-decoration: none; }
.gift-footer a:hover { text-decoration: underline; }
.gift-footer a:focus-visible, .gift-footer summary:focus-visible { outline: 2px solid #242424; outline-offset: 2px; }
.gift-footer-links { display: flex; flex-direction: column; gap: 10px 30px; padding: 0 20px 20px; }
.gift-footer-contact { display: block; font-weight: 700; padding: 10px 0; border-bottom: 1px solid #d3d3d3; }
.gift-footer-social { list-style: none; display: flex; justify-content: center; gap: 20px; margin: 50px 0 30px; padding: 0; }
.gift-footer-social img { display: block; width: 30px; height: 30px; object-fit: contain; }
.gift-footer-logo { display: block; width: 210px; max-width: 100%; margin: 0 auto 30px; }
.gift-footer-logo img { display: block; width: 100%; height: auto; }
.gift-footer-copyright { text-align: center; font-size: 12px; margin: 0; }

/* Mobile: only values that differ from the desktop baseline. */
@media screen and (max-width: 768px) {
  .lp_wrap { font-size: 14px; }
  .lp_wrap .content-wrap { padding-top: 40px; padding-bottom: 40px; }
  .lp_wrap .gift-lead .content-wrap { padding-top: 30px; padding-bottom: 30px; }
  .lp_wrap .lead-title { margin-bottom: 20px; }
  .lp_wrap .gift-concerns { gap: 10px; }
  .lp_wrap .gift-concerns li { border-radius: 12px; padding: 20px 0 10px; }
  .lp_wrap .gift-concerns p { width: 100%; height: auto; flex-shrink: 0; flex-direction: column; text-align: center; }
  .lp_wrap .concern-icon { height: 44px;margin-bottom: 10px;}
  .lp_wrap .concern-icon img { max-width: 44px; }
  .lp_wrap .ribbon { margin-bottom: 10px; }
  .lp_wrap .section-title { font-size: 26px; margin-bottom: 30px; }
  .lp_wrap #health-title { font-size: 26px; }
  .lp_wrap .section-kicker { font-size: 18px; }
  .lp_wrap .section-icon { width: 24px; }
  .lp_wrap .gift-question { font-size: 22px; margin-bottom: 30px; }
  .lp_wrap .product-list { gap: 10px; }
  .lp_wrap .product-card { width: calc((100% - 10px) / 2); padding: 20px 10px; border-radius: 6px; }
  .lp_wrap .gift-copy { font-size: 14px; }
  .lp_wrap .brand-name { font-size: 14px; }
  .lp_wrap .health-price { font-size: 20px; margin-bottom: 20px; }
  .lp_wrap .health-price span { font-size: 12px; }
  .lp_wrap .product-image { margin-bottom: 10px; }
  .lp_wrap .product-point { font-size: 14px; margin-bottom: 20px; }
  .lp_wrap a.buy-button {padding: 10px 18px 10px 2px; border-radius: 6px; font-size: 12px; }
  .lp_wrap .buy-button span { right: 10px; font-size: 19px; }
  .lp_wrap .product-name { font-size: 14px; }
  .lp_wrap .product-description { font-size: 12px; }
  .lp_wrap .product-price { font-size: 22px; margin-bottom: 10px; }
  .lp_wrap .product-price span { font-size: 12px; }
  .lp_wrap .wrapping-image { margin-bottom: 20px; }
  .lp_wrap .wrapping-card:not(.wrapping-main) .wrapping-image { height: 180px; }
  .lp_wrap .wrapping-label { font-size: 14px; padding: 0 10px; margin-bottom: 10px; }
  .lp_wrap .wrapping-description { font-size: 12px; margin-bottom: 20px; /*text-align: left;*/ }
}
@media screen and (max-width: 500px) {
  .lp_wrap .gift-concerns { flex-wrap: wrap; }
  .lp_wrap .gift-concerns li { flex: 0 0 calc((100% - 10px) / 2); }
  .lp_wrap .wide-break { display: none; }
}


.br-sp{
  display: none;
}
.br-pc{
  display: block;
}
@media screen and (max-width: 768px){
 .br-sp{
  display: block;
}
.br-pc{
  display: none;
}
}


@media screen and (max-width:393px){

  .lp_wrap .gift-copy,
  .lp_wrap .product-point { font-size: 12px;}
  .lp_wrap .health-price { font-size: 17px;}
}