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

@media only screen and (min-width: 769px) {
  .only-sp {
    display: none;
  }
}

@media only screen and (min-width: 1281px) {
  .only-tab {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .only-tab {
    display: none;
  }
}

#delivery-announce-modal {
  width: 0;
  height: 0;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
#delivery-announce-modal.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: rgba(34, 34, 34, 0.5);
  opacity: 1;
  z-index: 10;
}
#delivery-announce-modal.active .content {
  position: relative;
  width: 76rem;
  background-color: #fff;
}
#delivery-announce-modal.active .content .close-button {
  position: absolute;
  width: 56px;
  height: 56px;
  top: -5.6rem;
  right: 0;
  cursor: pointer;
}
#delivery-announce-modal.active .content .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 4.8rem 6.4rem;
}
#delivery-announce-modal.active .content .wrapper .heading {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3.4rem;
  color: #b6985c;
  text-align: center;
}
#delivery-announce-modal.active .content .wrapper .sub-heading {
  font-size: 1.8rem;
  font-weight: bold;
  color: #b6985c;
  margin-top: 3rem;
  margin-bottom: 2.6rem;
}
#delivery-announce-modal.active .content .wrapper .have-not-to-worry {
  margin-bottom: 1.2rem;
}
#delivery-announce-modal.active .content .wrapper .can-have-more-time {
  margin-bottom: 1.4rem;
}
#delivery-announce-modal.active .content .wrapper .description {
  font-size: 1.6rem;
  font-weight: normal;
  -ms-flex-item-align: start;
  align-self: flex-start;
  line-height: 2.1rem;
}
@media only screen and (max-height: 600px) {
  #delivery-announce-modal.active .content {
    height: calc(100vh - 12rem);
  }
  #delivery-announce-modal.active .content .wrapper {
    height: 100%;
    overflow-y: auto;
  }
}
@media only screen and (max-width: 768px) {
  #delivery-announce-modal.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(34, 34, 34, 0.5);
    opacity: 1;
    z-index: 10;
  }
  #delivery-announce-modal.active .content {
    position: relative;
    width: calc(100vw - 2.6rem);
    height: 56rem;
    background-color: #fff;
  }
  #delivery-announce-modal.active .content .close-button {
    position: absolute;
    width: 56px;
    height: 56px;
    top: -5.6rem;
    right: 0;
    cursor: pointer;
  }
  #delivery-announce-modal.active .content .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 3.4rem 2.5rem;
  }
  #delivery-announce-modal.active .content .wrapper .heading {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 3.4rem;
    color: #b6985c;
    text-align: center;
  }
  #delivery-announce-modal.active .content .wrapper .sub-heading {
    font-size: 1.8rem;
    font-weight: bold;
    color: #b6985c;
    margin-top: 3rem;
    margin-bottom: 2.6rem;
  }
  #delivery-announce-modal.active .content .wrapper .have-not-to-worry {
    margin-bottom: 1.2rem;
  }
  #delivery-announce-modal.active .content .wrapper .can-have-more-time {
    margin-bottom: 1.4rem;
  }
  #delivery-announce-modal.active .content .wrapper .description {
    font-size: 1.6rem;
    font-weight: normal;
    -ms-flex-item-align: start;
    align-self: flex-start;
    line-height: 2.15rem;
    letter-spacing: -0.1rem;
  }
}
@media only screen and (max-width: 768px) and (max-height: 670px) {
  #delivery-announce-modal.active .content {
    height: calc(100vh - 12rem);
  }
  #delivery-announce-modal.active .content .wrapper {
    display: block;
    overflow-y: auto;
  }
  #delivery-announce-modal.active .content .wrapper .heading {
    text-align: center;
  }
  #delivery-announce-modal.active .content .wrapper .sub-heading {
    text-align: center;
  }
  #delivery-announce-modal.active .content .wrapper .description {
    text-align: justify;
  }
}

#to-top {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 100px;
  right: 100px;
  background-color: #ac1d24;
  border-radius: 50%;
  cursor: pointer;
  z-index: 3;
}

#to-top picture {
  position: absolute;
  top: 1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

#to-top .to-top-texts {
  position: absolute;
  color: #fff;
  font-size: 1.2rem;
  top: 2.5rem;
  left: 50%;
  text-align: center;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media only screen and (max-width: 768px) {
  #to-top {
    bottom: 94px;
    right: 15px;
  }
}
#nav {
  position: fixed;
  width: 100%;
  top: 0;
  background-color: #fff;
  z-index: 5;
  overflow: hidden;
}
#nav .wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 76rem;
  height: 5.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #nav .wrapper {
    width: 100%;
  }
}
#nav .wrapper .logo-main {
  width: 14rem;
  cursor: pointer;
}
#nav .wrapper .hamburger-lines {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 2.4rem;
  height: 2.2rem;
  right: 1.6rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  cursor: pointer;
}
#nav .wrapper .hamburger-lines .line {
  width: 100%;
  height: 0.2rem;
  background-color: #000;
}
#nav .items {
  position: fixed;
  opacity: 0;
  width: 0;
  height: 0;
  left: 0;
  top: -100%;
  z-index: 100;
  overflow: hidden;
  -webkit-transition: top 0.2s;
  transition: top 0.2s;
}
@media only screen and (max-width: 768px) {
  #nav .items {
    left: -100%;
    -webkit-transition: left 0.2s;
    transition: left 0.2s;
  }
}
#nav .items .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 7rem;
  font-size: 1.6rem;
  letter-spacing: 0.03rem;
}
@media only screen and (max-width: 768px) {
  #nav .items .item {
    height: 5.4rem;
    border-bottom: 1px solid #ddd;
  }
  #nav .items .item:first-of-type {
    border-top: 1px solid #ddd;
  }
}
#nav .items .item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 76rem;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 3.2rem;
  cursor: pointer;
}
#nav .items .item a::after {
  position: absolute;
  content: "";
  width: 1rem;
  height: 1.5rem;
  right: 3rem;
  background-image: url("../../../images/components/nav/arrow.svg");
  background-repeat: no-repeat;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
#nav .items .item:last-of-type a {
  padding-left: 6.75rem;
  letter-spacing: -0.2rem;
}
#nav .items .item:last-of-type a::before {
  position: absolute;
  content: "";
  width: 3rem;
  height: 3rem;
  left: 3.25rem;
  top: 50%;
  background-image: url("../../../images/components/nav/logo-sub.svg");
  background-repeat: no-repeat;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
#nav.active .hamburger-lines {
  right: 1.4rem;
}
#nav.active .hamburger-lines .line:nth-of-type(1) {
  width: 2.8rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: left;
  transform-origin: left;
}
#nav.active .hamburger-lines .line:nth-of-type(2) {
  display: none;
}
#nav.active .hamburger-lines .line:nth-of-type(3) {
  width: 2.8rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: left;
  transform-origin: left;
}
#nav.active .items {
  width: 100%;
  height: auto;
  top: 5.6rem;
  background-color: #fff;
  opacity: 1;
  z-index: -1;
}
@media only screen and (max-width: 768px) {
  #nav.active .items {
    display: block;
    left: 0;
    z-index: 0;
  }
}
#nav.active .bg {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 5.6rem;
  left: 0;
  background-color: #222;
  opacity: 0.5;
  z-index: -1;
}

#notification-regular {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 5.6rem;
  background-color: #fff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 5.6rem;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  #notification-regular {
    padding: 0;
  }
}
#notification-regular figure {
  width: 37.5rem;
  height: 5.33rem;
  margin: 0 auto;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  #notification-regular figure {
    height: 5.33rem;
  }
}
#notification-regular figure img {
  -o-object-fit: contain;
  object-fit: contain;
}
#notification-regular.lastweek {
  height: auto;
  display: block;
}
#notification-regular.lastweek figure {
  width: 100%;
  height: auto;
}

