@charset "UTF-8";
:root {
  --gold_color: #c5a137;
  --brown_color: #4b3223;
}
body {
  background-color: #38070a;
}
.l-container {
  max-width: 2000px;
  margin: auto;
  background: linear-gradient(90deg, rgb(111, 14, 19) 0%, rgb(160, 21, 24) 50%, rgb(111, 14, 19) 100%);
  backface-visibility: hidden;
  color: var(--brown_color);
}

.p-header__inner {
  background: #38070a;
  position: fixed;
}

.p-campaignHeading {
  padding-top: 60px;
}
@media screen and (min-width: 769px) {
    .p-campaignHeading {
      padding-top: min(calc(200/1024*100vw), 200px);
    }
}
.p-campaignHeading__body {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-campaignHeading__body span {
  color: var(--gold_color);
  letter-spacing: 0.025em;
}
.p-campaignHeading__body span:nth-child(1) {
  position: relative;
  font-size: 8vw;
  line-height: 1.8666666667em;
}
.p-campaignHeading__body span:nth-child(1)::before {
  position: absolute;
  content: "";
  top: -10rem;
  left: -11rem;
  width: 15.6rem;
  height: 16.5rem;
  background-image: url(/lp/brightholiday2025/img/campaign/intro_bg01.webp);
  background-size: 15.6rem auto;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .p-campaignHeading__body span:nth-child(1)::before {
    top: -5rem;
    left: -37rem;
    width: 15.6rem;
    height: 16.5rem;
  }
}
@media screen and (min-width: 769px) {
  .p-campaignHeading__body span:nth-child(1) {
    font-size: min(6.4453125vw, 66px);
  }
}
.p-campaignHeading__body span:nth-child(2) {
  font-size: 4vw;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .p-campaignHeading__body span:nth-child(2) {
    font-size: min(4.39453125vw, 45px);
  }
}
.p-campaignHeading__img {
  width: 82.2666666667vw;
  margin: 2.6666666667vw auto 0;
}
@media screen and (min-width: 769px) {
  .p-campaignHeading__img {
    width: 91.9rem;
    margin: 0.9765625vw auto 0;
  }
}
.p-campaignHeading__lead {
  position: relative;
  width: 82.6666666667vw;
  margin: 6.6666666667vw auto 0;
  font-size: 3.4666666667vw;
  line-height: 2em;
  text-align: left;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-campaignHeading__lead {
    width: 64.6rem;
    margin-top: 2.34375vw;
    font-size: min(1.7578125vw, 18px);
    line-height: 2em;
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .p-campaignHeading__lead::before {
    position: absolute;
    content: "";
    top: 0;
    right: -40rem;
    width: 11.4rem;
    height: 13.1rem;
    background-image: url(/lp/brightholiday2025/img/campaign/campain_bg_pc.webp);
    background-size: 11.4rem auto;
    background-repeat: no-repeat;
  }
}
.p-campaignOverview {
  position: relative;
}
.p-campaignOverview::before {
  content: "";
  position: absolute;
  bottom: calc(103/750*100vw);
  left: calc(27/750*100vw);
  width: calc(136/750*100vw);
  height: calc(167/750*100vw);
  background: url(/lp/brightholiday2025/img/campaign/overview_bg02_sp.webp) no-repeat 0 0;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview::before {
    bottom: min(calc(153/1024*100vw), 153px);
    left: 50%;
    translate: min(calc(560/1024*100vw), 560px) 0;
    width: min(calc(98/1024*100vw), 98px);
    height: min(calc(120/1024*100vw), 120px);
    background: url(/lp/brightholiday2025/img/campaign/overview_bg02_pc.webp) no-repeat 0 0;
    background-size: contain;
  }
}
.p-campaignOverview__wrap {
  margin-top: 8.5333333333vw;
  padding-bottom: calc(150/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__wrap {
    margin: min(5.37109375vw, 55px) auto 0;
    padding-bottom: min(calc(120/1024*100vw), 120px);
  }
}
.p-campaignOverview__container {
  width: 90.6666666667vw;
  max-width: 1080px;
  margin: auto;
}
.p-campaignOverview__unit {
  position: relative;
  display: flex;
  flex-direction: row;
  padding: 35px 26px;
  background: #eee3c3;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__unit {
    padding: 60px 26px;
  }
}
.p-campaignOverview__unit::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 20.4rem;
  height: 5.9rem;
  background-image: url(/lp/brightholiday2025/img/campaign/campain_1st-label_sp.webp);
  background-size: 20.4rem auto;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__unit::before {
    width: 14.55rem;
    height: 4.2rem;
    background-image: url(/lp/brightholiday2025/img/campaign/campain_1st-label_pc.webp);
    background-size: 14.55rem auto;
    background-repeat: no-repeat;
  }
}
.p-campaignOverview__unit.second::before {
  background-image: url(/lp/brightholiday2025/img/campaign/campain_2nd-label_sp.webp);
}

@media screen and (min-width: 769px) {
  .p-campaignOverview__unit.second::before {
    background-image: url(/lp/brightholiday2025/img/campaign/campain_2nd-label_pc.webp);
  }
}
.p-campaignOverview__unit + .p-campaignOverview__unit {
  display: flex;
  flex-direction: column;
  padding: 12.5333333333vw 26px 6.1333333333vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__unit + .p-campaignOverview__unit {
    flex-direction: row;
    padding: 35px 26px;
    margin-top: min(0.68359375vw, 7px);
  }
}
.p-campaignOverview__unit + .p-campaignOverview__unit::before {
  background-image: url(/lp/brightholiday2025/img/campaign/campain_2nd-label_sp.webp);
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__unit + .p-campaignOverview__unit::before {
    background-image: url(/lp/brightholiday2025/img/campaign/campain_2nd-label_pc.webp);
  }
}
.p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block {
    max-width: 420px;
  }
}
.p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block .p-campaignOverview__body {
  padding-bottom: calc(50/750*100vw);
  width: 100%;
  border-bottom: solid 2px #ae131b;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block .p-campaignOverview__body {
    padding: min(1.5625vw, 16px) 0;
    border-bottom: none;
    border-right: solid 1px #ae131b;
  }
}
.p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block + .p-campaignOverview__block {
  margin-top: calc(30/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block + .p-campaignOverview__block {
    margin-top: 0;
  }
}
.p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block + .p-campaignOverview__block .p-campaignOverview__body {
  padding-bottom: 0;
  border: none;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block + .p-campaignOverview__block .p-campaignOverview__body {
    padding-top: min(1.953125vw, 20px);
    border: none;
  }
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block:nth-child(1) .p-campaignOverview__body {
    padding-right: min(calc(40/1024*100vw), 40px);
  }
}
.p-campaignOverview__block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  max-width: 905px;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__block {
    flex-direction: row;
  }
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__body {
    width: min(38.671875vw, 450px);
  }
}
.p-campaignOverview__title {
  font-size: 6.6666666667vw;
  line-height: 1.56em;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-color: #c5a137;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__title {
    font-size: min(2.9296875vw, 30px);
    line-height: 1.6em;
  }
}
.p-campaignOverview__title.u-campaignOverview__title {
  padding: 2vw 0;
  font-size: 4.8vw;
  line-height: 1.5555555556em;
  text-decoration-line: none;
  text-align: center;
  background: var(--gold_color);
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__title.u-campaignOverview__title {
    padding: min(1.46484375vw, 15px) 0;
    font-size: min(2.34375vw, 24px);
    line-height: 1.3333333333em;
  }
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__title.u-campaignOverview__title2 {
    padding: min(3.125vw, 32px) 0 min(3.3203125vw, 34px);
  }
}
.p-campaignOverview__content {
  margin: 5.8666666667vw auto;
  font-size: 4.5333333333vw;
  line-height: 1.4117647059em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__content {
    margin: min(1.953125vw, 20px) auto;
    font-size: min(1.953125vw, 20px);
    line-height: 1.4166666667em;
  }
}

