/* ----- Main ----- */
main {
  width: 100%;
  max-width: 1080px;
  background-color: #ef4123;
  margin: auto;
}

/* ----- FV ----- */
.fv {
  width: 100%;
}
.fv video {
  width: 100%;
}
.fv p {
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  margin-top: 30px;
}

@media (max-width: 767px) {
  .fv {
    padding-inline: 15px;
  }
}
/* ----- red-box ----- */
.red-box {
  width: 100%;
  background-color: #ef4123;
  padding-bottom: 75px;
}
.red-box .section {
  width: 100%;
  max-width: 900px;
  margin: auto;
}
.red-box .section-t {
  width: 250px;
  margin-block: 45px;
}
.red-box .section-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.red-box .section-content .top {
  width: 100%;
  display: flex;
}
.red-box .section-content .top img {
  width: 50%;
}
.red-box .section-content .mdl {
  width: 100%;
  display: flex;
  gap: 15px;
}
.red-box .section-content .mdl-h {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.red-box .section-content .mdl-h .item {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.red-box .section-content .mdl-h .item-p {
  font-size: 18px;
  color: #ffffff;
  margin-bottom: 192px;
}
.red-box .section-content .mdl-h .item-btm {
  display: flex;
  justify-content: space-between;
}
.red-box .section-content .mdl-h .item-btm img {
  width: 48%;
}
.red-box .section-content .btm {
  width: 100%;
}

.red-box .streams .top img {
  width: 100%;
}

/* ----- black-box(hakama) ----- */
.black-box {
  width: 100%;
  background-color: #000000;
  padding-block: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.black-box .box-title {
  width: 300px;
  margin-bottom: 50px;
}
.black-box .box-txt {
  width: fit-content;
  margin-bottom: 48px;
}
.black-box .box-txt p {
  font-size: 18px;
  color: #ffffff;
  margin-bottom: 15px;
}
.black-box .box-txt span {
  font-size: 14px;
  color: #ffffff;
  border-block: 1px solid #ffffff;
}
.black-box .black-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  padding-bottom: 140px;
}
.black-content .top {
  width: 100%;
  max-width: 900px;
  position: relative;
  display: flex;
}
.black-content .top img {
  width: 50%;
}
.black-content .top .t {
  width: 250px;
  position: absolute;
  top: -20px;
  left: 0;
}
.black-content .top .c-t {
  width: 100px;
  position: absolute;
  top: -22px;
  right: -22px;
}
.black-content .s-box-wrap {
  width: 100%;
  display: flex;
  align-items: start;
}
.black-content .s-box {
  width: fit-content;
  position: relative;
  display: flex;
}
.black-content .s-box img {
  width: 100%;
}
.black-content .s-box .c-t {
  width: 40px;
  position: absolute;
  bottom: -7px;
}
.black-content .left .c-t {
  right: -15px;
}
.black-content .right {
  justify-content: end;
}
.black-content .right .c-t {
  left: -16px;
}
.black-content .f-box {
  width: 100%;
  max-width: 450px;
  margin: auto;
}
.black-box .s-f-group {
  width: 100%;
}

/* ============ SP ========== */
.red-box-sp {
  width: 100%;
  padding-block: 100px 50px;
  display: none;
}
.red-box-sp .sp-box {
  width: 100%;
}
.red-box-sp .top {
  width: 100%;
  margin-bottom: 90px;
}
.red-box-sp .top .top-title {
  width: 100%;
  max-width: 267px;
  margin: auto;
}
.red-box-sp .top p {
  width: 100%;
  padding-inline: 15px;
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
}
.red-box-sp .content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.red-box-sp .content .item {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.red-box-sp .content .item-top,
.red-box-sp .content .item-btm {
  width: 100%;
}
.red-box-sp .content .item-mdl {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.red-box-sp .content .item-mdl img {
  width: 48.5%;
}

/* ---------------- */

.black-box-sp {
  display: none;
  width: 100%;
  background-color: #000000;
}
.black-box-sp .first,
.black-box-sp .second {
  width: 100%;
}
.black-box-sp .first {
  margin-bottom: 90px;
}
.black-box-sp .first .top {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 180px;
}
.black-box-sp .first .top .hakama {
  width: 243px;
  position: absolute;
  top: 0;
}
.black-box-sp .first .top p {
  width: 100%;
  padding-inline: 20px;
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
  position: absolute;
  bottom: 140px;
}
.black-box-sp .first .top .title {
  width: 267px;
  position: absolute;
  bottom: 0;
}
.black-box-sp .first .item-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 55px;
}
.black-box-sp .first .item-box .s-item {
  width: 100%;
  display: flex;
  align-items: start;
}
.black-box-sp .first .item-box .s-item img {
  width: 33.33333333%;
}
.black-box-sp .first .item-box .f-item {
  width: 200px;
  position: relative;
}
.black-box-sp .first .item-box .f-item .c-t {
  position: absolute;
  bottom: -3px;
  width: 23px;
}
.black-box-sp .first .item-box .right .c-t {
  right: -10px;
}
.black-box-sp .first .item-box .left .c-t {
  left: -10px;
}

.black-box-sp .second {
  display: flex;
  flex-direction: column;
  gap: 65px;
  padding-bottom: 155px;
}
.black-box-sp .second .streams-top {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.black-box-sp .second .streams-top .title {
  width: 269px;
}
.black-box-sp .second .st-item {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 25px;
}
.black-box-sp .second .st-item .btm {
  width: 100%;
  max-width: 200px;
}
.black-box-sp .second .st-item .btm .btm-t {
  display: flex;
  align-items: start;
}
.black-box-sp .second .st-item .btm .btm-t img {
  width: 50%;
}
.black-box-sp .second .st-item .btm .btm-b {
  position: relative;
}
.black-box-sp .second .st-item .btm .btm-b .c-t {
  width: 23px;
  position: absolute;
  bottom: -3px;
}
.black-box-sp .second .st-item .btm .left .c-t {
  left: -10px;
}
.black-box-sp .second .st-item .btm .right .c-t {
  right: -10px;
}
/* ------ Responsice ------ */

@media (max-width: 950px) {
  .red-box,
  .black-box {
    padding-inline: 20px;
  }
  .red-box .section-content .mdl-h .item-p {
    margin-bottom: 130px;
  }
}

@media (max-width: 767px) {
  .red-box,
  .black-box {
    display: none;
  }
  .red-box-sp,
  .black-box-sp {
    display: block;
  }
}