#lineup {
  width: 100%;
  background-image: url("../../../images/bg/yellow.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  #lineup {
    width: 100%;
  }
}
#lineup .lineup-wrapper.wrapper {
  width: 76rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #lineup .lineup-wrapper.wrapper {
    width: 100%;
  }
}
#lineup .lineup-wrapper.wrapper .lineup-heading {
  width: 26.5rem;
  padding-top: 5.75rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #lineup .lineup-wrapper.wrapper .lineup-heading {
    max-width: 100%;
    width: 30.5rem;
    padding: 5.5rem 2rem 0 2rem;
  }
}
#lineup .lineup-wrapper.wrapper .filter .title {
  color: #b6985c;
  font-size: 1.6rem;
  text-align: center;
  margin-top: 3.25rem;
}
@media only screen and (max-width: 768px) {
  #lineup .lineup-wrapper.wrapper .filter .title {
    margin-top: 3.5rem;
  }
}
#lineup .lineup-wrapper.wrapper .filter .items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 30rem;
  gap: 0.8rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  color: #b6985c;
  font-size: 1.4rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
  margin-top: 1.75rem;
}
@media only screen and (max-width: 768px) {
  #lineup .lineup-wrapper.wrapper .filter .items {
    margin-top: 1.5rem;
  }
}
#lineup .lineup-wrapper.wrapper .filter .items .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 3.2rem;
  background-color: #fff;
  border-radius: 3rem;
  padding: 0.6rem 1.2rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
}
#lineup .lineup-wrapper.wrapper .filter .items .item.active {
  color: #fff;
  background-color: #b6985c;
}
#lineup .lineup-wrapper.wrapper .products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-column-gap: 1.8rem;
  -moz-column-gap: 1.8rem;
  column-gap: 1.8rem;
  row-gap: 2.4rem;
  padding: 0 2.4rem 5.5rem 2.4rem;
  margin-top: 3.25rem;
}
@media only screen and (max-width: 768px) {
  #lineup .lineup-wrapper.wrapper .products {
    width: 34.2rem;
    -webkit-column-gap: 1.4rem;
    -moz-column-gap: 1.4rem;
    column-gap: 1.4rem;
    row-gap: 2.4rem;
    padding: 0;
    padding-bottom: 5.5rem;
    margin: 0 auto;
    margin-top: 3.25rem;
  }
}
#lineup .lineup-wrapper.wrapper .products a {
  position: relative;
  -webkit-transition: ease 0.5s;
  transition: ease 0.5s;
}
#lineup .lineup-wrapper.wrapper .products a:hover {
  opacity: 0.6;
}
#lineup .lineup-wrapper.wrapper .products .product {
  position: relative;
  width: 16.4rem;
  background-color: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
  -webkit-box-shadow: 0 0.4rem 0.8rem 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.4rem 0.8rem 0 rgba(0, 0, 0, 0.1);
}
#lineup .lineup-wrapper.wrapper .products .product .features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0 1.2rem;
  margin: 0 auto;
  margin-top: 1.6rem;
}
#lineup .lineup-wrapper.wrapper .products .product .features .feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 6.8rem;
  height: 2.4rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #b6985c;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
}
#lineup .lineup-wrapper.wrapper .products .product .description {
  font-size: 1.4rem;
  font-weight: normal;
  text-align: center;
  line-height: 1.8rem;
  padding: 0 0.8rem;
  margin: 1.2rem 0;
}
#lineup .lineup-wrapper.wrapper .products .product.sold-out a {
  cursor: not-allowed;
}
#lineup .lineup-wrapper.wrapper .products .product.sold-out a:hover {
  opacity: 1;
}
#lineup .lineup-wrapper.wrapper .products .product.sold-out .sold-out-mask {
  display: block;
  cursor: not-allowed;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}
#lineup .lineup-wrapper.wrapper .products .product.sold-out .how-many-left {
  display: none;
}
#lineup .how-many-left {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 6.4rem;
  height: 2.1rem;
  border-radius: 0.4rem;
  top: 0.65rem;
  left: 0.5rem;
  background-color: rgba(172, 29, 36, 0.8);
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
}
#lineup .how-many-left span {
  font-size: 1.3rem;
}

.sold-out-mask {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(34, 34, 34, 0.8);
}
.sold-out-mask .sold-out-text-main {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-weight: bold;
  font-size: 2.4rem;
  text-align: center;
  color: #fff;
  margin-top: 6.8rem;
}
.sold-out-mask.seg-active {
  display: block;
  border-radius: 0.5rem;
}
.sold-out-mask.seg-active .sold-out-text-main {
  font-size: 3.6rem;
  margin-top: 15.25rem;
}

#promises {
  width: 100%;
  background: url("../../../images/bg/red.jpg") center repeat, url("../../../images/bg/promises-pc.png") center no-repeat;
  background-size: contain, contain;
  background-blend-mode: multiply;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  #promises {
    height: auto;
    padding-bottom: 3.2rem;
    background: url("../../../images/bg/red.jpg") center repeat, url("../../../images/bg/promises-sp.png") top no-repeat;
    background-size: contain, contain;
  }
}
#promises .wrapper {
  width: 100%;
  max-width: 76rem;
  padding-bottom: 7rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper {
    padding-bottom: 0;
  }
}
#promises .wrapper .promises-heading {
  width: 24rem;
  padding-top: 5.5rem;
  margin: 0 auto;
}
#promises .wrapper .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.4rem;
  -moz-column-gap: 2.4rem;
  column-gap: 2.4rem;
  padding: 0 2.5rem;
  margin-top: 2.4rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item {
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
#promises .wrapper .item .title {
  position: relative;
}
#promises .wrapper .item .title .text {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 15.3rem;
  height: 16.3rem;
  top: 6rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  background-color: #fff;
  padding: 0 2.2rem 0 2.6rem;
  z-index: 1;
}
#promises .wrapper .item .title .text .keyword {
  font-size: 2.8rem;
  font-weight: bold;
}
#promises .wrapper .item .title .text .keyword span:nth-of-type(2) {
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb;
  font-size: 1.2rem;
}
#promises .wrapper .item .title .text .content {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.4rem;
  letter-spacing: 0.5rem;
}
#promises .wrapper .item .title .image {
  position: relative;
  width: 34rem;
}
#promises .wrapper .item .title .number {
  position: absolute;
  z-index: 1;
}
#promises .wrapper .item .description-container {
  color: #fff;
}
#promises .wrapper .item .description-container .description {
  font-size: 1.5rem;
  letter-spacing: 0.05rem;
  line-height: 2.3rem;
}
#promises .wrapper .item .description-container .additional {
  font-size: 1.2rem;
  letter-spacing: 0.015rem;
  line-height: 2rem;
}
#promises .wrapper .item:nth-of-type(1) .title .text .keyword {
  letter-spacing: 0.1rem;
  padding-top: 3.5rem;
}
#promises .wrapper .item:nth-of-type(1) .title .text .keyword span:nth-of-type(2) {
  padding-top: 1.25rem;
}
#promises .wrapper .item:nth-of-type(1) .title .text .content {
  padding-top: 3.3rem;
  padding-right: 0.8rem;
}
#promises .wrapper .item:nth-of-type(1) .title .image {
  margin-left: 3.5rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(1) .title .image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: auto;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-left: 3.5rem;
    margin-left: 0;
  }
}
#promises .wrapper .item:nth-of-type(1) .title .number {
  width: 5.75rem;
  top: 3.5rem;
  left: 4.75rem;
}
#promises .wrapper .item:nth-of-type(1) .description-container .description {
  padding-top: 4.5rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(1) .description-container .description {
    padding: 0 2.5rem;
    padding-top: 2.25rem;
  }
}
#promises .wrapper .item:nth-of-type(1) .description-container .additional {
  padding-top: 0.5rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(1) .description-container .additional {
    padding: 0 2.5rem;
    padding-top: 0.6rem;
  }
}
#promises .wrapper .item:nth-of-type(2) {
  margin-top: 5.5rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(2) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}
#promises .wrapper .item:nth-of-type(2) .title .text {
  height: 19.2rem;
  top: 3.25rem;
  right: -0.25rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(2) .title .text {
    padding: 0 2.5rem;
    padding-top: 0.6rem;
  }
}
#promises .wrapper .item:nth-of-type(2) .title .text .keyword {
  letter-spacing: 0.3rem;
  padding-top: 2.4rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(2) .title .text .keyword {
    padding-top: 1.5rem;
  }
}
#promises .wrapper .item:nth-of-type(2) .title .text .keyword span:nth-of-type(2) {
  padding-top: 0.75rem;
  letter-spacing: 0.1rem;
}
#promises .wrapper .item:nth-of-type(2) .title .text .content {
  line-height: 2.4rem;
  letter-spacing: 0.4rem;
  padding-top: 2.5rem;
  padding-right: 0.8rem;
}
#promises .wrapper .item:nth-of-type(2) .title .image {
  margin-right: 3.3rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(2) .title .image {
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-right: 3.5rem;
    margin-left: 0;
  }
}
#promises .wrapper .item:nth-of-type(2) .title .number {
  width: 5.75rem;
  top: 0rem;
  right: 4.75rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(2) .title .number {
    top: 0rem;
  }
}
#promises .wrapper .item:nth-of-type(2) .description-container .description {
  padding-top: 4.5rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(2) .description-container .description {
    padding-top: 2.25rem;
    padding-left: 2.5rem;
    padding-right: 1rem;
  }
}
#promises .wrapper .item:nth-of-type(2) .description-container .additional {
  padding-top: 0.5rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(2) .description-container .additional {
    padding-left: 2.5rem;
  }
}
#promises .wrapper .item:nth-of-type(3) {
  margin-top: 5.5rem;
}
#promises .wrapper .item:nth-of-type(3) .title .text {
  width: 15.3rem;
  height: 17.6rem;
  top: 4.8rem;
}
#promises .wrapper .item:nth-of-type(3) .title .text .keyword {
  letter-spacing: 0.3rem;
  padding-top: 3.1rem;
}
#promises .wrapper .item:nth-of-type(3) .title .text .content {
  line-height: 2.4rem;
  letter-spacing: 0.4rem;
  padding-top: 3.3rem;
  padding-right: 0.8rem;
}
#promises .wrapper .item:nth-of-type(3) .title .image {
  margin-left: 3.5rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(3) .title .image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: auto;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-left: 3.5rem;
    margin-left: 0;
  }
}
#promises .wrapper .item:nth-of-type(3) .title .number {
  width: 5.75rem;
  top: 0.8rem;
  left: 4.75rem;
}
#promises .wrapper .item:nth-of-type(3) .description-container .description {
  padding-top: 6.5rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(3) .description-container .description {
    padding: 0 2.5rem;
    padding-top: 2.25rem;
  }
}
#promises .wrapper .item:nth-of-type(3) .description-container .additional {
  padding-top: 0.5rem;
}
@media only screen and (max-width: 768px) {
  #promises .wrapper .item:nth-of-type(3) .description-container .additional {
    padding-left: 2.5rem;
  }
}