.p-campaignOverview__content2nd {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  margin: 5.3333333333vw 0;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__content2nd {
    margin: min(2.5390625vw, 26px) auto;
  }
}
.p-campaignOverview__content2ndTxt {
  font-size: calc(36/750*100vw);
  letter-spacing: -.05em;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__content2ndTxt {
    font-size: min(calc(24/1024*100vw), 24px);
    line-height: 1.4166666667em;
  }
}
.p-campaignOverview__content2ndTxtBig {
  font-size: calc(130/750*100vw);
  line-height: 0;
  letter-spacing: -.1em;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__content2ndTxtBig {
    font-size: min(calc(78/1024*100vw), 78px);
    line-height: 1.0588235294em;
  }
}
.p-campaignOverview__content2ndTxtSmall {
  font-size: calc(30/750*100vw);
  line-height: 0;
  letter-spacing: -.05em;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__content2ndTxtSmall {
    font-size: min(calc(18/1024*100vw), 18px);
    line-height: 1.3333333333em;
  }
}
.p-campaignOverview__contentTxt {
  margin-bottom: 4.2666666667vw;
  font-size: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__contentTxt {
    margin-bottom: min(1.953125vw, 20px);
    font-size: min(2.34375vw, 24px);
  }
}
.p-campaignOverview__text {
  font-size: 2.8vw;
  line-height: 1.9047619048em;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__text {
    font-size: min(1.3671875vw, 14px);
  }
}
.p-campaignOverview__text + .p-campaignOverview__text {
  line-height: 1.4285714286em;
  margin-top: 7px;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__text + .p-campaignOverview__text {
    margin-top: 0;
    font-size: min(1.171875vw, 12px);
  }
}
.p-campaignOverview__text + .p-campaignOverview__content {
  margin-top: calc(50/750*100vw);
  padding-top: calc(50/750*100vw);
  border-top: solid 1px #ae131b;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__text+.p-campaignOverview__content {
    margin-top: min(calc(25/1024*100vw), 25px);
    padding-top: min(calc(25/1024*100vw), 25px);
  }
}
.p-campaignOverview__img {
  width: 76.8vw;
  margin-top: 6.9333333333vw;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__img {
    max-width: min(calc(450/1024*100vw), 450px);
    margin: 0 0 0 5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-campaignOverview__unit.second {
    flex-direction: column;
  }
  .p-campaignOverview__unit.second .p-campaignOverview__content2nd {
    flex-direction: column;
    align-items: center;
  }
  .p-campaignOverview__unit.second .p-campaignOverview__content2nd .p-campaignOverview__content2ndTxt {
    text-align: center;
  }
  .p-campaignOverview__unit.second .p-campaignOverview__content2nd .p-campaignOverview__content2ndTxt .p-campaignOverview__content2ndTxtBig {
    line-height: 1;
  }
  .cushion {
    width: calc(420/750*100vw);
  }
  .p-campaignOverview__unit.second .p-campaignOverview__block + .p-campaignOverview__block {
    margin-top: calc(50/750*100vw);
    border-top: solid 1px #ae131b;
  }
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__block:has(.cushion) {
    margin-right: 0;
  }
  .p-campaignOverview__unit.second .p-campaignOverview__body:has(.cushion) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: min(calc(10/1024*100vw), 10px);
	border-right:1px solid #b31a20;
  }
  .p-campaignOverview__unit.second .p-campaignOverview__body:has(.cushion) .p-campaignOverview__content2nd {
    flex-direction: column;
    align-items: flex-start;
  }
  .p-campaignOverview__unit.second .p-campaignOverview__block + .p-campaignOverview__block {
    position: relative;
    margin-left: 0;
    margin-left: min(calc(40/1024*100vw), 40px);
    padding-left: min(calc(40/1024*100vw), 40px);
  }
  .p-campaignOverview__unit.second .p-campaignOverview__block + .p-campaignOverview__block::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #ae131b;
  }
  .cushion {
    width: min(calc(180/1024*100vw), 180px);
	margin-right: 20px;
  }
}

.p-campaignOverview__couponTxt {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-end;
  margin-bottom: 5.6vw;
  width: calc(490/750*100vw);
  /* padding-left: calc(20/750*100vw); */
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__couponTxt {
    width: min(calc(290/1024*100vw), 290px);
    margin-bottom: min(1.953125vw, 20px);
    padding-left: min(calc(12/1024*100vw), 12px);
    font-size: min(2.34375vw, 24px);
    line-height: 1.3333333333em;
  }
}
.p-campaignOverview__couponTxt::before {
  position: absolute;
  content: "◆";
  top: -2px;
  left: 0;
  font-size: 4.5333333333vw;
  color: #c5a137;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__couponTxt::before {
    font-size: min(1.7578125vw, 18px);
  }
}
.p-campaignOverview__couponTxtPrice {
  display: flex;
  justify-content: flex-end;
  font-size: 5.3333333333vw;
  line-height: 1;
  text-align: right;
}

