/* ----1カラム---- */

.flexbox_1column {
  position: relative;
}
.flexbox_1column.bg_bitter p.item_txt:before {
  content: "Bitter";
}
.flexbox_1column.bg_bittersweet p.item_txt:before {
  content: "Sweet";
}

.flexbox_1column p.item_txt:before {
  color: rgba(255, 255, 255, 0.5);
  display: block;
  position: absolute;
  top: 30px;
  left: 30px;
  transform: rotate(-15deg);
  font-size: 80px;
  font-family: "Bilbo Swash Caps", serif;
  font-weight: 400;
  font-style: normal;
}
/* ----1カラム---- */

p.item_txt {
  text-align: center;
  font-weight: bold;
}
p.item_txt a {
  color: #fff;
}

 p.item_txt a small {
  font-size: 16px;
  }

p.item_txt span {
  display: block;
}
span.txt_big {
  font-size: 20px;
}
span.txt_normal {
  font-weight: normal;
  margin-top: 10px;
  font-size: 18px;
}
.bg_contents {
  /* background-color: #472715; */
  color: #fff;
  background-image: url(/img/snscampaign-2026valentine/bg_contents_bg.png);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
}
.bg_contents h2 {
  font-size: 30px;
  border: none;
  padding-bottom: 0;
  text-shadow:#000 1px 1px 6px, #000 -1px 1px 6px, #000 1px -1px 6px, #000 -1px -1px 6px;
}
.bg_contents h2 span {
  display: block;
  font-size: 18px;
}

.bg_bitter {
  background: #3f2a0e;
}
.bg_bittersweet {
  background: #60372b;
}

.bg_bitter,
.bg_bittersweet {
  background-image: url(/img/snscampaign-2026valentine/present_bg.png);
  background-size: contain;
  background-position: left;
  background-repeat: no-repeat;
  @media screen and (max-width: 1039px) {
    background-size: auto;
    background-position: center;
    background-repeat: no-repeat;
  }
}

@media screen and (max-width: 1039px) {
.flexbox_1column.bg_bitter .item_box:nth-child(1),
.flexbox_1column.bg_bittersweet .item_box:nth-child(1) {
margin-bottom: 0;
}
}