#craftsmanship {
  width: 100%;
  background-image: url("../../../images/bg/yellow.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  #craftsmanship {
    padding: 0;
    padding-top: 5.5rem;
  }
}
#craftsmanship .wrapper {
  display: grid;
  width: 100%;
  max-width: 76rem;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 24rem 24rem auto;
  -webkit-column-gap: 0.8rem;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
  row-gap: 2.4rem;
  background-image: url("../../../images/bg/craftsmanship-pc.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position-y: 57.5rem;
  padding: 7.25rem 3.2rem 5.5rem 3.2rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #craftsmanship .wrapper {
    display: block;
    height: auto;
    background-image: url("../../../images/bg/craftsmanship-sp.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position-y: 89.5rem;
    padding: 0;
    padding-bottom: 5.75rem;
  }
}
#craftsmanship .wrapper .craftsmanship-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-column: 1/2;
  grid-row: 1/2;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 2rem;
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 3.2rem;
  margin-top: 6rem;
}
@media only screen and (max-width: 768px) {
  #craftsmanship .wrapper .craftsmanship-heading {
    margin-top: 0;
  }
}
#craftsmanship .wrapper .craftsmanship-heading .empathize {
  font-size: 2.6rem;
  margin-top: 0.4rem;
  letter-spacing: 0.05rem;
  font-weight: bold;
}
#craftsmanship .wrapper .craftsmanship-heading .empathize span {
  color: #b6985c;
}
#craftsmanship .wrapper .craftsmanship-heading .notification-houzen {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
}
#craftsmanship .wrapper .container {
  position: relative;
  font-family: "Shippori Mincho", serif;
  font-style: normal;
}
#craftsmanship .wrapper .container .ribbon {
  position: absolute;
  width: 3.2rem;
  top: -1.6rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  background-color: #000;
  color: #fff;
  font-size: 1.8rem;
  padding-top: 1.8rem;
  padding-bottom: 1.4rem;
  letter-spacing: 0.2rem;
}
#craftsmanship .wrapper .container1 {
  width: 100%;
}
#craftsmanship .wrapper .container1 .ribbon:nth-of-type(1) {
  width: 3.25rem;
  right: 1.5rem;
  padding-right: 0.75rem;
}
#craftsmanship .wrapper .container1 .ribbon:nth-of-type(2) {
  width: 3.25rem;
  right: 5.25rem;
  padding-right: 0.75rem;
}
@media only screen and (max-width: 768px) {
  #craftsmanship .wrapper .container1 {
    padding-right: 3rem;
    margin-top: 2.5rem;
  }
  #craftsmanship .wrapper .container1 .ribbon:nth-of-type(1) {
    right: 4.65rem;
    padding-right: 0.75rem;
  }
  #craftsmanship .wrapper .container1 .ribbon:nth-of-type(2) {
    right: 8.25rem;
    padding-right: 0.75rem;
  }
}
#craftsmanship .wrapper .container2 .ribbon {
  width: 3.5rem;
  left: 0;
}
#craftsmanship .wrapper .container2 .ribbon:nth-of-type(1) {
  left: 5.5rem;
  padding-right: 1rem;
}
#craftsmanship .wrapper .container2 .ribbon:nth-of-type(2) {
  left: 1.5rem;
  padding-right: 0.75rem;
}
@media only screen and (max-width: 768px) {
  #craftsmanship .wrapper .container2 {
    padding-left: 3rem;
    margin-top: 2.2rem;
  }
  #craftsmanship .wrapper .container2 .ribbon:nth-of-type(1) {
    left: 8.6rem;
    padding-right: 1rem;
  }
  #craftsmanship .wrapper .container2 .ribbon:nth-of-type(2) {
    left: 4.6rem;
    padding-right: 0.75rem;
  }
}
#craftsmanship .wrapper .container3 .ribbon {
  width: 3.5rem;
}
#craftsmanship .wrapper .container3 .ribbon:nth-of-type(1) {
  right: 1.5rem;
  padding-right: 1rem;
}
#craftsmanship .wrapper .container3 .ribbon:nth-of-type(2) {
  width: 3rem;
  right: 5.5rem;
  padding-right: 0.5rem;
}
@media only screen and (max-width: 768px) {
  #craftsmanship .wrapper .container3 {
    padding-right: 3rem;
    margin-top: 2.25rem;
  }
  #craftsmanship .wrapper .container3 .ribbon:nth-of-type(1) {
    right: 4.65rem;
    padding-right: 0.75rem;
  }
  #craftsmanship .wrapper .container3 .ribbon:nth-of-type(2) {
    right: 8.75rem;
    padding-right: 0.75rem;
  }
}
#craftsmanship .wrapper .container4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-column: 1/3;
  grid-row: 3/4;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #fff;
  padding: 2.4rem 2.3rem 2.4rem 2.4rem;
}
@media only screen and (max-width: 768px) {
  #craftsmanship .wrapper .container4 {
    width: 34.3rem;
    padding: 2.2rem 2.4rem 2rem 2.4rem;
    margin: 0 auto;
    margin-top: 2.6rem;
  }
}
#craftsmanship .wrapper .container4 .logo {
  width: 21rem;
  height: 8rem;
}
#craftsmanship .wrapper .container4 .logo figcaption {
  letter-spacing: 0.03rem;
  font-size: 1.7rem;
  color: #b6985c;
  margin-top: 1.25rem;
}
#craftsmanship .wrapper .container4 .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  column-gap: 1.6rem;
  font-size: 1.4rem;
  line-height: 2.1rem;
  margin-top: 5rem;
}
@media only screen and (max-width: 768px) {
  #craftsmanship .wrapper .container4 .contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
#craftsmanship .wrapper .container4 .contents .image.pc-only {
  min-width: 30.5rem;
}
#craftsmanship .wrapper .container4 .contents .image.sp-only {
  display: none;
}
@media only screen and (max-width: 768px) {
  #craftsmanship .wrapper .container4 .contents .image.pc-only {
    display: none;
  }
  #craftsmanship .wrapper .container4 .contents .image.sp-only {
    display: block;
  }
}
#craftsmanship .wrapper .container4 .contents .descriptions {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.075rem;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #craftsmanship .wrapper .container4 .contents .descriptions {
    margin-top: 1.7rem;
  }
}
#craftsmanship .wrapper .container4 .contents .descriptions .description:nth-of-type(1) {
  margin-top: 0.2rem;
}
#craftsmanship .wrapper .container4 .contents .descriptions .description:nth-of-type(2) {
  letter-spacing: 0.15rem;
}

#voices {
  width: 100%;
  background-image: url("../../../images/bg/voices.png");
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
#voices .wrapper {
  width: 100%;
  max-width: 76rem;
  padding-bottom: 6rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #voices .wrapper {
    padding-bottom: 5.75rem;
  }
}
#voices .wrapper .voices-heading {
  width: 42rem;
  padding-top: 5.75rem;
  margin: 0 auto;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  #voices .wrapper .voices-heading {
    position: relative;
    width: 37.5rem;
    left: 0rem;
    top: 0rem;
    padding-top: 0;
    margin-top: 1rem;
  }
}
#voices .wrapper .voices-heading img {
  width: 100%;
  height: 100%;
}
#voices .wrapper .voices-heading figcaption {
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  #voices .wrapper .voices-heading figcaption {
    margin-top: 0;
  }
}
#voices .wrapper .items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.4rem;
  margin: 1.1rem 2.8rem 0 3.2rem;
  padding-right: 0.6rem;
  height: 44rem;
  overflow-y: scroll;
}
@media only screen and (max-width: 768px) {
  #voices .wrapper .items {
    padding-right: 0;
    margin: 1rem 2.3rem 0 1.3rem;
  }
}
#voices .wrapper .items .item {
  width: 100%;
  padding: 1.5rem;
  padding-top: 1rem;
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  #voices .wrapper .items .item {
    padding-bottom: 1rem;
  }
}
#voices .wrapper .items .item .item-heading {
  position: relative;
}
#voices .wrapper .items .item .item-heading .item-heading-image {
  position: absolute;
  width: 6.25rem;
  top: 0.75rem;
  left: 0.9rem;
}
@media only screen and (max-width: 768px) {
  #voices .wrapper .items .item .item-heading .item-heading-image {
    top: -0.25rem;
    left: -0.7rem;
  }
}
#voices .wrapper .items .item .item-heading .item-heading-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 6.2rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.2rem;
  padding-left: 8rem;
  padding-top: 1.5rem;
}
@media only screen and (max-width: 768px) {
  #voices .wrapper .items .item .item-heading .item-heading-description {
    padding-top: 1.75rem;
    padding-left: 7rem;
  }
}
#voices .wrapper .items .item .item-description {
  font-size: 1.6rem;
  letter-spacing: 0.0175rem;
  line-height: 2.2rem;
  padding-top: 2rem;
}
@media only screen and (max-width: 768px) {
  #voices .wrapper .items .item .item-description {
    line-height: 2.3rem;
  }
}
#voices .wrapper .warning {
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 768px) {
  #voices .wrapper .warning {
    margin: 1.6rem 2.6rem 0 2.4rem;
    text-align: start;
    line-height: 1.75rem;
  }
}