.hotel_info p.mar2{
	margin-top: 2rem;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__couponTxtPrice {
    font-size: min(2.34375vw, 24px);
  }
}
.p-campaignOverview__couponTxtPrice + span {
  font-size: 5.3333333333vw;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__couponTxtPrice + span {
    font-size: min(2.34375vw, 24px);
  }
}
.p-campaignOverview__couponTxtPrice + span .p-campaignOverview__couponTxtNumber {
  font-size: 9.8666666667vw;
  line-height: 0;
}
@media screen and (min-width: 769px) {
  .p-campaignOverview__couponTxtPrice + span .p-campaignOverview__couponTxtNumber {
    font-size: min(4.296875vw, 44px);
  }
}
.p-campaignOverview__couponTxtNumber {
  position: relative;
  top: 3px;
}
.p-campaignOverviewSchedule {
  margin-top: calc(40/750*100vw);
  margin-bottom: calc(85/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule {
    margin-top: min(calc(30/1024*100vw), 30px);
	margin-bottom: min(calc(90/1024*100vw), 90px);
  }
}
.p-campaignOverviewSchedule__heading2 {
  position: relative;
  width: calc(680/750*100vw);
  margin: 0 auto;
  padding: calc(20/750*100vw) calc(40/750*100vw);
  font-size: calc(32/750*100vw);
  text-align: center;
  background-color: var(--gold_color);
  clip-path: polygon(0 0, 100% 0, calc(100% - calc(25/750*100vw)) 50%, 100% 100%, 0 100%, calc(25/750*100vw) 50%);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule__heading2 {
    max-width: 1080px;
    width: min(calc(1080/1200*100vw), 1080px);
    padding: min(calc(16/1024*100vw), 16px) min(calc(40/1024*100vw), 50px);
    font-size: min(calc(26/1024*100vw), 26px);
    clip-path: polygon(0 0, 100% 0, calc(100% - min(calc(13/1024*100vw), 13px)) 50%, 100% 100%, 0 100%, min(calc(13/1024*100vw), 13px) 50%);
  }
}
.p-campaignOverviewSchedule__container {
  padding: calc(40/750*100vw) calc(45/750*100vw) 0;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule__container {
    max-width: 1080px;
    width: min(calc(1080/1200*100vw), 1080px);
    margin: 0 auto;
    padding: min(calc(30/1024*100vw), 30px) 0 0;
  }
}
.p-campaignOverviewSchedule__unit {
  display: grid;
  grid-template-columns: calc(88/750*100vw) auto;
  gap: calc(20/750*100vw);
  padding-left: calc(30/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule__unit {
    grid-template-columns: min(calc(84/1024*100vw), 84px) auto;
    gap: min(calc(10/1024*100vw), 10px);
    padding-left: min(calc(115/1024*100vw), 115px);
  }
}
.p-campaignOverviewSchedule__unit + .p-campaignOverviewSchedule__unit {
  margin-top: calc(35/750*100vw);
  padding-top: calc(35/750*100vw);
  border-top: dotted calc(2/750*100vw) #fff;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule__unit+.p-campaignOverviewSchedule__unit {
    margin-top: min(calc(55/1024*100vw), 55px);
    padding-top: min(calc(30/1024*100vw), 30px);
    border-top: dotted min(calc(2/1024*100vw), 2px) #fff;
  }
}
.p-campaignOverviewSchedule__txt {
  font-size: calc(34/750*100vw);
  line-height: calc(52/34*1em);
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule__txt {
    font-size: min(calc(34/1024*100vw), 34px);
    line-height: calc(42/34*1em);
  }
}
.p-campaignOverviewSchedule__target {
  display: grid;
  margin-top: calc(40/750*100vw);
  padding: 0 calc(35/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule__target {
    grid-template-columns: min(calc(180/1024*100vw), 180px) auto;
    gap: min(calc(10/1024*100vw), 10px);
    max-width: 1080px;
    width: min(calc(1080/1200*100vw), 1080px);
    margin: min(calc(30/1024*100vw), 30px) auto 0;
    padding: 0;
  }
}
.p-campaignOverviewSchedule__target__head {
  width: calc(680/750*100vw);
  margin: 0 auto;
  padding: calc(20/750*100vw) calc(40/750*100vw);
  font-size: calc(32/750*100vw);
  text-align: center;
  background-color: var(--gold_color);
  clip-path: polygon(0 0, 100% 0, calc(100% - calc(25/750*100vw)) 50%, 100% 100%, 0 100%, calc(25/750*100vw) 50%);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule__target__head {
    width: auto;
    margin: 0;
    padding: min(calc(28/1024*100vw), 28px);
    padding-left: min(calc(40/1024*100vw), 40px);
    font-size: min(calc(26/1024*100vw), 26px);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, min(calc(13/1024*100vw), 13px) 50%);
  }
}
.p-campaignOverviewSchedule__target__txt {
  padding: calc(30/750*100vw) calc(40/750*100vw) calc(30/750*100vw);
  font-size: calc(28/750*100vw);
  line-height: calc(52/28*1em);
  color: #fff;
  border-bottom: solid calc(2/750*100vw) var(--gold_color);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule__target__txt {
    padding: min(calc(10/1024*100vw), 10px);
    font-size: min(calc(20/1024*100vw), 20px);
    line-height: calc(32/20*1em);
    border-top: solid 1px var(--gold_color);
    border-bottom-width: 1px;
  }
}
.p-campaignOverviewSchedule__target__txt .annotation {
  font-size: calc(20/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewSchedule__target__txt .annotation {
    margin-left: min(calc(25/1024*100vw), 25px);
    font-size: min(calc(12/1024*100vw), 12px);
  }
}
.p-campaignOverviewSchedule__target__txt sup {
  font-size: 60%;
}
.p-campaignOverviewEntry {
  margin-top: calc(40/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry {
    margin-top: min(calc(40/1024*100vw), 40px);
  }
}
.p-campaignOverviewEntry__step {
  display: grid;
  gap: calc(84/750*100vw);
  margin-top: calc(40/750*100vw);
  padding: 0 calc(35/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 min(calc(33/1024*100vw), 33px);
    max-width: 1080px;
    width: min(calc(1080/1200*100vw), 1080px);
    margin: min(calc(20/1024*100vw), 20px) auto 0;
    padding: 0;
  }
}
.p-campaignOverviewEntry__step__block {
  position: relative;
  padding: calc(50/750*100vw) calc(50/750*100vw) calc(70/750*100vw);
  background-color: rgba(35, 24, 21, .5);
  border-radius: calc(20/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step__block {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    padding: min(calc(50/1024*100vw), 50px) 0 min(calc(55/1024*100vw), 50px);
    border-radius: min(calc(12/1024*100vw), 12px);
  }
}
.p-campaignOverviewEntry__step__block + .p-campaignOverviewEntry__step__block::before {
  content: "";
  position: absolute;
  top: calc(-70/750*100vw);
  left: 0;
  right: 0;
  width: calc(35/750*100vw);
  height: calc(60/750*100vw);
  margin: auto;
  background: url(/lp/brightholiday2025/img/campaign/overview_icon_pc.svg) no-repeat 0 0;
  background-size: contain;
  transform-origin: 50% 50%;
  rotate: 90deg;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step__block+.p-campaignOverviewEntry__step__block::before {
    top: 50%;
    left: min(calc(-18/1024*100vw), -18px);
    right: auto;
    width: min(calc(18/1024*100vw), 18px);
    height: min(calc(30/1024*100vw), 30px);
    margin: 0;
    rotate: 0deg;
  }
}
.p-campaignOverviewEntry__step__block__txt {
  color: #fff;
  text-align: center;
  font-size: calc(28/750*100vw);
  line-height: calc(46/28*1em);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step__block__txt {
    font-size: min(calc(18/1024*100vw), 18px);
    line-height: calc(28/18*1em);
  }
}
.p-campaignOverviewEntry__step__block__body {
  margin-top: calc(50/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step__block__body {
    display: grid;
    place-content: center;
    margin-top: min(calc(30/1024*100vw), 30px);
  }
}
.p-campaignOverviewEntry__step__block__body .icon {
  width: calc(186/750*100vw);
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step__block__body .icon {
    width: min(calc(124/1024*100vw), 124px);
  }
}
.p-campaignOverviewEntry__step__block__body .btn {
  position: relative;
  display: flex;
  justify-content: center;
  width: calc(400/750*100vw);
  margin: calc(40/750*100vw) auto 0;
  padding: calc(30/750*100vw) calc(70/750*100vw);
  font-size: calc(20/750*100vw);
  background-color: #fff;
  border-radius: 100vmax;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step__block__body .btn {
    width: min(calc(200/1024*100vw), 200px);
    margin: min(calc(20/1024*100vw), 20px) auto 0;
    padding: min(calc(10/1024*100vw), 10px);
    font-size: min(calc(16/1024*100vw), 16px);
    line-height: calc(22/16*1em);
  }
}
.p-campaignOverviewEntry__step__block__body .btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(63/750*100vw);
  translate: 0 -50%;
  width: calc(7/750*100vw);
  height: calc(13/750*100vw);
  background: url(/lp/brightholiday2025/img/campaign/arrow.svg) no-repeat 0 0;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step__block__body .btn::before {
    right: min(calc(23/1024*100vw), 23px);
    width: min(calc(6/1024*100vw), 6px);
    height: min(calc(10/1024*100vw), 10px);
  }
}
.p-campaignOverviewEntry__step__block__body .entry {
  width: calc(264/750*100vw);
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step__block__body .entry {
    width: min(calc(182/1024*100vw), 182px);
  }
}
.p-campaignOverviewEntry__step__block__body .shop {
  width: calc(190/750*100vw);
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__step__block__body .shop {
    width: min(calc(126/1024*100vw), 126px);
  }
}
.p-campaignOverviewEntry__txt {
  margin-top: calc(70/750*100vw);
  font-size: calc(32/750*100vw);
  line-height: calc(56/32*1em);
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .p-campaignOverviewEntry__txt {
    margin-top: min(calc(55/1024*100vw), 55px);
    font-size: min(calc(27/1024*100vw), 27px);
    line-height: calc(45/27*1em);
  }
}
.p-campaignSnap {
  position: relative;
  padding: calc(140/750*100vw) 0 calc(80/750*100vw);
  background: url(/lp/brightholiday2025/img/campaign/snap_bg_sp.webp) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap {
    padding: min(calc(90/1024*100vw), 90px) 0 min(calc(100/1024*100vw), 100px);
    background: url(/lp/brightholiday2025/img/campaign/snap_bg_pc.webp) no-repeat 50% 0;
    background-size: cover;
  }
}
.p-campaignSnap::before,
.p-campaignSnap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: calc(1/750*100vw);
  border-top: dotted calc(4/750*100vw) var(--brown_color);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap::before,
  .p-campaignSnap::after {
    height: min(calc(1/1024*100vw), 1px);
    border-top-width: min(calc(4/1024*100vw), 4px);
  }
}
.p-campaignSnap::before {
  top: calc(20/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap::before {
    top: min(calc(15/1024*100vw), 15px);
  }
}
.p-campaignSnap::after {
  bottom: calc(20/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap::after {
    bottom: min(calc(15/1024*100vw), 15px);
  }
}
.p-campaignSnap__wrapper {
  position: relative;
  padding: 0 calc(35/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__wrapper {
    max-width: 1080px;
    width: min(calc(1080/1200*100vw), 1080px);
    margin: 0 auto;
    padding: 0;
  }
}
.p-campaignSnap__wrapper::before {
  content: "";
  position: absolute;
  top: calc(-10/750*100vw);
  left: calc(-80/750*100vw);
  width: calc(220/750*100vw);
  aspect-ratio: 220/152;
  background: url(/lp/brightholiday2025/img/campaign/snap_img.jpg) no-repeat 0 0;
  background-size: contain;
  transform-origin: 50% 50%;
  rotate: -12deg;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__wrapper::before {
    top: min(calc(100/1024*100vw), 100px);
    left: min(calc(-30/1024*100vw), -30px);
    width: min(calc(236/1024*100vw), 236px);
  }
}
.p-campaignSnap__heading {
  width: calc(456/750*100vw);
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__heading {
    width: min(calc(526/1024*100vw), 526px);
  }
}
.p-campaignSnap__lead {
  margin-top: calc(60/750*100vw);
  padding: 0 calc(30/750*100vw);
  font-size: calc(26/750*100vw);
  line-height: calc(52/26*1em);
  font-weight: 700;
  text-align: justify;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__lead {
    margin-top: min(calc(30/1024*100vw), 30px);
    padding: 0;
    font-size: min(calc(18/1024*100vw), 18px);
    line-height: calc(36/18*1em);
    text-align: center;
  }
}
.p-campaignSnap__instaBtn {
  display: grid;
  justify-content: center;
  grid-template-columns: calc(38/750*100vw) auto;
  gap: calc(30/750*100vw);
  width: calc(575/750*100vw);
  margin: calc(65/750*100vw) auto 0;
  padding: calc(18/750*100vw);
  font-size: calc(26/750*100vw);
  font-weight: 700;
  border: solid calc(6/750*100vw) var(--brown_color);
  background-color: rgba(255, 255, 255, .6);
  border-radius: 100vmax;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__instaBtn {
    grid-template-columns: min(calc(44/1024*100vw), 44px) auto;
    gap: min(calc(30/1024*100vw), 30px);
    width: min(calc(569/1024*100vw), 569px);
    margin: min(calc(40/1024*100vw), 40px) auto 0;
    padding: min(calc(22/1024*100vw), 22px);
    font-size: min(calc(30/1024*100vw), 30px);
    border-width: min(calc(6/1024*100vw), 6px);
  }
}
.p-campaignSnap__present {
  display: grid;
  gap: calc(40/750*100vw);
  margin-top: calc(90/750*100vw);
  padding: 0 calc(30/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__present {
    grid-template-columns: min(calc(468/1024*100vw), 468px) auto;
    gap: min(calc(30/1024*100vw), 30px);
    max-width: 1080px;
    width: min(calc(1080/1200*100vw), 1080px);
    margin: min(calc(50/1024*100vw), 50px) auto 0;
    padding: 0 min(calc(175/1024*100vw), 175px);
  }
}
.p-campaignSnap__present__body__head {
  width: fit-content;
  padding: calc(20/750*100vw) calc(30/750*100vw);
  padding-right: calc(65/750*100vw);
  background-color: var(--brown_color);
  color: #fff;
  font-size: calc(28/750*100vw);
  font-weight: 700;
  clip-path: polygon(0 0, 100% 0, calc(100% - calc(17/750*100vw)) 50%, 100% 100%, 0 100%);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__present__body__head {
    width: 100%;
    padding: min(calc(16/1024*100vw), 16px) min(calc(30/1024*100vw), 30px);
    padding-right: min(calc(30/1024*100vw), 30px);
    font-size: min(calc(24/1024*100vw), 24px);
    clip-path: polygon(0 0, 100% 0, calc(100% - min(calc(13/1024*100vw), 13px)) 50%, 100% 100%, 0 100%);
  }
}
.p-campaignSnap__present__body__head2 {
  width: fit-content;
  padding: calc(20/750*100vw) calc(30/750*100vw);
  padding-right: calc(65/750*100vw);
  background-color: #b31a20;
  color: #fff;
  font-size: calc(28/750*100vw);
  font-weight: 700;
  clip-path: polygon(0 0, 100% 0, calc(100% - calc(17/750*100vw)) 50%, 100% 100%, 0 100%);
  margin:3rem 0 2rem 0;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__present__body__head2 {
    width: 90%;
    padding: min(calc(11/1024*100vw), 11px) min(calc(26/1024*100vw), 26px);
    padding-right: min(calc(30/1024*100vw), 30px);
    font-size: min(calc(24/1024*100vw), 24px);
    clip-path: polygon(0 0, 100% 0, calc(100% - min(calc(13/1024*100vw), 13px)) 50%, 100% 100%, 0 100%);
	margin:2rem 0 1rem 0;
  }
}
.p-campaignSnap__present__body__txt {
  margin-top: calc(30/750*100vw);
  font-size: calc(26/750*100vw);
  font-weight: 700;
  line-height: calc(52/26*1em);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__present__body__txt {
    margin-top: min(calc(20/1024*100vw), 20px);
    padding-right: min(calc(30/1024*100vw), 30px);
    font-size: min(calc(16/1024*100vw), 16px);
    line-height: calc(32/16*1em);
  }
}
.p-campaignSnap__present__photo img {
  width: calc(328/750*100vw);
  margin: 0 auto;
  transform-origin: 50% 50%;
  rotate: 10deg;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__present__photo img {
    width: min(calc(176/1024*100vw), 210px);
  }
}
.p-campaignSnap__present__photo .txt {
  margin-top: calc(40/750*100vw);
  font-size: calc(24/750*100vw);
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__present__photo .txt {
    margin-top: min(calc(20/1024*100vw), 20px);
    font-size: min(calc(16/1024*100vw), 16px);
    text-align: left;
  }
}
.p-campaignSnap__term {
  margin-top: calc(60/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__term {
    max-width: 1080px;
    width: min(calc(1080/1200*100vw), 1080px);
    margin: min(calc(40/1024*100vw), 40px) auto 0;
  }
}
.p-campaignSnap__term__date {
  display: flex;
  justify-content: center;
  margin-top: calc(40/750*100vw);
  font-size: calc(34/750*100vw);
  line-height: calc(52/34*1em);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__term__date {
    margin-top: min(calc(30/1024*100vw), 30px);
    font-size: min(calc(34/1024*100vw), 34px);
    line-height: 1;
  }
}
.p-campaignSnap__term__notice {
  display: grid;
  grid-template-columns: max-content auto;
  margin-top: calc(30/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__term__notice {
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
    gap: min(calc(10/1024*100vw), 10px);
    margin-top: min(calc(25/1024*100vw), 25px);
  }
}
.p-campaignSnap__term__notice .head {
  padding: calc(25/750*100vw);
  padding-left: calc(42/750*100vw);
  font-size: calc(28/750*100vw);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-color: var(--brown_color);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, calc(25/750*100vw) 50%);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__term__notice .head {
    padding: min(calc(20/1024*100vw), 20px) min(calc(25/1024*100vw), 25px);
    padding-left: min(calc(30/1024*100vw), 30px);
    font-size: min(calc(20/1024*100vw), 20px);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, min(calc(16/1024*100vw), 16px) 50%);
  }
}
.p-campaignSnap__term__notice .txt {
  padding: calc(25/750*100vw) calc(30/750*100vw);
  font-size: calc(28/750*100vw);
  font-weight: 700;
  line-height: 1;
  border-top: solid calc(2/750*100vw) var(--brown_color);
  border-bottom: solid calc(2/750*100vw) var(--brown_color);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__term__notice .txt {
    padding: min(calc(20/1024*100vw), 20px);
    font-size: min(calc(20/1024*100vw), 20px);
    border-top-width: min(calc(1/1024*100vw), 1px);
    border-bottom-width: min(calc(1/1024*100vw), 1px);
  }
}
.p-campaignSnap__entry {
  margin-top: calc(150/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__entry {
    max-width: 1080px;
    width: min(calc(1080/1200*100vw), 1080px);
    margin: min(calc(40/1024*100vw), 40px) auto 0;
  }
}
.p-campaignSnap__entry__box {
  display: grid;
  gap: calc(105/750*100vw);
  padding: calc(30/750*100vw) calc(40/750*100vw) calc(60/750*100vw);
  background-color: rgba(255, 255, 255, .6);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__entry__box {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    padding: 0;
  }
}
.p-campaignSnap__entry__item {
  position: relative;
  padding: 0 calc(54/750*100vw);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__entry__item {
    padding: min(calc(50/1024*100vw), 50px) min(calc(94/1024*100vw), 94px);
  }
}
.p-campaignSnap__entry__item + .p-campaignSnap__entry__item::before {
  content: "";
  position: absolute;
  top: calc(-54/750*100vw);
  left: 0;
  right: 0;
  height: calc(24/750*100vw);
  background: url(/lp/brightholiday2025/img/campaign/entry_line_sp.svg) no-repeat 50% 0;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__entry__item+.p-campaignSnap__entry__item::before {
    top: 50%;
    left: min(calc(0/1024*100vw), 0px);
    translate: 0 -50%;
    right: auto;
    width: min(calc(16/1024*100vw), 16px);
    height: min(calc(200/1024*100vw), 200px);
    background: url(/lp/brightholiday2025/img/campaign/entry_line_pc.svg) no-repeat 50% 0;
    background-size: contain;
  }
}
.p-campaignSnap__entry__item_head {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding: 0 calc(45/750*100vw);
  font-size: calc(30/750*100vw);
  font-weight: 700;
  color: var(--gold_color);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__entry__item_head {
    padding: 0 min(calc(30/1024*100vw), 30px);
    font-size: min(calc(22/1024*100vw), 22px);
  }
}
.p-campaignSnap__entry__item_head::before,
.p-campaignSnap__entry__item_head::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: calc(20/750*100vw);
  height: calc(28/750*100vw);
  background: url(/lp/brightholiday2025/img/campaign/step_star.png) no-repeat 0 0;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__entry__item_head::before,
  .p-campaignSnap__entry__item_head::after {
    width: min(calc(15/1024*100vw), 15px);
    height: min(calc(20/1024*100vw), 20px);
  }
}
.p-campaignSnap__entry__item_head::before {
  left: 0;
}
.p-campaignSnap__entry__item_head::after {
  right: 0;
}
.p-campaignSnap__entry__item_txt {
  margin-top: calc(30/750*100vw);
  font-size: calc(25/750*100vw);
  line-height: calc(42/25*1em);
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__entry__item_txt {
    margin-top: min(calc(20/1024*100vw), 20px);
    font-size: min(calc(18/1024*100vw), 18px);
    line-height: calc(30/18*1em);
  }
}
.p-campaignSnap__entry__item_txt .color {
  display: inline-block;
  padding: calc(6/750*100vw) calc(10/750*100vw);
  color: #fff;
  line-height: 1;
  background-color: var(--gold_color);
}
@media screen and (min-width: 769px) {
  .p-campaignSnap__entry__item_txt .color {
    padding: min(calc(5/1024*100vw), 5px);
  }
}
@media screen and (max-width: 768px) {
  .p-app_coupon_txt {
    font-size: calc(32/750*100vw);
  }
}
@media screen and (min-width: 769px) {
  .p-app_coupon_txt {
    font-size: min(calc(14/1024*100vw), 14px);
  }
}
.p-app_coupon_txt a {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .p-royalparkhotels_head {
    font-size: calc(34/750*100vw);
  }
}
@media screen and (min-width: 769px) {
  .p-royalparkhotels_head {
    font-size: min(calc(18/1024*100vw), 16px);
  }
}
#store_present::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  margin-inline: calc(50% - 50vw);
  background-color: #f0d1d2;
}
@media screen and (max-width: 768px) {
  #store_present {
    padding: calc(60/750*100vw) 0;
  }
}
@media screen and (min-width: 769px) {
  #store_present {
    padding: min(calc(60/1024*100vw), 60px) 0;
  }
}
.p-store_present_inr {
  position: relative;
}
.p-store_present_head {
  text-align: center;
  color: #b31a20;
}
@media screen and (max-width: 768px) {
  .p-store_present_head {
    margin-bottom: calc(50/750*100vw);
    font-size: calc(80/750*100vw);
    line-height: calc(84/80*1em);
  }
}
@media screen and (min-width: 769px) {
  .p-store_present_head {
    margin-bottom: min(calc(60/1024*100vw), 60px);
    font-size: min(calc(74/1024*100vw), 74px);
    line-height: calc(78/74*1em);
  }
}
#store_present dl {
  background-color: transparent;
}
@media screen and (min-width: 769px) {
  #store_present dl {
    justify-content: space-between;
    align-items: flex-start;
  }
}
#store_present dl dt hgroup .p-store_present_head_sub {
  background-color: #b31a20;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #store_present dl dt hgroup .p-store_present_head_sub {
    margin-bottom: calc(30/750*100vw);
    padding: calc(0/750*100vw) calc(42/750*100vw);
  }
}
@media screen and (min-width: 769px) {
  #store_present dl dt hgroup .p-store_present_head_sub {
    margin-bottom: min(calc(15/1024*100vw), 15px);
    padding: min(calc(4/1024*100vw), 4px) min(calc(20/1024*100vw), 20px);
  }
}
@media screen and (min-width: 769px) {
  #store_present dl dt {
    width: min(calc(524/1024*100vw), 524px);
  }
}
@media screen and (max-width: 768px) {
  #store_present dl dd {
    padding-left: calc(20/750*100vw);
    padding-right: calc(20/750*100vw);
  }
}
@media screen and (min-width: 769px) {
  #store_present dl dd {
    width: min(calc(515/1024*100vw), 515px);
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
  }
}
@media screen and (min-width: 769px) {
  #store_present dl dd .store_txt_bold {
    padding-top: 0;
    font-size: min(calc(26/1024*100vw), 26px);
  }
}
@media screen and (max-width: 768px) {
  .c-goods_list_item_other_txt {
    font-size: calc(24/750*100vw);
    line-height: calc(38/24*1em);
  }
}
@media screen and (min-width: 769px) {
  .c-goods_list_item_other_txt {
    font-size: min(calc(18/1024*100vw), 18px);
    line-height: calc(30/18*1em);
  }
}
@media screen and (min-width: 769px) {
  .store_txt_bold_s {
    font-size: min(calc(20/1024*100vw), 20px);
  }
}
.store_txt_bold span {
  border-bottom-color: #b31a20;
}
@media screen and (max-width: 768px) {
  #store_present dl dt figure p {
    font-size: calc(24/750*100vw);
    line-height: calc(33/23*1em);
    left: calc(375/750*100vw);
  }
}
@media screen and (min-width: 769px) {
  #store_present dl dt figure p {
    top: min(calc(55/1024*100vw), 55px);
    left: auto;
    right: min(calc(10/1024*100vw), 10px);
    font-size: min(calc(12/1024*100vw), 12px);
    line-height: calc(17/12*1em);
  }
}
@media screen and (max-width: 768px) {
  .c-goods_list_item_other_annotation {
    font-size: calc(20/750*100vw);
  }
  .c-goods_list_item_other_annotation + p {
    font-size: calc(20/750*100vw);
  }
}

