.sec_session {
  background-color: #ebebeb;
  padding: 30px 0 60px;
}
@media all and (min-width: 751px) {
  .sec_session {
    padding: 58px 0 120px;
  }
}
.sec_session .sec_ttl {
  text-align: center;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  color: #a9161b;
  font-size: 40px;
  margin-bottom: 30px;
}
@media all and (min-width: 751px) {
  .sec_session .sec_ttl {
    font-size: 59px;
    margin-bottom: 38px;
  }
}
.sec_session .columnWrap {
  counter-reset: number 0;
}
@media all and (min-width: 751px) {
  .sec_session .columnWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.sec_session .columnBox {
  counter-increment: number 1;
  position: relative;
}
@media all and (min-width: 751px) {
  .sec_session .columnBox {
    width: 50%;
  }
}
.sec_session .columnBox::before {
  position: absolute;
  content: counter(number, decimal-leading-zero);
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-size: 51px;
  color: #fff;
  top: 0;
  left: 20px;
  z-index: 2;
}
.sec_session .columnBox a {
  display: block;
}
@media (hover: hover) {
  .sec_session .columnBox a .image {
    overflow: hidden;
  }
  .sec_session .columnBox a img {
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
  }
  .sec_session .columnBox a:hover img {
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
}
.sec_session .columnBox a img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 20%;
     object-position: center 20%;
}
@media all and (min-width: 751px) {
  .sec_session .columnBox a img {
    max-height: 600px;
  }
}
.sec_session .columnBox .texts {
  position: absolute;
  bottom: 30px;
  left: 20px;
}
.sec_session .columnBox .texts .copy {
  display: inline;
  background-color: rgba(169, 22, 27, 0.9);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  color: #fff;
  font-weight: bold;
  font-size: 21px;
  letter-spacing: 0.04em;
  line-height: 2;
  padding: 3px 6px;
}
@media all and (min-width: 751px) {
  .sec_session .columnBox .texts .copy {
    font-size: 28px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1080px) {
  .sec_session .columnBox .texts .copy {
    line-height: 1.9;
    font-size: 2.4vw;
  }
}
.sec_session .columnBox .texts .box_ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  color: #a9161b;
  font-weight: bold;
  font-size: 20px;
  margin-top: 15px;
  padding: 3px 12px;
}
@media screen and (min-width: 751px) and (max-width: 1080px) {
  .sec_session .columnBox .texts .box_ttl {
    font-size: 16px;
    margin-top: 8px;
  }
}
.sec_session .columnBox.js_scroll {
  position: relative;
  overflow: hidden;
}
.sec_session .columnBox.js_scroll::before {
  position: absolute;
  content: "";
  background-color: #222;
  inset: 0;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.76, 0.09, 0.215, 1);
  transition: -webkit-transform 1s cubic-bezier(0.76, 0.09, 0.215, 1);
  transition: transform 1s cubic-bezier(0.76, 0.09, 0.215, 1);
  transition: transform 1s cubic-bezier(0.76, 0.09, 0.215, 1), -webkit-transform 1s cubic-bezier(0.76, 0.09, 0.215, 1);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.sec_session .columnBox.js_scroll .image {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: -webkit-transform 1.8s;
  transition: -webkit-transform 1.8s;
  transition: transform 1.8s;
  transition: transform 1.8s, -webkit-transform 1.8s;
}
@media all and (min-width: 751px) {
  .sec_session .columnBox.js_scroll:nth-child(2)::before,
  .sec_session .columnBox.js_scroll:nth-child(2) .image {
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
  }
}
.sec_session .columnBox.js_scroll.scroll_active::before {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}
.sec_session .columnBox.js_scroll.scroll_active .image {
  -webkit-transform: scale(1);
          transform: scale(1);
}