@charset "UTF-8";

html {
  font-size: 62.5%;
}

body {
  overflow: visible;
}

/* sp */
/* p {
  font-size: 1.4rem;
} */

h2 {
  font-size: 1.9rem;
}

h3 {
  font-size: 1.6rem;
}

/* sec01 */
.container01 {
  width: 100%;
  height: 45vw;
  position: relative;
  background-image: url(../images/message/06_MV.jpg);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
}

/* sec02 */
#sec02 {
  margin-top: 4.5vw;
}

.container02 {
  margin-bottom: 20%;
}

.name__frame {
  /* margin-top: 17vw; */
  width: 100%;
  height: 43vw;
  background-image: url(../images/message/06_sec01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

/* .name {
  position: absolute;
  top: 70%;
  right: 5%;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  color: var(--color-black);
  z-index: 2;
} */
.name {
  display: none;
}

.name span {
  font-size: 1.7rem;
}

.text__title {
  padding-top: 6vw;
  padding-left: 6%;
}

#sec02 img {
  width: 70%;
  height: auto;
  padding: 6vw 0 0 6%;
}

.txt {
  font-size: 1.4rem;
  line-height: 2.3;
  display: grid;
  margin: 9vw auto 0;
  width: 88%;
  letter-spacing: 0.1em;
  gap: 9vw 0;
}

.text01,
.text02,
.text03 {
  display: inline-block;
  text-align: start;
}

.text05 {
  display: inline-block;
  text-align: end;
  &>span{
    font-size:120%;
  }
}

.scroll-label {
  display: none;
}

/* sp */

/* pc */
@media screen and (min-width: 999.8px) {

  h2 {
    font-size: 3.5rem;
  }

  h3 {
    font-size: 2.6rem;
  }

  /* sec01 */
  .container01 {
    width: 100%;
    height: 27vw;
    position: relative;
    background-image: url(../images/message/06_MV.jpg);
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
  }

  /* sec02 */
  .container02 {
    width: 100%;
    margin-bottom: 0;
    /* height: 42vw; */
    /* background-image: url(../images/06_sec01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 8vw; */
  }

  .name__frame {
    height: 0;
    margin: 0;
  }

  .name__frame>* {
    display: none;
  }

  .name__frame p {
    display: block;
    position: absolute;
    top: 34vw;
    right: 25%;
    font-size: 1.7rem;
    color: var(--color-white);
    z-index: 2;
  }

  .item {
    width: 36.5%;
    height: 100%;
    /* height: 42vw; */
    margin: 0 52% 0 13%;
    background-color: rgba(255, 255, 255, 0.902);
  }

  .text__title {
    font-size: 1.7rem;
    padding: 4vw 13.7% 0;
  }

  #sec02 img {
    width: 90%;
    height: auto;
    padding: 3vw 13.7% 0;
  }

  #sec02 {
    overflow: visible;
  }

  .sticky {
    position: relative;
    z-index: 1;
  }

  .sticky__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }

  .sticky__bg .sticky__img {
    background-image: url(../images/message/06_sec01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 70% 0;
    position: sticky;
    width: 100%;
    height: calc(100vh - var(--header-height));
    top: var(--header-height);
    left: 0;
    z-index: -1;
  }

  .sticky__bg .sticky__img .name {
    display: block;
    position: absolute;
    bottom: 60px;
    right: 20%;
    color: var(--color-white);
  }

  .sticky__bg .sticky__img .name span {
    font-size: 2.6rem;
    display: block;
  }

  .scroll-container {
    position: relative;
    display: inline-block;
  }

  .scroller {
    width: 72%;
    /* height: 20vw; */
    /* overflow-y: scroll; */
    margin: 3vw auto;
    /* padding-left: 1vw; */
    box-sizing: content-box;
    background: transparent;
    direction: rtl;
  }

  .txt {
    display: grid;
    width: 100%;
    /* min-width: 230px; */
    /* height: 20vw; */
    text-align: left;
    gap: 3vw 0;
    font-size: 1.6rem;
    line-height: 2.2;
    letter-spacing: 0.075em;
    /* font-weight: 500; */
    margin: 0 0 3.5vw 0;
    direction: ltr;
  }

  .scroll-label {
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
  }

  .scroll-label__txt {
    position: sticky;
    top: 100px;
    width: 36.5%;
    height: calc(100vh - 100px);
    margin: 0 52% 0 13%;
  }

  .scroll-label__txt>p {
    writing-mode: vertical-lr;
    position: absolute;
    top: 68vh;
    left: 2vw;
    font-size: 1.2rem;
    color: var(--color-main);
  }

  .scroll-label__txt>p::before {
    content: "";
    display: block;
    width: 1px;
    height: 100px;
    background-color: var(--color-main);
    position: absolute;
    animation: scroll 2s ease 0s infinite normal;
  }

  @keyframes scroll {
    0% {
      height: 0;
    }

    100% {
      height: 100px;
    }
  }


}

/* pc */

/* grid */
.grid-box {
  width: 88%;
  margin: 0 auto;
  display: block;
  border: 1px solid var(--color-main);
  /* margin-block: 9vw; */

  &>.border_bottom {
    border-bottom: 1px solid var(--color-main);
  }

  &>.border_bottom_sp {
    border-bottom: 1px solid var(--color-main);
  }

  &>.border_right {
    border-right: none;
  }

}

.grid-item {
  font-size: 1.8rem;

  &>.grid-item__inner>a>.grid-item__txt>span {
    display: block;
    font-size: 1.4rem;
    color: var(--color-main);
  }

}

.grid-item__inner {
  height: 100%;
  /* padding-block: 2rem; */
}

.grid-item__inner>a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 2rem 4rem;
  transition: all 0.2s ease;
}

.grid-item>.grid-item__inner>a>.grid-item__arrow {
  display: flex;
  width: 32px;
  height: 32px;
  color: #b8b8b8;
  border: 1px solid #b8b8b8;
  border-radius: 50%;
  font-size: 2.4rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;

  &>.bi-arrow-right-short {
    position: relative;
    left: 1px;
    display: inline-block;
    line-height: 1;
  }

}

.grid-item__inner>a:hover {
  background-color: var(--color-main);
  color: var(--color-white);

  &>.grid-item__txt>span {
    color: var(--color-white);
  }

  &>.grid-item__arrow {
    border-color: var(--color-white);
    background-color: var(--color-white);
  }

  &>.grid-item__arrow {
    color: var(--color-main);
  }
}

@media screen and (min-width: 999.8px) {
  .grid-box {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    border: 1px solid var(--color-main);

    &>.border_bottom_sp {
      border-bottom: none;
    }

    &>.border_right {
      border-right: 1px solid var(--color-main);
    }

  }

  .grid-item {
    font-size: 2.4rem;

    &>.grid-item__inner>a>.grid-item__txt>span {
      display: block;
      font-size: 1.6rem;
    }

    &._01 {
      grid-row: 1 / 2;
      grid-column: 1 / 3;
    }

    &._02 {
      grid-row: 2 / 3;
      grid-column: 1 / 2;
    }

    &._03 {
      grid-row: 2 / 3;
      grid-column: 2 / 3;
    }

    &._04 {
      grid-row: 3 / 4;
      grid-column: 1 / 2;
    }

    &._05 {
      grid-row: 3 / 4;
      grid-column: 2 / 3;
    }

    &._06 {
      grid-row: 4 / 5;
      grid-column: 1 / 2;
    }

    &._07 {
      grid-row: 4 / 5;
      grid-column: 2 / 3;
    }

  }

  .grid-item__inner {
    height: 100%;
  }
}