/* ================================================= */
/* 1stチャンス レイアウト修正 (再修正版) */
/* ================================================= */

/* 1. hotel_info の基本スタイルを再定義 (削除したものをここに再設定) */
.hotel_info {
	border: none;
	padding: 2rem;
	margin-top: 0; /* マージンはメディアクエリで調整 */
	background-color: #f6efdb;
}
.hotel_info a {
	text-decoration: underline;
}
.hotel_info p.mar2 {
	margin-top: 2rem;
}

/* 2. PC表示 (769px以上) のレイアウト調整 */
@media screen and (min-width: 769px) {
    
    /* 親コンテナ (.p-campaignOverview__unit) を縦並び Flexbox に上書き */
    .p-campaignOverview__unit {
        /* 元々: flex-direction: row; */
        flex-direction: column; 
        
        /* padding は元々 60px 26px ですが、ここで再定義して競合を解消 */
        padding: 60px 26px;
    }

    /* 2カラム部分 (.p-campaignOverview__block) と hotel_info が行全体を占めるようにする */
    .p-campaignOverview__unit > .p-campaignOverview__block,
    .p-campaignOverview__unit > .hotel_info {
        width: 100%;
        margin: 0 auto; /* センター寄せを維持 */
    }

    /* hotel_info のマージンを調整し、2カラムコンテンツとの間隔を設ける */
    .p-campaignOverview__unit > .hotel_info {
        margin-top: 40px; /* 適切なスペース */
    }

    /* p-campaignOverview__block 内の2カラムを再設定 */
    .p-campaignOverview__block {
        /* p-campaignOverview__block は内側では横並びを維持 */
        flex-direction: row;
        /* max-width: 905px; は維持 */
        align-items: flex-start; /* 上端揃えに戻す */
    }

    /* p-campaignOverview__img (画像カラム) のマージンを元に戻す */
    .p-campaignOverview__img {
        /* max-width: min(calc(450/1024*100vw), 450px); は既存のCSSで適用されます */
        margin: 0 0 0 5rem; /* 既存のCSSから取得したマージン */
    }

    /* p-campaignOverview__body (テキストカラム) の幅を元に戻す */
    .p-campaignOverview__body {
        /* width: min(38.671875vw, 450px); は既存のCSSで適用されます */
        /* margin: auto; を flex-start に戻して左寄せを確実にする */
        margin: 0; 
    }
}

