.flex {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.icon01 {
  text-align: center;
  background: #c62f0c;
  color: #fff;
  font-weight: bold;
  padding: 0.3em 1em 0.1em;
  border-radius: 0.5rem;
  width: 120px;
  margin: 1em auto 0;
  font-size: 1.4rem;
}

.icon02 {
  font-size: 1.4rem;
  padding: 0.2em 1em;
  width: 100px;
}

.icon03 {
  text-align: center;
  background: #caa846;
  color: #fff;
  font-weight: bold;
  padding: 0.2em 1em;
  border-radius: 0.5rem;
  width: 100px;
  margin: 1em auto 0;
  font-size: 1.4rem;
}

.item_name {
  text-align: center;
  font-size: 1.8rem;
  margin: 0 0 0.5em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
}
.item_name .sub_text {
  font-size: 1.4rem;
  margin-right: 0.5em;
}

.item_price {
  text-align: center;
  font-size: 2.6rem;
  line-height: 1;
  font-family: "Zen Old Mincho", serif;
}
.item_price .s_01 {
  font-size: 1.8rem;
}

.order a {
  position: relative;
  display: block;
  max-width: 24rem;
  margin: 1.5em auto 0;
  padding: 0.6em;
  border-radius: 0.8rem;
  font-size: 1.5rem;
  text-align: center;
  font-weight: bold;
  color: #fff;
  background: #6b4f32;
  transition: 0.2s;
}
.order a:after {
  content: "";
  background: transparent;
  background-size: contain;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  bottom: auto;
  left: auto;
  right: 7%;
  border: 1px solid transparent;
  border-top-color: #fff;
  border-right-color: #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.2s;
}
.order a:hover:after {
  right: 6%;
}

.postage-base {
  color: #fff;
  background: #e60012;
  font-size: 1.5rem;
  font-weight: bold;
  margin-left: 0.5em;
  font-family: "Yu Gothic", "Meiryo", sans-serif;
}

.postage {
  padding: 0.4em 1em;
}

.postage1130 {
  padding: 0.2em 1em;
  position: relative;
  padding-top: 1.2em;
}

.postage1130 .text_s {
  font-size: 1.2rem;
  position: absolute;
  top: 0.8rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

.postage1201_desc {
  text-align: center;
  font-size: 1.4rem;
}

.b_5 {
  background: #e57321;
}

.mb1 {
  margin-bottom: 6rem;
}

.contents {
  text-align: center;
}

section {
  color: #2c241d;
}

.sec_02 {
  padding-top: 4rem;
}
.sec_02 h2 {
  position: relative;
  color: #caa846;
  padding: 0 1.5em;
  text-align: center;
  font-size: 2rem;
  margin-bottom: 1em;
}
.sec_02 h2::before, .sec_02 h2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: calc(50% - 4em);
  height: 2px;
  background-color: #caa846;
  transform: translateY(-50%);
}
.sec_02 h2::before {
  left: 0;
}
.sec_02 h2::after {
  right: 0;
}
.sec_02 h2 .dots {
  background-image: radial-gradient(circle at center, #caa846 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
  padding-top: 0.4em;
}
.sec_02 .item_name {
  margin-top: 0.2em;
}
.sec_02 .item {
  margin: 0 10px;
}
.sec_02 .img_link {
  margin: 1rem 0;
}
.sec_02 .contents {
  margin-bottom: 1.5em;
}

.sec_03 {
  padding-top: 4rem;
}
.sec_03 h2 {
  position: relative;
  color: #caa846;
  padding: 0 1.5em;
  text-align: center;
  font-size: 2rem;
  line-height: 1.4;
}
.sec_03 h2::before, .sec_03 h2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: calc(58% - 9em);
  height: 2px;
  background-color: #caa846;
  transform: translateY(-50%);
}
@media (max-width: 580px) {
  .sec_03 h2::before, .sec_03 h2::after {
    width: calc(58% - 8em);
  }
}
@media (max-width: 480px) {
  .sec_03 h2::before, .sec_03 h2::after {
    width: calc(63% - 8em);
  }
}
.sec_03 h2::before {
  left: 0;
}
.sec_03 h2::after {
  right: 0;
}
.sec_03 h3 {
  margin-bottom: 1em;
}
.sec_03 .card_area img {
  max-width: 320px;
  margin: auto;
  padding: 0 10px;
}
.sec_03 .p_tx {
  margin-bottom: 4rem;
  text-align: center;
}
.sec_03 .icon_area {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.sec_03 .item01 {
  margin-bottom: 4rem;
}
.sec_03 .item01 figure figcaption {
  font-size: 1.3rem;
  text-align: center;
}
.sec_03 .item01 .order_box .order:nth-child(2) a {
  margin-top: 0.5em;
}
.sec_03 .order_box .order a {
  max-width: none;
  width: 300px;
}
.sec_03 .order_box .order a span {
  font-size: 1.2rem;
}

.item02 .block:not(:last-child) {
  margin-bottom: 4rem;
}

.img_t {
  margin: 1.5em 0;
  text-align: right;
}

.m_order a {
  max-width: 32rem;
  padding: 1em 0.6em;
  margin-top: 2em;
}/*# sourceMappingURL=winter_gift2025_custom_sp.css.map */