body {
  background-color: transparent !important;
}
@media only screen and (max-width: 767px) {
  body {
    background-color: #141C2A !important;
  }
}

@media only screen and (max-width: 767px) {
  .bg_cover_screen {
    background: linear-gradient(180deg, rgba(45, 47, 59, 0) 0%, rgba(45, 47, 59, 0.5) 34.88%, #2D2F3B 98.84%);
  }
}

.bg_wrap::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background: url(../img/main.jpg) center 0/100% auto no-repeat #2D2F3B;
}
@media screen and (min-width: 1441px) {
  .bg_wrap::before {
    background-position: center 20%;
  }
}
@media screen and (max-width: 1440px) {
  .bg_wrap::before {
    background-size: 1440px auto;
  }
}
@media only screen and (max-width: 767px) {
  .bg_wrap::before {
    background: url(../img/main_s.jpg) 0 0/100% auto no-repeat;
    background-size: cover;
  }
}

.original {
  font-family: "Outfit", sans-serif;
  letter-spacing: 0.02em;
  position: relative;
  color: #fff;
  will-change: scroll-position;
  scroll-behavior: smooth;
}
.original p.div.a.span {
  font-family: "Outfit", sans-serif;
}
.original .cover {
  background-color: #000;
  background: linear-gradient(180deg, rgba(45, 47, 59, 0) 0%, rgba(45, 47, 59, 0.5) 34.88%, #2D2F3B 98.84%);
  opacity: 0.1;
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: 0.8s opacity 0.3s;
}
.original .cover.scrolled-cover {
  opacity: 1;
}
.original .intro {
  position: relative;
  background-color: #2D2F3B;
  transition: 0.3s;
}
.original #kv img {
  display: block;
  width: auto;
  width: 100%;
  height: auto;
  margin: auto;
  object-fit: cover;
  position: fixed;
  z-index: 1;
  top: 0;
}
.original .screen1 {
  position: relative;
  height: 953px;
  height: min(74.453vw, 953px);
}
@media only screen and (max-width: 767px) {
  .original .screen1 {
    height: 293.846vw;
    height: auto;
  }
}
.original #kv_text {
  position: relative;
  z-index: 2;
  padding-top: 415px;
  padding-top: min(32.422vw, 415px);
  padding-bottom: 60px;
  padding-bottom: min(4.688vw, 60px);
}
@media only screen and (max-width: 767px) {
  .original #kv_text {
    padding-top: 93.846vw;
    padding-bottom: 40px;
  }
}
.original #kv_text .kv_ttl1 {
  font-size: 65px;
  font-size: min(5.078vw, 65px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: normal;
  margin-bottom: 36px;
  margin-bottom: min(2.813vw, 36px);
}
@media only screen and (max-width: 767px) {
  .original #kv_text .kv_ttl1 {
    font-size: 9.231vw;
    font-size: 36px;
    line-height: 1.5;
    margin-bottom: 20px;
  }
}
.original #kv_text .kv_ttl1 span {
  font-size: 35px;
  font-size: min(2.734vw, 35px);
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .original #kv_text .kv_ttl1 span {
    display: block;
    font-size: 5.385vw;
    font-size: 21px;
  }
}
.original #kv_text .kv_dsc {
  font-size: 21px;
  font-size: min(1.641vw, 21px);
  font-weight: 300;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .original #kv_text .kv_dsc {
    font-size: 18px;
  }
}
.original #kv_text .kv_dsc1 {
  margin-bottom: 100px;
  margin-bottom: min(7.813vw, 100px);
}
@media only screen and (max-width: 767px) {
  .original #kv_text .kv_dsc1 {
    margin-bottom: 60px;
  }
}
.original #kv_text .kv_ttl2 {
  font-size: 48px;
  font-size: min(3.75vw, 48px);
  font-weight: 300;
  line-height: 1;
  margin-bottom: 20px;
  margin-bottom: min(1.563vw, 20px);
}
@media only screen and (max-width: 767px) {
  .original #kv_text .kv_ttl2 {
    font-size: 30px;
    margin-bottom: 24px;
  }
}
.original .page_cont_inner {
  max-width: 1280px;
  margin: auto;
  padding-left: min(4.167vw, 50px);
  padding-right: min(4.167vw, 50px);
}
@media only screen and (max-width: 767px) {
  .original .page_cont_inner {
    padding-left: 5.128vw;
    padding-right: 5.128vw;
  }
}
.original .matrix_area {
  background-color: rgba(255, 255, 255, 0.9);
  padding-top: 30px;
  padding-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  .original .matrix_area {
    background-color: transparent;
    padding-top: 0;
    padding-bottom: 0;
  }
}
.original .matrix.pc {
  width: 1180px;
  width: min(92.188vw, 1180px);
  padding-right: min(0.938vw, 12px);
  padding-bottom: min(2.5vw, 32px);
  margin: auto;
  background: url(../img/matrix-bg.png) 0 0/100% auto no-repeat;
}
@media only screen and (max-width: 767px) {
  .original .matrix.pc {
    display: none;
  }
}
.original .matrix.pc .col_index {
  display: grid;
  grid-template-columns: 334px 334px 334px;
  column-gap: 6px;
  margin-bottom: min(1.25vw, 16px);
  margin-left: min(12.5vw, 160px);
  color: #fff;
  font-size: min(1.563vw, 20px);
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .original .matrix.pc .col_index {
    grid-template-columns: repeat(3, 26.094vw);
    column-gap: min(0.469vw, 6px);
  }
}
.original .matrix.pc .col_index > div {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  height: min(4.688vw, 60px);
}
.original .matrix.pc .matrix_btn_col_wrap {
  display: grid;
  grid-template-columns: 148px 1fr;
  grid-template-columns: min(11.563vw, 148px) 1fr;
  column-gap: 6px;
  column-gap: min(0.469vw, 6px);
  justify-content: space-between;
}
.original .matrix.pc .matrix_btn_col_wrap .row_index {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  row-gap: min(1.563vw, 20px);
  align-items: center;
  padding-left: min(1.719vw, 22px);
}
.original .matrix.pc .matrix_btn_col_wrap .row_index p {
  color: #25303B;
  line-height: 1.1;
  font-size: min(1.563vw, 20px);
  font-weight: 600;
  margin-bottom: 0;
}
.original .matrix.pc .matrix_btn_col_wrap .row_index p:nth-of-type(1) {
  transform: translateY(min(0.156vw, 2px));
}
.original .matrix.pc .matrix_btn_col_wrap .row_index p:nth-of-type(2) {
  transform: translateY(min(1.094vw, 14px));
}
.original .matrix.pc .matrix_btn_col_wrap .row_index p:nth-of-type(3) {
  transform: translateY(min(0.625vw, 8px));
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn_grid {
  display: grid;
  grid-template-columns: 334px 334px 334px;
  column-gap: 6px;
  column-gap: min(0.469vw, 6px);
  grid-auto-flow: column;
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .original .matrix.pc .matrix_btn_col_wrap .matrix_btn_grid {
    width: min(92.188vw, 1180px);
    grid-template-columns: 26.094vw 26.094vw 26.094vw;
  }
}
.original .matrix.pc .matrix_btn_col_wrap .grid:first-child {
  display: grid;
  grid-template-rows: repeat(2, min(9.453vw, 121px)) 1fr;
  row-gap: min(0.469vw, 6px);
}
.original .matrix.pc .matrix_btn_col_wrap .grid:nth-child(2) {
  grid-column: 1/3;
  grid-row: 2/3;
}
.original .matrix.pc .matrix_btn_col_wrap .grid:nth-child(3) {
  grid-column: 1/3;
  grid-row: 3/4;
  margin-top: min(2.969vw, 38px);
}
.original .matrix.pc .matrix_btn_col_wrap .grid:nth-child(5) {
  grid-column: 3/4;
  grid-row: 1/3;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
}
.original .matrix.pc .matrix_btn_col_wrap .grid:nth-child(6) {
  margin-top: min(2.969vw, 38px);
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn {
  display: flex;
  align-items: center;
  background: right bottom/30px auto no-repeat;
  background-color: #25303B;
  width: 334px;
  width: min(26.094vw, 334px);
  height: min(9.453vw, 121px);
  margin-bottom: 6px;
  margin-bottom: min(0.469vw, 6px);
  transition: 0.3s;
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn__image {
  width: 45.5%;
  width: auto;
  flex: 1;
  overflow: hidden;
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn__image img {
  width: 100%;
  transition: 0.4s;
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn__text {
  width: 54.5%;
  width: 182px;
  width: min(14.219vw, 182px);
  color: #fff;
  font-size: 19px;
  font-size: min(1.484vw, 19px);
  line-height: 1.2;
  padding-left: 16px;
  padding-left: min(1.25vw, 16px);
  transform: translateY(-0.2em);
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn.height1 {
  height: 105px;
  height: min(8.203vw, 105px);
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn.col2 {
  width: 674px;
  width: min(52.656vw, 674px);
  height: 105px;
  height: min(8.203vw, 105px);
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn.row2 {
  height: min(13.75vw, 176px);
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn.cell1-3 {
  margin-bottom: 6px;
  margin-top: auto;
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn.vertical {
  flex-wrap: wrap;
  display: grid;
  grid-template-rows: auto 1fr;
  height: 216px;
  height: min(16.875vw, 216px);
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn.vertical .matrix_btn__image {
  width: 100%;
  flex: none;
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn.vertical .matrix_btn__text {
  width: 100%;
  transform: translateY(0.01em);
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn.half {
  width: calc(50% - 3px);
  height: 288px;
  height: min(22.5vw, 288px);
}
.original .matrix.pc .matrix_btn_col_wrap .matrix_btn.half.half-right {
  margin-left: auto;
}
.original .matrix.sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .original .matrix.sp {
    display: block;
  }
  .original .matrix.sp .tab_head_area {
    background-color: transparent;
    display: flex;
    column-gap: 0.769vw;
    color: #FFF;
  }
  .original .matrix.sp .tab_head_area .tab_head {
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4.103vw;
    font-weight: 400;
    line-height: 1;
    width: 100%;
    height: 20.513vw;
    background: #4E5562;
    color: rgba(255, 255, 255, 0.5);
  }
  .original .matrix.sp .tab_head_area .tab_head.active {
    cursor: default;
    background: #616A7A;
    color: #fff;
  }
  .original .matrix.sp .tab_cont_area {
    padding-top: 5.128vw;
    padding-bottom: 5.128vw;
    margin-top: -1px;
    background-color: #616A7A;
  }
  .original .matrix.sp .matrix_tab {
    display: none;
    margin: 0 5.128vw;
    padding-bottom: 6.154vw;
  }
  .original .matrix.sp .matrix_tab.show {
    display: block;
  }
  .original .matrix.sp .matrix_tab .matrix_btn {
    background: right bottom/7.692vw auto no-repeat;
    background-color: #25303B;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
  }
  .original .matrix.sp .matrix_tab .matrix_btn__image {
    width: 38.462vw;
  }
  .original .matrix.sp .matrix_tab .matrix_btn__text {
    height: 17.949vw;
    padding-top: 2.821vw;
    padding-left: 2.821vw;
  }
  .original .matrix.sp .matrix_tab .matrix_btn__text p {
    color: #FFF;
    font-size: 3.846vw;
    font-weight: 400;
    line-height: 1;
  }
  .original .matrix.sp .matrix_tab1 {
    background: url(../img/matrix-frame1.png) 0 0/100% auto no-repeat;
  }
  .original .matrix.sp .matrix_tab1 .matrix_btn_grid {
    padding-top: 17.949vw;
    width: 79.487vw;
    margin: auto;
    display: grid;
    grid-template-columns: 38.462vw 38.462vw;
    grid-template-rows: 42.564vw 62.308vw 57.692vw;
    column-gap: 2.564vw;
    row-gap: 2.564vw;
  }
  .original .matrix.sp .matrix_tab1 .matrix_btn.cell2-3 {
    margin-top: 19.744vw;
  }
  .original .matrix.sp .matrix_tab1 .matrix_btn.cell2-4 {
    margin-top: 19.744vw;
  }
  .original .matrix.sp .matrix_tab1 .matrix_btn.cell2-5 {
    margin-top: 15.128vw;
  }
  .original .matrix.sp .matrix_tab1 .matrix_btn.cell2-6 {
    margin-top: 15.128vw;
  }
  .original .matrix.sp .matrix_tab2 {
    background: url(../img/matrix-frame2.png) 0 0/100% auto no-repeat;
  }
  .original .matrix.sp .matrix_tab2 .matrix_btn_grid {
    padding-top: 17.949vw;
    width: 79.487vw;
    margin: auto;
    display: grid;
    grid-template-columns: 38.462vw 38.462vw;
    grid-template-rows: 42.564vw 11.795vw 62.308vw 57.692vw;
    column-gap: 2.564vw;
    row-gap: 2.564vw;
  }
  .original .matrix.sp .matrix_tab2 .matrix_btn.cell2-1 {
    grid-row: 1/3;
  }
  .original .matrix.sp .matrix_tab2 .matrix_btn.cell2-3 {
    grid-row: 3/4;
    margin-top: 19.744vw;
  }
  .original .matrix.sp .matrix_tab2 .matrix_btn.cell2-4 {
    grid-row: 2/4;
    grid-column: 2/3;
  }
  .original .matrix.sp .matrix_tab2 .matrix_btn.cell2-5 {
    margin-top: 15.128vw;
  }
  .original .matrix.sp .matrix_tab2 .matrix_btn.cell2-6 {
    margin-top: 15.128vw;
  }
  .original .matrix.sp .matrix_tab3 {
    background: url(../img/matrix-frame3.png) 0 0/100% auto no-repeat;
  }
  .original .matrix.sp .matrix_tab3 .matrix_btn_grid {
    padding-top: 17.949vw;
    width: 79.487vw;
    margin: auto;
    display: grid;
    grid-template-columns: 38.462vw 38.462vw;
    grid-template-rows: 42.051vw 42.564vw 69.487vw;
    column-gap: 2.564vw;
    row-gap: 2.564vw;
  }
  .original .matrix.sp .matrix_tab3 .matrix_btn.cell2-1 {
    grid-column: 1/3;
  }
  .original .matrix.sp .matrix_tab3 .matrix_btn.cell2-1 .matrix_btn__image {
    width: 79.487vw;
  }
  .original .matrix.sp .matrix_tab3 .matrix_btn.cell2-1 .matrix_btn__text {
    height: 12.821vw;
    padding-top: 4.359vw;
  }
  .original .matrix.sp .matrix_tab3 .matrix_btn.cell2-4 {
    margin-top: 27.436vw;
  }
  .original .matrix.sp .matrix_tab3 .matrix_btn.cell2-4 {
    grid-column: 1/3;
  }
  .original .matrix.sp .matrix_tab3 .matrix_btn.cell2-4 .matrix_btn__image {
    width: 79.487vw;
  }
  .original .matrix.sp .matrix_tab3 .matrix_btn.cell2-4 .matrix_btn__text {
    height: 12.821vw;
    padding-top: 4.359vw;
  }
}
.original .bottom_cont {
  background: rgba(45, 47, 59, 0.4);
  margin: auto;
  padding-top: min(5vw, 60px);
  padding-bottom: min(8.333vw, 100px);
  padding-top: 60px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 767px) {
  .original .bottom_cont {
    padding-bottom: 12.821vw;
    padding-top: 6.154vw;
  }
}
.original .bottom_cont p {
  font-size: 22px;
  font-size: min(1.833vw, 22px);
  font-weight: 300;
  line-height: 1.6;
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  .original .bottom_cont p {
    font-size: 4.615vw;
    font-size: 18px;
    letter-spacing: normal;
    margin-bottom: 15.385vw;
    margin-bottom: 60px;
  }
}

.breadcrumb_wrap {
  background-color: #000;
}

.breadcrumb {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (max-width: 767px) {
  .breadcrumb {
    padding-left: 20px;
    padding-right: 20px;
  }
}