/* 3. モバイル表示 (768px以下) の hotel_info のマージン */
@media screen and (max-width: 768px) {
    .p-campaignOverview__unit > .hotel_info {
        /* モバイルでも上下にスペースを確保 */
        margin-top: calc(50/750*100vw);
        /* 親要素の padding (26px) を hotel_info 内部の padding (2rem) で包む */
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
/* ================================================= */
/* 【追記】hotel_infoの幅を2カラムコンテンツに揃える */
/* ================================================= */

@media screen and (min-width: 769px) {
    /* 2カラムコンテンツの幅（905px）と中央寄せをhotel_infoに適用 */
    .p-campaignOverview__unit > .hotel_info {
        /* hotel_info の外枠の幅を p-campaignOverview__block と揃える */
        max-width: 905px; 
        margin-left: auto;
        margin-right: auto;
        
        /* 既存の .hotel_info { padding: 2rem; } は維持される */
        margin-top: 40px; 
    }
}
/* ==================================== */
/* 【追記】2ndチャンスのレイアウト修復 */
/* ==================================== */

@media screen and (min-width: 769px) {
    /* p-campaignOverview__unit が全体で縦並びになる設定を、
       p-campaignOverview__unit.second では横並びに上書きする */
    .p-campaignOverview__unit.second {
        display: flex;
        flex-direction: row; /* 横並びに戻す */
        justify-content: space-between; /* 既存のCSSで意図されていた配置を想定 */
        align-items: flex-start; /* 上端に揃える */
    }

    /* 2ndチャンスの子要素（クッション情報とクーポン情報）の幅とマージンを調整 */
    .p-campaignOverview__unit.second .p-campaignOverview__block {
        width: auto;
        /* 既存のCSSに基づき、左右の幅を制限 */
        max-width: 440px; 
    }
    
    /* 2ndチャンスのブロック間の縦の区切り線を再適用 */
    .p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block + .p-campaignOverview__block {
        /* 既存のCSSでは PC で margin-top: 0; になっているため、調整は不要 */
        /* もし境界線がない場合、以下のCSSを追加して下さい */
        /* border-top: none; */
        /* border-left: solid 1px #ae131b; */
    }

    /* クーポンブロック（2ndチャンスの2つ目のブロック）の左マージンを既存CSSで復元 */
    .p-campaignOverview__unit.second .p-campaignOverview__block:nth-child(2) {
        /* 既存のCSSから、2ndブロックの左側の間隔を再現 */
        position: relative; 
        margin-left: 40px; 
        padding-left: 40px; 
    }
    .p-campaignOverview__unit.second .p-campaignOverview__block:nth-child(2)::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 1px;
        height: 100%;
        background-color: #ae131b;
    }
}

/* ==================================== */
/* 【追記】2ndチャンスのレイアウト修復 */
/* ==================================== */

@media screen and (min-width: 769px) {
    /* p-campaignOverview__unit が全体で縦並びになる設定を、
       p-campaignOverview__unit.second では横並びに上書きする */
    .p-campaignOverview__unit.second2 {
        display: flex;
        flex-direction: row; /* 横並びに戻す */
        justify-content: space-between; /* 既存のCSSで意図されていた配置を想定 */
        align-items: flex-start; /* 上端に揃える */
    }

    /* 2ndチャンスの子要素（クッション情報とクーポン情報）の幅とマージンを調整 */
    .p-campaignOverview__unit.second2 .p-campaignOverview__block {
        width: auto;
        /* 既存のCSSに基づき、左右の幅を制限 */
        max-width: 420px; 
    }
    
    /* 2ndチャンスのブロック間の縦の区切り線を再適用 */
    .p-campaignOverview__unit + .p-campaignOverview__unit .p-campaignOverview__block + .p-campaignOverview__block {
        /* 既存のCSSでは PC で margin-top: 0; になっているため、調整は不要 */
        /* もし境界線がない場合、以下のCSSを追加して下さい */
        /* border-top: none; */
        /* border-left: solid 1px #ae131b; */
    }

    /* クーポンブロック（2ndチャンスの2つ目のブロック）の左マージンを既存CSSで復元 */
    .p-campaignOverview__unit.second2 .p-campaignOverview__block:nth-child(2) {
        /* 既存のCSSから、2ndブロックの左側の間隔を再現 */
        position: relative; 
        margin-left: 40px; 
        padding-left: 40px; 
    }
    .p-campaignOverview__unit.second2 .p-campaignOverview__block:nth-child(2)::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 1px;
        height: 100%;
        background-color: #ae131b;
    }
}

