/**
 * lp-design-a CSS
 */
/*  PCとSPの表示非表示の切り替え */
/*(md)px以上で表示*/
@media (max-width: 450px) {
  .pc-only {
    display: none;
  }
}

/*モバイルのみ表示*/
.sp-only {
  display: none;
}
@media (max-width: 650px) {
  .sp-only {
    display: block;
  }
}
.lp-design-b {
  font-family:
    "DNP ShueiGoGinStd", "游ゴシック体", YuGothic, "游ゴシック Medium",
    "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  background-color: #f5e9e2;
  padding-bottom: 147px;
  line-height: calc(30 / 16);
  font-size: 16px;
  @media (max-width: 450px) {
    font-size: 14px;
    line-height: calc(20 / 14);
  }
}

/* 共通 style.css の a:hover / a:active によるゴールド・茶色を打ち消し（LPの黒ボタンは白文字のまま） */
.lp-design-b a.flex-box__item-btn:hover,
.lp-design-b a.flex-box__item-btn:active,
.lp-design-b a.flex-box__item-btn:focus-visible,
.lp-design-b a.pattern01__view-more:hover,
.lp-design-b a.pattern01__view-more:active,
.lp-design-b a.pattern01__view-more:focus-visible,
.lp-design-b a.pattern02__view-more:hover,
.lp-design-b a.pattern02__view-more:active,
.lp-design-b a.pattern02__view-more:focus-visible,
.lp-design-b a.pattern03__view-more:hover,
.lp-design-b a.pattern03__view-more:active,
.lp-design-b a.pattern03__view-more:focus-visible,
.lp-design-b a.pattern04__view-more:hover,
.lp-design-b a.pattern04__view-more:active,
.lp-design-b a.pattern04__view-more:focus-visible,
.lp-design-b a.pattern05__view-more:hover,
.lp-design-b a.pattern05__view-more:active,
.lp-design-b a.pattern05__view-more:focus-visible,
.lp-design-b a.pattern03__btn:hover,
.lp-design-b a.pattern03__btn:active,
.lp-design-b a.pattern03__btn:focus-visible,
.lp-design-b a.pattern04__btn:hover,
.lp-design-b a.pattern04__btn:active,
.lp-design-b a.pattern04__btn:focus-visible,
.lp-design-b a.pattern05__btn:hover,
.lp-design-b a.pattern05__btn:active,
.lp-design-b a.pattern05__btn:focus-visible,
.lp-design-b a.pattern05__btn:hover span,
.lp-design-b a.pattern05__btn:active span,
.lp-design-b a.pattern05__btn:focus-visible span,
.lp-design-b a.pj-item-row__btn:hover,
.lp-design-b a.pj-item-row__btn:active,
.lp-design-b a.pj-item-row__btn:focus-visible,
.lp-design-b a.pj-item-card__btn:hover,
.lp-design-b a.pj-item-card__btn:active,
.lp-design-b a.pj-item-card__btn:focus-visible,
.lp-design-b a.pj-item-text__btn:hover,
.lp-design-b a.pj-item-text__btn:active,
.lp-design-b a.pj-item-text__btn:focus-visible,
.lp-design-b a.pj-ttl-section__btn:hover,
.lp-design-b a.pj-ttl-section__btn:active,
.lp-design-b a.pj-ttl-section__btn:focus-visible,
.lp-design-b a.pj-sweet-dream__btn:hover,
.lp-design-b a.pj-sweet-dream__btn:active,
.lp-design-b a.pj-sweet-dream__btn:focus-visible,
.lp-design-b a.pj-special-gift__btn:hover,
.lp-design-b a.pj-special-gift__btn:active,
.lp-design-b a.pj-special-gift__btn:focus-visible,
.lp-design-b a.pj-pickup__item-btn:hover,
.lp-design-b a.pj-pickup__item-btn:active,
.lp-design-b a.pj-pickup__item-btn:focus-visible {
  color: #fff;
}

.lp-design-b--gipsy {
  background-color: #e9eff8;
}
.lp-design-b--roomwear {
  background-color: #fffcf3;
  font-family: Inter, "Inter", "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
}
.lp-design-b__wrapper {
  max-width: 650px;
  margin-inline: auto;
  background-color: #fff;
  position: relative;
}
.lp-design-b__wrapper::before,
.lp-design-b__wrapper::after {
  content: "";
  position: fixed;
  width: 44px;
  height: 304px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  opacity: 1;
  transition: opacity 0.8s ease;
}
@media (max-width: 650px) {
  .lp-design-b__wrapper::before,
  .lp-design-b__wrapper::after {
    display: none;
  }
}
.lp-design-b__wrapper.hide-pseudo::before,
.lp-design-b__wrapper.hide-pseudo::after {
  opacity: 0;
}
.lp-design-b__wrapper--gipsy::before,
.lp-design-b__wrapper--gipsy::after {
  color: #868bb1;
}
.lp-design-b__wrapper::before {
  background-image: url(../img/nounette/side-text01.png);
  top: 50svh;
  left: calc(var(--before-left) - 2vw);
}
.lp-design-b__wrapper--gipsy::before,
.lp-design-b__wrapper--gipsy::after {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 31px;
  height: 262px;
  position: fixed;
  opacity: 1;
  transition: opacity 0.8s ease;
}
.lp-design-b__wrapper--gipsy::before {
  background-image: url(../img/gipsy/side-text01.png);
  top: 50svh;
  left: calc(var(--before-left) - 4vw);
  transform: rotate(0deg);
}