#support {
  width: 100%;
  background-image: url("../../../images/bg/yellow.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  #support {
    padding-bottom: 5.5rem;
  }
}
#support .wrapper {
  width: 76rem;
  background-image: url("../../../images/bg/support.png");
  background-position-x: center;
  background-position-y: 2rem;
  background-repeat: no-repeat;
  padding-top: 5.75rem;
  padding-bottom: 5.8rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #support .wrapper {
    width: 100%;
    padding-top: 5.5rem;
    padding-bottom: 0rem;
  }
}
#support .wrapper .support-heading {
  display: block;
  width: 25.7rem;
  height: 14.9rem;
  margin: 0 auto;
  margin-bottom: 1.5rem;
}
#support .wrapper .support-heading img {
  width: 100%;
  height: 100%;
}
#support .wrapper .services {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
  margin: 0 2.4rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services {
    display: block;
    height: auto;
    margin: 0 1.5rem;
  }
}
#support .wrapper .services .service {
  background-color: #fff;
}
#support .wrapper .services .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .heading {
    padding-top: 3rem;
    margin-top: 0;
  }
}
#support .wrapper .services .heading .heading-text {
  font-size: 3rem;
  color: #b6985c;
  margin-left: 1.5rem;
  letter-spacing: 0.08rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .heading .heading-text {
    margin-left: 2.2rem;
  }
}
#support .wrapper .services .sub-heading {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin-top: 2.75rem;
}
#support .wrapper .services .description {
  font-size: 1.5rem;
  letter-spacing: 0rem;
  font-weight: 400;
  line-height: 2.35rem;
  padding: 0 2.3rem;
  margin-top: 2.5rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .description {
    padding: 0 1.6rem 3.2rem 1.6rem;
  }
}
#support .wrapper .services .free-cancellation {
  width: 100%;
  grid-column: 1/2;
  grid-row: 1/2;
}
#support .wrapper .services .free-cancellation .heading {
  margin-top: 3.2rem;
}
#support .wrapper .services .free-cancellation .heading .heading-image {
  width: 6.25rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .free-cancellation .heading {
    padding-top: 3.5rem;
    margin-top: 0;
  }
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .free-cancellation .description {
    padding-top: 0;
    padding-bottom: 0;
  }
}
#support .wrapper .services .free-cancellation .until {
  font-size: 1.6rem;
  padding-left: 2.5rem;
  margin-top: 1.25rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .free-cancellation .until {
    padding-left: 1.75rem;
    padding-top: 1rem;
    margin-top: 0;
  }
}
#support .wrapper .services .free-cancellation .customer-service-phone-number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 2.5rem;
  margin-top: 1.5rem;
  font-size: 1.6rem;
}
#support .wrapper .services .free-cancellation .customer-service-phone-number a {
  width: auto;
  color: #000;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .free-cancellation .customer-service-phone-number {
    padding-left: 1.75rem;
    padding-top: 1.75rem;
    margin-top: 0;
  }
}
#support .wrapper .services .free-cancellation .customer-service-description {
  font-size: 1.2rem;
  padding: 0 2rem;
  padding-left: 2.5rem;
  padding-bottom: 3rem;
  letter-spacing: 0.01rem;
  line-height: 1.8rem;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .free-cancellation .customer-service-description {
    padding-left: 1.75rem;
    padding-top: 1.25rem;
    margin-top: 0;
  }
}
#support .wrapper .services .delivery {
  width: 100%;
  grid-column: 2/3;
  grid-row: 1/2;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .delivery {
    padding-bottom: 3.5rem;
  }
}
#support .wrapper .services .delivery .heading {
  line-height: 4.25rem;
  margin-top: 3.75rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .delivery .heading {
    padding-top: 3.5rem;
    margin-top: 2.5rem;
  }
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .delivery .description {
    padding-bottom: 2.25rem;
    margin-top: 2.75rem;
  }
}
#support .wrapper .services .delivery .description-sub {
  font-size: 1.6rem;
  margin-left: 2.5rem;
  margin-top: 2.2rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .delivery .description-sub {
    margin-top: 0rem;
    margin-left: 1.75rem;
  }
}
#support .wrapper .services .customer-service {
  width: 100%;
  grid-column: 1/3;
  grid-row: 2/3;
  padding-bottom: 3.2rem;
}
#support .wrapper .services .customer-service .heading {
  margin-top: 3.2rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .customer-service .heading {
    margin-top: 2.5rem;
  }
}
#support .wrapper .services .customer-service .phone-number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 26rem;
  height: 5rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #222222;
  border-radius: 2.4rem;
  margin: 0 auto;
  margin-top: 0.7rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .customer-service .phone-number {
    margin-top: 0.8rem;
  }
}
#support .wrapper .services .customer-service .phone-number-text a {
  color: #fff;
  font-weight: bold;
  font-size: 2.8rem;
  margin-left: 0.75rem;
}
#support .wrapper .services .customer-service .time {
  font-size: 1.6rem;
  font-weight: normal;
  text-align: center;
  line-height: 2.2rem;
  margin-top: 0.8rem;
}
#support .wrapper .services .customer-service .guidance {
  font-size: 1.6rem;
  letter-spacing: -0.2rem;
  text-align: center;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  #support .wrapper .services .customer-service .guidance {
    display: none;
  }
}
#support.free-cancellation-over .service.free-cancellation {
  display: none;
}
#support.free-cancellation-over .service.delivery {
  grid-column: 1/3;
  padding-bottom: 3rem;
}

#faq {
  width: 100%;
  max-width: 76rem;
  margin: 0 auto;
}
#faq .faq-heading {
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  color: #b6985c;
  padding-top: 6.5rem;
  padding-bottom: 3.7rem;
}
@media only screen and (max-width: 768px) {
  #faq .faq-heading {
    padding-bottom: 3rem;
  }
}
#faq .questions {
  width: 100%;
  margin-bottom: 5.6rem;
}
@media only screen and (max-width: 768px) {
  #faq .questions {
    width: 91.5%;
    margin: 0 auto;
    margin-bottom: 5.6rem;
  }
}
#faq .questions .question {
  width: 100%;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.04rem;
  border-top: 1px #b6985c solid;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#faq .questions .question-title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-height: 6.4rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 3.25rem;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  #faq .questions .question-title {
    line-height: 2rem;
  }
}
#faq .questions .question-title::before {
  content: "Q";
  position: absolute;
  left: 0;
  color: #b6985c;
  font-size: 2.2rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  #faq .questions .question-title::before {
    left: 0.8rem;
  }
}
#faq .questions .question-title::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  top: 2.5rem;
  right: 1.3rem;
  background-image: url("../../../images/components/faq/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media only screen and (max-width: 768px) {
  #faq .questions .question-title::after {
    top: 2.6rem;
    right: 0.55rem;
  }
}
#faq .questions .question-description-wrapper {
  width: 100%;
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.5s ease-out;
  transition: grid-template-rows 0.5s ease-out;
  transition: grid-template-rows 0.5s ease-out, -ms-grid-rows 0.5s ease-out;
}
#faq .questions .question-description {
  line-height: 2.2rem;
  overflow: hidden;
}
#faq .questions .question:last-of-type {
  border-bottom: 1px #b6985c solid;
}
@media only screen and (max-width: 768px) {
  #faq .questions .question:last-of-type {
    padding: 0.6rem 0;
  }
  #faq .questions .question:last-of-type .question-title {
    letter-spacing: 0.1rem;
    padding-right: 3rem;
  }
}
#faq .questions .question.active {
  padding-bottom: 2rem;
}
#faq .questions .question.active .question-title::after {
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
}
#faq .questions .question.active .question-description-wrapper {
  grid-template-rows: 1fr;
}

#footer {
  width: 100%;
  background-color: #222;
}
#footer .top .related-informations {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#footer .top .related-informations li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 5.4rem;
  font-size: 1.6rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-bottom: solid 1px #333333;
  border-top: none;
}
#footer .top .related-informations li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 78rem;
  height: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  font-weight: 400;
  padding-right: 2.5rem;
  padding-left: 3.25rem;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  #footer .top .related-informations li a {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
#footer .top .related-informations li a::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 1rem;
  height: 2rem;
  top: 2rem;
  right: 2.9rem;
  background-image: url("../../../images/components/footer/arrow.svg");
  background-repeat: no-repeat;
}
#footer .top .related-informations li.link-to-radish a::before {
  content: "";
  display: inline-block;
  width: 0rem;
  height: 3rem;
  background-image: url("../../../images/components/footer/logo.svg");
  background-repeat: no-repeat;
  padding-left: 3.25rem;
  z-index: 1;
}
#footer .top .related-informations li:last-of-type {
  height: 6rem;
}
#footer .top .related-informations li:last-of-type a {
  letter-spacing: -0.2rem;
}
#footer .top .related-informations li:last-of-type a::after {
  top: 2.3rem;
}
#footer .bottom {
  padding-bottom: 4rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  #footer .bottom {
    margin-top: 5.75rem;
  }
}
#footer .bottom .company-informations {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 36.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #footer .bottom .company-informations {
    width: 100%;
  }
}
#footer .bottom .company-informations li a {
  position: relative;
  font-size: 1.4rem;
  color: #fff;
  line-height: 2.5rem;
  letter-spacing: 0.02rem;
  padding: 0 1rem;
}
#footer .bottom .company-informations li a::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 1px;
  height: 18px;
  top: 0.5rem;
  right: 0rem;
  background-color: #fff;
}
#footer .bottom .company-informations li:nth-child(3) a::after, #footer .bottom .company-informations li:nth-child(4) a::after {
  display: none;
}
#footer .bottom .copyright {
  color: #b6985c;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.8rem;
  letter-spacing: 0.01rem;
  margin-top: 2.4rem;
}
#footer .bottom .copyright .warning {
  margin-bottom: 2.2rem;
}