/* ================================================= */
/* 【追記】移動した2ndチャンスコンテンツのレイアウト調整 */
/* ================================================= */

/* 新しいラッパーの基本設定 */
#movedSecondContent {
    /* 親 (p-campaignOverview__unit) の中で全幅を占める */
    width: 100%;
    
    /* 上部の hotel_info との間隔 */
    margin-top: 40px; 
}

/* 2ndチャンスのコンテンツブロックを、親の p-campaignOverview__unit と同じスタイルで中央寄せ */
#movedSecondContent > .p-campaignOverview__unit.second {
    /* p-campaignOverview__container の幅 (90.6666666667vw) を継承 */
    max-width: 90.6666666667vw;
    margin: 0 auto;
    
    /* 1stチャンスの unit と同じ背景色と relative を継承 */
    background: #eee3c3; 
    position: relative;
}

/* PC表示時の調整 */
@media screen and (min-width: 769px) {
    #movedSecondContent {
        /* hotel_info と同じ幅設定を継承し、中央寄せを維持 */
        max-width: 1080px;
        margin-left: auto;
        margin-right: auto;
    }
    
    #movedSecondContent > .p-campaignOverview__unit.second {
        max-width: 100%; /* 親の movedSecondContent の幅に合わせる */
        /* Flexboxの row と column の切り替えは既存の .p-campaignOverview__unit.second の定義が有効 */
    }
}
/* ================================================= */
/* 【追記】移動した2ndチャンスのラベルを非表示にする */
/* ================================================= */

/* PC表示時 (769px以上) */
@media screen and (min-width: 769px) {
    /* movedSecondContent 内の p-campaignOverview__unit.second の擬似要素を非表示 */
    #movedSecondContent .p-campaignOverview__unit.second::before {
        content: none;
        display: none;
    }
}

/* モバイル表示時 (768px以下) */
/* モバイルでも非表示にしたい場合 */
#movedSecondContent .p-campaignOverview__unit.second::before {
    content: none;
    display: none;
}
/* ================================================= */
/* 【修正】移動した2ndチャンスコンテンツのレイアウト調整 */
/* ================================================= */

/* 新しいラッパーの基本設定 */
#movedSecondContent {
    /* 親 (p-campaignOverview__unit) の中で全幅を占める */
    width: 100%;
    
    /* hotel_info (max-width: 905px) に幅を合わせ、中央寄せにする */
    max-width: 905px; /* 👈 hotel_info の幅に合わせる */
    margin-left: auto;
    margin-right: auto;
    
    /* 上部の hotel_info との間隔 */
    margin-top: 40px; 
}

/* 2ndチャンスのコンテンツブロックを、親のラッパーの幅に合わせる */
#movedSecondContent > .p-campaignOverview__unit.second {
    /* 親の #movedSecondContent の幅 (905px) に合わせる */
    max-width: 100%;
    
    /* 左右のマージンは不要 */
    margin: 0;
    
    /* 1stチャンスの unit と同じ背景色と relative を継承 */
    background: #eee3c3; 
    position: relative;
    
    /* 1stチャンスの unit と同じパディングを適用 (60px 26px) */
    padding: 60px 26px;
}

/* モバイル表示時の調整 */
@media screen and (max-width: 768px) {
    /* モバイルでは幅指定を解除し、親コンテナ (p-campaignOverview__unit) の左右パディングに合わせる */
    #movedSecondContent {
        max-width: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}
/* ================================================= */
/* 【最終調整】 movedSecondContent のパディング/マージン除去 */
/* ================================================= */

@media screen and (min-width: 769px) {
    /* 1. hotel_info と幅を揃えたラッパー (movedSecondContent) 内の unit に調整 */
    #movedSecondContent .p-campaignOverview__unit.second {
        /*
        .p-campaignOverview__unit に元々設定されている padding: 60px 26px; を
        上書きし、左右のパディングを削除します。
        上下のパディングは、元の 60px を使用します。
        */
        padding: 60px 0 !important;
        
        /* 1stチャンスの unit にあった外側の余白もリセット */
        margin: 0 !important;
        
        /* ラベル（::before）の絶対配置が崩れるのを防ぐため position: relative は維持 */
    }

    /* 2. ラベルの擬似要素のオフセット調整（必要な場合のみ） */
    /* ラベルの画像（::before）の位置がずれた場合、ここで修正します。 */
    #movedSecondContent .p-campaignOverview__unit.second::before {
        left: 0; 
    }
    
    /* 3. 2ndチャンスの左右カラムの隙間をマージンで調整 */
    /* p-campaignOverview__block のマージンで調整されていた隙間を再現 */
    #movedSecondContent .p-campaignOverview__block:nth-child(1) {
        /* クッション景品ブロックの右側のパディングを調整 */
        padding-right: 20px; /* 例: 隙間を調整 */
    }
}
/* ================================================= */
/* 【最終調整】移動した p-app_coupon_txt の表示修正 */
/* ================================================= */

/* 1. p-app_coupon_txt の親要素 (.p-campaignOverview__content2nd) の幅を修正 */
@media screen and (min-width: 769px) {
    /* p-campaignOverview__content2nd は横並びのためのFlexbox設定を解除し、ブロック要素として扱う */
    #movedSecondContent .p-campaignOverview__content2nd {
        display: block;
        flex-direction: initial; /* Flexboxをリセット */
        align-items: initial;
        justify-content: initial;
        margin: 0; /* マージンもリセット */
    }
}
/* ================================================= */
/* 【罫線削除】2ndチャンスの縦罫線 (#ae131b) を削除 */
/* ================================================= */