.btn_area {
  text-align: center;
  margin: 50px 0 0;
}
.btn_area p {
  font-size: 20px;
  font-weight: bold;
}
.btn {
  background: #be2525;
  margin: 10px 0;
  padding: 0;
  border-radius: 10px;
  font-size: 25px;
  font-weight: bold;
}
.btn a {
  color: #fff;
  width: 100%;
  display: block;
  padding: 15px 30px;
}
@media screen and (max-width: 1039px) {
  /* ----SP---- */
  /* ----1カラム---- */
  p.item_txt {
    margin-bottom: -30px;
    line-height: 1.4;
    display: block;
  }
  .flexbox_1column p.item_txt:before {
    top: 0px;
    left: 5px;
    font-size: 11.76vw;
  }
  .flexbox_1column.bg_Brown p.item_txt:before {
    top: -15px;
    font-size: 45px;
  }

  p.item_txt a small {
  font-size: 14px;
  }

  /* ----1カラム---- */
  .bg_contents h2 {
    padding-top: 30px;
    font-size: 26px;
    background: none;
    text-align: center;
  }
  .item_box {
    width: 100%;
    padding: 30px 40px;
    text-align: center;
    margin-bottom: 20px;
  }
  .btn_area {
    padding-bottom: 50px;
  }
  .btn {
    margin: 0;
    padding: 10px 22px;
    font-size: 18px;
  }
  .btn_area p {
    font-size: 15px;
  }
}
@media screen and (min-width: 1040px) {
  /* ----PC---- */
  /* ----1カラム---- */
  .flexbox_1column {
    display: flex;
    justify-content: center;
    margin: 0 70px 20px;
  }
  .flexbox_1column .item_box {
    width: 45%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  /* ----1カラム---- */
  p.item_txt {
    font-size: 20px;
    margin-top: 20px;
  }
  .bg_contents {
    padding: 50px 0;
  }
  .item_box {
    margin: 30px;
  }
  .flexbox_2column, .flexbox_3column {
    display: flex;
    justify-content: center;
    margin: 0 90px auto;
  }
  .flexbox_2column {
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(5px);
    will-change: filter;
    margin-bottom: 20px;
  }
  .flexbox_3column {
    margin-bottom: 20px;
  }
  .flexbox_2column .item_box {
    width: 45%;
    padding: 30px;
    text-align: center;
    margin-bottom: 0;
  }
  .flexbox_3column .item_box {
    width: 33%;
    padding: 30px;
    text-align: center;
  }
}
/* ----流用---- */

a:hover {
  opacity: .7;
}
.overview ul {
  margin-top: 10px;
}
.overview li {
  margin-top: 5px;
}
.overview li.lead {
  font-weight: bold;
  margin-top: 1em;
}
.underline {
  border-bottom: 1px solid #2B2B2B;
}
/* ----PC---- */

@media screen and (min-width: 1040px) {
  .end1 {
    margin: 40px auto;
    text-align: center;
    width: 900px;
    color: red;
    font-size: 18px;
  }
  .end1 .line {
    padding: 10px;
    border: 1px solid red;
    margin: 0 auto;
    color: red;
    font-size: 18px;
  }
  h2 {
    padding: 10px 0;
    font-size: 22px;
    border-bottom: 2px solid #2b2b2b;
    width: 900px;
    margin: 0 auto;
    font-weight: bold;
    text-align: center;
  }
  .pCsL {
    text-align: center;
  }
  .txt-bdr-yellow {
    font-size: 20px;
    background: linear-gradient(transparent 60%, #FFF57C 60%);
    font-weight: bold
  }
  .txt-bdr-yellow02 {
    font-size: 20px;
    background: linear-gradient(transparent 60%, #FFF57C 60%);
  }
  .overview {
    width: 900px;
    margin: 30px auto;
    text-align: left;
  }
  /* ----item---- */
  .flexbox_1, .flexbox_2 {
    display: flex;
    justify-content: center;
    margin: 0 70px auto;
  }
  .flexbox_1 {
    background: #fed9e5;
  }
  .flexbox_2 {
    background: #fbf7d2;
    margin-bottom: 20px;
  }
  .item_left_1, .item_right_1, .item_left_2, .item_right_2, .item_left_3, .item_right_3 {
    width: 45%;
    padding: 30px;
    text-align: center;
  }
  .item01 .itemimg_01, .item02 .itemimg_01 {
    display: flex;
    width: 50%;
    margin: 0 auto;
  }
  p.itemimg_02 {
    font-size: 18px;
    font-weight: bold;
    margin-top: 10px;
  }
  .margin70-50 {
    margin: 70px auto 20px;
    text-align: center;
  }
  .margin30-20 {
    margin-top: 30px;
    font-size: 20px;
  }
  .day_text {
    margin: 30px 0;
    font-size: 20px;
    line-height: 1.8;
    text-align: center;
  }
  
  .day_text a {
  /* border-bottom: 1px solid; */
  }
  
  .ma70-30 {
    margin: 70px auto 0;
  }
  .margin40-20 {
    margin: 20px auto 0;
  }
  .fs18-16 {
    font-size: 18px;
    color: red;
  }
  .plpc {
    padding-left: 4.3em;
  }
  /* ----PC応募方法エリア ---- */
  .busns__subscription--wrap {
    max-width: 950px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  .busns__subscription--wrap ul {
    margin: 0 0 40px;
  }
  .busns__subscription--wrap ul li {
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  .busns__subscription--wrap ul li .busns__image--box {
    max-width: 300px;
    width: 100%;
    margin-right: 45px;
  }
  .busns__subscription--wrap ul li .busns__image--box img {
    display: block;
    margin: 0 auto;
  }
  .busns__subscription--wrap ul li:first-child {
    margin-top: 30px;
    margin-bottom: 90px;
    position: relative;
  }
  .busns__subscription--wrap ul li:first-child::after {
    content: "";
    display: block;
    width: 23.97px;
    height: 47.94px;
    background-image: url("/img/usr/snscampaign/202307/busns-subscription_step-arrow.png");
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
    bottom: -60px;
    right: 410px;
  }
  .busns__subscription--wrap ul li:first-child .busns__image--box img {
    width: 266px;
    margin-left: 18px;
  }
  .busns__subscription--wrap ul li .busns__text--box {
    max-width: 400px;
    width: 100%;
  }
  .busns__subscription--wrap ul li .busns__text--box h3 {
    width: 100px;
    height: 30px;
    margin: 0 0 15px;
    color: #fff;
    background-color: #2B2B2B;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 500;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .busns__subscription--wrap ul li .busns__text--box h4 {
    font-size: 20px;
    line-height: 32px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .busns__subscription--wrap ul li .sns__link--box {
    padding-left: 42px;
    position: relative;
    margin-bottom: 15px;
  }
  .busns__subscription--wrap ul li .sns__link--box.twitter {
    margin-top: 10px;
  }
  .busns__subscription--wrap ul li .sns__link--box::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 15%;
    left: 0;
  }
  .busns__subscription--wrap ul li .sns__link--box.insta::after {
    background-image: url("/img/usr/snscampaign/202307/busns-subscription_insta.png");
  }
  .busns__subscription--wrap ul li .sns__link--box.twitter::after {
    background-image: url("/img/usr/snscampaign/202307/busns-subscription_twitter.png");
  }
  .busns__subscription--wrap ul li .sns__link--box a {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: bold;
    display: inline-block;
    border-bottom: 1px solid;
  }
  .busns__subscription--wrap ul li .sns__link--box a:hover {
    border-bottom: 0;
  }
  .busns__subscription--wrap ul li .busns__text--box p {
    font-size: 16px;
    font-weight: normal;
  }
  .busns__subscription--wrap ul li .busns__text--box p.red {
    margin-top: 20px;
    font-size: 95%;
    color: #FA0004;
  }
  .busns__subscription--wrap ul li .busns__text--box p.black {
    font-size: 95%;
    color: #2b2b2b;
  }
  .busns__subscription--wrap ul li#step-2 .sns__link--box {
    padding-left: 25px;
  }
  .busns__subscription--wrap ul li#step-2 .sns__link--box p {
    font-weight: bold;
    position: relative;
  }
  .busns__subscription--wrap ul li#step-2 .sns__link--box p span {
    background: linear-gradient(transparent 60%, #F0EFCF 60%);
  }
  .busns__subscription--wrap ul li#step-2 .sns__link--box p::after {
    content: "●";
    display: block;
    font-size: 16px;
    color: #D7D2CB;
    position: absolute;
    top: 0;
    left: -20px;
  }
  .busns__subscription--wrap p {
    font-size: 14px;
    font-weight: normal;
    line-height: 1.7;
    max-width: 740px;
    width: 100%;
    margin: 0 auto;
  }
  .busns__subscription--wrap p strong {
    display: block;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
  }
  /* 終了時のグレーアウト */
  .end {
    background-size: cover;
    position: relative;
    height: 100%;
    width: 900px;
    margin: 0 auto;
  }
  .end::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10;
    border-radius: 10px;
  }
  .end p.endttl {
    position: absolute;
    top: 7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2em;
    font-weight: bold;
    letter-spacing: 5px;
    color: #fff;
    text-align: center;
    z-index: 30;
  }
}
/* ----SP---- */

@media screen and (max-width: 1039px) {
  .block-fp-container {
    font-size: 4.27vw;
  }
  .sp0 {
    padding: 0;
  }
  .sp-mt10 {
   margin-top: 10px;
  }
  .sp0 h1 {
    padding: 0;
  }
  .end1 {
    margin: 20px auto 0;
    text-align: center;
    color: red;
  }
  .end1 .line {
    padding: 10px;
    border: 1px solid red;
    width: 100%;
    margin: 0 auto;
    color: red;
    font-size: 3.76vw;
  }
  h2 {
    padding: 10px 0;
    border-bottom: 2px solid #2b2b2b;
    margin: 0 auto;
    background: #FFFFFF;
    font-size: 5vw;
    text-align: left;
  }
  .day_text {
    margin-top: 20px;
  }
  .pCsL {
    text-align: left;
    margin-bottom: 20px;
  }
  .margin40-20 {
    margin: 20px auto 0;
  }
  .txt-bdr-yellow {
    background: linear-gradient(transparent 70%, #FFF57C 70%);
    font-weight: bold;
  }
  .txt-bdr-yellow02 {
    background: linear-gradient(transparent 70%, #FFF57C 70%);
  }
  .overview {
    margin: 0 auto;
    text-align: left;
    margin-top: 20px;
  }
  .block-fp-container .overview p, .block-fp-container .overview li {
    font-size: 3.73vw;
  }
  .ma70-30 {
    margin: 30px auto 0;
  }
  .flexbox_1, .flexbox_2 {
    margin-bottom: 20px;
  }
  .item_left_1, .item_right_1, .item_left_3, .item_right_3 {
    background: #fed9e5;
  }
  .item_left_2, .item_right_2 {
    background: #fbf7d2;
  }
  .item_left_1, .item_right_1, .item_left_2, .item_right_2, .item_left_3, .item_right_3 {
    width: 100%;
    padding: 30px;
    text-align: center;
    margin-bottom: 20px;
  }
  p.itemimg_01 {
    width: 70%;
    margin: auto;
  }
  p.itemimg_02 {
    margin: 10px auto 0;
    font-weight: bold;
  }
  
  .flexbox_2column {
    backdrop-filter: blur(4px);
    will-change: filter;
    background-color: rgba(0, 0, 0, 0.4);
    padding-bottom: 30px;
  }

  /* ----SP応募方法エリア ---- */
  .busns__subscription--area {
    padding: 0 4vw;
  }
  .busns__subscription--wrap {
    max-width: 100%;
  }
  .busns__subscription--wrap ul {
    margin: 0 0 5vw;
  }
  .busns__subscription--wrap ul li {
    flex-wrap: wrap;
  }
  .busns__subscription--wrap ul li:first-child {
    margin-bottom: 16vw;
    position: relative;
  }
  .busns__subscription--wrap ul li .busns__image--box {
    text-align: center;
  }
  .busns__subscription--wrap ul li:first-child .busns__image--box img {
    width: 40vw;
    margin: 4vw auto 2vw;
  }
  .busns__subscription--wrap ul li:nth-child(2) .busns__image--box img {
    width: 40vw;
    margin: 4vw auto 2vw;
  }
  .busns__subscription--wrap ul li .busns__text--box {
    max-width: 90vw;
  }
  .busns__subscription--wrap ul li .busns__text--box h3 {
    width: 33vw;
    height: 8vw;
    margin: 2vw auto 3vw;
    font-size: 3.4vw;
    border-radius: 4vw;
    background: #2b2b2b;
    color: #ffffff;
    text-align: center;
    padding: 1vw;
  }
  .busns__subscription--wrap ul li .busns__text--box h4 {
    font-size: 4vw;
    line-height: 1.6;
    margin-bottom: 1vw;
    text-align: center;
  }
  .busns__subscription--wrap ul li .sns__link--box {
    padding-left: 0;
    text-align: center;
    max-width: 50vw;
    width: 100%;
    margin: 0 auto 2vw;
    position: relative;
  }
  .busns__subscription--wrap ul li .sns__link--box a {
    font-size: 3.4vw;
  }
  .busns__subscription--wrap ul li .busns__text--box p {
    font-size: 3.6vw;
    text-align: center;
  }
  .busns__subscription--wrap ul li .sns__link--box.twitter {
    margin-top: 0vw;
  }
  .busns__subscription--wrap ul li .sns__link--box::after {
    width: 5.5vw;
    height: 5.5vw;
  }
  .busns__subscription--wrap ul li .busns__text--box p.red {
    font-size: 3vw;
    color: #FA0004;
    margin-top: 2vw;
    text-align: left;
  }
  .busns__subscription--wrap ul li .busns__text--box p.black {
    font-size: 3vw;
    color: #2b2b2b;
    text-align: left;
  }
  .busns__subscription--wrap p strong {
    font-size: 4vw;
    line-height: 1.6;
    margin-bottom: 4vw;
  }
  .busns__subscription--wrap p {
    font-size: 3.5vw;
    line-height: 1.7;
  }
  .busns__requirements__wrap h2 {
    padding: 2vw 0;
    margin: 0 0 5vw;
    font-size: 5.5vw;
  }
  .busns__requirements__test--wrap {
    padding: 0 4vw;
  }
  .busns__requirements__test--wrap p {
    font-size: 3.5vw;
    line-height: 6vw;
  }
  .busns__requirements__test--wrap .busns__requirements__read {
    margin-bottom: 5vw;
  }
  .busns__requirements__test--wrap ul {
    font-size: 3.4vw;
    line-height: 6vw;
  }
  .busns__subscription--wrap ul li .sns__link--box a {
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    display: inline-block;
    border-bottom: 1px solid;
  }
  .busns__subscription--wrap ul li .sns__link--box::after {
    content: "";
    display: block;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 15%;
    left: -2vw;
    width: 5.5vw;
    height: 5.5vw;
  }
  .busns__subscription--wrap ul li .sns__link--box.insta::after {
    background-image: url("/img/usr/snscampaign/202307/busns-subscription_insta.png");
  }
  .busns__subscription--wrap ul li .sns__link--box.twitter::after {
    background-image: url("/img/usr/snscampaign/202307/busns-subscription_twitter.png");
  }
  .busns__subscription--wrap ul li:first-child::after {
    content: "";
    display: block;
    background-image: url(/img/usr/snscampaign/202307/busns-subscription_step-arrow.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
    width: 5vw;
    height: 10vw;
    bottom: -14vw;
    right: 44vw;
  }
  /* 終了時のグレーアウト */
  .end {
    background-size: cover;
    position: relative;
    height: 100%;
  }
  .end::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10;
    border-radius: 10px;
  }
  .end p.endttl {
    position: absolute;
    top: 4%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.2em;
    font-weight: bold;
    letter-spacing: 3px;
    color: #fff;
    text-align: center;
    z-index: 30;
  }
}