.lp-design-b__wrapper::after {
  background-image: url(../img/nounette/side-text02.png);
  top: 50svh;
  right: calc(var(--after-right));
}
.lp-design-b__wrapper--gipsy::after {
  content: "";
  background-image: url(../img/gipsy/side-text02.png);
  top: 50svh;
  right: calc(var(--after-right) - 2vw);
  width: 31px;
  height: 262px;
}
.small-text {
  letter-spacing: -1px;
}
@media (max-width: 650px) {
  .small-text {
    letter-spacing: 0;
  }
}
.mv {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.inner {
  padding-inline: 40px;
}

@media (max-width: 450px) {
  .inner {
    padding-inline: 20px;
  }
}
.concept {
  padding-block: 100px 95px;
}
.concept--roomwear.concept {
  line-height: 2.55;
  padding-block: 80px 95px;
}
.pattern01,
.pattern02,
.pattern03,
.pattern04,
.pattern05 {
  padding-top: 40px;
  padding-bottom: 180px;
  @media (max-width: 450px) {
    padding-bottom: 90px;
  }
}
.pattern01--roomwear {
  padding-bottom: 100px;
  @media (max-width: 450px) {
    padding-bottom: 60px;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern01.pattern01--roomwear.pattern-background::before {
  height: 50%;
}
/* roomwear：pattern-background の上部帯は #FFF8E1 */
.lp-design-b__wrapper--roomwear .pattern-background::before {
  background-color: #fff8e1;
}
.pattern02--roomwear {
  padding-bottom: 160px;
  @media (max-width: 450px) {
    padding-bottom: 60px;
  }
}
.pattern06 {
  padding-top: 40px;
  padding-bottom: 113px;
  @media (max-width: 450px) {
    padding-bottom: 50px;
  }
}

.pattern01__title-wrapper-left,
.pattern03__title-wrapper-left {
  padding-left: 40px;
  position: relative;
  z-index: 1;
}
.pattern04__title-wrapper-center {
  position: relative;
  z-index: 1;
}
.pattern__inner {
  padding-inline: 40px;
  @media (max-width: 450px) {
    padding-inline: 20px;
  }
}
.pattern__color {
  font-size: 14px;
  text-align: right;
  display: block;
}

.pattern01__wrapper.pattern01__wrapper-below {
  margin-top: 180px;
  @media (max-width: 450px) {
    margin-top: 90px;
  }
}

.pattern01__inner-left,
.pattern03__inner-left {
  padding-left: 0;
}
.pattern01__title,
.pattern03__title {
  font-size: 28px;
  font-weight: 400;
  font-family: "the-seasons", sans-serif;
  @media (max-width: 450px) {
    font-size: 20px;
  }
}
.pattern02__title,
.pattern04__title {
  font-size: 28px;
  font-weight: 400;
  font-family: "the-seasons", sans-serif;
}
.pattern02__title--small {
  font-size: 20px;
}
@media screen and (max-width: 450px) {
  .pattern02__title--small {
    font-size: 18px;
  }
}
.pattern04__title {
  font-weight: 400;
  font-family: "the-seasons", sans-serif;
}
.pattern05__title {
  text-align: center;
  font-weight: 400;
  font-family: "the-seasons", sans-serif;
  z-index: 1;
  position: relative;
}
.pattern01__wrapper,
.pattern02__wrapper,
.pattern03__wrapper,
.pattern04__wrapper,
.pattern05__wrapper,
.pattern06__wrapper {
  position: relative;
  margin-top: 30px;
}
.pattern-background {
  position: relative;
}
.pattern-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 24%;
  background-color: #fbf4f1;
  z-index: 0;
}
.pattern-background--gipsy::before {
  background-color: #f3f6fa;
  height: 53%;
}
@media (max-width: 650px) {
  .pattern-background--gipsy::before {
    height: 18%;
  }
}
.pattern-background--pattern02::before {
  height: 23%;
}

.pattern-background--pattern03::before {
  height: 30%;
}
.pattern-background--pattern04::before {
  height: 66%;
}
.pattern-background--pattern05::before {
  height: 35%;
}
.pattern-background--gipsy.pattern-background--pattern05::before {
  height: 300px;
}
.pattern-background--pattern06::before {
  height: 34%;
  width: 88%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #817c76;
}
@media (max-width: 450px) {
  .pattern-background--pattern06::before {
    width: 98%;
  }
}
.pattern01__image-01 {
  max-width: 79%;
}
.pattern01__image-01--roomwear {
  max-width: 93%;
}

.pattern01__image-02 {
  max-width: 42%;
  height: fit-content;
  position: absolute;
  bottom: 60px;
  right: 0;
}
.pattern01__image-02--roomwear {
  bottom: -40px;
  max-width: 49%;
}
@media (max-width: 768px) {
  .pattern01__image-02--roomwear {
    bottom: 40px;
  }
}

.pattern01__image-02--gipsy {
  top: 31%;
  right: 0;
  height: fit-content;
}
.pattern01__image-03 {
  max-width: 70%;
  margin-left: auto;
}
.pattern01__image-03--gipsy {
  padding: 8% 8% 0 8%;
  left: 0;
  flex-shrink: 0;
  max-width: 58%;
}
.pattern01__image-04 {
  max-width: 53%;
  position: absolute;
  bottom: 0;
  left: 0;
  @media (max-width: 450px) {
    bottom: -30px;
  }
}
.pattern01__text,
.pattern03__text {
  padding-left: 30px;
  margin-top: 40px;
  @media (max-width: 450px) {
    margin-top: 20px;
    padding-left: 15px;
  }
}
.pattern01__text {
  max-width: 56%;
}
.pattern01__text--gipsy {
  margin-top: auto;
  padding-left: 0;
  margin-top: 28%;
}
.pattern01__gipsy-wrapper {
  display: flex;
}
.pattern03__text {
  max-width: 46%;
  @media (max-width: 450px) {
    max-width: 54%;
  }
}
.pattern01__text--right {
  margin-left: auto;
  max-width: 47%;
}
.pattern02__inner-right,
.pattern04__inner-right {
  padding-right: 0;
  padding-left: 40px;
  @media (max-width: 450px) {
    padding-left: 20px;
  }
}
.pattern02__inner-left {
  padding-left: 0;
  padding-right: 40px;
}
.pattern02__title-wrapper-right,
.pattern04__title-wrapper-right {
  padding-right: 40px;
  position: relative;
  z-index: 1;
  text-align: right;
}
.pattern02__title-wrapper-left {
  position: relative;
  z-index: 1;
}

.pattern02__image-01 {
  max-width: 93%;
  margin-left: auto;
}
.pattern02__image-02 {
  max-width: 44%;
  position: absolute;
  bottom: -130px;
  left: 0;
  @media (max-width: 450px) {
    bottom: -70px;
  }
}

.pattern02__text {
  max-width: 45%;
  padding-right: 30px;
  margin-top: 40px;
  margin-left: auto;
  @media (max-width: 450px) {
    max-width: 52%;
    padding-right: 15px;
  }
}
.pattern02__images {
  margin-top: 200px;
}
.pattern02__images--gipsy {
  position: relative;
}
.pattern02__images--gipsy::before {
  content: "";
  position: absolute;
  top: 45%;
  left: 0;
  width: 100%;
  height: 35%;
  background-color: #f3f6fa;
}
.pattern02__image-wrapper {
  max-width: 360px;
  margin-inline: auto;
}
.pattern02__image-wrapper--gipsy {
  margin-inline: 0;
  margin-left: auto;
  margin-right: 0;
}
.pattern02__image-wrapper--small + .pattern02__image-wrapper--small {
  margin-top: -55px;
}
.pattern02__image-wrapper-text {
  margin-top: 20px;
  font-size: 16px;
}

/* pattern02__images--gipsy のモディファイヤ */
.pattern02__images--gipsy .pattern02__gipsy-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pattern02__images--gipsy .pattern02__image-wrapper--large {
  max-width: 80%;
  margin-right: auto;
  margin-left: 0;
  @media (max-width: 650px) {
    max-width: 85%;
  }
}

.pattern02__images--gipsy .pattern02__gipsy-small-images {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: -36%;
}

.pattern02__images--gipsy .pattern02__image-wrapper--small {
  width: 45%;
}

.pattern02__images--gipsy .pattern02__image-wrapper--small:nth-child(1) {
  align-self: flex-end;
  margin-right: 0;
  margin-bottom: -30px;
  @media (max-width: 650px) {
    margin-bottom: -20px;
  }
}

.pattern02__images--gipsy .pattern02__image-wrapper--small:nth-child(2) {
  align-self: center;
  margin-bottom: -30px;
  @media (max-width: 650px) {
    margin-bottom: -20px;
  }
}

.pattern02__images--gipsy .pattern02__image-wrapper--small:nth-child(3) {
  align-self: flex-start;
  margin-left: 0;
  max-width: 100%;
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10%;
}

/* pattern03 */
.pattern03__image-01 {
  max-width: 93%;
}
.pattern03__image-02 {
  max-width: 50%;
  position: absolute;
  bottom: -130px;
  right: 0;
  @media (max-width: 650px) {
    bottom: 20px;
    max-width: 40%;
  }
}
.flex-box {
  margin-top: 180px;
  @media (max-width: 650px) {
    margin-top: 90px;
  }
}
.flex-box--roomwear-item {
  margin-top: 100px;
  @media (max-width: 650px) {
    margin-top: 60px;
  }
}

.pattern03__images {
  margin-top: 185px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media (max-width: 450px) {
  .pattern03__images {
    margin-top: 90px;
    gap: 30px;
  }
}
.pattern03__inner-left {
  padding-left: 0;
}
.pattern03__inner-right {
  padding-right: 0;
}
.pattern03__image-wrapper {
  display: flex;
  gap: 10px;
}
.pattern03__image-wrapper-right {
  align-items: flex-end;
}
.pattern03__btn-wrapper {
  padding-left: 40px;
  @media (max-width: 450px) {
    padding-left: 20px;
  }
}
.pattern03__btn {
  background-color: #000;
  padding: 12px 50px;
  border-radius: 9999px;
  display: block;
  width: fit-content;
  transition: opacity 0.3s ease;
  color: #fff;
  margin-top: 45px;
}
@media (max-width: 450px) {
  .pattern03__btn {
    padding: 12px 10px;
  }
}
.pattern03__btn-text {
  font-size: 14px;
  margin-top: 3dvb;
}

/* pattern04 */
.pattern04__image-01 {
  max-width: 93%;
  margin-left: auto;
}
.pattern04__image-02 {
  max-width: 44%;
  position: absolute;
  bottom: -39px;
  left: 0;
  @media (max-width: 450px) {
    bottom: 70px;
    max-width: 35%;
  }
}
.pattern04__btn-wrapper {
  max-width: 48%;
  margin-left: auto;
  @media (max-width: 450px) {
    max-width: 60%;
  }
}
.pattern04__btn {
  background-color: #000;
  padding: 12px 50px;
  border-radius: 9999px;
  display: block;
  width: fit-content;
  transition: opacity 0.3s ease;
  color: #fff;
  margin-top: 45px;
  @media (max-width: 600px) {
    padding: 12px 10px;
    margin-top: 20px;
    margin-inline: auto;
  }
}
.pattern04__btn-text {
  font-size: 14px;
  margin-top: 3dvb;
  padding-right: 40px;
  @media (max-width: 450px) {
    font-size: 12px;
    padding-right: 20px;
  }
}

.pattern05__title-wrapper-center,
.pattern05__title-wrapper-right {
  position: relative;
  z-index: 1;
}
.pattern05__text {
  margin-top: 30px;
  text-align: center;
}
.pattern05__image-01--gipsy,
.pattern05__text--gipsy {
  max-width: calc(400px / 650px * 100%);
  margin-inline: auto;
  text-align: left;
}

.pattern05__btn {
  background-color: #000;
  padding: 12px 50px;
  border-radius: 9999px;
  display: block;
  width: fit-content;
  margin-inline: auto;
  transition: opacity 0.3s ease;
  color: #fff;
  margin-top: 45px;
}
@media (max-width: 450px) {
  .pattern05__btn {
    padding: 12px 30px;
  }
}
.pattern06__title-wrapper-center {
  position: relative;
  z-index: 1;
  text-align: center;
}
.pattern06__title {
  font-size: 28px;
  color: #fff;
  font-family: "the-seasons", sans-serif;
  font-weight: 400;
}
.pattern06__text {
  font-size: 16px;
  color: #fff;
  text-align: center;
  margin-top: 12px;
  margin-bottom: 0;
}

.flex-box__inner {
  max-width: 80%;
  margin-inline: auto;
  @media (max-width: 450px) {
    max-width: 90%;
  }
}
.flex-box__inner--roomwear {
  max-width: 75%;
  margin-inline: auto;
  @media (max-width: 450px) {
    max-width: 87%;
  }
}
.flex-box__text {
  text-align: center;
  font-size: 28px;
  font-family: "the-seasons", sans-serif;
}

.flex-box__wrapper {
  display: flex;
  gap: 30px;
  margin-top: 55px;
  @media (max-width: 650px) {
    gap: 15px;
  }
}
.flex-box__wrapper--pattern06 {
  margin-top: 30px;
  max-width: 490px;
  margin-inline: auto;
}
.flex-box--pattern06 {
  margin-top: 0;
}
.flex-box__item-image {
  aspect-ratio: 230/276;
  height: auto;
  object-fit: cover;
}
.flex-box__item__image img {
  aspect-ratio: 230/276;
  height: auto;
  object-fit: cover;
}
.flex-box__item-text {
  margin-top: 16px;
  font-size: 14px;
  @media (max-width: 650px) {
    font-size: 12px;
  }
}

.flex-box__item-btn {
  background-color: #000;
  padding: 12px 30px;
  border-radius: 9999px;
  display: block;
  width: 100%;
  margin-inline: auto;
  transition: opacity 0.3s ease;
  color: #fff;
  margin-top: 45px;
  text-align: center;
  @media (max-width: 650px) {
    padding: 12px 10px;
    margin-top: 20px;
  }
}

/* ========== roomwear LP（page-roomwear 専用） ========== */
/* side-text01 / side-text02：nounette 同様に表示 */
.lp-design-b__wrapper--roomwear::before {
  content: "";
  background-image: url(../img/roomwear/side-text01.png);
  top: 50svh;
  left: calc(var(--before-left) - 3vw);
}
.lp-design-b__wrapper--roomwear::after {
  content: "";
  background-image: url(../img/roomwear/side-text02.png);
  top: 50svh;
  right: calc(var(--after-right));
}

/* タイトルセクション：タイトル左・画像左（メイン＋左下に小）・テキスト・ボタン右 */
/* タイトルセクション：見出しは左寄せ・コンテンツが右に張り付かないよう左右パディング */
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-title
  .pattern02__inner-right {
  padding-right: 40px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02--roomwear-title
    .pattern02__inner-right {
    padding-right: 20px;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-title
  .pattern02__title-wrapper-left--roomwear {
  text-align: left;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02--roomwear-title
    .pattern02__title-wrapper-left--roomwear {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.lp-design-b__wrapper--roomwear .pattern02__wrapper--roomwear-title {
  margin-top: 30px;
}
/* メイン画像：1枚で大きく・左寄せ */
.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-title
  .pattern02__image--main-only {
  width: 100%;
  max-width: 92%;
  margin-bottom: 20px;
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}
.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-title
  .pattern02__image--main-only02 {
  max-width: 87%;
}
/* With Nounette：1枚目画像は左余白なし */
.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-concept
  .pattern02__image--main-only {
  margin-left: -40px;
  width: calc(100% + 40px);
  max-width: calc(100% + 40px);
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02__wrapper--roomwear-concept
    .pattern02__image--main-only {
    margin-left: -20px;
    width: calc(100% + 20px);
    max-width: calc(100% + 20px);
  }
}
.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-title
  .pattern02__image--main-only
  img {
  width: 100%;
  height: auto;
  display: block;
  margin-inline: auto;
}

.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-title
  .pattern02__bottom-row {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-end;
  margin-left: 20px;
  @media screen and (max-width: 650px) {
    gap: 20px;
    margin-left: 0;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-title
  .pattern02__image-02--no-overlap {
  position: static;
  flex: 0 0 auto;
  max-width: 40%;
  margin: 0;
  bottom: auto;
}

.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-title
  .pattern02__content-block {
  flex: 1 1 45%;
  min-width: 0;
}

.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-title
  .pattern02__text {
  margin-top: 0;
  margin-left: 0;
  max-width: 100%;
  padding-right: 0;
}
@media screen and (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02__wrapper--roomwear-title
    .pattern02__text {
    line-height: 1.3;
  }
}
.lp-design-b__wrapper--roomwear .pattern02--roomwear-sweetdream {
  padding-bottom: 87px;
  @media (max-width: 450px) {
    padding-bottom: 60px;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-sweetdream.pattern-background::before {
  height: 50%;
}
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-sweetdream
  .pattern02__title-wrapper-left--roomwear {
  text-align: left;
  padding-left: 40px;
  padding-right: 40px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02--roomwear-sweetdream
    .pattern02__title-wrapper-left--roomwear {
    padding-left: 20px;
    padding-right: 20px;
  }
}
/* Sweet Dream：コンテンツが右に張り付かないよう右パディング */
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-sweetdream
  .pattern02__inner-right {
  padding-right: 40px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02--roomwear-sweetdream
    .pattern02__inner-right {
    padding-right: 20px;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-sweetdream
  .pattern02__inner-left--roomwear {
  padding-left: 0;
}
/* Sweet Dream：テキストは左側・右側の画像と被らないよう幅制限 */
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-sweetdream
  .pattern02__text {
  margin-left: 0;
  margin-right: auto;
  max-width: 45%;
  padding-right: 0;
  padding-left: 40px;
  line-height: 1.5;
}

@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02--roomwear-sweetdream
    .pattern02__text {
    padding-left: 20px;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-sweetdream
  .pattern02__image-01 {
  margin-left: 0;
  margin-right: auto;
  max-width: 93%;
}
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-sweetdream
  .pattern02__image-02 {
  left: auto;
  right: 0;
  bottom: 10px;
  max-width: 49%;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02--roomwear-sweetdream
    .pattern02__image-02 {
    bottom: 30px;
  }
}

/* pattern05：roomwear では padding-bottom 53px */
.lp-design-b__wrapper--roomwear
  .pattern05.pattern-background.pattern-background--pattern05 {
  padding-bottom: 53px;
}
/* Special Gift（pattern05・Summer Breeze以外）：背景beforeは45% */
.lp-design-b__wrapper--roomwear
  .pattern05.pattern-background--pattern05:not(
    .pattern05--roomwear-summerbreeze
  )::before {
  height: 45%;
}
/* セクションタイトル・ITEM見出し：Inter（roomwear 全体） */
.lp-design-b__wrapper--roomwear .pattern01__title,
.lp-design-b__wrapper--roomwear .pattern02__title,
.lp-design-b__wrapper--roomwear .pattern03__title,
.lp-design-b__wrapper--roomwear .pattern04__title,
.lp-design-b__wrapper--roomwear .pattern05__title,
.lp-design-b__wrapper--roomwear .pattern06__title,
.lp-design-b__wrapper--roomwear .flex-box__text {
  font-family: Inter, "Inter", "Noto Sans JP", sans-serif;
}
/* PICK UP（pattern06）は元の背景色のまま */
.lp-design-b__wrapper--roomwear .pattern-background--pattern06::before {
  height: 41%;
  background-color: #817c76;
}

/* テキストの切れ防止（互い違いレイアウト） */
/* pattern01（Relax Cat）：テキストが右側の重なり画像（image-02）と被らないよう幅を制限 */
.lp-design-b__wrapper--roomwear .pattern01__text {
  max-width: 46%;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* Simple & Basic（pattern03）：右側の余白なし・背景beforeは33% */
.lp-design-b__wrapper--roomwear .pattern03.pattern-background::before {
  height: 33%;
}
.lp-design-b__wrapper--roomwear .pattern03 .pattern__inner {
  padding-right: 0;
}

.lp-design-b__wrapper--roomwear .pattern02__text,
.lp-design-b__wrapper--roomwear .pattern03__text,
.lp-design-b__wrapper--roomwear .pattern-background--pattern04::before {
  height: 24.5%;
}
@media screen and (max-width: 450px) {
  .lp-design-b__wrapper--roomwear .pattern03__text {
    max-width: 60%;
  }
}

/* Natural Breeze（pattern04）：2枚目は1枚目の右下に重ねる・テキストは右画像にかぶらない幅 */
.lp-design-b__wrapper--roomwear .pattern04 .pattern04__image-02 {
  left: auto;
  right: 4%;
  bottom: -250px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear .pattern04 .pattern04__image-02 {
    bottom: 10px;
  }
}
/* テキスト左端を image19（pattern04__image-01）の左端に合わせる（image19 は 93% 幅・右寄せなので左端は 7%） */
.lp-design-b__wrapper--roomwear .pattern04 .pattern04__text {
  margin-left: 7%;
  margin-right: auto;
  max-width: 40%;
  padding-right: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}
@media screen and (max-width: 450px) {
  .lp-design-b__wrapper--roomwear .pattern04 .pattern04__text {
    max-width: 50%;
    margin-top: 16px;
  }
}

.lp-design-b__wrapper--roomwear .pattern04__overlap-block {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0 2%;
  margin-top: 350px;
  padding-right: 40px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear .pattern04__overlap-block {
    padding-right: 20px;
    padding-left: 20px;
    margin-top: 80px;
    gap: 0 3%;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern04__overlap-block
  .pattern04__overlap-image--main,
.lp-design-b__wrapper--roomwear
  .pattern04__overlap-block
  .pattern04__overlap-image--sub {
  max-width: 62%;
  margin: 0;
}
.lp-design-b__wrapper--roomwear
  .pattern04__overlap-block
  .pattern04__overlap-image--sub {
  margin-left: auto;
}
.lp-design-b__wrapper--roomwear
  .pattern04__overlap-block
  .pattern04__overlap-image--main
  img,
.lp-design-b__wrapper--roomwear
  .pattern04__overlap-block
  .pattern04__overlap-image--sub
  img {
  width: 100%;
  height: auto;
  display: block;
}
/* 2枚目をmargin-topで上げて、1枚目の右下と2枚目の左上が少し重なる */
.lp-design-b__wrapper--roomwear
  .pattern04__overlap-block
  .pattern04__overlap-image--sub {
  margin-top: -3%;
}
@media (max-width: 650px) {
  .lp-design-b__wrapper--roomwear
    .pattern04__overlap-block
    .pattern04__overlap-image--sub {
    margin-top: -12%;
  }
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern04__overlap-block
    .pattern04__overlap-image--sub {
    margin-top: -10%;
  }
}

.lp-design-b__wrapper--roomwear .pattern04__text,
.lp-design-b__wrapper--roomwear .pattern05__text,
.lp-design-b__wrapper--roomwear .pattern02__image-wrapper-text,
.lp-design-b__wrapper--roomwear .flex-box__item-text {
  word-break: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
  font-size: 14px;
  @media (max-width: 450px) {
    font-size: 12px;
  }
}
.lp-design-b__wrapper--roomwear .flex-box__item-text span {
  @media (max-width: 450px) {
    letter-spacing: -0.1em;
  }
}

.lp-design-b__wrapper--roomwear .pattern01__view-more,
.lp-design-b__wrapper--roomwear .pattern02__view-more,
.lp-design-b__wrapper--roomwear .pattern03__view-more,
.lp-design-b__wrapper--roomwear .pattern04__view-more,
.lp-design-b__wrapper--roomwear .pattern05__view-more {
  background-color: #000;
  padding: 12px 50px;
  border-radius: 9999px;
  display: inline-block;
  width: fit-content;
  margin-top: 24px;
  transition: opacity 0.3s ease;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear .pattern01__view-more,
  .lp-design-b__wrapper--roomwear .pattern02__view-more,
  .lp-design-b__wrapper--roomwear .pattern03__view-more,
  .lp-design-b__wrapper--roomwear .pattern04__view-more,
  .lp-design-b__wrapper--roomwear .pattern05__view-more {
    padding: 12px 24px;
  }
}

/* pattern05 Summer Breeze：1枚画像・画面全体に大きく・タイトル右・左のみ余白 */
.lp-design-b__wrapper--roomwear
  .pattern05--roomwear-summerbreeze.pattern-background::before {
  height: 28%;
}
.lp-design-b__wrapper--roomwear
  .pattern05--roomwear-summerbreeze
  .pattern__inner--roomwear-summerbreeze {
  padding-right: 0;
  padding-left: 40px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern05--roomwear-summerbreeze
    .pattern__inner--roomwear-summerbreeze {
    padding-left: 20px;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern05--roomwear-summerbreeze
  .pattern05__title-wrapper-right--roomwear {
  text-align: right;
  padding-right: 40px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern05--roomwear-summerbreeze
    .pattern05__title-wrapper-right--roomwear {
    padding-right: 20px;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern05--roomwear-summerbreeze
  .pattern05__title {
  text-align: right;
}
.lp-design-b__wrapper--roomwear
  .pattern05__wrapper--roomwear-summerbreeze
  .pattern05__text,
.lp-design-b__wrapper--roomwear
  .pattern05__wrapper--roomwear-summerbreeze
  .pattern05__view-more {
  text-align: left;
}
.lp-design-b__wrapper--roomwear
  .pattern05__wrapper--roomwear-summerbreeze
  .pattern05__view-more {
  margin-left: 0;
  margin-right: auto;
}
.lp-design-b__wrapper--roomwear
  .pattern05__wrapper--roomwear-summerbreeze
  .pattern05__image--full {
  width: 100%;
  margin-top: 20px;
  overflow: hidden;
}
.lp-design-b__wrapper--roomwear
  .pattern05__wrapper--roomwear-summerbreeze
  .pattern05__image--full
  img {
  width: 100%;
  min-height: 70vh;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (max-width: 650px) {
  .lp-design-b__wrapper--roomwear
    .pattern05__wrapper--roomwear-summerbreeze
    .pattern05__image--full
    img {
    min-height: 50vh;
  }
}

/* 4列商品グリッド（pattern04 / pattern05 ITEM） */
.lp-design-b__wrapper--roomwear .flex-box__wrapper {
  margin-top: 20px;
}
.lp-design-b__wrapper--roomwear .flex-box__wrapper--4col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 30px;
  row-gap: 60px;
}
@media (max-width: 650px) {
  .lp-design-b__wrapper--roomwear .flex-box__wrapper--4col {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 8px;
    row-gap: 40px;
  }
}

/* Concept セクション（With Nounette）：タイトルセクション同様・下段はテキスト左・画像右 */
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-concept.pattern-background::before {
  height: 51%;
}
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-concept
  .pattern02__inner-right {
  padding-right: 40px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02--roomwear-concept
    .pattern02__inner-right {
    padding-right: 20px;
  }
}
.lp-design-b__wrapper--roomwear
  .pattern02--roomwear-concept
  .pattern02__title-wrapper-left--roomwear {
  text-align: left;
  padding-right: 40px;
  padding-left: 40px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .pattern02--roomwear-concept
    .pattern02__title-wrapper-left--roomwear {
    padding-left: 20px;
    padding-right: 20px;
  }
}
/* 下段：テキスト左・画像右・2枚目画像を大きく・横並びを維持 */
.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-concept
  .pattern02__bottom-row--reversed {
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-end;
}
.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-concept
  .pattern02__bottom-row--reversed
  .pattern02__content-block {
  flex: 0 1 45%;
  min-width: 0;
}
.lp-design-b__wrapper--roomwear
  .pattern02__wrapper--roomwear-concept
  .pattern02__image-02--no-overlap {
  flex: 0 0 50%;
  max-width: 50%;
}

.lp-design-b__wrapper--roomwear .flex-box--roomwear-concept-item {
  margin-top: -33%;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--roomwear .flex-box--roomwear-concept-item {
    margin-top: -20%;
  }
}
.lp-design-b__wrapper--roomwear
  .flex-box--roomwear-concept-item
  .flex-box__inner {
  max-width: 42%;
  margin-inline: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 450px) {
  .lp-design-b__wrapper--roomwear
    .flex-box--roomwear-concept-item
    .flex-box__inner {
    max-width: 45%;
  }
}

/* =====================================================
   MENS LP (page-2026mens) — --mens modifier
   ===================================================== */
.lp-design-b--mens {
  background-color: #f8fafb;
  font-family: Inter, "Inter", "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
}
/* side-text：2026mens 用（固定表示・lp-design-b.js の疑似要素位置と連動） */
.lp-design-b__wrapper--mens::before {
  content: "";
  background-image: url(../img/2026mens/side-text01.png);
  top: 50svh;
  left: calc(var(--before-left) - 6vw);
}
.lp-design-b__wrapper--mens::after {
  content: "";
  background-image: url(../img/2026mens/side-text02.png);
  top: 50svh;
  right: calc(var(--after-right) - 3vw);
}
.lp-design-b__wrapper--mens .pattern-background::before {
  background-color: #eff2f3;
}
.concept--mens.concept {
  line-height: 2.55;
  padding-block: 80px 95px;
}

.lp-design-b__wrapper--mens .pattern01__title,
.lp-design-b__wrapper--mens .pattern02__title,
.lp-design-b__wrapper--mens .pattern05__title,
.lp-design-b__wrapper--mens .pattern06__title,
.lp-design-b__wrapper--mens .flex-box__text {
  font-family: Inter, "Inter", "Noto Sans JP", sans-serif;
}

/* --- pattern01: 1枚書き出し（セクション1-2）--- */
.lp-design-b__wrapper--mens .pattern01--mens-single.pattern-background::before {
  height: 35%;
}

.lp-design-b__wrapper--mens .pattern01--mens-single .pattern01__image-01 {
  max-width: 100%;
}
.lp-design-b__wrapper--mens .pattern01--mens-single .pattern01__text {
  max-width: 56%;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* --- pattern01: 2画像（セクション3-4, 6-7）--- */
.lp-design-b__wrapper--mens .pattern01--mens-2img.pattern-background::before {
  height: 46%;
}
.lp-design-b__wrapper--mens .pattern01--mens-2img .pattern01__image-01 {
  max-width: calc(570 / 713 * 100%);
}
.lp-design-b__wrapper--mens .pattern01--mens-2img .pattern01__image-02 {
  max-width: calc(300 / 713 * 100%);
  bottom: -30px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--mens .pattern01--mens-2img .pattern01__image-02 {
    bottom: 90px;
  }
}

.lp-design-b__wrapper--mens .pattern01--mens-2img .pattern01__text {
  max-width: 48%;
  word-break: break-word;
  overflow-wrap: break-word;
  line-height: 1.75;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--mens .pattern01--mens-2img .pattern01__text {
    max-width: 50%;
  }
}

/* --- タイトルセクション（pattern02）--- */
.lp-design-b__wrapper--mens
  .pattern02--mens-title
  .pattern02__title-wrapper-left--roomwear {
  text-align: left;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--mens
    .pattern02--mens-title
    .pattern02__title-wrapper-left--roomwear {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.lp-design-b__wrapper--mens .pattern02__wrapper--roomwear-title {
  margin-top: 30px;
}
.lp-design-b__wrapper--mens
  .pattern02__wrapper--roomwear-title
  .pattern02__image--main-only {
  width: 100%;
  max-width: calc(520 / 713 * 100%);
  margin-bottom: 20px;
  margin-left: 5%;
  text-align: left;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--mens
    .pattern02__wrapper--roomwear-title
    .pattern02__image--main-only {
    max-width: calc(550 / 713 * 100%);
  }
}
.lp-design-b__wrapper--mens
  .pattern02__wrapper--roomwear-title
  .pattern02__image--main-only
  img {
  width: 100%;
  height: auto;
  display: block;
}
.lp-design-b__wrapper--mens
  .pattern02__wrapper--roomwear-title
  .pattern02__bottom-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10%;
  align-items: flex-end;
  margin-left: 9%;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--mens
    .pattern02__wrapper--roomwear-title
    .pattern02__bottom-row {
    gap: 3%;
    margin-left: 5%;
  }
}
.lp-design-b__wrapper--mens
  .pattern02__wrapper--roomwear-title
  .pattern02__image-02--no-overlap {
  position: static;
  flex: 0 0 auto;
  max-width: calc(210 / 713 * 100%);
  margin: 0;
  bottom: auto;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--mens
    .pattern02__wrapper--roomwear-title
    .pattern02__image-02--no-overlap {
    max-width: calc(274 / 713 * 100%);
  }
}
.lp-design-b__wrapper--mens
  .pattern02__wrapper--roomwear-title
  .pattern02__content-block {
  flex: 1 1 45%;
  min-width: 0;
}
.lp-design-b__wrapper--mens
  .pattern02__wrapper--roomwear-title
  .pattern02__text {
  margin-top: 0;
  margin-left: 0;
  max-width: 100%;
  padding-right: 0;
}
.lp-design-b__wrapper--mens .pattern02__view-more {
  background-color: #000;
  padding: 12px 50px;
  border-radius: 9999px;
  display: inline-block;
  width: fit-content;
  margin-top: 24px;
  color: #fff;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--mens .pattern02__view-more {
    padding: 12px 24px;
  }
}
.lp-design-b__wrapper--mens .pattern02__view-more:hover {
  opacity: 0.7;
}

/* --- pattern05: Special Gift --- */
.lp-design-b__wrapper--mens
  .pattern05.pattern-background.pattern-background--pattern05 {
  padding-bottom: 53px;
}
.lp-design-b__wrapper--mens .pattern05.pattern-background--pattern05::before {
  height: 45%;
}

/* --- pattern06: PICK UP --- */
.lp-design-b__wrapper--mens .pattern-background--pattern06::before {
  height: 41%;
  background-color: #817c76;
}

/* --- flex-box 共通 --- */
.lp-design-b__wrapper--mens .flex-box--roomwear-item {
  margin-top: 140px;
}
@media (max-width: 650px) {
  .lp-design-b__wrapper--mens .flex-box--roomwear-item {
    margin-top: 80px;
  }
}
.lp-design-b__wrapper--mens .flex-box__wrapper {
  margin-top: 20px;
}
@media screen and (max-width: 450px) {
  .lp-design-b__wrapper--mens .flex-box__wrapper {
    gap: 10px;
  }
}
.lp-design-b__wrapper--mens .flex-box__item-text {
  word-break: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
  font-size: 14px;
}
@media (max-width: 450px) {
  .lp-design-b__wrapper--mens .flex-box__item-text {
    font-size: 12px;
  }
}

/* ==========================================================================
   2026 Pajama LP (lp-design-b--2026pajama)
   ========================================================================== */

.lp-design-b--2026pajama {
  background-color: #fefafb;
}
.lp-design-b__wrapper--2026pajama::before {
  content: "";
  background-image: url(../img/2026pajama/side-text01.png);
  top: 50svh;
  left: calc(var(--before-left) - 6vw);
}
.lp-design-b__wrapper--2026pajama::after {
  content: "";
  background-image: url(../img/2026pajama/side-text02.png);
  top: 50svh;
  right: calc(var(--after-right) - 3vw);
}

/* ---- コンセプト ---- */
.concept--2026pajama {
  padding: 50px 0;
}
.concept--2026pajama .concept__text {
  font-size: 16px;
  line-height: calc(35 / 15);
  letter-spacing: 0.05em;
  padding: 0 40px;
  color: #1c1c1c;
}
@media (max-width: 450px) {
  .concept--2026pajama .concept__text {
    font-size: 13px;
    padding: 0 20px;
  }
}

/* セクションタイトル：Inter */
.lp-design-b__wrapper--2026pajama .pj-relax-cat__title,
.lp-design-b__wrapper--2026pajama .pj-with-nounette__title,
.lp-design-b__wrapper--2026pajama .pj-ttl-section__title,
.lp-design-b__wrapper--2026pajama .pj-sweet-dream__title,
.lp-design-b__wrapper--2026pajama .pj-special-gift__title,
.lp-design-b__wrapper--2026pajama .pj-pickup__title,
.lp-design-b__wrapper--2026pajama .pj-item-card__label {
  font-family: Inter, "Inter", "Noto Sans JP", sans-serif;
}

/* タイトルセクション：メイン画像を中央寄せ */
.lp-design-b__wrapper--2026pajama .pj-ttl-section__main img {
  padding-left: 0;
  margin-inline: auto;
}
/* ---- pattern-background オーバーライド (pj専用) ---- */
/* 2026pajama LP: 帯の背景色を統一 */
.lp-design-b__wrapper--2026pajama .pattern-background::before {
  background-color: #fdf5f7;
}

/* PICK UP（pattern06）のみグレー帯 */
.lp-design-b__wrapper--2026pajama .pj-pickup.pattern-background::before {
  background-color: #817c76;
}

.pj-with-nounette.pattern-background::before {
  height: 54%;
}
.pj-with-nounette.pj-with-nounette--02.pattern-background::before {
  height: 65%;
}
@media screen and (max-width: 450px) {
  .pj-with-nounette.pj-with-nounette--02.pattern-background::before {
    height: 65%;
  }
}
.pj-relax-cat.pattern-background::before {
  height: 65%;
}
@media screen and (max-width: 450px) {
  .pj-relax-cat.pattern-background::before {
    height: 69%;
  }
}
.lp-design-b__wrapper--2026pajama
  .pj-relax-cat--bg-tall.pattern-background::before {
  height: 64%;
}
@media screen and (max-width: 450px) {
  .lp-design-b__wrapper--2026pajama
    .pj-relax-cat--bg-tall.pattern-background::before {
    height: 66%;
  }
}

.pj-special-gift.pattern-background::before {
  height: 348px;
}
@media screen and (max-width: 450px) {
  .pj-special-gift.pattern-background::before {
    height: 248px;
  }
}
.pj-sweet-dream.pattern-background::before {
  height: 33%;
}

/* ---- pj-relax-cat ---- */
.pj-relax-cat {
  padding-bottom: 180px;
  position: relative;
  @media screen and (max-width: 450px) {
    padding-bottom: 100px;
  }
}
.pj-relax-cat--narrow {
  padding-bottom: 120px;
  @media screen and (max-width: 450px) {
    padding-bottom: 80px;
  }
}
.pj-relax-cat__inner {
  position: relative;
  z-index: 1;
}
.pj-relax-cat__title {
  font-family: "the-seasons", sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.03em;
  padding: 40px 0 0 40px;
}
@media (max-width: 450px) {
  .pj-relax-cat__title {
    font-size: 20px;
    padding: 20px 0 0 20px;
  }
}
.pj-relax-cat__editorial {
  position: relative;
  margin-top: 28px;
}
.pj-relax-cat__main {
  max-width: 93.7%;
  display: block;
}
@media screen and (max-width: 450px) {
  .pj-relax-cat__main {
    max-width: 98%;
  }
}
.pj-relax-cat__main img {
  width: 100%;
  height: auto;
  display: block;
}

.pj-relax-cat__desc {
  font-size: 16px;
  line-height: 1.75;
  padding: 0px 57% 0 40px;
  position: relative;
  z-index: 1;
  margin-top: -30%;
}
@media screen and (max-width: 450px) {
  .pj-relax-cat__desc {
    font-size: 12px;
    padding: 0px 57% 0 20px;
    line-height: 1.5;
  }
}
.pj-relax-cat__desc.pj-relax-cat__desc--wide {
  padding: 0px 49% 0 20px;
}

/* ---- pj-item-row ---- */
.pj-item-row {
  display: flex;
  align-items: flex-end;
  margin-top: 120px;
  position: relative;
  z-index: 1;
}
@media (max-width: 650px) {
  .pj-item-row {
    margin-top: 100px;
  }
}
.pj-item-row--m20 {
  margin-top: 20px;
  margin-left: auto;
  padding-left: 0;
  padding-right: 20px;
  max-width: 45%;
}
.pj-item-row--m20 .pj-item-row__info {
  padding-left: 0;
  padding-top: 80px;
}
@media (max-width: 650px) {
  .pj-item-row--m20 .pj-item-row__info {
    padding-top: 40px;
  }
}
@media (max-width: 650px) {
  .pj-item-row.pj-item-row--m20 {
    padding-left: 0;
    padding-right: 20px;
    max-width: 45%;
    margin-top: -20px;
  }
}

.pj-item-row--m20 .pj-item-row__btn {
  width: 200px;
}
@media (max-width: 650px) {
  .pj-item-row--m20 .pj-item-row__btn {
    width: 100%;
  }
}
.pj-item-row--narrow {
  margin-top: 120px;
}
.pj-item-row--relax-cat {
  margin-top: 100px;
}
.pj-item-row__image {
  flex: 0 0 auto;
  width: 37.7%;
  margin-left: 12.3%;
  @media screen and (max-width: 450px) {
    width: 45%;
    margin-left: 7.3%;
  }
}
.pj-item-row__image img {
  width: 100%;
  height: auto;
  display: block;
}
.pj-item-row__info {
  flex: 1;
  padding-left: 5%;
  padding-top: 30px;
}
.pj-item-row__text {
  font-size: 16px;
  line-height: calc(26 / 14);
}
@media screen and (max-width: 450px) {
  .pj-item-row__text {
    font-size: 13px;
    line-height: 1.5;
  }
}
.pj-item-row__price {
  font-size: 14px;
}
.pj-item-row__tax {
  font-size: 11px;
}
.pj-item-row__btn {
  display: block;
  width: 220px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #000;
  color: #fff;
  border-radius: 30px;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-decoration: none;
  margin-top: 50px;
}
@media (max-width: 450px) {
  .pj-item-row {
    margin-top: 30px;
  }
  .pj-item-row__info {
    padding-left: 12px;
    padding-top: 20px;
  }
  .pj-item-row__btn {
    width: 160px;
    font-size: 12px;
    margin-top: 10px;
  }
}

/* ---- pj-sweet-dream ---- */
.pj-sweet-dream {
  padding-bottom: 80px;
  position: relative;
}
.pj-sweet-dream__inner {
  position: relative;
  z-index: 1;
}
.pj-sweet-dream__title {
  font-family: "the-seasons", sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.03em;
  padding: 40px 0 0 40px;
}
@media (max-width: 450px) {
  .pj-sweet-dream__title {
    font-size: 20px;
    padding-left: 20px;
  }
}
.pj-sweet-dream__desc {
  font-size: 14px;
  line-height: 1.57;
  padding: 0px 57% 0 40px;
  position: relative;
  z-index: 1;
  margin-top: -30%;
}
@media screen and (max-width: 450px) {
  .pj-sweet-dream__desc {
    font-size: 12px;
    line-height: 1.5;
    padding: 0px 57% 0 20px;
  }
}
.pj-sweet-dream__main {
  margin-top: 28px;
  max-width: 93%;
  @media screen and (max-width: 450px) {
    max-width: 98%;
  }
}
.pj-sweet-dream__main img {
  width: 100%;
  height: auto;
  display: block;
}
.pj-sweet-dream__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 30px;
  margin-top: 30px;
  padding: 0 40px;
  align-items: start;
}
@media (max-width: 650px) {
  .pj-sweet-dream__content {
    grid-template-columns: 1fr;
    padding: 0 20px;
    gap: 20px;
  }
}
.pj-sweet-dream__sub-row {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  max-width: 93.7%;
  margin-inline: auto;
  margin-top: 12.3%;
}
.pj-sweet-dream__left {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pj-sweet-dream__desc {
  font-size: 14px;
  line-height: 1.57;
}
@media (max-width: 450px) {
  .pj-sweet-dream__desc {
    font-size: 13px;
    line-height: 1.5;
  }
}
.pj-sweet-dream__image-sub {
  max-width: 75%;
}
.pj-sweet-dream__image-sub img {
  width: 100%;
  height: auto;
  display: block;
}
.pj-sweet-dream__right {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 20px;
}
.pj-sweet-dream__image-beige {
  flex: 0 0 auto;
  max-width: 55%;
  z-index: 5;
}
@media screen and (max-width: 450px) {
  .pj-sweet-dream__image-beige {
    max-width: 45%;
  }
}
.pj-sweet-dream__image-beige img {
  width: 100%;
  height: auto;
  display: block;
}
.pj-sweet-dream__info {
  padding-top: 10px;
}
.pj-sweet-dream__text {
  font-size: 14px;
  line-height: calc(26 / 14);
  color: #1c1c1c;
}
.pj-sweet-dream__price {
  font-size: 14px;
}
.pj-sweet-dream__tax {
  font-size: 11px;
}
.pj-sweet-dream__btn {
  display: block;
  width: 220px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #000;
  color: #fff;
  border-radius: 30px;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-decoration: none;
  margin-top: 56px;
  transition: opacity 0.3s ease;
}
@media (max-width: 450px) {
  .pj-sweet-dream__btn {
    width: 160px;
    font-size: 12px;
  }
}

/* ---- pj-with-nounette ---- */
.pj-with-nounette {
  padding-bottom: 80px;
  position: relative;
  @media screen and (max-width: 450px) {
    padding-bottom: 40px;
  }
}
.pj-with-nounette.pj-with-nounette--wide {
  padding-bottom: 180px;
  @media screen and (max-width: 450px) {
    padding-bottom: 40px;
  }
}
.pj-with-nounette.pj-with-nounette--wide::before {
  height: 48.7%;
}
@media screen and (max-width: 450px) {
  .pj-with-nounette.pj-with-nounette--wide::before {
    height: 50.7%;
  }
}
.pj-with-nounette__inner {
  position: relative;
  z-index: 1;
}
.pj-with-nounette__title {
  font-family: "the-seasons", sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.03em;
  padding: 40px 0 0 40px;
}
@media (max-width: 450px) {
  .pj-with-nounette__title {
    font-size: 20px;
    padding: 20px 0 0 20px;
  }
}
.pj-with-nounette__editorial {
  position: relative;
  margin-top: 28px;
  margin-bottom: 20px;
}
.pj-with-nounette__main {
  max-width: 88.6%;
  display: block;
}
.pj-with-nounette__main img {
  width: 100%;
  height: auto;
  display: block;
}
.pj-with-nounette__sub-row {
  display: flex;
  align-items: center;
  padding: 2% 10% 0 20px;
  gap: 9%;
}
@media screen and (max-width: 450px) {
  .pj-with-nounette__sub-row {
    padding: 5% 2% 0 2%;
    gap: 2%;
  }
}
.pj-with-nounette__sub-row--top {
  align-items: flex-start;
}
.pj-with-nounette__sub-row--with-nounette {
  max-width: 88.6%;
  padding: 5% 0 0 0;
  gap: 3%;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 450px) {
  .pj-with-nounette__sub-row--with-nounette {
    max-width: 95%;
    padding: 2% 0 0 0;

    gap: 2%;
  }
}
.pj-with-nounette__desc {
  flex: 1;
  font-size: 16px;
  line-height: calc(28 / 14);
  padding-left: 3%;
}
@media screen and (max-width: 450px) {
  .pj-with-nounette__desc {
    font-size: 13px;
    line-height: 1.5;
    margin-top: 16px;
  }
}
.pj-with-nounette__desc02 {
  padding-right: 9%;
}
.pj-with-nounette__sub {
  flex: 0 0 48%;
  max-width: 48%;
}
.pj-with-nounette__sub img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---- pj-item-card (With Nounette ITEM: 画像付きカード) ---- */
.pj-item-card {
  margin-top: -10%;
  position: relative;
  z-index: 1;
  padding-bottom: 10px;
}
@media screen and (max-width: 450px) {
  .pj-item-card {
    margin-top: -20%;
  }
}

.pj-item-card__label {
  font-family: "the-seasons", sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.03em;
  width: 34.8%;
  margin-left: 40px;
  text-align: center;
}
@media (max-width: 450px) {
  .pj-item-card__label {
    font-size: 20px;
    margin-left: 20px;
    width: 43%;
  }
}
.pj-item-card__image {
  width: 34.8%;
  margin: 20px 0 0 40px;
  @media screen and (max-width: 450px) {
    margin: 10px 0 0 20px;
    width: 43%;
  }
}
.pj-item-card__image img {
  width: 100%;
  height: auto;
  display: block;
}
.pj-item-card__text {
  font-size: 14px;
  line-height: calc(26 / 14);
  width: 34.8%;
  margin: 20px 0 0 40px;
  padding: 0;
  color: #1c1c1c;
}
@media screen and (max-width: 450px) {
  .pj-item-card__text {
    width: 43%;
    margin: 10px 0 0 20px;
    padding: 0;
  }
}
.pj-item-card__price {
  font-size: 14px;
}
.pj-item-card__tax {
  font-size: 11px;
}
.pj-item-card__btn {
  display: block;
  width: 230px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #000;
  color: #fff;
  border-radius: 30px;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-decoration: none;
  margin: 10% 0 0 40px;
}
@media screen and (max-width: 450px) {
  .pj-item-card__btn {
    width: 43%;
    margin: 10% 0 0 20px;
  }
}

/* ---- pj-item-text (With Nounette ITEM: 画像なし) ---- */
.pj-item-text {
  margin-top: 30px;
  padding-left: 40px;
  position: relative;
  z-index: 1;
  padding-bottom: 10px;
}

.pj-item-text__text--with-nounette {
  padding-left: 3%;
  margin-top: 0;
  margin-bottom: 32px;
}

@media (max-width: 450px) {
  .pj-item-text.pj-item-text__text--with-nounette {
    margin-top: 40px;
  }
}

.pj-item-text__text {
  font-size: 14px;
  line-height: calc(26 / 14);
  color: #1c1c1c;
  @media screen and (max-width: 450px) {
    font-size: 13px;
    line-height: 1.5;
  }
}
.pj-item-text__price {
  font-size: 14px;
}
.pj-item-text__tax {
  font-size: 11px;
}
.pj-item-text__btn {
  display: block;
  width: 230px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #000;
  color: #fff;
  border-radius: 30px;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-decoration: none;
  margin-top: 20px;
}
@media (max-width: 450px) {
  .pj-item-text {
    margin-top: 80px;
    padding-left: 20px;
  }
  .pj-item-text__btn {
    width: initial;
    font-size: 12px;
    margin-top: 20px;
  }
}

/* ---- pj-ttl-section ---- */
.pj-ttl-section {
  padding: 180px 0 80px;
}
@media screen and (max-width: 650px) {
  .pj-ttl-section {
    padding: 80px 0 80px;
  }
}
.pj-ttl-section--narrow {
  padding: 0 0 80px;
}
.pj-ttl-section__inner {
  position: relative;
}
.pj-ttl-section__title {
  font-family: "the-seasons", sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.03em;
  padding-left: 53px;
  margin-bottom: 20px;
}
@media (max-width: 450px) {
  .pj-ttl-section__title {
    font-size: 20px;
    padding-left: 30px;
  }
}
.pj-ttl-section__main {
  padding-left: 21px;
}
.pj-ttl-section__main img {
  width: 100%;
  max-width: 499px;
  height: auto;
  display: block;
}
.pj-ttl-section__bottom-row {
  display: flex;
  align-items: flex-end;
  margin-top: 4%;
  max-width: 95%;
  margin-inline: auto;
  gap: 3%;
  justify-content: space-between;
}
.pj-ttl-section__sub {
  flex: 0 0 auto;
  width: 32.3%;
  margin-left: 13.5%;
}
@media screen and (max-width: 450px) {
  .pj-ttl-section__sub {
    margin-left: 0;
    width: 42.3%;
  }
}
.pj-ttl-section__sub img {
  width: 100%;
  height: auto;
  display: block;
}
.pj-ttl-section__info {
  flex: 1;
  padding-left: 30px;
  padding-top: 20px;
}
.pj-ttl-section__text {
  font-size: 14px;
  line-height: calc(26 / 14);
}
@media screen and (max-width: 450px) {
  .pj-ttl-section__text {
    font-size: 13px;
    line-height: 1.5;
  }
}
.pj-ttl-section__price {
  font-size: 14px;
}
.pj-ttl-section__tax {
  font-size: 11px;
}
.pj-ttl-section__btn {
  display: block;
  width: 220px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #000;
  color: #fff;
  border-radius: 30px;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-decoration: none;
  margin-top: 20px;
}
@media (max-width: 650px) {
  .pj-ttl-section__main {
    padding-left: 3.2%;
  }
  .pj-ttl-section__btn {
    width: 160px;
  }
}
@media (max-width: 450px) {
  .pj-ttl-section__info {
    padding-left: 15px;
  }
  .pj-ttl-section__btn {
    font-size: 12px;
  }
}

/* ---- pj-special-gift ---- */
.pj-special-gift {
  text-align: center;
  padding-bottom: 80px;
  position: relative;
  margin-top: 120px;
}
@media screen and (max-width: 450px) {
  .pj-special-gift {
    margin-top: 20px;
  }
}
.pj-special-gift__inner {
  position: relative;
  z-index: 1;
}
.pj-special-gift__title {
  font-family: "the-seasons", sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-align: center;
  padding-top: 40px;
}
@media (max-width: 450px) {
  .pj-special-gift__title {
    font-size: 20px;
  }
}
.pj-special-gift__image {
  margin-top: 28px;
  padding: 0 40px;
}
.pj-special-gift__image img {
  width: 100%;
  height: auto;
  display: block;
}
.pj-special-gift__desc {
  font-size: 14px;
  line-height: calc(28 / 14);
  padding: 30px 40px 0;
  text-align: center;
}
@media (max-width: 450px) {
  .pj-special-gift__desc {
    font-size: 13px;
    padding: 20px 20px 0;
  }
}
.pj-special-gift__btn-wrapper {
  margin-top: 30px;
  padding-bottom: 60px;
}
.pj-special-gift__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 50px;
  background: #000;
  color: #fff;
  border-radius: 30px;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-decoration: none;
}

/* ---- pj-pickup ---- */
.pj-pickup {
  padding-bottom: 80px;
  position: relative;
}
.pj-pickup.pattern-background--pattern06::before {
  height: 284px;
  width: 87.7%;
}
.pj-pickup__inner {
  position: relative;
  z-index: 1;
  padding: 0 40px;
}
.pj-pickup__header {
  text-align: center;
  padding-top: 40px;
}
.pj-pickup__title {
  font-family: "the-seasons", sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
}
@media (max-width: 450px) {
  .pj-pickup__title {
    font-size: 20px;
  }
}
.pj-pickup__desc {
  font-size: 16px;
  line-height: calc(34 / 16);
  color: #fff;
  text-align: center;
  margin-top: 10px;
}
@media (max-width: 450px) {
  .pj-pickup__desc {
    font-size: 14px;
    padding: 0 20px;
  }
}
.pj-pickup__grid {
  display: flex;
  gap: 30px;
  margin-top: 25px;
  max-width: 80%;
  margin-inline: auto;
}
@media screen and (max-width: 450px) {
  .pj-pickup__grid {
    margin-top: 40px;
    max-width: 320px;
    max-width: 70%;
  }
}
.pj-pickup__item {
  flex: 1;
}
.pj-pickup__item-image img {
  width: 100%;
  height: auto;
  display: block;
}
.pj-pickup__item-text {
  font-size: 14px;
  line-height: calc(26 / 14);
  margin-top: 20px;
  color: #1c1c1c;
  text-align: center;
}
.pj-pickup__item-btn {
  display: block;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #000;
  color: #fff;
  border-radius: 30px;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-decoration: none;
  margin-top: 15px;
  max-width: 220px;
  margin-inline: auto;
}
@media (max-width: 650px) {
  .pj-pickup__inner {
    padding: 0 20px;
  }
  .pj-pickup__grid {
    gap: 15px;
  }
}
@media (max-width: 450px) {
  .pj-pickup__item-btn {
    font-size: 12px;
    height: 44px;
    line-height: 44px;
  }
}
@media (max-width: 450px) {
  .narrow-text {
    letter-spacing: -1px;
  }
}

/* ========================
   page-fuwafuwa
   ======================== */

/* 共通: セクションタイトル・ITEMテキストをInterに */
.lp-design-b__wrapper--fuwafuwa .pattern01__title,
.lp-design-b__wrapper--fuwafuwa .pattern03__title,
.lp-design-b__wrapper--fuwafuwa .pattern05__title,
.lp-design-b__wrapper--fuwafuwa .pattern06__title,
.lp-design-b__wrapper--fuwafuwa .flex-box__text {
  font-family: "Inter", sans-serif;
}

/* --------------------------------------------------
   pattern01 (Relax Cat)
   parent: pattern01__inner-left → content 610px
   -------------------------------------------------- */
.lp-design-b__wrapper--fuwafuwa .pattern01.pattern-background::before {
  height: 34%;
}
.lp-design-b__wrapper--fuwafuwa .pattern01__image-01 {
  max-width: calc(625 / 670 * 100%); /* Figma: 625px / 610px */
}
.lp-design-b__wrapper--fuwafuwa .pattern01__image-02 {
  max-width: calc(329 / 610 * 100%); /* Figma: 329px / 610px */
  bottom: -70px;
}
.lp-design-b__wrapper--fuwafuwa .pattern01__wrapper.pattern01__wrapper-below {
  margin-top: 100px;
}
/* parent: pattern__inner → content 570px */
.lp-design-b__wrapper--fuwafuwa .pattern01__image-03 {
  max-width: calc(329 / 570 * 100%); /* Figma: 329px / 570px */
  margin-left: 0;
}
.lp-design-b__wrapper--fuwafuwa .pattern01__text {
  max-width: 44%;
}

/* --------------------------------------------------
   pattern02 (コーディネート提案)
   parent: pattern__inner → content 570px
   -------------------------------------------------- */
.lp-design-b__wrapper--fuwafuwa
  .pattern02.pattern-background--pattern02::before {
  display: none;
}
.lp-design-b__wrapper--fuwafuwa .pattern02__title-text {
  font-size: 20px;
  line-height: calc(34 / 20);
  letter-spacing: 0.6px;
  margin-bottom: 20px;
}
.lp-design-b__wrapper--fuwafuwa .pattern02__image-01 {
  max-width: calc(535 / 570 * 100%); /* Figma: 535px / 570px */
  margin-left: 0;
  margin-bottom: 10px;
}
.lp-design-b__wrapper--fuwafuwa .pattern02__image-01 img {
  width: 100%;
  height: auto;
  display: block;
}
.lp-design-b__wrapper--fuwafuwa .pattern02__bottom {
  display: flex;
  gap: 20px;
  align-items: flex-end;
}
.lp-design-b__wrapper--fuwafuwa .pattern02__image-02 {
  position: static;
  flex-shrink: 0;
  max-width: none;
  width: calc(225 / 570 * 100%); /* Figma: 225px / 570px */
}
.lp-design-b__wrapper--fuwafuwa .pattern02__image-02 img {
  width: 100%;
  height: auto;
  display: block;
}
.lp-design-b__wrapper--fuwafuwa .pattern02__product-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  margin-inline: auto;
}
.lp-design-b__wrapper--fuwafuwa .pattern02__product-info .flex-box__item-btn {
  margin-top: 10px;
}

/* --------------------------------------------------
   pattern03 (Simple & Basic)
   parent: pattern03__inner-left → content 610px
   -------------------------------------------------- */
.lp-design-b__wrapper--fuwafuwa .pattern03__image-01 {
  max-width: calc(610 / 610 * 100%); /* Figma: 610px ping group → 100% */
}

/* --------------------------------------------------
   pattern05 (Special Gift)
   parent: pattern__inner → content 570px
   -------------------------------------------------- */
.lp-design-b__wrapper--fuwafuwa .pattern05__image-01 {
  max-width: calc(570 / 570 * 100%); /* Figma: 570px → 100% */
}

/* --------------------------------------------------
   pattern06 (For Men)
   parent: pattern__inner → content 570px
   -------------------------------------------------- */
.lp-design-b__wrapper--fuwafuwa .pattern06__image {
  max-width: calc(570 / 713 * 100%); /* Figma: 570px → 100% */
  margin-bottom: 20px;
}
.lp-design-b__wrapper--fuwafuwa .pattern06__text {
  color: #000;
  margin-top: 0;
}
.lp-design-b__wrapper--fuwafuwa .pattern06__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.lp-design-b__wrapper--fuwafuwa .pattern06__wrapper .flex-box__item-btn {
  margin-top: 10px;
  width: calc(220 / 570 * 100%); /* Figma: 220px / 570px */
  min-width: 220px;
}

/* ============================================
 * 2026SS Gift LP (page-2026ss-gift.php)
 * Scoped under .lp-design-b__wrapper--gift2026ss
 * Figma wrapper width: 713px
 * pattern__inner Figma width: 713 - 40*2 = 633
 * ============================================ */

/* side-text：2026ss-gift 用（固定表示・lp-design-b.js の疑似要素位置と連動） */
.lp-design-b__wrapper--gift2026ss::before {
  content: "";
  background-image: url(../img/2026ss-gift/side-text01.webp);
  top: 50svh;
  left: calc(var(--before-left) - 3vw);
}
.lp-design-b__wrapper--gift2026ss::after {
  content: "";
  background-image: url(../img/2026ss-gift/side-text02.webp);
  top: 50svh;
  right: calc(var(--after-right));
}

/* Reset default huge padding-bottom (180px) on pattern sections */
.lp-design-b__wrapper--gift2026ss .pattern01,
.lp-design-b__wrapper--gift2026ss .pattern02,
.lp-design-b__wrapper--gift2026ss .pattern03,
.lp-design-b__wrapper--gift2026ss .pattern04 {
  padding-bottom: 40px;
}
.lp-design-b__wrapper--gift2026ss .pattern05 {
  padding-bottom: 100px;
}
.lp-design-b__wrapper--gift2026ss .pattern06 {
  padding-bottom: 40px;
}

/* flex-box top spacing (default 180px is too much) */
.lp-design-b__wrapper--gift2026ss .flex-box {
  margin-top: 80px;
}
.lp-design-b__wrapper--gift2026ss .flex-box--gift-mens {
  margin-top: 80px;
}
.lp-design-b__wrapper--gift2026ss .pattern02 + .flex-box,
.lp-design-b__wrapper--gift2026ss .pattern02 .pattern__inner + .flex-box {
  margin-top: 60px;
}

/* Concept */
.lp-design-b__wrapper--gift2026ss .concept {
  padding: 80px 40px 100px;
}
.lp-design-b__wrapper--gift2026ss .concept__text {
  font-size: 14px;
  line-height: calc(28 / 14);
}

/* Pattern background heights (cream #fbf4f1) per section
 * Override .pattern-background::before default + pattern02 default */
.lp-design-b__wrapper--gift2026ss .pattern-background::before {
  background-color: #fbf4f1;
}

/* Stack content above ::before pseudo-element (z-index: 0) */
.lp-design-b__wrapper--gift2026ss .pattern02 > *,
.lp-design-b__wrapper--gift2026ss .pattern05 > *,
.lp-design-b__wrapper--gift2026ss .pattern06 > * {
  position: relative;
  z-index: 1;
}

/* Section A: pattern05
 * Figma: section ~2050 visible, cream bg 748 → 36.5%
 * cream insets: 31/32 px left/right from wrapper (713) */
.lp-design-b__wrapper--gift2026ss
  .pattern05.pattern-background--pattern05::before {
  height: 35.5%;
  left: calc(31 / 713 * 100%);
  right: calc(44 / 713 * 100%);
  width: auto;
  top: -1.5%;
}
.lp-design-b__wrapper--gift2026ss .pattern05__image-01 {
  width: calc(622 / 633 * 100%); /* pattern__inner content width = 713-80 */
  margin-left: auto;
  margin-right: 0;
  display: block;
}
.lp-design-b__wrapper--gift2026ss .pattern05__image-01 img {
  width: 100%;
  display: block;
}

/* Section B/D/G/I: pattern02 — full-width cream (713) */
.lp-design-b__wrapper--gift2026ss
  .pattern02.pattern-background--pattern02::before {
  height: 62%;
  top: -4%;
}

/* Sections E: cream 650 wide, 31 left inset, 32 right inset */
.lp-design-b__wrapper--gift2026ss
  .pattern02--e.pattern-background--pattern02::before {
  left: calc(31 / 713 * 100%);
  right: calc(32 / 713 * 100%);
  width: auto;
  height: 34%; /* 748/1930 */
}

/* Sections F/H: cream 650 wide, 0 left inset, 63 right inset (touches wrapper left, image17 right) */
.lp-design-b__wrapper--gift2026ss
  .pattern02--f.pattern-background--pattern02::before,
.lp-design-b__wrapper--gift2026ss
  .pattern02--triple.pattern02--h.pattern-background--pattern02::before {
  left: 0;
  right: calc(63 / 713 * 100%);
  width: auto;
}
.lp-design-b__wrapper--gift2026ss
  .pattern02--f.pattern-background--pattern02::before {
  height: 35%; /* 748/2133 */
}
.lp-design-b__wrapper--gift2026ss
  .pattern02--triple.pattern02--h.pattern-background--pattern02::before {
  height: 50.7%; /* 748/1474 */
}

/* Reset existing pattern02 alignments (default is right)
 * Width relative to pattern__inner content (633 figma) */
.lp-design-b__wrapper--gift2026ss .pattern02__image-01 {
  margin-left: 0;
  max-width: none;
  width: calc(625 / 633 * 100%);
  display: block;
}
.lp-design-b__wrapper--gift2026ss .pattern02__image-01 img {
  width: 100%;
  display: block;
}

.lp-design-b__wrapper--gift2026ss .pattern02__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: -21%;
}
.lp-design-b__wrapper--gift2026ss .pattern02__bottom--narrow {
  max-width: 95%;
  margin-left: auto;
  margin-top: -12%;
}
.lp-design-b__wrapper--gift2026ss .pattern02__bottom--left {
  margin-right: auto;
  margin-left: initial;
  max-width: 92%;
}

.lp-design-b__wrapper--gift2026ss .pattern02__bottom--narrow .pattern02__text {
  padding-right: 0;
  font-size: 16px;
  line-height: 1.75;
  margin-top: 20px;
}
.lp-design-b__wrapper--gift2026ss .pattern02__text {
  margin: 0;
  margin-top: 100px;
  max-width: none;
  width: calc(300 / 633 * 100%);
  font-size: 14px;
  line-height: 1.75;
}

.lp-design-b__wrapper--gift2026ss .pattern02__image-02 {
  position: static;
  margin: 0;
  max-width: none;
  width: calc(349 / 633 * 100%);
}
.lp-design-b__wrapper--gift2026ss .pattern02__image-02 img {
  width: 100%;
  display: block;
}

/* Per-section main image width (570 for E/F/H, 625 default)
 * Hero-stack: main image right-aligned (with cream's right edge)
 * width relative to pattern__inner content (633 figma) */
.lp-design-b__wrapper--gift2026ss .pattern02--hero-stack .pattern02__image-01,
.lp-design-b__wrapper--gift2026ss .pattern02--triple .pattern02__image-01 {
  width: calc(570 / 633 * 100%);
  margin-left: auto;
  margin-right: 0;
}

/* Section E: cream right at 32px from wrapper. pattern__inner right at 40 CSS.
 * Image right should align with cream right → extend past pattern__inner by ~11px (negative) */
.lp-design-b__wrapper--gift2026ss .pattern02--e .pattern02__image-01 {
  margin-right: calc(-8 / 633 * 100%);
}

/* Sections F/H: cream right at 63px from wrapper. Image right should align with cream right
 * pattern__inner right at 40 CSS, cream right at ~57 CSS → image margin-right = 17 CSS */
.lp-design-b__wrapper--gift2026ss .pattern02--f .pattern02__image-01,
.lp-design-b__wrapper--gift2026ss
  .pattern02--triple.pattern02--h
  .pattern02__image-01 {
  margin-right: calc(23 / 633 * 100%);
}

/* Sections B/D/G/I main image: extend left past pattern__inner padding
 * B: image at wrapper left (0). D/G/I: 20 from wrapper left.
 * pattern__inner left padding = 40, so we need negative margin-left */
.lp-design-b__wrapper--gift2026ss .pattern02--b .pattern02__image-01 {
  margin-left: calc(-40 / 633 * 100%);
}
.lp-design-b__wrapper--gift2026ss .pattern02--d .pattern02__image-01,
.lp-design-b__wrapper--gift2026ss .pattern02--g .pattern02__image-01,
.lp-design-b__wrapper--gift2026ss .pattern02--i .pattern02__image-01 {
  margin-left: calc(-20 / 633 * 100%);
}
.lp-design-b__wrapper--gift2026ss .pattern02--hero-stack .pattern02__image-02 {
  width: calc(295 / 633 * 100%);
}
.lp-design-b__wrapper--gift2026ss
  .pattern02--hero-stack-f
  .pattern02__image-02 {
  width: calc(268 / 633 * 100%);
}

/* Section H: triple (additional bottom-left overlay) */
.lp-design-b__wrapper--gift2026ss .pattern02--triple .pattern02__image-02 {
  width: calc(275 / 633 * 100%);
}
.lp-design-b__wrapper--gift2026ss .pattern02__image-03 {
  margin: -7% 0 0 0;
  max-width: none;
  width: calc(275 / 633 * 100%);
  display: block;
}
.lp-design-b__wrapper--gift2026ss .pattern02__image-03 img {
  width: 100%;
  display: block;
}

/* Section I title (Relax Cat) */
.lp-design-b__wrapper--gift2026ss .pattern02__title-wrapper-left {
  margin-bottom: 16px;
}
.lp-design-b__wrapper--gift2026ss .pattern02__title {
  font-family: "Inter", sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.84px;
  color: #1c1c1c;
}

/* Inline png hero inside hero-stack sections (E/F) — second pattern__inner */
.lp-design-b__wrapper--gift2026ss .pattern02 .pattern__inner + .pattern__inner {
  margin-top: -7%;
}
.lp-design-b__wrapper--gift2026ss
  .pattern02
  .pattern__inner
  .pattern05__image-01 {
  width: calc(605 / 633 * 100%);
  display: block;
  margin-right: auto;
  margin-inline: initial;
  margin-top: 3%;
}

.lp-design-b__wrapper--gift2026ss .flex-box__inner {
  max-width: calc(490 / 713 * 100%);
  margin-inline: auto;
}

.lp-design-b__wrapper--gift2026ss .pattern02--b .flex-box__inner,
.lp-design-b__wrapper--gift2026ss .pattern02--d .flex-box__inner,
.lp-design-b__wrapper--gift2026ss .pattern02--g .flex-box__inner,
.lp-design-b__wrapper--gift2026ss .pattern02--i .flex-box__inner {
  max-width: calc(532 / 713 * 100%);
}

.lp-design-b__wrapper--gift2026ss .pattern02--h .flex-box__inner {
  max-width: calc(634 / 713 * 100%);
}

.lp-design-b__wrapper--gift2026ss .flex-box__wrapper {
  margin-top: 24px;
  gap: 20px;
}
.lp-design-b__wrapper--gift2026ss .flex-box__wrapper--wide {
  padding-bottom: 200px;
}
/* 横並び商品カードの幅を均等化（画像本来サイズに依存しない） */
.lp-design-b__wrapper--gift2026ss
  .flex-box__wrapper
  > .flex-box__item:not(.flex-box__item--horizontal) {
  flex: 1 1 0;
  min-width: 0;
}
.lp-design-b__wrapper--gift2026ss .flex-box__text {
  font-family: "Inter", sans-serif;
  font-size: 22px;
  letter-spacing: 0.66px;
}

.lp-design-b__wrapper--gift2026ss .flex-box__wrapper--single {
  display: flex;
  flex-direction: column;
}
.lp-design-b__wrapper--gift2026ss .flex-box__item--horizontal {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
}
.flex-box__item--horizontal--wide {
  padding-bottom: 180px;
}
.lp-design-b__wrapper--gift2026ss
  .flex-box__item--horizontal
  .flex-box__item-image {
  flex: 0 0 auto;
  aspect-ratio: auto;
}
.lp-design-b__wrapper--gift2026ss
  .flex-box__item--horizontal
  .flex-box__item-info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* All flex-box product images: fill container width */
.lp-design-b__wrapper--gift2026ss .flex-box__item-image img {
  width: 100%;
  display: block;
}

/* Horizontal product image widths per section
 * Parent flex-box__inner: 532 figma (B/D/G/I), 634 figma (H)
 * Image dimension from Figma's inner-mask image width */
.lp-design-b__wrapper--gift2026ss
  .pattern02--b
  .flex-box__item--horizontal
  .flex-box__item-image {
  width: calc(246 / 532 * 100%);
}
.lp-design-b__wrapper--gift2026ss
  .pattern02--d
  .flex-box__item--horizontal
  .flex-box__item-image {
  width: calc(274 / 532 * 100%);
}
.lp-design-b__wrapper--gift2026ss
  .pattern02--g
  .flex-box__item--horizontal
  .flex-box__item-image {
  width: calc(274 / 532 * 100%);
}
.lp-design-b__wrapper--gift2026ss
  .pattern02--triple
  .flex-box__item--horizontal
  .flex-box__item-image {
  width: calc(274 / 634 * 100%);
}
.lp-design-b__wrapper--gift2026ss
  .pattern02--i
  .flex-box__item--horizontal
  .flex-box__item-image {
  width: calc(246 / 532 * 100%);
}

/* Section C: MENS GIFT label only, products on white (no pattern bg) */
.lp-design-b__wrapper--gift2026ss .flex-box--gift-mens {
  padding: 30px 0 120px;
}

/* Section J: pattern06 (gray bg #817c76) — gray bg is 650 wide (insets 31/32) */
.lp-design-b__wrapper--gift2026ss
  .pattern06.pattern-background--pattern06::before {
  height: 47%;
  left: calc(31 / 713 * 100%);
  right: calc(32 / 713 * 100%);
  width: auto;
  transform: none;
  background-color: #817c76;
}

.lp-design-b__wrapper--gift2026ss .pattern06__title {
  color: #1c1c1c;
  font-family: "Inter", sans-serif;
  font-size: 28px;
  letter-spacing: 0.84px;
  font-weight: 400;
  text-align: center;
}
.lp-design-b__wrapper--gift2026ss .pattern06__image {
  width: calc(570 / 633 * 100%);
  margin-inline: auto;
  display: block;
}
.lp-design-b__wrapper--gift2026ss .pattern06__image img {
  width: 100%;
  display: block;
}
.lp-design-b__wrapper--gift2026ss .pattern06__text {
  color: #1c1c1c;
  text-align: center;
  margin: 20px 0;
  font-size: 14px;
  line-height: calc(28 / 14);
}
.lp-design-b__wrapper--gift2026ss .pattern06__wrapper {
  text-align: center;
}
.lp-design-b__wrapper--gift2026ss .pattern06__wrapper .flex-box__item-btn {
  width: auto;
  display: inline-block;
  padding: 14px 50px;
  margin: 0 auto;
}
@media (max-width: 650px) {
  .lp-design-b__wrapper--gift2026ss
    .pattern02.pattern-background--pattern02::before {
    height: 55%;
  }
}

@media (max-width: 450px) {
  .lp-design-b__wrapper--gift2026ss .concept {
    padding: 30px 20px 20px;
  }
  .lp-design-b__wrapper--gift2026ss .concept__text {
    font-size: 13px;
  }
  .lp-design-b__wrapper--gift2026ss .pattern02__text {
    font-size: 12px;
    margin-top: 100px;
  }
  .lp-design-b__wrapper--gift2026ss
    .pattern05.pattern-background--pattern05::before {
    top: 0;
  }
  .lp-design-b__wrapper--gift2026ss .flex-box__inner {
    max-width: 88%;
    margin-inline: auto;
  }
  .lp-design-b__wrapper--gift2026ss .pattern02--d .flex-box__inner,
  .lp-design-b__wrapper--gift2026ss .pattern02--i .flex-box__inner{
    max-width: 88%;
  }

  .lp-design-b__wrapper--gift2026ss
    .pattern02__bottom--narrow
    .pattern02__text {
    font-size: 12px;
    line-height: 1.5;
  }
  .lp-design-b__wrapper--gift2026ss .pattern02__bottom--narrow {
    margin-top: -5%;
  }
  .lp-design-b__wrapper--gift2026ss
    .pattern02
    .pattern__inner
    .pattern05__image-01 {
    margin-top: 15%;
  }
  .lp-design-b__wrapper--gift2026ss
    .pattern02.pattern-background--pattern02.pattern02--f::before {
    height: 30%;
  }
  .lp-design-b__wrapper--gift2026ss .pattern02--g .flex-box__inner {
    max-width: 88%;
  }
  .lp-design-b__wrapper--gift2026ss .flex-box__wrapper--wide {
    padding-bottom: 130px;
  }
  .lp-design-b__wrapper--gift2026ss
    .pattern02--triple.pattern02--h.pattern-background--pattern02::before {
    height: 40%;
  }
  .lp-design-b__wrapper--gift2026ss .pattern02__image-03 {
    margin-top: 0;
  }
  .lp-design-b__wrapper--gift2026ss
    .pattern02--d
    .flex-box__item--horizontal
    .flex-box__item-image {
    max-width: 88%;
  }
}
.lp-design-b__wrapper--fuwafuwa::before,
.lp-design-b__wrapper--fuwafuwa::after {
  display: none;
}


/* =============================================================
 * 2026AW 差分 / 2026-09-20
 * 既存レイアウトを継続。以下は .roomwear2026aw 内だけに適用。
 * Figma: hzFuv0VrNeCLXHB1rzuKOF / 4372:46
 * ============================================================= */
.lp-design-b.roomwear2026aw {
  background-color: #ede4d5;
}
.roomwear2026aw .lp-design-b__wrapper--roomwear .pattern-background::before {
  background-color: #ddcaaa;
}
.roomwear2026aw .lp-design-b__wrapper--roomwear .pattern-background--pattern06::before {
  background-color: #817c76;
}
.roomwear2026aw .lp-design-b__wrapper--roomwear::before {
  background-image: url(../img/roomwear2026aw/side-left.png);
}
.roomwear2026aw .lp-design-b__wrapper--roomwear::after {
  background-image: url(../img/roomwear2026aw/side-right.png);
}
.roomwear2026aw .lp-design-b__wrapper--roomwear::before,
.roomwear2026aw .lp-design-b__wrapper--roomwear::after {
  mix-blend-mode: multiply;
}
.roomwear2026aw .mv__image {
  margin: 0;
}
.roomwear2026aw .mv__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 650 / 810;
}

/* 新規：Simple & Basic（ヌネットプリント） */
.roomwear2026aw .aw-feature {
  padding-top: 40px;
  padding-bottom: 180px;
}
.roomwear2026aw .aw-feature::before {
  height: 33%;
}
.roomwear2026aw .aw-feature__title {
  position: relative;
  margin: 0;
  padding-left: 40px;
  font-family: inherit;
  font-size: 28px;
  line-height: 1.875;
  font-weight: 400;
}
.roomwear2026aw .aw-feature__collage {
  position: relative;
  width: 100%;
  aspect-ratio: 650 / 927;
  margin-top: 30px;
}
.roomwear2026aw .aw-feature__look {
  position: absolute;
  margin: 0;
}
.roomwear2026aw .aw-feature__look img {
  display: block;
  width: 100%;
  height: auto;
}
.roomwear2026aw .aw-feature__look--main {
  top: 0;
  left: 0;
  width: 65.538462%;
}
.roomwear2026aw .aw-feature__look--right {
  top: 43.203883%;
  left: 53.692308%;
  width: 39.538462%;
}
.roomwear2026aw .aw-feature__look--left {
  top: 56.580367%;
  left: 5.846154%;
  width: 38.615385%;
}
.roomwear2026aw .aw-feature__description {
  position: relative;
  margin-top: 40px;
  padding: 0 23px 0 30px;
  min-height: 180px;
  font-size: 16px;
  line-height: 1.875;
}
.roomwear2026aw .aw-feature__description p {
  margin: 0;
}
.roomwear2026aw .aw-feature .flex-box__item {
  flex: 1 1 0;
  min-width: 0;
}
.roomwear2026aw .aw-feature .flex-box__item-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 245 / 294;
  display: block;
}
.roomwear2026aw .aw-feature .flex-box__item-btn {
  margin-top: 20px;
}
.roomwear2026aw .aw-link-unset {
  cursor: default;
}

/* 旧Simple & Basic：Figmaでは見出しをNatural Breezeへ変更・右寄せ */
.roomwear2026aw .aw-basic .pattern03__title-wrapper-left {
  text-align: right;
  padding-left: 40px;
  padding-right: 40px;
}

/* 次の既存セクションはFigmaで見出し表示なし。余白と文書構造を維持。 */
.roomwear2026aw .aw-natural .pattern04__title-wrapper-right {
  height: 52.5px;
}
.roomwear2026aw .aw-heading-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* 既存の2列ルールを維持し、中間幅でも商品カラムを均等にする。 */
.roomwear2026aw .flex-box__wrapper > .flex-box__item {
  flex: 1 1 0;
  min-width: 0;
}

@media (max-width: 650px) {
  .roomwear2026aw .aw-feature__description {
    min-height: 0;
  }
}
@media (max-width: 450px) {
  .roomwear2026aw .aw-feature {
    padding-bottom: 90px;
  }
  .roomwear2026aw .aw-feature__title {
    padding-left: 20px;
    font-size: 20px;
  }
  .roomwear2026aw .aw-feature__description {
    margin-top: 24px;
    padding-inline: 20px;
    font-size: 14px;
    line-height: 1.9;
  }
  .roomwear2026aw .aw-basic .pattern03__title-wrapper-left {
    padding-inline: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .roomwear2026aw .lp-design-b__wrapper::before,
  .roomwear2026aw .lp-design-b__wrapper::after {
    transition: none;
  }
}


/* r002: approved Figma crops and scoped layout corrections. */
.roomwear2026aw .aw-crop { position:relative; overflow:hidden; margin:0; }
.roomwear2026aw .aw-crop > img {
  position:absolute; display:block; max-width:none; object-fit:fill;
  width:var(--crop-w); height:var(--crop-h); left:var(--crop-x); top:var(--crop-y);
}
.roomwear2026aw .aw-crop--sweet-main { --crop-w:151.68%; --crop-h:193.96%; --crop-x:-31.22%; --crop-y:-47%; }
.roomwear2026aw .aw-crop--sweet-grey,
.roomwear2026aw .aw-crop--sweet-black { --crop-w:131.09%; --crop-h:163.75%; --crop-x:-15.38%; --crop-y:-31.79%; }
.roomwear2026aw .aw-crop--sweet-top { --crop-w:240%; --crop-h:299.96%; --crop-x:-70.2%; --crop-y:-67.74%; }
.roomwear2026aw .aw-crop--sweet-pants { --crop-w:192.24%; --crop-h:240.28%; --crop-x:-46.53%; --crop-y:-85.61%; }
.roomwear2026aw .aw-crop--hoodie-main { --crop-w:192.54%; --crop-h:265.74%; --crop-x:-42.14%; --crop-y:-57.68%; }
.roomwear2026aw .aw-crop--hoodie-sub { --crop-w:318.18%; --crop-h:386.03%; --crop-x:-96.82%; --crop-y:-107.36%; }
.roomwear2026aw .aw-crop--pickup { --crop-w:137.79%; --crop-h:172.21%; --crop-x:-18.7%; --crop-y:-32.55%; }
.roomwear2026aw .aw-sweet { position:relative; padding:40px 0 87px; }
.roomwear2026aw .aw-sweet::before { height:auto; aspect-ratio:650 / 894; }
.roomwear2026aw .aw-sweet__title { position:relative; padding:0 40px; margin:0 0 30px; font-size:28px; line-height:53px; font-weight:400; }
.roomwear2026aw .aw-sweet__stage { position:relative; width:100%; aspect-ratio:650 / 819; }
.roomwear2026aw .aw-sweet__main { width:87.230769%; aspect-ratio:567 / 665; }
.roomwear2026aw .aw-sweet__sub { position:absolute; left:47.846154%; top:56.166056%; width:46%; aspect-ratio:299 / 359; }
.roomwear2026aw .aw-sweet__story { position:relative; display:grid; grid-template-columns:minmax(0,277fr) minmax(0,253fr); gap:40px; align-items:center; padding:40px 40px 0; }
.roomwear2026aw .aw-sweet__black { width:100%; aspect-ratio:277 / 333; }
.roomwear2026aw .aw-sweet__description { margin:0; font-size:16px; line-height:24px; }
.roomwear2026aw .aw-sweet .flex-box { position:relative; }
.roomwear2026aw .aw-sweet .flex-box__item-image { width:100%; aspect-ratio:245 / 294; }
.roomwear2026aw .aw-sweet .flex-box__item-text { line-height:26.25px; min-height:132px; }
.roomwear2026aw .aw-sweet .flex-box__text { line-height:53px; }
.roomwear2026aw .aw-hoodie { position:relative; padding:40px 40px 180px; background:#fff; }
.roomwear2026aw .aw-hoodie__title { margin:0 0 30px; font-size:20px; line-height:38px; font-weight:400; }
.roomwear2026aw .aw-hoodie__image--main { width:87.017544%; aspect-ratio:496 / 539; }
.roomwear2026aw .aw-hoodie__description { margin-top:40px; min-height:92px; font-size:16px; line-height:30px; }
.roomwear2026aw .aw-hoodie__description p { margin:0; }
.roomwear2026aw .aw-hoodie__note { font-size:13px; }
.roomwear2026aw .aw-hoodie__lower { display:grid; grid-template-columns:minmax(0,220fr) minmax(0,310fr); gap:40px; align-items:center; margin-top:40px; }
.roomwear2026aw .aw-hoodie__image--sub { width:100%; aspect-ratio:220 / 272; }
.roomwear2026aw .aw-hoodie__details { min-width:0; }
.roomwear2026aw .aw-hoodie__copy { width:290px; max-width:100%; margin:0; font-size:14px; line-height:26.25px; }
.roomwear2026aw .aw-hoodie__details .pattern02__view-more { display:flex; align-items:center; justify-content:center; width:234.094px; max-width:100%; min-height:54px; margin-top:24px; padding:12px 20px; line-height:30px; font-size:16px; }
.roomwear2026aw .roomwear2026aw-pickup__images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; max-width:490px; margin:0 auto; }
.roomwear2026aw .roomwear2026aw-pickup__image { position:relative; margin:0; aspect-ratio:230 / 276; overflow:hidden; }
.roomwear2026aw .roomwear2026aw-pickup__image:not(.aw-crop) img { display:block; width:100%; height:100%; object-fit:cover; }
.roomwear2026aw .roomwear2026aw-pickup__button { display:flex; align-items:center; justify-content:center; width:min(230px,100%); min-height:54px; margin:45px auto 0; padding:12px 20px; border:0; border-radius:9999px; color:#fff; background:#000; text-align:center; text-decoration:none; font-size:16px; line-height:30px; transition:opacity .3s; }
.roomwear2026aw .roomwear2026aw-pickup__button:is(:hover,:active,:focus-visible) { color:#fff; opacity:.75; }
.roomwear2026aw .lp-design-b__wrapper--roomwear .pattern-background--pattern06::before { height:306px; }
.roomwear2026aw .flex-box__wrapper--4col > .flex-box__item { display:flex; flex-direction:column; }
.roomwear2026aw .flex-box__wrapper--4col .flex-box__item-image { flex-shrink:0; }
.roomwear2026aw .flex-box__wrapper--4col .flex-box__item-text { flex-grow:1; }
@media (max-width:650px) {
  .roomwear2026aw .aw-sweet__story { gap:24px; }
  .roomwear2026aw .aw-sweet__description { font-size:14px; line-height:1.65; }
  .roomwear2026aw .aw-hoodie__lower { gap:24px; }
  .roomwear2026aw .roomwear2026aw-pickup__images { gap:16px; }
}
@media (max-width:450px) {
  .roomwear2026aw .aw-sweet { padding-bottom:60px; }
  .roomwear2026aw .aw-sweet__title { padding-inline:20px; font-size:20px; line-height:37.5px; }
  .roomwear2026aw .aw-sweet__story { padding:24px 20px 0; gap:18px; }
  .roomwear2026aw .aw-sweet__description { font-size:12px; line-height:1.65; }
  .roomwear2026aw .aw-sweet .flex-box__item-text { min-height:0; font-size:12px; line-height:1.875; }
  .roomwear2026aw .aw-sweet .flex-box__wrapper { align-items:stretch; }
  .roomwear2026aw .aw-sweet .flex-box__item { display:flex; flex-direction:column; }
  .roomwear2026aw .aw-sweet .flex-box__item-image { flex-shrink:0; }
  .roomwear2026aw .aw-sweet .flex-box__item-text { flex-grow:1; }
  .roomwear2026aw .aw-hoodie { padding:40px 20px 90px; }
  .roomwear2026aw .aw-hoodie__title { font-size:18px; line-height:1.875; }
  .roomwear2026aw .aw-hoodie__description { margin-top:24px; min-height:0; font-size:14px; line-height:1.9; }
  .roomwear2026aw .aw-hoodie__note { font-size:12px; }
  .roomwear2026aw .aw-hoodie__lower { grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:16px; margin-top:24px; }
  .roomwear2026aw .aw-hoodie__copy { font-size:12px; line-height:1.8; }
  .roomwear2026aw .aw-hoodie__details .pattern02__view-more { min-height:46px; margin-top:20px; padding:10px 6px; font-size:12px; line-height:24px; }
  .roomwear2026aw .roomwear2026aw-pickup__images { gap:10px; }
  .roomwear2026aw .roomwear2026aw-pickup__button { min-height:48px; margin-top:24px; font-size:14px; line-height:24px; }
  .roomwear2026aw .lp-design-b__wrapper--roomwear .pattern-background--pattern06::before { height:clamp(210px,62vw,279px); }
}

/* r003: Artistic Nounette. Scoped to this LP; original photo proportions retained. */
.roomwear2026aw .aw-artistic { position:relative; padding:40px 0 120px; background:#fff; }
.roomwear2026aw .aw-artistic::before { content:""; position:absolute; inset:0 0 auto; height:681px; background:#ddcaaa; }
.roomwear2026aw .aw-artistic__intro { position:relative; padding:0 40px; display:flex; flex-direction:column; align-items:flex-end; gap:30px; }
.roomwear2026aw .aw-artistic__title { width:100%; margin:0; font-size:24px; line-height:45px; font-weight:400; text-align:right; }
.roomwear2026aw .aw-artistic__main { width:86.666667%; aspect-ratio:494 / 546; --crop-w:196.72%; --crop-h:266.72%; --crop-x:-48.37%; --crop-y:-57.09%; }
.roomwear2026aw .aw-artistic__story { display:grid; grid-template-columns:minmax(0,261fr) minmax(0,269fr); align-items:center; gap:40px; width:100%; padding-top:10px; }
.roomwear2026aw .aw-artistic__full { width:100%; aspect-ratio:7 / 10; --crop-w:156.25%; --crop-x:-20.3125%; --crop-y:-34.453125%; }
.roomwear2026aw .aw-artistic__full > img { height:auto; }
.roomwear2026aw .aw-artistic__story-right { min-width:0; display:flex; flex-direction:column; gap:24px; }
.roomwear2026aw .aw-artistic__description { font-size:16px; line-height:24px; letter-spacing:.8px; overflow-wrap:break-word; }
.roomwear2026aw .aw-artistic__description p { margin:0; }
.roomwear2026aw .aw-artistic__back { width:100%; aspect-ratio:293 / 310; --crop-w:182.8%; --crop-h:259.02%; --crop-x:-41.64%; --crop-y:-53.36%; }
.roomwear2026aw .aw-artistic__product { position:relative; display:grid; grid-template-columns:minmax(0,269fr) minmax(0,261fr); align-items:center; gap:40px; padding:80px 40px 0; }
.roomwear2026aw .aw-artistic__product-image { width:100%; aspect-ratio:269 / 426; --crop-w:174.45%; --crop-h:165.15%; --crop-x:-49.07%; --crop-y:-34.27%; }
.roomwear2026aw .aw-artistic__details { min-width:0; display:flex; flex-direction:column; gap:24px; }
.roomwear2026aw .aw-artistic__copy { margin:0; font-size:14px; line-height:26.25px; letter-spacing:.8px; }
.roomwear2026aw .aw-artistic__button { display:flex; justify-content:center; align-items:center; width:245px; max-width:100%; min-height:54px; padding:12px 20px; border-radius:9999px; background:#000; color:#fff; text-decoration:none; font-size:16px; line-height:30px; text-align:center; transition:opacity .3s; }
.roomwear2026aw .aw-artistic__button:is(:hover,:focus-visible) { opacity:.75; color:#fff; }
@media(max-width:650px) {
 .roomwear2026aw .aw-artistic::before { height:auto; aspect-ratio:650 / 681; }
}
@media(max-width:450px) {
 .roomwear2026aw .aw-artistic { padding-top:40px; padding-bottom:80px; }
 .roomwear2026aw .aw-artistic__intro { padding-inline:20px; gap:24px; }
 .roomwear2026aw .aw-artistic__title { font-size:20px; line-height:37.5px; }
 .roomwear2026aw .aw-artistic::before { aspect-ratio:auto; height:calc(101.5px + (100vw - 40px) * .86666667 * 546 / 494); }
 .roomwear2026aw .aw-artistic__story { gap:18px; padding-top:0; }
 .roomwear2026aw .aw-artistic__story-right { gap:18px; }
 .roomwear2026aw .aw-artistic__description { font-size:12px; line-height:1.8; letter-spacing:.6px; }
 .roomwear2026aw .aw-artistic__product { gap:18px; padding:48px 20px 0; }
 .roomwear2026aw .aw-artistic__copy { font-size:12px; line-height:1.8; letter-spacing:.6px; }
 .roomwear2026aw .aw-artistic__button { font-size:12px; line-height:24px; min-height:46px; padding:10px 6px; }
}

.roomwear2026aw .aw-artistic__colors { display:inline-block; white-space:nowrap; }
