@charset "UTF-8";
/* home */
.bg-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}
.bg-video-inner {
  width: 100%;
  height: 100%;
  position: relative;
}
.bg-video-inner::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
}
.bg-video-inner.is-hidden::after {
  background: #282828;
}
.bg-video-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.content {
  position: relative;
}

.mv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.mv-title {
  width: 61.2820512821%;
  min-width: 200px;
  max-width: 239px;
}
@media screen and (min-width: 600px) {
  .mv-title {
    width: 54.9112426036%;
    min-width: 480px;
    max-width: 928px;
    margin: 0 auto;
  }
}
.mv-title img {
  -webkit-filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.3));
}
.mv-scroll {
  position: absolute;
  bottom: 0;
}
.mv-scroll-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  text-decoration: none;
  font-family: 'SST W20 Medium', sans-serif;
  letter-spacing: 0.05em;
}
.mv-scroll-bar {
  margin-top: 10px;
  -webkit-transform-origin: 0% 0%;
          transform-origin: 0% 0%;
  -webkit-transform: scale(1, 0);
          transform: scale(1, 0);
  -webkit-animation: elasticus 4.8s 1 2s forwards;
          animation: elasticus 4.8s 1 2s forwards;
  width: 1px;
  height: 80px;
  background: #fff;
}
@media screen and (min-width: 600px) {
  .mv-scroll-bar {
    height: 80px;
  }
}

