/*
brakepoint
*/
main {
  padding-top: 0;
  background: none;
  overflow: hidden; }
  main h2 {
    margin-bottom: 75px;
    z-index: 1; }
    @media screen and (max-width: 1025px) {
      main h2 {
        margin-bottom: 0; } }
    main h2 .en_title {
      font-size: 120px; }
      @media screen and (max-width: 1025px) {
        main h2 .en_title {
          font-size: 66px; } }
    main h2 .jp_title {
      font-size: 40px;
      line-height: 1.375;
      letter-spacing: -0.02em; }
      @media screen and (max-width: 1025px) {
        main h2 .jp_title {
          font-size: 24px;
          line-height: 1.7; } }

.bg_home {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0); }
  .bg_home::before {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-image: url("../img/bg_home.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
    @media screen and (max-width: 1025px) {
      .bg_home::before {
        background-image: url("../img/bg_home_sp.png");
        background-position: left top; } }

.mvarea {
  width: 100%;
  height: 100vh;
  display: grid;
  place-items: center;
  overflow: hidden; }
  @media screen and (max-width: 1025px) {
    .mvarea {
      height: 100svh; } }

.topimage {
  position: relative;
  align-content: center;
  aspect-ratio: 16 / 9;
  width: auto;
  height: 100vh;
  background-color: #F0F0F0;
  overflow: hidden; }
  @media screen and (max-width: 1025px) {
    .topimage {
      width: 100%;
      height: 100svh; } }
  .topimage.start .top01 {
    top: 120%;
    transition: top 2.5s ease-in; }
  .topimage.start .top02 {
    left: -50%;
    transition: left 2.5s ease-in; }
    @media screen and (max-width: 1025px) {
      .topimage.start .top02 {
        left: -100%; } }
  .topimage.start .top03 {
    left: 110%;
    transition: left 2.5s ease-in; }
  .topimage.start .top04 {
    top: -100%;
    transition: top 2.5s ease-in; }
    @media screen and (max-width: 1025px) {
      .topimage.start .top04 {
        top: -200%; } }
  .topimage.start .top05 {
    left: -70%;
    transition: left 2.5s ease-in; }
  .topimage.start .top06 {
    left: -70%;
    transition: left 2.5s ease-in; }
  .topimage.start .top07 {
    left: -50%;
    transition: left 2.5s ease-in; }
  .topimage.start .top08 {
    top: 110%;
    transition: top 2.5s ease-in; }
  .topimage.start .top09 {
    left: 111.3%;
    transition: left 2.5s ease-in; }
  .topimage.start .top10 {
    top: -95.8%;
    transition: top 2.5s ease-in; }
  .topimage.start .top11 {
    left: -20%;
    transition: left 2.5s ease-in; }
    @media screen and (max-width: 1025px) {
      .topimage.start .top11 {
        left: -70%; } }
  .topimage.start .top12 {
    top: 110%;
    transition: top 2.5s ease-in; }
  .topimage.start .top13 {
    top: 110%;
    transition: top 2.5s ease-in; }
  .topimage.start .top14 {
    left: 103.7%;
    transition: left 2.5s ease-in; }
  .topimage.start .top15 {
    top: -114.8%;
    transition: top 2.5s ease-in; }
  .topimage.start .read_top {
    top: 50%;
    transition: top 0.6s ease-out 2.4s,opacity 0.5s ease-out 2s;
    transform: translate(-50%, -50%);
    opacity: 1; }
  .topimage.start .scroll {
    opacity: 1;
    transition: opacity 0.5s ease-out 3s; }
  .topimage.start .type01 {
    left: -62.2%;
    transition: left 2.5s ease-in; }
  .topimage.start .type02 {
    top: -115%;
    transition: top 2.5s ease-in; }
  .topimage.start .type03 {
    left: -20.5%;
    transition: left 2.5s ease-in; }
    @media screen and (max-width: 1025px) {
      .topimage.start .type03 {
        left: -70.5%; } }
  .topimage.start .type04 {
    top: 167.2%;
    transition: top 2.5s ease-in; }

@media (min-aspect-ratio: 16 / 9) {
  .topimage {
    width: 100%;
    height: auto; } }
@media (min-aspect-ratio: 16 / 9) {
  .topimage {
    width: 100%;
    height: auto; } }
.topimg {
  position: absolute; }
  .topimg img {
    width: 100%; }

.shuffle {
  opacity: 0; }

.top01 {
  top: 19.5%;
  left: 3.5%;
  width: 8.4%;
  z-index: 1; }
  @media screen and (max-width: 1025px) {
    .top01 {
      top: 17.7%;
      width: 16.5%; } }
  @media screen and (max-width: 1025px) {
    .top01 {
      top: 17.7%;
      width: 16.5%; } }

.top02 {
  top: 72%;
  left: 2.4%;
  width: 35.6%;
  z-index: 1; }
  @media screen and (max-width: 1025px) {
    .top02 {
      top: 49.7%;
      left: 37.3%;
      width: 65.9%; } }

.top03 {
  top: 78.4%;
  left: 0;
  width: 30%;
  z-index: 1; }
  @media screen and (max-width: 1025px) {
    .top03 {
      top: 89%;
      left: 1%;
      width: 50%; } }

.top04 {
  top: -4.7%;
  left: 12.1%;
  width: 7.7%;
  z-index: 0; }
  @media screen and (max-width: 1025px) {
    .top04 {
      top: -3.3%;
      left: 16%;
      width: 17.6%; } }

.top05 {
  top: 58.5%;
  left: 14.2%;
  width: 37.8%;
  z-index: 0; }
  @media screen and (max-width: 1025px) {
    .top05 {
      top: 40.7%;
      left: 25.9%;
      width: 54.7%; } }

.top06 {
  top: 23.3%;
  left: 22.3%;
  width: 47.7%;
  z-index: 1; }
  @media screen and (max-width: 1025px) {
    .top06 {
      display: none; } }

.top07 {
  top: 12.8%;
  left: 34.5%;
  width: 15.6%;
  z-index: 0; }
  @media screen and (max-width: 1025px) {
    .top07 {
      display: none; } }

.top08 {
  top: -0.6%;
  left: 41.3%;
  width: 23.8%;
  z-index: 1; }
  @media screen and (max-width: 1025px) {
    .top08 {
      top: 15.6%;
      left: 24.5%;
      width: 34.7%; } }

.top09 {
  top: 32.1%;
  left: 47.4%;
  width: 41.4%;
  z-index: 1; }
  @media screen and (max-width: 1025px) {
    .top09 {
      top: 57%;
      left: 4.5%;
      width: 72.3%; } }

.top10 {
  top: 54.4%;
  left: 59.5%;
  width: 2.9%;
  z-index: 0; }
  @media screen and (max-width: 1025px) {
    .top10 {
      display: none; } }

.top11 {
  top: 5.8%;
  left: 65.9%;
  width: 14.3%;
  z-index: 0; }
  @media screen and (max-width: 1025px) {
    .top11 {
      top: 15.9%;
      left: 59.2%;
      width: 38.4%;
      z-index: 1; } }

.top12 {
  top: 86.1%;
  left: 65.1%;
  width: 22%;
  z-index: 1; }
  @media screen and (max-width: 1025px) {
    .top12 {
      top: 92.9%;
      left: 61.9%;
      width: 39.5%; } }

.top13 {
  top: 74.2%;
  left: 74.2%;
  width: 20.9%;
  z-index: 0; }
  @media screen and (max-width: 1025px) {
    .top13 {
      top: 82.1%;
      left: 55.2%;
      width: 40.8%; } }

.top14 {
  top: 9.1%;
  left: 87%;
  width: 13.5%;
  z-index: 0; }
  @media screen and (max-width: 1025px) {
    .top14 {
      top: 11.6%;
      left: 80.8%;
      width: 20.5%; } }

.top15 {
  top: 19.7%;
  left: 91.6%;
  width: 6%;
  z-index: 1; }
  @media screen and (max-width: 1025px) {
    .top15 {
      top: 25.9%;
      left: 86.4%;
      width: 9.9%; } }

.read_top {
  top: 120%;
  left: 50%;
  width: 51.2%;
  transform: translate(-50%, 0%);
  opacity: 0; }
  @media screen and (max-width: 1025px) {
    .read_top {
      width: 75.2%; } }

.top_type {
  position: absolute; }
  .top_type p {
    font-size: 1.7vh;
    margin: 0;
    font-weight: 500; }
    @media screen and (max-width: 1025px) {
      .top_type p {
        font-size: 2.7vw; } }

.type01 {
  top: 10.8%;
  left: 66%;
  width: 19.1%; }
  @media screen and (max-width: 1025px) {
    .type01 {
      display: none; } }
  .type01 p {
    color: #CCC; }

.type02 {
  top: 34.5%;
  left: 18.4%;
  width: 23%; }
  @media screen and (max-width: 1025px) {
    .type02 {
      top: 30.7%;
      left: 26.1%;
      width: 55.7%; } }
  @media screen and (max-width: 1025px) {
    .type02 p {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3; } }

.type03 {
  top: 54.2%;
  left: 64.7%;
  width: 19.2%; }
  @media screen and (max-width: 1025px) {
    .type03 {
      top: 72.3%;
      left: 50.7%;
      width: 42.7%; } }
  .type03 p {
    font-size: 3.4vh;
    line-height: 1.38; }
    @media screen and (max-width: 1025px) {
      .type03 p {
        font-size: 4.3vw; } }

.type04 {
  top: 75.9%;
  left: 32.9%;
  width: 24.2%;
  z-index: 2; }
  @media screen and (max-width: 1025px) {
    .type04 {
      top: 72.3%;
      left: -16.8%;
      width: 55.7%; } }
  @media screen and (max-width: 1025px) {
    .type04 p {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4; } }

@media (min-aspect-ratio: 16 / 9) {
  .top_type p {
    font-size: 1vw; }

  .type03 p {
    font-size: 1.9vw; } }
.cbox {
  z-index: 1; }

.scroll {
  display: inline-block;
  position: absolute;
  left: 50%;
  bottom: 85px;
  transform: translateX(-50%);
  opacity: 0;
  animation: scroll 2s ease-in-out infinite; }
  .scroll a {
    position: relative;
    display: block;
    text-decoration: none;
    font-size: 20px;
    font-weight: 700;
    padding-bottom: 35px;
    background-image: url("../img/arrow_d_black.svg");
    background-repeat: no-repeat;
    background-position: center bottom; }

@keyframes scroll {
  0% {
    bottom: 85px; }
  50% {
    bottom: 65px; }
  100% {
    bottom: 85px; } }
/*
top00
*/
.top00 {
  width: 100%;
  padding-top: 25vw; }
  @media screen and (max-width: 1025px) {
    .top00 {
      padding-bottom: 100px; } }
  .top00::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    content: ""; }
  .top00::before {
    height: 346px;
    background: linear-gradient(to bottom, #f0f0f0 0%, rgba(240, 240, 240, 0) 100%);
    z-index: 1; }
  .top00 .read_home {
    font-size: 35px;
    line-height: 1.4;
    letter-spacing: -0.02em;
    margin-bottom: 0; }
    @media screen and (max-width: 1025px) {
      .top00 .read_home {
        font-size: 24px;
        text-align: center;
        line-height: 1.7; } }
  .top00 .read_home_s {
    font-size: 24px; }
    @media screen and (max-width: 1025px) {
      .top00 .read_home_s {
        font-size: 17px;
        margin-bottom: 30px; } }

.read_home {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 725px;
  font-size: 28px;
  line-height: 1.6;
  letter-spacing: 0;
  margin: 0 auto 25px; }
  @media screen and (max-width: 1025px) {
    .read_home {
      max-width: inherit;
      font-size: 20px;
      line-height: 1.5;
      margin: 0 0 25px; } }

.read_home_s {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 725px;
  font-size: 18px;
  margin: 0 auto 50px; }
  @media screen and (max-width: 1025px) {
    .read_home_s {
      max-width: inherit;
      font-size: 15px;
      margin: 0 0 40px; } }

.home_img {
  position: absolute;
  z-index: 0; }
  @media screen and (max-width: 1025px) {
    .home_img {
      position: relative; } }
  .home_img img {
    width: 100%; }

.home_img01 img,
.home_img02 img,
.home_img03 img {
  width: 100%; }

.home_img01 {
  top: -80px;
  right: -330px;
  max-width: 420px; }
  @media screen and (max-width: 1025px) {
    .home_img01 {
      top: auto;
      right: auto;
      width: 50.2%;
      max-width: inherit;
      margin: 0 -30px 30px auto; } }
  .home_img01 img {
    border-radius: 25px; }
    @media screen and (max-width: 1025px) {
      .home_img01 img {
        border-radius: 10px 0 0 10px; } }

.home_img02 {
  top: 125px;
  left: -400px;
  max-width: 426px; }
  @media screen and (max-width: 1025px) {
    .home_img02 {
      top: auto;
      left: auto;
      width: 55.6%;
      max-width: inherit;
      margin: 0 0 40px -30px; } }
  .home_img02 img {
    border-radius: 25px; }
    @media screen and (max-width: 1025px) {
      .home_img02 img {
        border-radius: 0 10px 10px 0; } }

.home_img03 {
  max-width: 285px;
  margin: 90px 30px 0 auto; }
  @media screen and (max-width: 1025px) {
    .home_img03 {
      width: 36.2%;
      max-width: inherit;
      margin: 35px 15px 0 auto; } }
  .home_img03 img {
    border-radius: 25px; }
    @media screen and (max-width: 1025px) {
      .home_img03 img {
        border-radius: 10px; } }

/*
homeabout
*/
.homeabout {
  padding-bottom: 100px; }
  @media screen and (max-width: 1025px) {
    .homeabout {
      padding-bottom: 0; } }

.homeabout_img01 {
  top: 215px;
  right: -125px;
  max-width: 359px; }
  @media screen and (max-width: 1025px) {
    .homeabout_img01 {
      top: -25px;
      right: -15px;
      width: 47.6%;
      max-width: inherit;
      margin: 0 0 0 auto; } }

.homeabout_img02 {
  top: 565px;
  left: -125px;
  max-width: 263px; }
  @media screen and (max-width: 1025px) {
    .homeabout_img02 {
      top: 35px;
      left: -45px;
      width: 45.7%;
      max-width: inherit; } }

/*
homeinterview
*/
.homeinterview {
  padding-bottom: 350px;
  margin: 270px 0 245px;
  background-color: #FFFFFF; }
  @media screen and (max-width: 1025px) {
    .homeinterview {
      margin: 145px 0;
      padding-bottom: 0; } }
  .homeinterview::before, .homeinterview::after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 285px;
    content: "";
    z-index: 0; }
    @media screen and (max-width: 1025px) {
      .homeinterview::before, .homeinterview::after {
        height: 145px; } }
  .homeinterview::before {
    top: -270px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 20%, white 100%); }
    @media screen and (max-width: 1025px) {
      .homeinterview::before {
        top: -145px; } }
  .homeinterview::after {
    top: calc(100% - 40px);
    background: linear-gradient(to bottom, white 0%, white 80%, rgba(255, 255, 255, 0) 100%); }
    @media screen and (max-width: 1025px) {
      .homeinterview::after {
        top: 100%; } }
  .homeinterview h2 {
    margin-bottom: 145px; }
    @media screen and (max-width: 1025px) {
      .homeinterview h2 {
        margin-bottom: 0; } }

.homeinterview_img01 {
  top: -40px;
  right: -105px;
  max-width: 725px; }
  @media screen and (max-width: 1025px) {
    .homeinterview_img01 {
      top: auto;
      right: -15px;
      width: 93.3%;
      max-width: inherit;
      margin: 0 0 0 auto; } }

.homeinterview_img02 {
  top: 245px;
  left: -265px;
  max-width: 288px; }
  @media screen and (max-width: 1025px) {
    .homeinterview_img02 {
      display: none; } }

.homeinterview_img03 {
  top: 515px;
  right: -345px;
  max-width: 454px; }
  @media screen and (max-width: 1025px) {
    .homeinterview_img03 {
      display: none; } }

.homeinterview_img04 {
  top: 690px;
  left: -165px;
  max-width: 873px; }
  @media screen and (max-width: 1025px) {
    .homeinterview_img04 {
      top: auto;
      left: -10px;
      width: 93.3%;
      max-width: inherit; } }

.homeinterviewlist {
  position: relative;
  width: 100%;
  display: flex;
  z-index: 1; }
  @media screen and (max-width: 1025px) {
    .homeinterviewlist {
      flex-direction: column;
      flex-wrap: wrap; } }
  .homeinterviewlist h3 {
    color: #DB002F;
    margin-bottom: 20px; }
    @media screen and (max-width: 1025px) {
      .homeinterviewlist h3 {
        margin-bottom: 5px; } }
    .homeinterviewlist h3 .en_title {
      display: block;
      font-size: 55px;
      font-weight: 500;
      margin-bottom: 5px; }
      @media screen and (max-width: 1025px) {
        .homeinterviewlist h3 .en_title {
          font-size: 35px; } }
    .homeinterviewlist h3 .jp_title {
      display: block;
      font-size: 28px;
      line-height: 1.6; }
      @media screen and (max-width: 1025px) {
        .homeinterviewlist h3 .jp_title {
          font-size: 18px;
          margin-top: 5px; } }
  .homeinterviewlist p {
    font-size: 18px;
    margin-bottom: 35px; }
    @media screen and (max-width: 1025px) {
      .homeinterviewlist p {
        margin-bottom: 15px; } }
    .homeinterviewlist p.btn {
      margin-bottom: 0; }
      @media screen and (max-width: 1025px) {
        .homeinterviewlist p.btn {
          margin: 0 auto; } }

.l-homeinterview {
  width: 37%;
  margin: 0 8.8% 0 6.9%; }
  @media screen and (max-width: 1025px) {
    .l-homeinterview {
      width: auto;
      margin: 0 auto 50px; } }

.r-homeinterview {
  width: 37%;
  padding-top: 140px; }
  @media screen and (max-width: 1025px) {
    .r-homeinterview {
      width: auto;
      margin: 0 auto 25px;
      padding-top: 0; } }

/*
homeenvironment
*/
.homeenvironment {
  padding-bottom: 175px; }
  @media screen and (max-width: 1025px) {
    .homeenvironment {
      padding-bottom: 165px; } }
  .homeenvironment h2 {
    margin-bottom: 100px; }
    @media screen and (max-width: 1025px) {
      .homeenvironment h2 {
        width: calc(100% + 25px);
        margin-bottom: 15px; } }
    @media screen and (max-width: 1025px) {
      .homeenvironment h2 .en_title {
        font-size: 57px; } }

.homeenvironment_img01 {
  top: -10px;
  left: 345px;
  max-width: 677px; }
  @media screen and (max-width: 1025px) {
    .homeenvironment_img01 {
      top: auto;
      left: auto;
      width: 91.7%;
      max-width: inherit;
      margin: 0 -30px 0 auto; } }
  .homeenvironment_img01 img {
    border-radius: 25px; }
    @media screen and (max-width: 1025px) {
      .homeenvironment_img01 img {
        border-radius: 15px 0 0 15px; } }

.read_homeenvironment {
  position: relative;
  margin: 0 0 35px 70px; }
  @media screen and (max-width: 1025px) {
    .read_homeenvironment {
      margin: -50px 0 30px 0; } }
  .read_homeenvironment span {
    color: #FFFFFF;
    font-size: 35px;
    line-height: 1.4;
    background-color: #DB002F;
    -webkit-box-decoration-break: clone;
    padding: 3px 10px; }
    @media screen and (max-width: 1025px) {
      .read_homeenvironment span {
        font-size: 25px; } }

/*
homeqanda
*/
.homeqanda {
  padding-bottom: 170px; }
  @media screen and (max-width: 1025px) {
    .homeqanda {
      padding-bottom: 115px; } }

.homeqanda_img01 {
  top: 115px;
  right: -40px;
  max-width: 338px; }
  @media screen and (max-width: 1025px) {
    .homeqanda_img01 {
      width: 46.3%;
      top: auto;
      right: -15px;
      max-width: inherit;
      margin: -120px 0 60px auto; } }
