
/* リード文 */
.luxury .lead_double_frame {
    max-width: 560px;
    margin: 0px auto;
}


/* 限定チョコレート */
.luxury .chocolate_area {
    background-color: #f2e5cd;
    max-width: 100%;
    margin: 0px auto 50px;
    position: relative;
    padding: 50px 0;
    border: 1px solid #f2e5cd;
}

.luxury .chocolate_area::before {
    content: "";
    width: calc(100% - 42px);
    height: calc(100% - 42px);
    border-image-source: url(/assets/img/bg_corner.webp);
    border-image-slice: 396;
    border-image-width: 350px;
    border-image-repeat: round;
    position: absolute;
    top: 21px;
    left: 21px;
}

.luxury .chocolate_area h2{
  text-align:center;
  margin: 0 auto 0;
  padding: 10px 0 0;
  font-size: 28px;
  font-weight: bold;
}

.luxury .chocolate_area .chocolate_area_inner{
  max-width: 1200px;
  margin: 0px auto;
  padding: 0px 20px;
}

.luxury .chocolate_area .list_chocolate_box {
    justify-content: center;
}

.luxury .chocolate_area .chocolate_img {
    width: 35%;
    margin: auto .8em;
    display: block;
}

.luxury .chocolate_area .chocolate_text {
    width: 65%;
    margin: 0 auto .5rem;
    display: block;
    position: relative;
}

.luxury .chocolate_area .chocolate_text h3 {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 18px;
    font-weight: bold;
    color: #411e1b;
    line-height: 1.6;
    margin: 0 0 .5rem;
    text-align: center;
}

@media (max-width: 640px) {

.luxury .chocolate_area {
    margin: 0px auto 20px;
}
}


@media screen and (max-width: 780px) {
    .luxury .chocolate_area::before {
        width: calc(100% - 5px);
        height: calc(100% - 5px);
        border-image-slice: 300;
        border-image-width: 350px;
        top: 2.5px;
        left: 2.5px;
    }


}

@media screen and (max-width: 767px) {

}

@media screen and (max-width: 539px) {

  .luxury .chocolate_area .chocolate_box {
     flex-wrap: wrap;
}
  .luxury .chocolate_area .chocolate_img {
    width: 60%;
    margin: .8em auto;
}

.luxury .chocolate_area .chocolate_text {
    width: 96%;
    margin: 0 auto .5rem;
}
}


/*title_collection*/
.title_collection{
    margin: 0 auto;
    padding: 20px 0 10px;
    text-align: center;
}

.title_collection h2{
    font-size: 28px;
    font-weight: bold;
}


/* respsv_frame */
.luxury .respsv_frame {
    background-color: transparent;
}

.luxury .respsv_frame h3{
    line-height: 1.6;
    position: relative;
    z-index: 3;
    color: #fff;
}

.luxury .respsv_frame p {
    position: relative;
    z-index: 3;
    color: #fff;
}

.luxury .respsv_frame::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: radial-gradient(circle at top left, transparent 20px, #dbb15e 20px, #dbb15e 22px, transparent 22px) left top / 22px 22px no-repeat, radial-gradient(circle at top right, transparent 20px, #dbb15e 20px, #dbb15e 22px, transparent 22px) right top / 22px 22px no-repeat, radial-gradient(circle at bottom left, transparent 20px, #dbb15e 20px, #dbb15e 22px, transparent 22px) left bottom / 22px 22px no-repeat, radial-gradient(circle at bottom right, transparent 20px, #dbb15e 20px, #dbb15e 22px, transparent 22px) right bottom / 22px 22px no-repeat, linear-gradient(90deg, transparent 20px, #dbb15e 22px) left top / 51% 2px no-repeat, linear-gradient(-90deg, transparent 20px, #dbb15e 22px) right top / 51% 2px no-repeat, linear-gradient(90deg, transparent 20px, #dbb15e 22px) left bottom / 51% 2px no-repeat, linear-gradient(-90deg, transparent 20px, #dbb15e 22px) right bottom / 51% 2px no-repeat, linear-gradient(180deg, transparent 20px, #dbb15e 22px) left top / 2px 51% no-repeat, linear-gradient(0deg, transparent 20px, #dbb15e 22px) left bottom / 2px 51% no-repeat, linear-gradient(180deg, transparent 20px, #dbb15e 22px) right top / 2px 51% no-repeat, linear-gradient(0deg, transparent 20px, #dbb15e 22px) right bottom / 2px 51% no-repeat;
    z-index: 5;
}

.luxury .respsv_frame::after {
    position: absolute;
    top: 10px;
    right: 8px;
    bottom: 10px;
    left: 8px;
    content: "";
    box-shadow: 0 0 0 1px #dbb15e;
    background-color: #06182f;
}