@media screen and (min-width: 769px) {
    /* 1. 元の2ndチャンスコンテンツの縦線を非表示にする */
    .p-campaignOverview__unit.second .p-campaignOverview__block:nth-child(2)::before {
        content: none;
        display: none;
    }
    
    /* 2. もし移動したコンテンツに適用されている縦線があれば非表示にする */
    #movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__block:nth-child(2)::before {
        content: none;
        display: none;
    }

    /* 3. クーポン詳細ブロックの左側に残っている可能性のあるパディングをリセット */
    /* 罫線とセットで設定されていた左側の隙間をリセットします */
    .p-campaignOverview__unit.second .p-campaignOverview__block:nth-child(2) {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }
}
/* ================================================= */
/* 【追記】クーポン合計数の下にマージンを追加 */
/* ================================================= */

.p-campaignOverview__content2ndTxt.u-noto-serif.u-noto-serif--semiBold {
    margin-bottom: 15px;
}
/* ================================================= */
/* 【追記】2ndチャンス クーポン合計数のフォントサイズ統一 */
/* ================================================= */

/* モバイル表示時のサイズを右カラム (p-campaignOverview__contentTxt) に合わせる */
.p-campaignOverview__content2ndTxt.u-noto-serif.u-noto-serif--semiBold {
    /* p-campaignOverview__contentTxt のモバイルサイズ: 5.3333333333vw (約40px) に合わせる */
    font-size: 5.3333333333vw; 
    line-height: 1.4117647059em; /* 元の行高も合わせて調整 */
}

/* PC表示時のサイズを右カラム (p-campaignOverview__contentTxt) に合わせる */
@media screen and (min-width: 769px) {
    .p-campaignOverview__content2ndTxt.u-noto-serif.u-noto-serif--semiBold {
        /* p-campaignOverview__contentTxt の PCサイズ: min(2.34375vw, 24px) に合わせる */
        font-size: min(2.34375vw, 24px); 
        line-height: 1.3333333333em; /* 元の行高も合わせて調整 */
    }
}
/* ================================================= */
/* 【追記】クーポン合計数のフォントウェイト統一 (太さ修正) */
/* ================================================= */

.p-campaignOverview__content2ndTxt.u-noto-serif.u-noto-serif--semiBold {
    /* 右側の要素のウェイト (bold) に合わせて上書き */
    font-weight: 700 !important; 
}
/* ================================================= */
/* 【追記】2ndチャンスユニットの上下パディング調整 */
/* ================================================= */

/* 1. PC表示時 (769px以上) の調整 */
@media screen and (min-width: 769px) {
    #movedSecondContent .p-campaignOverview__unit.second {
        /* 既存のパディング (例: 60px 0) を上書き */
        /* 上パディングを半分 (60px / 2 = 30px) に設定 */
        padding-top: 30px !important;
        /* 下パディングをゼロに設定 */
        padding-bottom: 0 !important;
    }
}

/* 2. モバイル表示時 (768px以下) の調整 */
@media screen and (max-width: 768px) {
    #movedSecondContent .p-campaignOverview__unit.second {
        /* 既存のモバイルパディング (例: 35px 26px) を上書き */
        /* 上パディングを半分 (35px / 2 = 17.5px 相当) に設定 */
        padding-top: calc(35px / 2) !important;
        /* 下パディングをゼロに設定 */
        padding-bottom: 0 !important;
    }
}
/* ================================================= */
/* 【追記】クーポン合計数タイトルの上部パディング追加 */
/* ================================================= */

.p-campaignOverview__content2ndTxt.u-noto-serif.u-noto-serif--semiBold {
    /* 既存のスタイルに上部パディングを追加 */
    padding-top: 0.5rem;
}
/* ================================================= */
/* 【追記】2ndチャンスユニットの上部に罫線を追加 */
/* ================================================= */

#movedSecondContent .p-campaignOverview__unit.second {
    /* ボーダーを追加 */
    border-top: 1px solid #b31a20;
    
    /* ボーダーを追加したことで、上部パディング (padding-top) をボーダーの下に確保する必要があります。
       以前の上部パディングを30pxと仮定し、それを再適用します。 */
    padding-top: 30px !important; 
    
    /* 罫線が背景の#eee3c3に埋もれないよう、margin-topを確保していることを確認 */
    /* この要素は #movedSecondContent の内側でマージンがリセットされているため、
       #movedSecondContent の margin-top: 40px; が間隔を確保しています。 */
}
/* ================================================= */
/* 【追記】クーポン情報ブロックの左マージン削除 */
/* ================================================= */

/* 1. p-campaignOverview__block のマージンリセット */
/* p-campaignOverview__block は元々 max-width と margin: auto; で中央寄せされているため、
   左に寄せるためにはマージンをリセットする必要があります。 */
#movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__block {
    margin-left: 0 !important;
}

/* 2. p-campaignOverview__body のマージンリセット */
#movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__block .p-campaignOverview__body {
    /* 確実に左端に寄せるためにマージンをリセット */
    margin-left: 0 !important;
    width: 100%; /* 親の p-campaignOverview__block の幅に合わせる */
}

/* 3. p-campaignOverview__content2nd のマージンリセット */
/* p-campaignOverview__content2nd 自体は display: block に修正されているはずです */
#movedSecondContent .p-campaignOverview__content2nd {
    margin-left: 0 !important;
    margin-right: 0 !important;
    /* padding-left があればリセット */
    padding-left: 0 !important;
}
/* ================================================= */
/* 【追記】2ndチャンス クーポン詳細ブロックの左移動 */
/* ================================================= */

@media screen and (min-width: 769px) {
    /* 2ndチャンスの2つ目のカラム (右側) を左に 50px 移動 */
    #movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__block:nth-child(2) {
        /*
        現在、このブロックは横並びのFlexアイテムとして配置されています。
        margin-left を調整することで左に移動させます。
        元の margin-left は 0 にリセットされているため、-50px を指定します。
        */
        margin-left: -100px !important;
        
        /* 罫線（::before）がある場合、それも一緒に移動されます。
           ただし、padding-left は維持して罫線を表示します。 */
    }
}
/* ================================================= */
/* 【修正】hotel_info モバイル表示の崩れ解消 */
/* ================================================= */

/* p-campaignOverview__unit がモバイルで縦並びを維持するように強制 */
@media screen and (max-width: 768px) {
    /* 親要素が縦並びであることを確認（Flexboxの影響をリセット） */
    .p-campaignOverview__unit {
        flex-direction: column !important;
        align-items: center !important; /* コンテンツを中央寄せに保つ */
    }

    /* hotel_info が常に全幅を占めるように設定 */
    .p-campaignOverview__unit > .hotel_info {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        
        /* p-campaignOverview__container の幅に合わせる */
        padding-left: calc(20/750*100vw); /* 左右の余白を適切に設定 */
        padding-right: calc(20/750*100vw);
    }
}
/* ================================================= */
/* 【修正】hotel_info モバイル表示の崩れ解消 */
/* ================================================= */

/* p-campaignOverview__unit がモバイルで縦並びを維持するように強制 */
@media screen and (max-width: 768px) {
    /* 親要素が縦並びであることを確認（Flexboxの影響をリセット） */
    .p-campaignOverview__unit {
        flex-direction: column !important;
        align-items: center !important; /* コンテンツを中央寄せに保つ */
    }

    /* hotel_info が常に全幅を占めるように設定 */
    .p-campaignOverview__unit > .hotel_info {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        
        /* p-campaignOverview__container の幅に合わせる */
        padding-left: calc(20/750*100vw); /* 左右の余白を適切に設定 */
        padding-right: calc(20/750*100vw);
    }
}
/* ================================================= */
/* 【修正】2ndチャンスの2カラムコンテナの幅調整 */
/* ================================================= */

/* PC表示時 (769px以上) のみ適用 */
@media screen and (min-width: 769px) {
    /* 移動後の2ndチャンスセクション内にある p-campaignOverview__block のマージンをリセット */
    #movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__block {
        /* 中央寄せの margin: auto をリセット */
        margin-left: 0 !important;
        margin-right: 0 !important;
        
        /* p-campaignOverview__block が Flex アイテム（右カラム）の幅を決定するため、
           この block 自体が幅を占有する必要はありません。
           しかし、安全のため max-width を解除します。*/
        max-width: none !important;
        
        /* 幅を親の unit に合わせる（この場合は p-campaignOverview__block は Flex アイテム） */
        /* Flex アイテムであるため width: auto が適切ですが、念のためリセットします。 */
        width: 100%; /* p-campaignOverview__block が2つあるため、この幅は最終的に無視されます */
    }

    /* p-campaignOverview__block の親要素を Flexbox に戻した影響で、
       子要素が横並びにならない場合があるため、明示的に幅を調整します。 */
    #movedSecondContent .p-campaignOverview__unit.second {
        display: flex !important;
        flex-wrap: wrap; /* 子要素がはみ出さないようにラップを許可 */
        justify-content: space-between;
    }
    
    /* 各ブロック (p-campaignOverview__block) の幅を再定義 */
    #movedSecondContent .p-campaignOverview__unit.second > .p-campaignOverview__block {
        /* 100% / 2 = 50% を使って、2カラムを均等に広げる */
        width: 50% !important;
        max-width: none !important;
    }
    
    /* 2カラム目にある縦線のために、パディングを再調整 */
    #movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__block:nth-child(2) {
        /* padding-left: 40px; は維持 */
    }
    
}
/* ================================================= */
/* 【追記】PC表示時の <dt> と <dd> の間隔調整 */
/* ================================================= */