#houzen.sold-out .heading {
  position: relative;
}
#houzen.sold-out .heading .sold-out-mask {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  left: 0;
  background-color: rgba(34, 34, 34, 0.8);
}
#houzen.sold-out .heading .sold-out-mask .sold-out-text-main {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-weight: bold;
  font-size: 6.4rem;
  text-align: center;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #houzen.sold-out .heading .sold-out-mask .sold-out-text-main {
    font-size: 4.8rem;
  }
}
#houzen.sold-out .heading .sold-out-mask .sold-out-text-sub {
  font-size: 2.4rem;
  font-weight: 400;
  text-align: center;
  color: #fff;
  line-height: 3.4rem;
  margin-top: 4.8rem;
}
@media only screen and (max-width: 768px) {
  #houzen.sold-out .heading .sold-out-mask .sold-out-text-sub {
    font-size: 1.8rem;
    line-height: 2.4rem;
    margin-top: 2.4rem;
  }
}
#houzen.sold-out.saisyuuwari .price-information .pre-order-discount-special-price {
  margin-top: 1.6rem;
}
#houzen.sold-out.saisyuuwari .pre-order-discount-special-price .pre-order-discount-special-price-texts .prices-container .price-with-tax-container {
  color: #222222;
  font-size: 1.2rem;
  letter-spacing: 0.01rem;
  margin-left: 11rem;
  font-weight: 400;
  margin-top: 0;
}
#houzen.sold-out .product-feature-price-order .pre-order-present-delivery .delivery fieldset {
  background-color: #f3f3f3;
  margin: 0 auto;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  #houzen.sold-out .product-feature-price-order .pre-order-present-delivery .delivery fieldset {
    margin-top: 1.25rem;
  }
}
#houzen.sold-out .product-feature-price-order .pre-order-present-delivery .delivery fieldset label {
  cursor: not-allowed;
}
#houzen.sold-out .product-feature-price-order .pre-order-present-delivery .delivery fieldset label input[type=radio] {
  cursor: not-allowed;
}
#houzen.sold-out .product-feature-price-order .pre-order-present-delivery .delivery fieldset label:nth-of-type(1) {
  border-right-color: rgba(108, 108, 108, 0.8);
}
#houzen.sold-out .product-feature-price-order .pre-order-present-delivery .delivery fieldset label input[type=radio] {
  border-color: #6c6c6c;
}
#houzen.sold-out .product-feature-price-order .pre-order-present-delivery .delivery fieldset label input[type=radio]:checked::after {
  background-color: #fff;
}
#houzen.sold-out .product-feature-price-order .pre-order-present-delivery .delivery .to-order {
  display: none;
}
#houzen.sold-out .product-feature-price-order .pre-order-present-delivery .delivery .to-order.sold-out {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: not-allowed;
}
#houzen.sold-out .delivery fieldset {
  background-color: #f3f3f3;
}
#houzen.sold-out .delivery fieldset label {
  cursor: not-allowed;
}
#houzen.sold-out .delivery fieldset label input[type=radio] {
  cursor: not-allowed;
}
#houzen.sold-out .delivery fieldset label:nth-of-type(1) {
  border-right-color: rgba(108, 108, 108, 0.8);
}
#houzen.sold-out .delivery fieldset label input[type=radio] {
  border-color: #6c6c6c;
}
#houzen.sold-out .delivery fieldset label input[type=radio]:checked::after {
  background-color: #fff;
}
#houzen.sold-out .delivery .to-order {
  display: none;
}
#houzen.sold-out .delivery .to-order.sold-out {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: not-allowed;
}
#houzen.free-cancellation-over .to-check-osechi {
  height: auto;
  padding: 2rem 0;
}
#houzen.free-cancellation-over .to-check-osechi .to-check-osechi-text {
  margin-top: 0;
}
#houzen.free-cancellation-over .free-cancellation {
  display: none;
  margin-top: 0.5rem;
}
#houzen.free-cancellation-over .product-feature-price-order .pre-order-present-delivery .select-form .to-order.saisyuuwari {
  height: auto;
  padding: 1.6rem 0;
}
@media only screen and (max-width: 768px) {
  #houzen.free-cancellation-over .product-feature-price-order .pre-order-present-delivery .select-form .to-order.saisyuuwari {
    padding: 2rem 0;
  }
}
#houzen .heading {
  position: relative;
}
#houzen .heading .sold-out-mask {
  display: none;
}
#houzen .price-information {
  position: relative;
  width: 48rem;
  margin: 0 auto;
  margin-top: 2.2rem;
}
#houzen .price-information .pre-order-discount {
  position: relative;
  width: 100%;
  position: relative;
}
#houzen .price-information .pre-order-discount .pre-order-discount-image {
  width: 100%;
}
#houzen .price-information .pre-order-discount .pre-order-discount-text {
  position: absolute;
  top: 7.5rem;
  right: 12.25rem;
  color: #fff;
  font-size: 3.4rem;
  font-weight: bold;
  z-index: 1;
}
#houzen .price-information .pre-order-discount-special-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.2rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: 0.5rem;
  margin-top: 2.2rem;
}
#houzen .price-information .pre-order-discount-special-price .pre-order-discount-special-price-image {
  width: 6rem;
  height: 6rem;
}
#houzen .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts {
  margin-top: -0.5rem;
}
#houzen .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts .prices-container .price-without-tax-container {
  color: #ac1d24;
  letter-spacing: 0.1rem;
  font-size: 3.8rem;
  font-weight: bold;
}
#houzen .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts .prices-container .price-without-tax-container span {
  letter-spacing: 0.15rem;
  font-size: 4.8rem;
}
#houzen .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts .prices-container .price-without-tax-container span:nth-of-type(2) {
  font-size: 3rem;
}
#houzen .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts .prices-container .price-with-tax-container {
  color: #222222;
  font-size: 1.4rem;
  letter-spacing: 0.01rem;
  margin-left: 10rem;
  font-weight: 400;
  margin-top: 0.5rem;
}
#houzen .product-feature-price-order {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 76rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #ac1d24;
  border-radius: 0.5rem;
  padding: 4.25rem 0 4.5rem 0;
  margin: 0 auto;
  margin-top: 6rem;
}
#houzen .product-feature-price-order .product-description {
  position: relative;
  margin-top: 0.5rem;
}
#houzen .product-feature-price-order .product-description .product-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#houzen .product-feature-price-order .product-description .product-name .product-name-kanji {
  font-size: 4rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
#houzen .product-feature-price-order .product-description .product-name .product-name-hiragana {
  font-size: 1.2rem;
  font-weight: 400;
  margin-top: 1.25rem;
  margin-left: 1.5rem;
}
#houzen .product-feature-price-order .product-description .features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.6rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 1.8rem;
}
#houzen .product-feature-price-order .product-description .features .feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 9.12rem;
  height: 3.2rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  background-color: #b6985c;
  font-size: 1.6rem;
  letter-spacing: -0.01rem;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#houzen .product-feature-price-order .product-description .features .feature span {
  font-size: 1.2rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 2.1rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .check-when-to-delivery-text,