.purpose {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0 auto;
  max-width: 1280px;
  padding: 24px 20px;
}
@media screen and (min-width: 600px) {
  .purpose {
    padding: 60px 40px;
  }
}
@media screen and (min-width: 1025px) {
  .purpose {
    padding: 80px;
  }
}
.purpose-inner {
  background: rgba(0, 0, 0, 0.25);
  color: #fff;
  padding: 40px 24px;
}
@media screen and (min-width: 600px) {
  .purpose-inner {
    padding: 60px 40px;
  }
}
@media screen and (min-width: 1025px) {
  .purpose-inner {
    padding: 80px;
  }
}
.purpose-title {
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.15em;
  font-family: 'SST W20 Bold', sans-serif;
}
@media screen and (min-width: 600px) {
  .purpose-title {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1025px) {
  .purpose-title {
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.purpose-subtitle {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.5833333333;
  position: relative;
  padding: 24px 0 48px;
}
@media screen and (min-width: 390px) {
  .purpose-subtitle {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 600px) {
  .purpose-subtitle {
    letter-spacing: 0.05em;
    font-size: 32px;
    font-size: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .purpose-subtitle {
    padding: 56px 0 80px;
    font-size: 36px;
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 1280px) {
  .purpose-subtitle {
    font-size: 40px;
    font-size: 2.5rem;
  }
}
.purpose-text {
  letter-spacing: 0.05em;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}
@media screen and (min-width: 600px) {
  .purpose-text {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 2.2222222222;
  }
}
.purpose-text:nth-of-type(n + 2) {
  margin-top: 2em;
}
.purpose-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 48px;
}
@media screen and (min-width: 600px) {
  .purpose-bottom {
    margin-top: 64px;
  }
}
@media screen and (min-width: 1280px) {
  .purpose-bottom {
    margin-top: 80px;
  }
}
.purpose-btn {
  color: #fff;
  border-radius: 100px;
  text-decoration: none;
  border: thin solid #fff;
  letter-spacing: 0.02em;
  -webkit-transition: color 0.3s, background 0.3s, border 0.3s;
  transition: color 0.3s, background 0.3s, border 0.3s;
  padding: 12px 28px;
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (min-width: 600px) {
  .purpose-btn {
    padding: 20px 53px;
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.purpose-btn:hover, .purpose-btn:focus {
  color: #282828;
  background: #fff;
  border-color: #888888;
}
.purpose-btn-caption {
  letter-spacing: 0.02em;
  color: #fff;
  text-decoration: none;
  margin-top: 16px;
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (min-width: 600px) {
  .purpose-btn-caption {
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 32px;
  }
}
.purpose-btn-caption:hover, .purpose-btn-caption:focus {
  text-decoration: underline;
}

.section {
  padding: 48px 0 60px;
}
@media screen and (min-width: 1025px) {
  .section {
    padding: 100px 0;
  }
}

@media screen and (min-width: 600px) {
  .message-inner::after {
    content: "";
    display: block;
    clear: both;
  }
}
.message-imgbox {
  margin-bottom: 32px;
}
@media screen and (min-width: 600px) {
  .message-imgbox {
    float: right;
    width: 46.4285714286%;
    margin-left: 40px;
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 1025px) {
  .message-imgbox {
    margin-left: 80px;
    margin-bottom: 0;
  }
}
.message-title {
  font-size: 14px;
  font-size: 0.875rem;
  color: #707070;
  font-family: 'SST W20 Bold', sans-serif;
  padding-bottom: 24px;
}
@media screen and (min-width: 600px) {
  .message-title {
    font-size: 17px;
    font-size: 1.0625rem;
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 1025px) {
  .message-title {
    font-size: 18px;
    font-size: 1.125rem;
    padding-bottom: 48px;
  }
}
.message-subtitle {
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: 20px;
  font-size: 1.25rem;
  padding-bottom: 32px;
}
@media screen and (min-width: 600px) {
  .message-subtitle {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 1025px) {
  .message-subtitle {
    line-height: 1.625;
    font-size: 32px;
    font-size: 2rem;
    padding-bottom: 48px;
  }
}
.message-text {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}
@media screen and (min-width: 1025px) {
  .message-text {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.875;
  }
}
.message-text + .message-text {
  margin-top: 1.2em;
}
.message-bottom {
  margin-top: 32px;
}
@media screen and (min-width: 600px) {
  .message-bottom {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1025px) {
  .message-bottom {
    margin-top: 48px;
  }
}
.message-signature, .message-signature-title {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.6666666667;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 600px) {
  .message-signature, .message-signature-title {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}
.message-signature-title {
  margin-bottom: 12px;
}
@media screen and (min-width: 600px) {
  .message-signature-title {
    margin-bottom: 14px;
  }
}
.message-position {
  display: inline;
}

.news {
  padding: 40px 0 60px;
}
@media screen and (min-width: 1025px) {
  .news {
    padding: 100px 0;
  }
}
.news-list {
  list-style: none;
  border-top: thin solid #bababa;
  border-bottom: thin solid #bababa;
  padding: 24px 0;
}
@media screen and (min-width: 600px) {
  .news-list {
    padding: 48px 0;
  }
}
@media screen and (min-width: 1025px) {
  .news-list {
    padding: 80px 0;
  }
}
.news-list-wrapper {
  margin-top: 24px;
}
@media screen and (min-width: 600px) {
  .news-list-wrapper {
    margin-top: 40px;
  }
}
.news-list.is-multiple .news-item:nth-of-type(n + 2) {
  margin-top: 24px;
}
@media screen and (min-width: 600px) {
  .news-list.is-multiple .news-item:nth-of-type(n + 2) {
    margin-top: 52px;
  }
}
@media screen and (min-width: 600px) {
  .news-list.is-multiple .news-link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.news-list.is-multiple .news-link:hover, .news-list.is-multiple .news-link:focus {
  color: #282828;
}
.news-list.is-multiple .news-link-time {
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (min-width: 600px) {
  .news-list.is-multiple .news-link-time {
    font-size: 14px;
    font-size: 0.875rem;
    width: 100px;
  }
}
@media screen and (min-width: 1025px) {
  .news-list.is-multiple .news-link-time {
    font-size: 16px;
    font-size: 1rem;
  }
}
.news-list.is-multiple .news-link-textbox {
  margin-top: 10px;
}
@media screen and (min-width: 600px) {
  .news-list.is-multiple .news-link-textbox {
    margin-top: 0;
    margin-left: 8.854%;
  }
}
.news-list.is-multiple .news-link-title {
  margin-top: 0;
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (min-width: 600px) {
  .news-list.is-multiple .news-link-title {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1025px) {
  .news-list.is-multiple .news-link-title {
    font-size: 16px;
    font-size: 1rem;
  }
}
.news-item {
  position: relative;
}
.news-item:nth-of-type(n + 2) {
  margin-top: 24px;
}
@media screen and (min-width: 600px) {
  .news-item:nth-of-type(n + 2) {
    margin-top: 48px;
  }
}
.news-link {
  color: #282828;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 600px) {
  .news-link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.news-link:hover, .news-link:focus {
  color: #000;
}
.news-link:hover .news-link-title-text,
.news-link:hover .news-link-more-text, .news-link:focus .news-link-title-text,
.news-link:focus .news-link-more-text {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(98%, transparent), color-stop(0%, #000));
  background: linear-gradient(transparent 98%, #000 0%);
}
.news-link:hover .news-link-imgbox, .news-link:focus .news-link-imgbox {
  opacity: 0.7;
}
.news-link:hover .news-link-more,
.news-link:hover .news-link-more-arrow svg, .news-link:focus .news-link-more,
.news-link:focus .news-link-more-arrow svg {
  color: #000;
  fill: #000;
}
.news-link-imgbox {
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 600px) {
  .news-link-imgbox {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 45.833%;
  }
}
.news-link-textbox {
  margin-top: 24px;
}
@media screen and (min-width: 600px) {
  .news-link-textbox {
    margin-top: 0;
    margin-left: 8.333%;
    width: 45.834%;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
}
.news-link-time {
  display: block;
  font-size: 10px;
  font-size: 0.625rem;
}
@media screen and (min-width: 600px) {
  .news-link-time {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
@media screen and (min-width: 1025px) {
  .news-link-time {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.news-link-textbox {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.news-link-category {
  color: #6f6f6f;
  /* 1stリリース時 */
  display: none;
}
.news-link-title {
  letter-spacing: 0.03em;
  margin-top: 10px;
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (min-width: 600px) {
  .news-link-title {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-top: 14px;
  }
}
@media screen and (min-width: 1025px) {
  .news-link-title {
    font-size: 18px;
    font-size: 1.125rem;
    margin-top: 24px;
  }
}
.news-link-more {
  font-size: 10px;
  font-size: 0.625rem;
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 600px) {
  .news-link-more {
    font-size: 12px;
    font-size: 0.75rem;
    margin-top: 34px;
  }
}
@media screen and (min-width: 1025px) {
  .news-link-more {
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 56px;
  }
}
.news-link-more-arrow {
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.4em;
}
.news-link-more-arrow svg {
  fill: #282828;
}
.news-link-title-text, .news-link-more-text {
  line-height: 1.6666666667;
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(98%, transparent), color-stop(0%, transparent));
  background: linear-gradient(transparent 98%, transparent 0%);
}
@media screen and (min-width: 600px) {
  .news-link-title-text, .news-link-more-text {
    line-height: 2;
  }
}
.news-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 24px;
}
@media screen and (min-width: 600px) {
  .news-bottom {
    margin-top: 36px;
  }
}
.news-bottom-link {
  color: #6f6f6f;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (min-width: 600px) {
  .news-bottom-link {
    font-size: 16px;
    font-size: 1rem;
  }
}
.news-bottom-link-arrow {
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.4em;
}
.news-bottom-link-arrow svg {
  fill: #282828;
}
.news-bottom-link:hover, .news-bottom-link:focus {
  text-decoration: underline;
}

@media screen and (min-width: 600px) {
  .company {
    padding-bottom: 100px;
  }
}
@media screen and (min-width: 1025px) {
  .company {
    padding-bottom: 140px;
  }
}
.company-inner {
  padding-bottom: 0;
}
.company-dl {
  border-top: thin solid #888888;
  border-bottom: thin solid #888888;
  padding: 40px 0;
  margin-top: 24px;
}
@media screen and (min-width: 600px) {
  .company-dl {
    padding: 80px 0;
    margin-top: 40px;
  }
}
.company-dl-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 600px) {
  .company-dl-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.company-dl-row:nth-of-type(n + 2) {
  margin-top: 24px;
}
@media screen and (min-width: 600px) {
  .company-dl-row:nth-of-type(n + 2) {
    margin-top: 40px;
  }
}
.company-dl-row dt,
.company-dl-row dd,
.company-dl-row li,
.company-dl-row p {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2;
}
@media screen and (min-width: 600px) {
  .company-dl-row dt,
.company-dl-row dd,
.company-dl-row li,
.company-dl-row p {
    font-size: 16px;
    font-size: 1rem;
  }
}
@media screen and (min-width: 600px) {
  .company-dl-row dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 120px;
  }
}
@media screen and (min-width: 1025px) {
  .company-dl-row dt {
    width: 200px;
  }
}
.company-dl-row dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.company-dl-row ul {
  list-style: none;
}

.executive-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.executive-row .position {
  display: inline-block;
  width: 150px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (min-width: 1025px) {
  .executive-row .position {
    width: 230px;
  }
}
.executive-row .name {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

#js-gsap-trigger-2 {
  position: relative;
  z-index: 10;
}