@media screen and (min-width: 769px) {
    /* 1. <dl> を Flexbox にして、子要素間のギャップを制御 */
    #store_present dl {
        display: flex;
        /* 子要素間のマージンや隙間を調整 */
        gap: 30px; /* 30px の隙間を追加 */
        margin-bottom: 50px; /* <dl> ブロックの下にも間隔を確保 */
    }
    
    /* 2. PC表示時、dt に固定幅が設定されているため、dd の左マージンをリセット */
    /* これまでの修正で dd の左マージンがリセットされていない場合、ここで実行 */
    #store_present dl dd {
        margin-left: 0; 
    }
    
    /* 3. dt にも下マージンがないことを確認 */
    #store_present dl dt {
        margin-bottom: 0;
    }
}
/* ================================================= */
/* 【スマホ表示統一用】#movedSecondContent 表示調整 */
/* ================================================= */
@media screen and (max-width: 768px) {
  /* 全体リセット */
  #movedSecondContent {
    width: 100%;
    margin: 0;
    padding: 0;
    background: none;
  }

  #movedSecondContent .p-campaignOverview__unit.second {
    display: block;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
  }

  #movedSecondContent .p-campaignOverview__block {
    margin: 0;
    padding: 0;
  }

  #movedSecondContent .p-campaignOverview__body {
    margin: 0;
    padding: 0;
  }

  /* タイトル部分（p-campaignOverview__content2ndTxt）→ 同階層の .p-campaignOverview__contentTxt と同じ見た目に */
  #movedSecondContent .p-campaignOverview__content2ndTxt {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-size: min(calc(18 / 375 * 100vw), 18px);
    line-height: 1.4;
    margin-bottom: 10px;
    text-align: center;
  }

  /* クーポン金額表示 */
  #movedSecondContent .p-campaignOverview__couponTxt {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-size: min(calc(16 / 375 * 100vw), 16px);
    line-height: 1.6;
    text-align: center;
    margin-bottom: 5px;
  }

  /* クーポン金額部分の強調 */
#movedSecondContent .p-campaignOverview__couponTxtPrice {
  font-weight: 700;
}

/* クーポン説明文（.p-app_coupon_txt） */
#movedSecondContent .p-app_coupon_txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(calc(13 / 375 * 100vw), 13px);
  line-height: 1.6;
  text-align: center;
  margin-top: 10px;
}

#movedSecondContent .p-app_coupon_txt a {
  color: #b31a20;
  text-decoration: underline;
}

/* 不要な左右余白を消して中央寄せ */
#movedSecondContent .p-campaignOverview__content2nd,
#movedSecondContent .p-campaignOverview__coupon {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

/* movedSecondContent内のクーポン行間を下のブロックに合わせる */
#movedSecondContent .p-campaignOverview__couponTxt,
#movedSecondContent .p-campaignOverview__couponTxtPrice,
#movedSecondContent .p-campaignOverview__couponTxtNumber {
  line-height: 1; /* 下のブロックと同じ行間 */
}

/* ================================================= */
/* 2ndチャンス クーポンリストのひし形（◆）の位置を独立させる */
/* ================================================= */

/* #movedSecondContent 内のクーポンリストのひし形（◆）にのみ適用されるスタイル */
#movedSecondContent .p-campaignOverview__couponTxt::before {
    /* 共通のスタイルは維持しつつ、位置調整が必要な場合はここで上書きします */
    
    /* 例: 2ndチャンスの◆の位置を左に 5px 移動したい場合 */
    /* left: 5px; */

    /* 例: 2ndチャンスの◆の位置を上に 3px 移動したい場合 */
    /* top: -3px; */

    /* 今回は、元のスタイルをリセットし、調整可能な状態にします */
    position: absolute;
    content: "◆";
    top: 18px; /* 元の指定を維持 */
    left: 0;   /* 元の指定を維持 */
    /* font-size や color は継承されるか、元の指定を維持 */
}
/* 上のコンテンツを左揃えにする */
#movedSecondContent .p-campaignOverview__content2ndTxt,
#movedSecondContent .p-app_coupon_txt {
    text-align: left;
    margin-left: 0; /* 中央寄せ用の余白があればリセット */
    margin-right: 0;
}
/* SP表示時に上のコンテンツだけ左揃え */
@media (max-width: 768px) {
  #movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__body {
    text-align: left !important;
  }

  #movedSecondContent .p-campaignOverview__content2ndTxt {
    text-align: left !important;
  }
}
@media (max-width: 768px) {
    #movedSecondContent .p-campaignOverview__content2ndTxt.u-noto-serif.u-noto-serif--semiBold {
        text-align: left;
        font-size: 20px;
        margin-left: 0;
        margin-right: 0;
    }
}
/* 上のコンテンツを左揃え & フォントを下のコンテンツと同じにする */
#movedSecondContent .p-campaignOverview__content2ndTxt.u-noto-serif.u-noto-serif--semiBold {
    text-align: left;       /* 左揃え */
    font-size: 20px;        /* フォントサイズを20px */
    font-family: "Noto Serif JP", serif;  /* 下のコンテンツと同じフォントに統一 */
    font-weight: 700;        /* 下のコンテンツのboldに合わせる */
    margin-left: 0;          /* 中央寄せの余白をリセット */
    margin-right: 0;
}
/* SP表示時に上の説明文のフォントサイズを16pxにする */
@media (max-width: 768px) {
    #movedSecondContent .p-app_coupon_txt {
        font-size: 16px !important;
        text-align: left; /* 左揃えにする場合 */
    }
}
/* SP表示時に上の説明文のフォントを指定のゴシックにする */
@media (max-width: 768px) {
    #movedSecondContent .p-app_coupon_txt {
        font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans JP", sans-serif;
        font-size: 16px !important; /* 既に指定している場合 */
        text-align: left; /* 左揃えにする場合 */
        font-weight: 400; /* 必要に応じて */
    }
}
/* 上のコンテンツのフォントを下のコンテンツと同じ明朝系に揃える */
#movedSecondContent .p-campaignOverview__contentTxt.u-campaignOverview__contentTxt.u-serif.u-serif--bold {
    font-family: "YuMincho Medium", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
}

	
	
/* SP表示時（768px以下） */
@media (max-width: 768px) {
    /* 上のブロックはボーダーを消す */
    #movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__block:first-child {
        border: none !important;
        box-shadow: none !important; /* 念のため */
    }

    /* 下のブロックだけボーダーを設定 */
    #movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__block + .p-campaignOverview__block {
        border-top: 1px solid #dcdcdc; /* 好きな色・太さに変更可 */
    }
}
@media (max-width: 768px) {
    /* 上のコンテンツのブロックを左右いっぱいに広げる */
    #movedSecondContent .p-campaignOverview__unit.second .p-campaignOverview__body,
    #movedSecondContent .p-campaignOverview__content2ndTxt.u-noto-serif.u-noto-serif--semiBold {
        width: 100% !important;   /* 幅を100%に */
        box-sizing: border-box;    /* パディングがある場合でも幅に収める */
        text-align: left !important; /* 左揃え */
        margin: 0 !important;      /* 不要な左右マージンをリセット */
    }
}
@media screen and (min-width: 769px) {
  /* 下のコンテンツ（クッション入り）だけ右ボーダー */
  #movedSecondContent .p-campaignOverview__block .p-campaignOverview__body:has(figure.cushion) .p-campaignOverview__content2nd {
      border-right: 1px solid #b31a20;
      padding-right: 50px; /* 画像とボーダーの間に50pxスペース */
  }
}

@media screen and (min-width: 769px) {
  /* 下のコンテンツだけを対象に幅を40px狭める */
  #movedSecondContent .p-campaignOverview__block .p-campaignOverview__body:has(figure.cushion) .p-campaignOverview__content2nd {
      max-width: calc(100% - 40px); /* 右側40px分を狭める */
      margin-left: 0;  /* 左寄せ */
  }
}