#houzen .product-feature-price-order .pre-order-present-delivery .check-where-to-delivery-text {
  font-size: 1.8rem;
  font-weight: bold;
}
#houzen .product-feature-price-order .pre-order-present-delivery .check-when-to-delivery-text {
  margin-top: 3.75rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .check-where-to-delivery-text {
  margin-top: 2.2rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset {
  width: 48rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #f0eade;
  border-radius: 0.8rem;
  padding-top: 0.9rem;
  padding-bottom: 0.5rem;
  -ms-flex-direction: row;
  flex-direction: row;
  padding: 0;
  padding-top: 1.7rem;
  padding-bottom: 1.7rem;
  margin-top: 1rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  height: 2.4rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 400;
  margin: 0;
  margin-left: 1.6rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(1) {
  border-right: 1px solid rgba(172, 29, 36, 0.2);
  border-bottom: none;
  margin-right: 0;
  margin-top: -0.2rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(1) input[type=radio] {
  margin-top: 0.3rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(2) {
  margin-top: -0.2rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(2) input[type=radio] {
  margin-top: 0.3rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label .text {
  margin-left: 0.8rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label input[type=radio] {
  width: 2.4rem;
  height: 2.4rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  background-color: #fff;
  border: 1px solid #ac1d24;
  border-radius: 50%;
  margin: 0;
  cursor: pointer;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label input[type=radio]:checked {
  position: relative;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label input[type=radio]:checked::after {
  content: "";
  position: absolute;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: #ac1d24;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(1) input[type=radio] {
  margin-top: 0.5rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(1) .texts {
  padding-left: 6.3rem;
  padding-bottom: 1.5rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(1) .texts .text {
  margin-top: 1rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(1) .texts .text:nth-of-type(2) {
  margin-top: 0.5rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(1) .texts .text:nth-of-type(3) {
  position: absolute;
  bottom: 1.5rem;
  right: 5.5rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(2) .texts {
  padding-left: 6.3rem;
  padding-bottom: 1.5rem;
  padding-top: 0.3rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(2) .texts .text {
  margin-top: 1rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(2) .texts .text:nth-of-type(2) {
  margin-top: 0.6rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form fieldset label:nth-of-type(2) .texts .text:nth-of-type(3) {
  position: absolute;
  bottom: 1.5rem;
  right: 11rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .delivery-recommend-date {
  font-size: 1.4rem;
  font-weight: normal;
  margin-top: 1.2rem;
  margin-bottom: 1.6rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .delivery-recommend-date span {
  position: relative;
  color: #ac1d24;
  cursor: pointer;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .delivery-recommend-date span::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.1rem;
  left: 0;
  bottom: 0;
  background-color: #ac1d24;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .delivery-not-available-areas {
  text-align: center;
  font-size: 1.4rem;
  font-weight: normal;
  margin-top: 1.1rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .to-order {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  height: 5rem;
  gap: 0.5rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 4.8rem;
  color: #fff;
  background-color: #222222;
  font-size: 1.8rem;
  margin-top: 2rem;
  cursor: pointer;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .to-order::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 2rem;
  top: 50%;
  right: 1.5rem;
  background-image: url("/rb/osechi/assets/images/pages/seg/detail/common/delivery-arrow.svg");
  background-repeat: no-repeat;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .to-order.sold-out {
  display: none;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #707070;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .to-order.sold-out::after {
  background-image: none;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .to-order.saisyuuwari {
  height: 7rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .to-order.saisyuuwari .free-cancellation {
  font-size: 1.2rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .free-delivery-cancel {
  width: 25rem;
  text-align: center;
  font-size: 1.6rem;
  border-bottom: #000 1px solid;
  margin: 0 auto;
  margin-top: 1rem;
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .free-delivery {
  display: inline-block;
  position: relative;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 1rem;
  margin-left: 16rem;
}
@media only screen and (max-width: 768px) {
  #houzen .product-feature-price-order .pre-order-present-delivery .select-form .free-delivery {
    display: block;
    margin-left: 0;
  }
}
#houzen .product-feature-price-order .pre-order-present-delivery .select-form .free-delivery::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #000000;
}
#houzen .notification-handmade {
  color: #ac1d24;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2.25rem;
  margin-top: 3rem;
  margin-bottom: 5.6rem;
}
#houzen .additional-discount {
  width: 76rem;
  margin: 0 auto;
  margin-top: 1.75rem;
  margin-bottom: 9.25rem;
}
#houzen .product-description-container {
  background-image: url("/rb/osechi/assets/images/bg/yellow.jpg");
  background-size: cover;
  padding-top: 8rem;
}
#houzen .product-description-container .container1 {
  width: 76rem;
  margin: 0 auto;
}
#houzen .product-description-container .container1 .product-title-sub {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin-top: 3.2rem;
}
#houzen .product-description-container .container1 .product-title-main {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-top: 2.5rem;
  letter-spacing: 0.05rem;
}
#houzen .product-description-container .container1 .product-description {
  font-size: 1.6rem;
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-weight: normal;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  text-align: center;
  margin-top: 2.4rem;
}
#houzen .product-description-container .container1 .product-description span {
  color: #222222;
  display: inline-block;
  width: 100%;
  letter-spacing: 0.05rem;
  border-bottom: 1px solid #dddddd;
  padding-left: 1.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
#houzen .product-description-container .container1 .product-description span:last-of-type {
  border-bottom: none;
}
#houzen .product-description-container .container2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-bottom: 5rem;
}
#houzen .product-description-container .container2 .product-image {
  width: 46.8rem;
  margin: 0 auto;
  margin-top: 3rem;
}
#houzen .product-description-container .container2 .recommend-for-those {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-size: 2rem;
  text-align: center;
}
#houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-text {
  font-size: 2.4rem;
  margin-top: 4rem;
}
#houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists {
  margin-top: 2rem;
}
#houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists .those {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists .those .those-description {
  letter-spacing: -0.15rem;
  text-align: center;
}
#houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists .those:nth-of-type(2) {
  margin-top: 2rem;
}
#houzen .product-description-container .container2 .plates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 8rem;
  margin-top: 9rem;
}
#houzen .product-description-container .container2 .plates .plate {
  position: relative;
  width: 76rem;
  overflow: hidden;
}
#houzen .product-description-container .container2 .plates .plate .bg {
  position: absolute;
  width: 76rem;
  height: 30.2rem;
  top: 0;
  left: 50%;
  background-image: url("/rb/osechi/assets/images/bg/red.jpg");
  background-size: contain;
  background-repeat: repeat;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  z-index: 0;
}
#houzen .product-description-container .container2 .plates .plate .heading {
  position: relative;
  width: 12rem;
  padding-bottom: 1.6rem;
  margin: 0 auto;
  z-index: 1;
}
#houzen .product-description-container .container2 .plates .plate .plate-description {
  position: relative;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 2.4rem;
  z-index: 1;
}
#houzen .product-description-container .container2 .plates .plate .plate-image {
  position: relative;
  width: 51.2rem;
  margin: 0 auto;
  z-index: 2;
}
#houzen .product-description-container .container2 .plates .plate .notification-these-are-images {
  font-size: 1.2rem;
  color: #999999;
  text-align: center;
  line-height: 1.6rem;
  margin-top: 1rem;
}
#houzen .product-description-container .container2 .plates .three-points-container .three-points-heading {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  margin-top: 4.8rem;
}
#houzen .product-description-container .container2 .plates .three-points-container .three-points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 2.75rem;
}
#houzen .product-description-container .container2 .plates .three-points-container .three-points .point {
  padding: 4rem;
}
#houzen .product-description-container .container2 .plates .three-points-container .three-points .point .description-container {
  display: grid;
  grid-template-columns: 32rem auto;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
}
#houzen .product-description-container .container2 .plates .three-points-container .three-points .point .image {
  width: 32rem;
  height: 20rem;
}
#houzen .product-description-container .container2 .plates .three-points-container .three-points .point .description-texts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
#houzen .product-description-container .container2 .plates .three-points-container .three-points .point .description-texts .description-title {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-size: 2rem;
}
#houzen .product-description-container .container2 .plates .three-points-container .three-points .point .description-texts .description {
  font-size: 1.4rem;
  letter-spacing: 0.04rem;
  line-height: 2.4rem;
  font-weight: normal;
  padding-right: 1rem;
  margin-top: 1.6rem;
}
#houzen .product-description-container .container2 .plates .contents-container {
  background-color: #fff;
  border: 1px solid #b6985c;
  padding-top: 2.8rem;
  margin-top: 2.5rem;
}
#houzen .product-description-container .container2 .plates .contents-container .contents-heading {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-size: 2.4rem;
  color: #b6985c;
  text-align: center;
}
#houzen .product-description-container .container2 .plates .contents-container .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 0 2.4rem 8rem 2.4rem;
  margin-top: 2rem;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content {
  display: grid;
  grid-template-rows: 10rem;
  -webkit-column-gap: 1.4rem;
  -moz-column-gap: 1.4rem;
  column-gap: 1.4rem;
  margin-bottom: 1.6rem;
  overflow: hidden;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content.with-warning {
  grid-template-rows: 12rem;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content figure {
  display: none;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content.no-thumbnail {
  padding: 0;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content.no-thumbnail .image {
  opacity: 0;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content.hidden {
  grid-template-rows: 0;
  opacity: 0;
  margin: 0;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content:last-of-type {
  margin-bottom: 0;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail {
  padding-top: 2rem;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail .name {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: bold;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail .description {
  font-size: 1.3rem;
  letter-spacing: 0.03rem;
  margin-top: 1rem;
  line-height: 1.8rem;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail .description.warning {
  font-size: 1.1rem;
  color: #555555;
  margin-top: 0.5rem;
}
#houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail .amount {
  display: inline-block;
  font-size: 1.2rem;
  color: #999999;
  margin-top: 1rem;
}
#houzen .product-description-container .container2 .plates .contents-container .mask {
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  position: absolute;
  width: 75.4rem;
  height: 15rem;
  bottom: 9rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#houzen .product-description-container .container2 .plates .contents-container .more-menu {
  position: absolute;
  height: 3.6rem;
  left: 50%;
  bottom: 4rem;
  text-align: start;
  font-size: 1.4rem;
  border: 1px solid #b6985c;
  border-radius: 3.2rem;
  padding-right: 3.5rem;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#houzen .product-description-container .container2 .plates .contents-container .more-menu.active .has-more-content {
  display: none;
}
#houzen .product-description-container .container2 .plates .contents-container .more-menu.active .no-more-content {
  display: inline;
}
#houzen .product-description-container .container2 .plates .contents-container .more-menu .has-more-content {
  display: inline;
}
#houzen .product-description-container .container2 .plates .contents-container .more-menu .no-more-content {
  display: none;
}
#houzen .product-description-container .container2 .plates .contents-container .more-menu .no-more-content::after {
  top: 0.4rem;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
#houzen .product-description-container .container2 .plates .contents-container .more-menu span {
  position: relative;
  margin-left: 2.25rem;
}
#houzen .product-description-container .container2 .plates .contents-container .more-menu span::after {
  position: absolute;
  content: "";
  background-image: url("/rb/osechi/assets/images/pages/seg/detail/common/open-arrow.svg");
  width: 1rem;
  height: 1rem;
  top: 0.8rem;
  right: -1.8rem;
  background-repeat: no-repeat;
}
#houzen .product-description-container .container2 .size-ingredient-information {
  width: 76rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 8.5rem;
}
#houzen .product-description-container .container2 .size-ingredient-information .size-ingredient-information-heading {
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}
#houzen .product-description-container .container2 .size-ingredient-information .item {
  width: 69.6rem;
  border-bottom: 1px solid #b6985c;
  margin: 0 auto;
}
#houzen .product-description-container .container2 .size-ingredient-information .item .description {
  margin-top: 0.9rem;
  font-weight: normal;
}
#houzen .product-description-container .container2 .size-ingredient-information .size {
  margin-top: 3rem;
}
#houzen .product-description-container .container2 .size-ingredient-information .ingredient {
  margin-top: 1.6rem;
}
#houzen .product-description-container .container2 .size-ingredient-information .expiration {
  margin-top: 1.6rem;
}
#houzen .product-description-container .container2 .size-ingredient-information .information-heading {
  font-size: 1.4rem;
  color: #999999;
}
#houzen .product-description-container .container2 .size-ingredient-information .description {
  font-size: 1.6rem;
  padding-bottom: 1.3rem;
}
#houzen .product-description-container .container2 .size-ingredient-information .allergy-information {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 25.2rem;
  height: 3.2rem;
  font-size: 1.4rem;
  border: 1px solid #b6985c;
  border-radius: 3.2rem;
  margin: 0 auto;
  margin-top: 2.75rem;
}
#houzen .product-description-container .container2 .size-ingredient-information .allergy-information::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  top: 1.1rem;
  right: 0.75rem;
  background-image: url("/rb/osechi/assets/images/pages/seg/detail/common/open-arrow.svg");
  background-repeat: no-repeat;
  -webkit-transform: rotate(-90deg) translateY(-50%);
  transform: rotate(-90deg) translateY(-50%);
}

