@charset "UTF-8";
/***********************
* variableFontSize
*   指定したフォントサイズが何%になるのか 
* 　を返す関数
*
* 　@param int 指定したいフォントサイズ
* 　@return %指定のフォントサイズ
*
***********************/
/***********************
* decimal-round
*
* 四捨五入(round)
* 切り上げ(ceil)
* 切り捨て(floor)
* を実装するもの(小数点第x位指定ができる)
* コピペした関数
***********************/
/* Webフォントを定義 */
@font-face {
  font-family: 'Inter';
  src: url("/assets/font/Inter-VariableFont_slnt,wght.ttf") format("truetype"); }
body {
  font-family: 'Inter'; }

.top-contents {
  margin-bottom: 127px; }
  .top-contents .fv {
    width: 100%;
    color: #fff;
    background: linear-gradient(91deg, #124FB3, #0E3E8D);
    padding-bottom: 96px; }
    .top-contents .fv .kv img {
      width: 100%; }
    .top-contents .fv .contents {
      width: 1000px;
      margin: 45px auto 0; }
    .top-contents .fv h1 {
      font-size: 13.2rem;
      font-weight: 700;
      line-height: 0.96;
      letter-spacing: -0.02em;
      margin-left: 120px;
      background: none;
      padding: 0 !important; }
      .top-contents .fv h1 + p {
        font-size: 2.4rem;
        line-height: 1.2;
        margin: 32px 0 0 120px; }
    .top-contents .fv .kvText {
      margin-top: 81px;
      display: flex;
      gap: 0 37px; }
      .top-contents .fv .kvText h2 {
        font-size: 6.8rem;
        font-weight: 700;
        line-height: 1.06;
        letter-spacing: -0.02em; }
      .top-contents .fv .kvText p {
        font-size: 1.8rem;
        line-height: 1.36;
        margin-top: 6px; }
        .top-contents .fv .kvText p + p {
          margin-top: 10px; }
  .top-contents .mission {
    margin-top: 80px; }
    .top-contents .mission > div {
      width: 1160px;
      margin: 0 auto;
      position: relative;
      padding: 201px 0 0 80px; }
      .top-contents .mission > div:before {
        content: "";
        display: block;
        width: 789px;
        height: 655px;
        background: url("/assets/img/top/img_mission.png") center top no-repeat;
        background-size: cover;
        position: absolute;
        right: 0;
        top: 0;
        z-index: -1; }
      .top-contents .mission > div h2 {
        font-size: 6.0rem;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: -0.02em; }
      .top-contents .mission > div p {
        font-size: 2.4rem;
        line-height: 1.4;
        margin-top: 6px; }
  .top-contents .vision {
    margin-top: 228px; }
    .top-contents .vision > div {
      width: 1160px;
      margin: 0 auto;
      position: relative;
      padding: 218px 81px 226px 0;
      text-align: right; }
      .top-contents .vision > div:before {
        content: "";
        display: block;
        width: 787px;
        height: 655px;
        background: url("/assets/img/top/img_vision.png") center top no-repeat;
        background-size: cover;
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1; }
      .top-contents .vision > div h2 {
        font-size: 6.0rem;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: -0.02em; }
      .top-contents .vision > div p {
        font-size: 2.4rem;
        line-height: 1.4;
        margin-top: 6px; }
  .top-contents .products {
    margin-top: 64px; }
    .top-contents .products h2 {
      font-size: 6.0rem;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: -0.02em;
      text-align: center; }
      .top-contents .products h2 + p {
        font-size: 2.4rem;
        line-height: 1.4;
        text-align: center;
        margin-top: 18px; }
    .top-contents .products .products-list {
      margin-top: 53px; }
  .top-contents .explore {
    background-color: #f9f9f9;
    margin-top: 80px; }
    .top-contents .explore > div {
      width: 1000px;
      margin: 0 auto;
      padding: 83px 0 100px 0; }
      .top-contents .explore > div h2 {
        font-size: 7.2rem;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: -0.02em;
        color: #124FB3;
        text-align: center; }
        .top-contents .explore > div h2 + p {
          font-size: 1.8rem;
          line-height: 1.2;
          text-align: center;
          margin-top: 18px; }
    .top-contents .explore .column-list {
      margin-top: 55px; }
    .top-contents .explore .btn {
      margin-top: 60px; }
  .top-contents .partner > div {
    width: 1000px;
    margin: 0 auto;
    padding: 103px 0 100px 0; }
    .top-contents .partner > div h2 {
      font-size: 7.2rem;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: -0.02em;
      color: #124FB3;
      text-align: center; }
    .top-contents .partner > div .partner-list {
      list-style: none;
      display: flex;
      justify-content: center;
      margin-top: 43px;
      gap: 0 50px; }
      .top-contents .partner > div .partner-list li {
        width: 120px; }
        .top-contents .partner > div .partner-list li img {
          width: 100%;
          height: auto;
          display: block; }
  .top-contents .partner .sliderArea {
    width: auto;
    margin: 0;
    padding: 0; }
  .top-contents .partner .slider {
    margin-top: 0; }
    .top-contents .partner .slider .slick-slide {
      padding: 20px 34px 45px; }
      .top-contents .partner .slider .slick-slide > div {
        display: flex;
        border-radius: 12px;
        box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
        padding: 46px 29px 45px 45px;
        border-radius: 12px; }
        .top-contents .partner .slider .slick-slide > div > div:nth-of-type(1) {
          width: 235px;
          position: relative;
          padding-right: 20px; }
          .top-contents .partner .slider .slick-slide > div > div:nth-of-type(1):before {
            content: "";
            width: 1px;
            height: 100%;
            background-color: #d9d9d9;
            display: block;
            position: absolute;
            right: 0;
            top: 0; }
        .top-contents .partner .slider .slick-slide > div > div:nth-of-type(2) {
          flex: 1;
          padding-left: 36px; }
    .top-contents .partner .slider .slick-next:before,
    .top-contents .partner .slider .slick-prev:before {
      content: "";
      display: inline-block;
      width: 15px;
      height: 27px;
      background: url(/assets/img/common/arrow_black.svg) left top no-repeat;
      background-size: contain;
      position: absolute;
      right: calc(50% - 7px);
      top: calc(50% - 14px);
      transform: rotate(180deg);
      transition: all 0.3s ease; }
    .top-contents .partner .slider .slick-next {
      z-index: 2;
      width: 40px;
      height: 100%;
      -webkit-transform: none;
      transform: none;
      top: 0;
      right: calc(50% - 29.1vw); }
      .top-contents .partner .slider .slick-next:before {
        transform: rotate(0deg); }
      .top-contents .partner .slider .slick-next:hover::before {
        right: calc(50% - 11px); }
    .top-contents .partner .slider .slick-prev {
      z-index: 2;
      width: 40px;
      height: 100%;
      transform: none;
      top: 0;
      left: calc(50% - 29.2vw); }
      .top-contents .partner .slider .slick-prev:hover::before {
        right: calc(50% - 3px); }
    .top-contents .partner .slider .slick-dots {
      bottom: -15px; }
      .top-contents .partner .slider .slick-dots li {
        padding: 0 4px; }
        .top-contents .partner .slider .slick-dots li.slick-active button:before {
          background-color: #124fb3; }
        .top-contents .partner .slider .slick-dots li button {
          font-size: 0;
          line-height: 0;
          display: block;
          width: 12px;
          height: 12px;
          padding: 5px;
          cursor: pointer;
          color: transparent;
          border: 0;
          outline: none;
          background: transparent; }
          .top-contents .partner .slider .slick-dots li button:before {
            font-size: 0;
            line-height: 0;
            position: absolute;
            top: 0;
            left: 0;
            width: 12px;
            height: 12px;
            content: '•';
            background: transparent;
            border-radius: 50%;
            border: 1px #a3c6ff solid; }
    .top-contents .partner .slider .img {
      position: relative;
      overflow: hidden;
      width: 160px;
      height: 160px;
      border-radius: 50%;
      margin: 0 auto; }
      .top-contents .partner .slider .img img {
        position: absolute;
        left: calc(50% - 90px);
        top: 0;
        width: 180px;
        height: 180px; }
    .top-contents .partner .slider .name {
      font-size: 2.0rem;
      font-weight: 700;
      line-height: 1.12;
      margin-top: 14px; }
    .top-contents .partner .slider .data1 {
      font-size: 1.4rem;
      font-weight: bold;
      line-height: 1.12;
      margin-top: 4px; }
    .top-contents .partner .slider .data2 {
      font-size: 1.4rem;
      line-height: 1.12;
      margin-top: 15px; }
    .top-contents .partner .slider .title {
      font-size: 2.0rem;
      font-weight: 700;
      line-height: 1.12; }
    .top-contents .partner .slider .text {
      font-size: 1.8rem;
      line-height: 1.2;
      margin-top: 16px; }

@media screen and (max-width: 765px) {
  .pc_display {
    display: none; }

  .top-contents {
    margin-bottom: 0; }
    .top-contents img {
      width: 100%; }
    .top-contents .fv {
      padding-bottom: 9.8666666667vw; }
      .top-contents .fv .kv img {
        width: 100%; }
      .top-contents .fv .contents {
        width: 100%;
        margin: 0 auto;
        padding: 8.2666666667vw 7.4666666667vw 0; }
      .top-contents .fv h1 {
        font-size: 14.4vw;
        margin-left: 0; }
        .top-contents .fv h1 + p {
          font-size: 4.8vw;
          margin: 4.5333333333vw 0 0 0; }
      .top-contents .fv .kvText {
        margin-top: 13.3333333333vw;
        display: block;
        padding: 0 1.0666666667vw; }
        .top-contents .fv .kvText h2 {
          font-size: 10.6666666667vw;
          line-height: 1.04; }
        .top-contents .fv .kvText > div {
          margin-top: 4.2666666667vw; }
        .top-contents .fv .kvText p {
          font-size: 4.2666666667vw;
          line-height: 1.4; }
          .top-contents .fv .kvText p + p {
            margin-top: -0.5333333333vw; }
    .top-contents .mission {
      margin-top: 10.6666666667vw; }
      .top-contents .mission > div {
        width: 100%;
        padding: 0 5.3333333333vw; }
        .top-contents .mission > div:before {
          width: 89.6vw;
          background: url(/assets/img/top/img_mission.png) center top no-repeat;
          background-size: contain;
          margin: 0 auto;
          right: 0px;
          position: relative;
          height: 74.1333333333vw; }
        .top-contents .mission > div h2 {
          font-size: 12.8vw;
          padding: 0 3.4666666667vw;
          margin-top: -1.0666666667vw; }
        .top-contents .mission > div p {
          font-size: 4.2666666667vw;
          margin-top: 1.0666666667vw;
          padding: 0 3.4666666667vw; }
    .top-contents .vision {
      margin-top: 10.9333333333vw; }
      .top-contents .vision > div {
        width: 100%;
        padding: 0 5.3333333333vw; }
        .top-contents .vision > div:before {
          width: 90.1333333333vw;
          background: url(/assets/img/top/img_vision.png) center top no-repeat;
          background-size: contain;
          margin: 0 auto;
          left: -0.5333333333vw;
          position: relative;
          height: 74.4vw; }
        .top-contents .vision > div h2 {
          font-size: 12.8vw;
          padding: 0 3.4666666667vw;
          margin-top: -1.0666666667vw; }
        .top-contents .vision > div p {
          font-size: 4.2666666667vw;
          margin-top: 1.0666666667vw;
          padding: 0 3.2vw; }
    .top-contents .products {
      margin-top: 16.5333333333vw; }
      .top-contents .products h2 {
        font-size: 12.8vw; }
        .top-contents .products h2 + p {
          font-size: 4.2666666667vw;
          margin-top: 1.0666666667vw;
          padding: 0 8.5333333333vw;
          text-align: left; }
      .top-contents .products .products-list {
        margin-top: 5.3333333333vw; }
    .top-contents .explore {
      /* 共通いれたら消す */ }
      .top-contents .explore > div {
        padding: 23.7333333333vw 5.3333333333vw 26.4vw 5.3333333333vw;
        width: 100%; }
        .top-contents .explore > div h2 {
          font-size: 12.8vw; }
          .top-contents .explore > div h2 + p {
            font-size: 4.2666666667vw;
            margin-top: 1.6vw;
            padding: 0 2.6666666667vw; }
      .top-contents .explore .column-list {
        width: 83.2vw !important;
        margin: 9.0666666667vw auto 0; }
      .top-contents .explore .btn {
        width: 83.2vw;
        margin: 10.6666666667vw auto 0; }
      .top-contents .explore .column-list {
        width: 83.2vw; }
        .top-contents .explore .column-list li a {
          padding: 5.0666666667vw 10.6666666667vw 3.7333333333vw 1.0666666667vw;
          flex-wrap: wrap; }
          .top-contents .explore .column-list li a .column-data1 {
            width: 100%;
            margin-right: 0;
            padding-top: 0;
            display: flex;
            align-items: center; }
            .top-contents .explore .column-list li a .column-data1 time {
              font-size: 3.4666666667vw; }
            .top-contents .explore .column-list li a .column-data1 .badge {
              font-size: 3.4666666667vw;
              margin-top: 0;
              margin-left: 3.4666666667vw;
              width: 32vw; }
          .top-contents .explore .column-list li a .column-data2 {
            margin-top: 4vw; }
            .top-contents .explore .column-list li a .column-data2 .img {
              width: 18.1333333333vw; }
              .top-contents .explore .column-list li a .column-data2 .img img {
                width: 100%;
                height: auto; }
            .top-contents .explore .column-list li a .column-data2 .text {
              margin-left: 3.4666666667vw;
              flex: 1; }
              .top-contents .explore .column-list li a .column-data2 .text p {
                font-size: 3.4666666667vw; }
                .top-contents .explore .column-list li a .column-data2 .text p.title {
                  font-size: 4.2666666667vw;
                  padding-top: 0;
                  margin-bottom: 1.0666666667vw; }
    .top-contents .partner > div {
      padding: 18.4vw 5.3333333333vw 0 5.3333333333vw;
      width: 100%; }
      .top-contents .partner > div h2 {
        font-size: 12.8vw; }
      .top-contents .partner > div .partner-list {
        flex-wrap: wrap;
        margin-top: 12.5333333333vw;
        gap: 13.3333333333vw; }
        .top-contents .partner > div .partner-list li {
          width: 32.2666666667vw; }
          .top-contents .partner > div .partner-list li img {
            width: 100%;
            height: auto;
            display: block; }
    .top-contents .partner .sliderArea {
      background-color: #f9f9f9;
      margin-top: 15.7333333333vw;
      padding: 10.6666666667vw 0; }
    .top-contents .partner .slider {
      margin-top: 0; }
      .top-contents .partner .slider .slick-slide {
        padding: 5.3333333333vw 1.6vw 13.6vw; }
        .top-contents .partner .slider .slick-slide > div {
          display: block;
          box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
          padding: 8.5333333333vw 8.8vw 17.0666666667vw 8.8vw;
          flex-wrap: wrap; }
          .top-contents .partner .slider .slick-slide > div > div:nth-of-type(1) {
            width: 100%;
            position: relative;
            padding-right: 0;
            padding-bottom: 4.5333333333vw; }
            .top-contents .partner .slider .slick-slide > div > div:nth-of-type(1):before {
              content: "";
              width: 100%;
              height: 1px;
              background-color: #d9d9d9;
              display: block;
              position: absolute;
              right: 0;
              top: initial;
              bottom: 0; }
          .top-contents .partner .slider .slick-slide > div > div:nth-of-type(2) {
            flex: 1;
            padding-left: 0;
            margin-top: 4.8vw; }
      .top-contents .partner .slider .slick-next {
        right: 10.4vw;
        top: initial;
        bottom: -0.48vw;
        height: auto; }
        .top-contents .partner .slider .slick-next:hover::before {
          right: calc(50% - 7px); }
      .top-contents .partner .slider .slick-prev {
        left: 10.6666666667vw;
        top: initial;
        bottom: -0.48vw;
        height: auto; }
        .top-contents .partner .slider .slick-prev:hover::before {
          right: calc(50% - 7px); }
      .top-contents .partner .slider .slick-dots {
        bottom: -4vw; }
        .top-contents .partner .slider .slick-dots li {
          padding: 0 1.0666666667vw;
          margin: 0 1.0666666667vw; }
          .top-contents .partner .slider .slick-dots li.slick-active button:before {
            background-color: #124fb3; }
          .top-contents .partner .slider .slick-dots li button {
            font-size: 0;
            line-height: 0;
            display: block;
            width: 3.2vw;
            height: 3.2vw;
            padding: 1.3333333333vw;
            cursor: pointer;
            color: transparent;
            border: 0;
            outline: none;
            background: transparent; }
            .top-contents .partner .slider .slick-dots li button:before {
              font-size: 0;
              line-height: 0;
              top: 0;
              left: 0;
              width: 3.2vw;
              height: 3.2vw;
              content: '•';
              background: transparent;
              border: 1px #a3c6ff solid; }
      .top-contents .partner .slider .img {
        position: relative;
        overflow: hidden;
        width: 32vw;
        height: 32vw;
        margin: 0 auto; }
        .top-contents .partner .slider .img img {
          position: absolute;
          left: calc(50% - pxToVw(60));
          top: 0;
          width: 32vw;
          height: 32vw; }
      .top-contents .partner .slider .name {
        font-size: 5.3333333333vw;
        margin-top: 4.2666666667vw; }
      .top-contents .partner .slider .data1 {
        font-size: 3.7333333333vw;
        margin-top: 0.2666666667vw; }
      .top-contents .partner .slider .data2 {
        font-size: 3.7333333333vw;
        margin-top: 2.6666666667vw; }
      .top-contents .partner .slider .title {
        font-size: 5.3333333333vw;
        margin-top: 0; }
      .top-contents .partner .slider .text {
        font-size: 4.2666666667vw;
        margin-top: 4vw; } }

/*# sourceMappingURL=style.css.map */