@media only screen and (max-width: 768px) {
  #houzen figure img {
    width: 100%;
    height: 100%;
  }
  #houzen input[type=radio] {
    width: 2.4rem;
    height: 2.4rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    background-color: #fff;
    border: 1px solid #ac1d24;
    border-radius: 50%;
    margin: 0;
  }
  #houzen input[type=radio]:checked {
    position: relative;
  }
  #houzen input[type=radio]:checked::after {
    content: "";
    position: absolute;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: #ac1d24;
  }
  #houzen .heading {
    position: relative;
  }
  #houzen .heading.bottom {
    padding: 8rem 1.6rem 0;
  }
  #houzen .product-feature-price-order {
    width: 34.3rem;
    padding: 0;
    margin: 0 auto;
    margin-top: 2rem;
  }
  #houzen .product-feature-price-order .product-description {
    margin-top: 0;
  }
  #houzen .product-feature-price-order .product-description .product-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #houzen .product-feature-price-order .product-description .product-name .product-name-kanji {
    font-size: 4rem;
    font-weight: bold;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
  }
  #houzen .product-feature-price-order .product-description .product-name .product-name-hiragana {
    font-size: 1.2rem;
    font-weight: 400;
    margin-top: 1.25rem;
    margin-left: 1.5rem;
  }
  #houzen .product-feature-price-order .product-description .features {
    margin-top: 2rem;
  }
  #houzen .product-feature-price-order .product-description .features .feature {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: auto;
    height: 3.2rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    background-color: #b6985c;
    font-size: 1.6rem;
    letter-spacing: -0.01rem;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 0.5rem;
  }
  #houzen .product-feature-price-order .product-description .features .feature span {
    font-size: 1.2rem;
  }
  #houzen .product-feature-price-order .product-description .price-information {
    position: relative;
    width: 100%;
    margin: 0 auto;
    margin-top: 2.1rem;
  }
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount {
    position: relative;
    width: 100%;
  }
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount .pre-order-discount-image {
    width: 27.9rem;
    margin: 0 auto;
  }
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount .pre-order-discount-text {
    position: absolute;
    top: 5rem;
    right: 8rem;
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    z-index: 1;
  }
}
@media only screen and (max-width: 768px) and (max-width: 768px) {
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount .pre-order-discount-text {
    top: 6.25rem;
  }
}
@media only screen and (max-width: 768px) {
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount-special-price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.2rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 0.8rem;
    margin-left: 0;
  }
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount-special-price .pre-order-discount-special-price-image {
    width: 5rem;
    height: 5rem;
  }
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts {
    margin-top: -0.5rem;
  }
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts .prices-container .price-without-tax-container {
    color: #ac1d24;
    letter-spacing: 0.1rem;
    font-size: 3.8rem;
    font-weight: bold;
  }
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts .prices-container .price-without-tax-container .price-without-tax {
    font-size: 3.8rem;
    letter-spacing: 0.05rem;
  }
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts .prices-container .price-without-tax-container span:nth-of-type(2) {
    font-size: 2.2rem;
  }
  #houzen .product-feature-price-order .product-description .price-information .pre-order-discount-special-price .pre-order-discount-special-price-texts .prices-container .price-with-tax-container {
    color: #222222;
    font-size: 1.4rem;
    letter-spacing: 0.01rem;
    margin-left: 5rem;
    font-weight: 400;
    margin-top: 1rem;
  }
  #houzen .product-feature-price-order .pre-order-present-delivery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 2.1rem;
  }
  #houzen .product-feature-price-order .pre-order-present-delivery .select-form.delivery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #houzen .pre-order-present-delivery {
    padding-bottom: 2.3rem;
  }
  #houzen .pre-order-present-delivery .delivery .check-where-to-delivery-text {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    margin-top: 1.3rem;
  }
  #houzen .pre-order-present-delivery .delivery .heading {
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: 1.3rem;
  }
  #houzen .pre-order-present-delivery .delivery .select-form fieldset {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 27.9rem;
    height: 5.6rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(182, 152, 92, 0.2);
    border-radius: 0.8rem;
    margin: 0 1.5rem;
    margin-top: 1.25rem;
  }
  #houzen .pre-order-present-delivery .delivery .select-form fieldset input[type=radio] {
    background-color: #fff;
  }
  #houzen .pre-order-present-delivery .delivery .select-form fieldset label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 50%;
    height: 2.4rem;
    font-size: 1.6rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
    margin-left: 1.6rem;
  }
  #houzen .pre-order-present-delivery .delivery .select-form fieldset label:nth-of-type(1) {
    border-right: 1px solid rgba(172, 29, 36, 0.2);
  }
  #houzen .pre-order-present-delivery .delivery .select-form fieldset label .text {
    margin-left: 0.8rem;
  }
  #houzen .pre-order-present-delivery .delivery .select-form .delivery-recommend-date {
    font-size: 1.4rem;
    font-weight: normal;
    margin-top: 0.6rem;
    line-height: 2rem;
    margin-bottom: 1.6rem;
    text-align: center;
  }
  #houzen .pre-order-present-delivery .delivery .select-form .delivery-recommend-date span {
    position: relative;
    color: #ac1d24;
    cursor: pointer;
  }
  #houzen .pre-order-present-delivery .delivery .select-form .delivery-recommend-date span::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.1rem;
    left: 0;
    bottom: 0;
    background-color: #ac1d24;
  }
  #houzen .pre-order-present-delivery .delivery .select-form .delivery-not-available-areas {
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: -0.01rem;
    text-align: center;
    margin-top: 1.1rem;
  }
  #houzen .pre-order-present-delivery .delivery .select-form .to-order {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 28.2rem;
    height: 5rem;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    background-color: #000;
    border-radius: 4.8rem;
    margin: 0 auto;
    margin-top: 2rem;
    cursor: pointer;
  }
  #houzen .pre-order-present-delivery .delivery .select-form .to-order::after {
    content: "";
    position: absolute;
    width: 1rem;
    height: 2rem;
    top: 50%;
    right: 1.5rem;
    background-image: url("/rb/osechi/assets/images/pages/seg/detail/common/delivery-arrow.svg");
    background-repeat: no-repeat;
  }
  #houzen .pre-order-present-delivery .delivery .select-form .to-order.sold-out {
    display: none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #707070;
  }
  #houzen .pre-order-present-delivery .delivery .select-form .to-order.sold-out::after {
    background-image: none;
  }
  #houzen .pre-order-present-delivery .delivery .select-form .free-delivery-cancel {
    font-size: 1.6rem;
    text-align: center;
    margin-top: 0.8rem;
  }
  #houzen .notification-handmade {
    margin-top: 2.25rem;
  }
  #houzen .additional-discount {
    width: 34.3rem;
    margin: 0 auto;
    margin-top: 2.25rem;
    margin-bottom: 9.25rem;
  }
  #houzen .product-description-container {
    width: 100%;
    padding-top: 0;
    font-family: "Shippori Mincho", serif;
    font-style: normal;
  }
  #houzen .product-description-container .container1 {
    width: 100%;
    background-image: url("/rb/osechi/assets/images/bg/yellow.jpg");
    background-size: contain;
  }
  #houzen .product-description-container .container1 .product-title-sub {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    margin-top: 3.2rem;
    letter-spacing: 0.05rem;
  }
  #houzen .product-description-container .container1 .product-title-main {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.05rem;
    line-height: 3.5rem;
    margin-top: 1.5rem;
  }
  #houzen .product-description-container .container1 .product-description {
    width: 100%;
    font-family: "Shippori Mincho", serif;
    font-style: normal;
    letter-spacing: 0.04rem;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 4.1rem;
    border: none;
    padding: 0 1.6rem;
    margin-top: 2rem;
  }
  #houzen .product-description-container .container1 .product-description span {
    padding: 0;
    text-align: center;
    border-bottom: 1px solid #dddddd;
  }
  #houzen .product-description-container .container1 .product-description span:nth-of-type(1) {
    border-top: 1px solid #dddddd;
  }
  #houzen .product-description-container .container2 {
    background-image: url("/rb/osechi/assets/images/bg/yellow.jpg");
    background-size: contain;
  }
  #houzen .product-description-container .container2 .product-image {
    width: 34.4rem;
    margin: 0 auto;
    margin-top: 3.2rem;
  }
  #houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-text {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.05rem;
    line-height: 3.5rem;
    margin-top: 3.2rem;
  }
  #houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-column-gap: 3rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    padding: 0;
    margin-top: 1.3rem;
  }
  #houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists .those {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.8rem;
  }
  #houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists .those:nth-of-type(2) {
    margin: 0;
  }
  #houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists .those .check {
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin-top: 0.5rem;
  }
  #houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists .those .those-description {
    text-align: justify;
    letter-spacing: 0.05rem;
    line-height: 2.75rem;
    margin-left: 1.25rem;
    margin-top: 0.2rem;
  }
  #houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists .those:nth-of-type(2) .check {
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin-top: 1.75rem;
  }
  #houzen .product-description-container .container2 .recommend-for-those .recommend-for-those-lists .those:nth-of-type(2) .those-description {
    margin-left: 1.25rem;
    letter-spacing: 0.05rem;
    line-height: 2.75rem;
    margin-top: 1.5rem;
  }
  #houzen .product-description-container .container2 .product-description-container {
    width: 31.1rem;
    margin: 0 auto;
    margin-top: 8.5rem;
  }
  #houzen .product-description-container .container2 .size-ingredient-information {
    width: 100%;
    padding-bottom: 3.2rem;
    margin-top: 8.3rem;
  }
  #houzen .product-description-container .container2 .size-ingredient-information .size-ingredient-information-heading {
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
  }
  #houzen .product-description-container .container2 .size-ingredient-information .information-heading {
    font-size: 1.4rem;
    font-weight: 400;
    color: #999999;
  }
  #houzen .product-description-container .container2 .size-ingredient-information .item {
    width: 31.1rem;
    border-bottom: 1px solid #999999;
    margin: 0 auto;
  }
  #houzen .product-description-container .container2 .size-ingredient-information .description {
    font-size: 1.6rem;
    margin-top: 0.75rem;
    letter-spacing: 0.03rem;
    line-height: 2.2rem;
    padding-bottom: 0.8rem;
  }
  #houzen .product-description-container .container2 .size-ingredient-information .size {
    margin-top: 3rem;
  }
  #houzen .product-description-container .container2 .size-ingredient-information .ingredient {
    margin-top: 1.5rem;
  }
  #houzen .product-description-container .container2 .size-ingredient-information .expiration {
    margin-top: 1.5rem;
  }
  #houzen .product-description-container .container2 .size-ingredient-information .allergy-information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 25.2rem;
    height: 3.6rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.4rem;
    border: solid 1px #b6985c;
    border-radius: 3.2rem;
    padding-left: 0.5rem;
    margin: 0 auto;
    margin-top: 2.5rem;
  }
  #houzen .product-description-container .container2 .size-ingredient-information .allergy-information::after {
    right: 0.75rem;
    top: 1.25rem;
  }
  #houzen .product-description-container .container2 .plates {
    margin-top: 7.8rem;
  }
  #houzen .product-description-container .container2 .plates .bg {
    width: 100%;
  }
  #houzen .product-description-container .container2 .plates .plate {
    width: 100%;
  }
  #houzen .product-description-container .container2 .plates .plate .plate-image {
    width: 33.5rem;
    margin: 0 auto;
  }
  #houzen .product-description-container .container2 .plates .plate .heading {
    width: 12.4rem;
    padding-top: 2.3rem;
    margin: 0 auto;
  }
  #houzen .product-description-container .container2 .plates .plate .plate-description {
    font-size: 1.6rem;
    font-family: "Shippori Mincho", serif;
    font-weight: bold;
    font-style: normal;
    letter-spacing: 0.08rem;
    line-height: 3rem;
    text-align: center;
    padding: 0 2.5rem;
    margin-top: 0.3rem;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points-heading {
    font-size: 3rem;
    margin: 0 auto;
    margin-top: 3.2rem;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .point {
    padding: 0;
    margin: 0 auto;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .point .description-container {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: repeat(2, auto);
    width: 34.1rem;
    padding: 1.5rem;
    padding-top: 1.5rem;
    margin: 0 auto;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .point .description-container .description-title {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    font-family: "Shippori Mincho", serif;
    font-style: normal;
    margin-top: 2rem;
    letter-spacing: 0.03rem;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .point .description-container .description {
    text-align: justify;
    font-size: 1.4rem;
    letter-spacing: 0.08rem;
    margin-top: 0.8rem;
    line-height: 2.1rem;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .point .description-container .image {
    width: 100%;
    height: auto;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .point .description-container .description-texts {
    margin-top: 0;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .ichi .kanji {
    width: 4.5rem;
    margin: 0 auto;
    margin-top: 3.6rem;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .ni .kanji {
    width: 4.5rem;
    margin: 0 auto;
    margin-top: 2.5rem;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .san .kanji {
    width: 4.5rem;
    margin: 0 auto;
    margin-top: 1.9rem;
  }
  #houzen .product-description-container .container2 .plates .three-points-container .three-points .san .description-container {
    margin-top: -0.5rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container {
    width: 34.2rem;
    border: 1px solid #b6985c;
    padding-bottom: 8rem;
    margin: 0 auto;
    margin-top: 3.7rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents-heading {
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    font-family: "Shippori Mincho", serif;
    font-style: normal;
    letter-spacing: 0.1rem;
    padding-top: 0.1rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 29.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
    padding-top: 2.25rem;
    margin: 0 auto;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: auto;
    margin-bottom: 1.5rem;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content.with-warning {
    height: 16.5rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content.with-warning .description.on-warning {
    padding-bottom: 0.25rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content.with-warning .description.warning {
    font-size: 1.2rem;
    line-height: 1.6rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content.h8 {
    height: 8rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content.h9 {
    height: 9rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content.h12 {
    height: 12rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content:last-of-type {
    margin-bottom: 0;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content.hidden {
    height: 0;
    opacity: 0;
    margin: 0;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content .image {
    max-width: 11.2rem;
    min-width: 11.2rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail {
    position: relative;
    padding-left: 0rem;
    padding-top: 0;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail .name {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.2;
    margin-top: 0.2rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail .name .number {
    margin-right: 0.2rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail .description {
    font-size: 1.3rem;
    margin-top: 0.9rem;
    text-align: justify;
    line-height: 1.75rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .contents .content .content-detail .amount {
    position: absolute;
    color: #999999;
    right: 0;
    bottom: 0.2rem;
    font-size: 1.2rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .mask {
    position: absolute;
    width: 33.5rem;
    height: 20rem;
    bottom: 8rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  #houzen .product-description-container .container2 .plates .contents-container .more-menu {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 3.6rem;
    bottom: 2.5rem;
    left: 50%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.4rem;
    background-color: #fff;
    border: 1px solid #b6985c;
    border-radius: 3.2rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  #houzen .product-description-container .container2 .plates .contents-container .more-menu span {
    margin-left: 2.3rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .more-menu span::after {
    top: 0.5rem;
  }
  #houzen .product-description-container .container2 .plates .contents-container .more-menu .no-more-content::after {
    top: 0;
  }
}
#houzen .how-many-left {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: none;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 12rem;
  height: 3.6rem;
  top: 0;
  right: 0;
  background-color: #ac1d24;
  color: #fff;
  font-size: 1.6rem;
}
#houzen .how-many-left span {
  font-size: 2rem;
}
@media only screen and (max-width: 768px) {
  #houzen .how-many-left {
    position: static;
    width: 29.6rem;
    height: 3.6rem;
    margin: 0 auto;
    margin-top: 1.5rem;
  }
}
#houzen .no-discount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 1.6rem;
  gap: 2rem;
}
@media only screen and (max-width: 768px) {
  #houzen .no-discount {
    margin-top: 1rem;
  }
}
#houzen .no-discount .no-discount-text {
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  #houzen .no-discount .no-discount-text {
    font-size: 1.2rem;
  }
}
#houzen .no-discount .no-discount-price {
  position: relative;
  font-size: 2rem;
}
@media only screen and (max-width: 768px) {
  #houzen .no-discount .no-discount-price {
    font-size: 1.8rem;
  }
}
#houzen .no-discount .no-discount-price::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
  background-color: #000000;
}