@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
img {
  width: 100%; }

.blur {
  opacity: 0;
  transform: translateY(50px);
  /* 初期状態で下にずらす */
  filter: blur(5px);
  /* 初期状態でブラー */
  transition: opacity 1s ease-out, transform 1s ease-out, filter 1s ease-out; }

.blur.show {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  /* ブラー解除 */ }

img.mov {
  backdrop-filter: blur(12px); }

@keyframes gradientFlow {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }
main {
  overflow: hidden;
  position: relative; }
  main:before {
    position: absolute;
    content: "";
    background: url("../img/common/baseback.jpg") repeat top center/100%;
    height: 100%;
    width: 100%;
    z-index: -2; }
  main header {
    position: fixed;
    display: flex;
    justify-content: space-between;
    align-items: center;
    left: 0vw;
    height: 5.1244509517vw;
    z-index: 6;
    top: 0vw;
    width: 100vw;
    background: #fff;
    transition: background-color 0.4s ease; }
    main header.is-scrolled {
      background: #fff; }
    main header h1 {
      width: 26.3543191801vw;
      margin: 0.3660322108vw auto 0 1.8301610542vw; }
      main header h1 small {
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: 1.5373352855vw; }
    main header .menu {
      display: flex;
      justify-content: flex-end;
      font-size: 1.2445095168vw;
      font-weight: 700;
      margin-right: 14.3484626647vw;
      padding-top: 1.756954612vw; }
      main header .menu div {
        margin-left: 1.1713030747vw; }
      main header .menu .link {
        font-family: "Montserrat", sans-serif;
        font-weight: 400;
        padding: 1.4641288433vw 0 2.196193265vw; }
        main header .menu .link a {
          color: #000; }
      main header .menu .trigger {
        font-family: "Montserrat", sans-serif;
        font-weight: 400;
        padding: 1.4641288433vw 0 2.196193265vw;
        transition: opacity 0.3s ease-out;
        cursor: pointer; }
        main header .menu .trigger a {
          color: #000; }
        main header .menu .trigger:hover {
          opacity: 0.7;
          position: relative; }
      main header .menu .trigger:hover + .navchild--inner,
      main header .menu .navchild--inner:hover {
        display: block;
        opacity: 1;
        pointer-events: all; }
      main header .menu .trigger:hover {
        position: relative; }
        main header .menu .trigger:hover:after {
          position: absolute;
          content: "";
          display: block;
          width: 0;
          height: 0;
          bottom: 0.7320644217vw;
          left: 50%;
          margin-left: -0.7320644217vw;
          border-style: solid;
          border-width: 0px 0.7320644217vw 1.4641288433vw 0.7320644217vw;
          border-color: transparent transparent #000 transparent; }
      main header .menu .navchild--inner {
        display: none;
        opacity: 0;
        transition: opacity 0.3s ease;
        position: absolute;
        background: black;
        width: 100%;
        left: 0;
        padding: 2.196193265vw 0;
        top: 5.1244509517vw;
        z-index: 2;
        margin-left: 0; }
        main header .menu .navchild--inner ul {
          display: flex;
          justify-content: center; }
          main header .menu .navchild--inner ul li {
            width: 23.4260614934vw;
            font-weight: 300;
            font-size: 1.1713030747vw;
            font-weight: bold;
            margin: 0 1.4641288433vw;
            text-align: center; }
            main header .menu .navchild--inner ul li a {
              display: block;
              color: #fff;
              padding-bottom: 0.7320644217vw;
              position: relative;
              padding: 0.7320644217vw 0;
              border-bottom: 0.0732064422vw solid #fff; }
              main header .menu .navchild--inner ul li a figure {
                display: block;
                margin-bottom: 0.7320644217vw; }
            main header .menu .navchild--inner ul li.blank a {
              position: relative; }
              main header .menu .navchild--inner ul li.blank a:after {
                position: absolute;
                content: "";
                background: url("../img/common/blank_w.svg") no-repeat center center/cover;
                width: 0.8235724744vw;
                height: 0.9150805271vw;
                right: 5.1244509517vw;
                top: 50%;
                margin-top: -0.4575402635vw;
                transition: none; }
    main header .corp {
      position: absolute;
      top: 0.3660322108vw;
      right: 2.3426061493vw;
      font-family: "Montserrat", sans-serif;
      font-weight: 400;
      font-size: 1.0248901903vw; }
      main header .corp a {
        display: block;
        color: #000;
        position: relative;
        cursor: pointer; }
        main header .corp a:after {
          position: absolute;
          content: "";
          display: block;
          width: 0;
          height: 0;
          right: -2.0497803807vw;
          bottom: 0.439238653vw;
          border-style: solid;
          border-width: 0.7320644217vw 0px 0px 1.756954612vw;
          border-color: transparent transparent transparent #000; }
    main header .entryhead {
      position: absolute;
      right: 1.9765739385vw;
      top: 1.8301610542vw;
      width: 10.980966325vw; }
      main header .entryhead .entry {
        width: 100%;
        background: #ec723d;
        font-family: "Montserrat", sans-serif;
        font-weight: 600;
        text-align: center;
        font-size: 1.0980966325vw;
        padding: 0.5124450952vw 0;
        color: #fff;
        border-radius: 2.9282576867vw;
        position: relative;
        cursor: pointer; }
        main header .entryhead .entry:after {
          position: absolute;
          content: "";
          width: 0.5856515373vw;
          height: 0.5856515373vw;
          border-bottom: 0.0732064422vw solid;
          border-right: 0.0732064422vw solid;
          border-color: #fff;
          right: 1.1713030747vw;
          top: 0.9516837482vw;
          transform: rotate(45deg); }
      main header .entryhead .trigger {
        cursor: pointer; }
      main header .entryhead .entnav {
        display: none;
        position: absolute;
        top: 2.9282576867vw;
        left: 0; }
        main header .entryhead .entnav li {
          width: 10.980966325vw;
          text-align: center;
          font-family: "Noto Sans JP", sans-serif;
          font-size: 1.0248901903vw;
          line-height: 1.2;
          font-weight: 700;
          border-radius: 2.196193265vw;
          background: #fff; }
          main header .entryhead .entnav li a {
            text-align: center;
            display: block;
            padding: 0.439238653vw 0;
            color: #263f5d;
            border-radius: 2.196193265vw;
            position: relative; }
            main header .entryhead .entnav li a:after {
              position: absolute;
              content: "";
              width: 0.5856515373vw;
              height: 0.5856515373vw;
              border-bottom: 0.0732064422vw solid;
              border-right: 0.0732064422vw solid;
              border-color: #263f5d;
              right: 1.1713030747vw;
              top: 1.317715959vw;
              transform: rotate(-45deg); }
          main header .entryhead .entnav li:last-child {
            margin-top: 0.7320644217vw; }
    main header nav {
      position: absolute;
      background: #fff;
      display: none;
      width: 100%;
      top: 4.3191800878vw;
      text-align: center;
      right: 0;
      border-top: 0.0732064422vw solid #333; }
      main header nav .navinner {
        width: 74.9633967789vw;
        padding: 2.196193265vw 0 4.39238653vw;
        margin: 0 auto;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        font-weight: 400;
        gap: 2% 1%; }
        main header nav .navinner .lead {
          font-family: "Poppins", sans-serif;
          font-weight: 200;
          font-size: 2.0497803807vw;
          text-align: left;
          line-height: 1;
          padding-top: 1.8301610542vw; }
        main header nav .navinner div {
          width: 24%;
          padding-top: 0vw; }
          main header nav .navinner div li {
            padding-top: 0.7320644217vw;
            text-align: left; }
    main header .hamburger {
      display: none;
      position: absolute;
      z-index: 15;
      top: 0;
      right: 0;
      width: 4.3557833089vw;
      height: 4.3557833089vw;
      cursor: pointer;
      text-align: center;
      background: #000; }
      main header .hamburger.change span {
        background: #091C31; }
    main header .hamburger span {
      display: block;
      position: absolute;
      width: 2.635431918vw;
      margin-left: -1.317715959vw;
      height: 1px;
      left: 50%;
      background: #fff;
      -webkit-transition: 0.5s ease-in-out;
      -moz-transition: 0.5s ease-in-out;
      transition: 0.5s ease-in-out; }
    main header .hamburger span:nth-child(1) {
      top: 50%;
      margin-top: -0.2928257687vw; }
    main header .hamburger span:nth-child(2) {
      margin-top: 0.2928257687vw;
      top: 50%; }
    main header .hamburger.active span:nth-child(1) {
      top: 50%;
      margin-top: 0;
      -webkit-transform: rotate(335deg);
      -moz-transform: rotate(335deg);
      transform: rotate(335deg);
      background: #fff; }
    main header .hamburger.active span:nth-child(2) {
      top: 50%;
      margin-top: 0;
      -webkit-transform: rotate(-335deg);
      -moz-transform: rotate(-335deg);
      transform: rotate(-335deg);
      background: #fff; }
    main header .font-size-switch {
      display: none; }
  main article {
    width: 100%; }
    main article .kv--cont h2 {
      width: 74.9633967789vw;
      height: 36.6032210835vw;
      margin: 0 auto;
      left: 50%;
      margin-left: -37.4816983895vw;
      position: absolute;
      justify-content: center;
      align-content: center;
      z-index: 2;
      text-align: center; }
      main article .kv--cont h2 strong {
        display: block;
        font-family: "Cormorant", serif;
        font-weight: 600;
        font-size: 7.3206442167vw;
        letter-spacing: 0.04em;
        line-height: 1;
        color: #fff; }
      main article .kv--cont h2 small {
        display: inline-block;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 700;
        font-size: 1.3909224012vw;
        background: #005bab;
        color: #fff;
        padding: 0.2196193265vw 2.9282576867vw 0.2196193265vw 2.9282576867vw;
        position: relative; }
    main article .kv--cont figure {
      width: 100%;
      position: relative; }
      main article .kv--cont figure:before {
        position: absolute;
        content: "";
        background: rgba(0, 0, 0, 0.4);
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 2; }
    main article .kv--cont .txt {
      width: 74.9633967789vw;
      margin: 0 auto;
      padding: 5.1244509517vw 0;
      font-size: 1.0980966325vw;
      font-weight: 500;
      line-height: 1.9;
      text-align: justify; }
      main article .kv--cont .txt.cet {
        text-align: center; }
  main footer {
    position: relative;
    background: #fff;
    padding: 3.6603221083vw 3.6603221083vw 2.196193265vw; }
    main footer .pagetop {
      position: absolute;
      width: 5.1244509517vw;
      right: 1.4641288433vw;
      top: -6.588579795vw;
      z-index: 5; }
    main footer .logo {
      width: 24.1581259151vw; }
    main footer .footer--under {
      color: #000;
      display: flex;
      justify-content: space-between;
      font-weight: 400;
      align-items: center;
      padding: 1.4641288433vw 0vw 0; }
      main footer .footer--under ul {
        display: flex; }
        main footer .footer--under ul li {
          padding-right: 1.8301610542vw;
          margin-right: 0.7320644217vw; }
          main footer .footer--under ul li:first-child {
            border-right: 0.0732064422vw solid #000; }
          main footer .footer--under ul li a {
            color: #000;
            display: block;
            position: relative; }
            main footer .footer--under ul li a:after {
              position: absolute;
              content: "";
              background: url("../img/common/blank.svg") no-repeat center center/cover;
              width: 0.8235724744vw;
              height: 0.9150805271vw;
              right: -1.0980966325vw;
              top: 50%;
              margin-top: -0.4575402635vw;
              transition: none; }
      main footer .footer--under .link {
        font-weight: 400;
        font-size: 1.0248901903vw; }
      main footer .footer--under .copy {
        font-weight: 400;
        font-size: 1.0248901903vw; }

@media screen and (max-width: 767px) {
  body.open {
    overflow: hidden;
    height: 100vh; }

  main {
    overflow: hidden;
    position: relative; }
    main:before {
      position: absolute;
      content: "";
      background: url("../img/common/baseback.jpg") repeat top center/100%;
      height: 100%;
      width: 100%;
      z-index: -2; }
    main header {
      position: fixed;
      display: flex;
      justify-content: space-between;
      align-items: center;
      left: 0vw;
      height: 16vw;
      z-index: 6;
      top: 0vw;
      width: 100vw;
      transition: background-color 0.4s ease;
      /* 常に表示 */ }
      main header.is-scrolled {
        background: #fff; }
      main header h1 {
        width: 42.6666666667vw;
        margin: 0vw auto 0 2.6666666667vw; }
        main header h1 small {
          display: block;
          font-family: "Montserrat", sans-serif;
          font-weight: 500;
          font-size: 3.2vw;
          margin-top: 1.3333333333vw;
          margin-left: 0vw; }
      main header .menu {
        display: none;
        position: fixed;
        top: 16vw;
        left: 0;
        width: 100%;
        height: calc(100dvh - 16vw);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        font-size: 4vw;
        font-weight: 700;
        background: black;
        z-index: 9999; }
        main header .menu:after {
          content: "";
          display: block;
          height: 100px; }
        main header .menu div {
          margin-left: 0vw; }
        main header .menu .link {
          font-family: "Montserrat", sans-serif;
          font-weight: 400;
          padding: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw;
          border-bottom: 0.2666666667vw solid #ccc; }
          main header .menu .link a {
            color: #fff; }
        main header .menu .trigger {
          font-family: "Montserrat", sans-serif;
          font-weight: 400;
          padding: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw;
          transition: opacity 0.3s ease-out;
          cursor: pointer;
          border-bottom: 0.2666666667vw solid #666;
          color: #fff; }
          main header .menu .trigger a {
            color: #fff; }
          main header .menu .trigger:hover {
            opacity: 0.7;
            position: relative; }
        main header .menu .trigger:hover + .navchild--inner,
        main header .menu .navchild--inner:hover {
          display: block;
          opacity: 1;
          pointer-events: all; }
        main header .menu .trigger:hover {
          position: relative; }
        main header .menu .navchild--inner {
          display: block;
          opacity: 1;
          transition: opacity 0.3s ease;
          position: relative;
          background: #282828;
          width: 100%;
          left: 0;
          padding: 2.1333333333vw 0vw;
          top: 0vw;
          z-index: 2;
          margin-left: 0; }
          main header .menu .navchild--inner ul {
            display: flex;
            justify-content: flex-start;
            flex-wrap: wrap;
            padding-left: 2.6666666667vw;
            gap: 0 1%; }
            main header .menu .navchild--inner ul li {
              width: 49%;
              font-weight: 400;
              font-size: 2.6666666667vw;
              padding: 0 0 0.5333333333vw 0;
              margin: 0;
              text-align: left;
              letter-spacing: 0; }
              main header .menu .navchild--inner ul li a {
                display: block;
                color: #fff;
                padding: 0 0 1.3333333333vw 0;
                position: relative;
                border-bottom: 0.2666666667vw solid #fff; }
                main header .menu .navchild--inner ul li a figure {
                  display: none; }
              main header .menu .navchild--inner ul li:nth-child(n + 3) {
                padding-top: 1.3333333333vw; }
              main header .menu .navchild--inner ul li.blank a {
                position: relative; }
                main header .menu .navchild--inner ul li.blank a:after {
                  position: absolute;
                  content: "";
                  background: url("../img/common/blank_w.svg") no-repeat center center/cover;
                  width: 2.4vw;
                  height: 2.6666666667vw;
                  right: 0vw;
                  top: 50%;
                  margin-top: -1.6vw;
                  transition: none; }
        main header .menu > .navchild:nth-of-type(4) .navchild--inner ul li {
          width: 49% !important; }
        main header .menu > .navchild:nth-of-type(1) .navchild--inner ul li:first-child {
          width: 49%; }
        main header .menu > .navchild:nth-of-type(1) .navchild--inner ul li:last-child {
          width: 49%; }
        main header .menu > .navchild:nth-of-type(3) .navchild--inner ul li:first-child {
          width: 49%; }
        main header .menu > .navchild:nth-of-type(3) .navchild--inner ul li:last-child {
          width: 49%; }
      main header .menu > .corp,
      main header .menu > .entryhead {
        display: block; }
      main header .corp {
        position: fixed;
        top: 1.3333333333vw;
        right: 21.3333333333vw;
        font-family: "Montserrat", sans-serif;
        font-weight: 400;
        font-size: 2.9333333333vw; }
        main header .corp a {
          display: block;
          color: #000;
          position: relative; }
          main header .corp a:after {
            position: absolute;
            content: "";
            display: block;
            width: 0;
            height: 0;
            right: -3.7333333333vw;
            bottom: 1.6vw;
            border-style: solid;
            border-width: 1.3333333333vw 0px 0px 3.2vw;
            border-color: transparent transparent transparent #000; }
      main header .entryhead {
        position: fixed;
        right: 18.6666666667vw;
        top: 5.3333333333vw;
        width: 26.6666666667vw;
        z-index: 9999; }
        main header .entryhead .entry {
          width: 100%;
          background: #ec723d;
          font-family: "Montserrat", sans-serif;
          font-weight: 600;
          text-align: center;
          font-size: 3.4666666667vw;
          padding: 0vw 0;
          color: #fff;
          border-radius: 10.6666666667vw;
          position: relative; }
          main header .entryhead .entry:after {
            position: absolute;
            content: "";
            width: 1.0666666667vw;
            height: 1.0666666667vw;
            border-bottom: 0.2666666667vw solid;
            border-right: 0.2666666667vw solid;
            border-color: #fff;
            right: 2.6666666667vw;
            top: 1.8666666667vw;
            transform: rotate(45deg); }
        main header .entryhead .trigger {
          cursor: pointer; }
        main header .entryhead .entnav {
          display: none;
          position: absolute;
          top: 9.3333333333vw;
          left: 0;
          z-index: 5; }
          main header .entryhead .entnav li {
            width: 26.6666666667vw;
            text-align: center;
            font-family: "Noto Sans JP", sans-serif;
            font-size: 2.9333333333vw;
            line-height: 1.2;
            font-weight: 700;
            border-radius: 2.196193265vw;
            background: #fff; }
            main header .entryhead .entnav li a {
              text-align: center;
              display: block;
              padding: 0.3660322108vw 0;
              color: #263f5d;
              border-radius: 2.196193265vw;
              position: relative; }
              main header .entryhead .entnav li a:after {
                position: absolute;
                content: "";
                width: 1.0666666667vw;
                height: 1.0666666667vw;
                border-bottom: 0.2666666667vw solid;
                border-right: 0.2666666667vw solid;
                border-color: #263f5d;
                right: 2.6666666667vw;
                top: 3.2vw;
                transform: rotate(-45deg); }
            main header .entryhead .entnav li:last-child {
              margin-top: 0.7320644217vw; }
      main header nav {
        position: absolute;
        background: #fff;
        display: block;
        width: 100%;
        top: 4.3191800878vw;
        text-align: center;
        right: 0;
        border-top: 0.0732064422vw solid #333; }
        main header nav .navinner {
          width: 74.9633967789vw;
          padding: 2.196193265vw 0 4.39238653vw;
          margin: 0 auto;
          display: flex;
          justify-content: flex-start;
          flex-wrap: wrap;
          font-weight: 400;
          gap: 2% 1%; }
          main header nav .navinner .lead {
            font-family: "Poppins", sans-serif;
            font-weight: 200;
            font-size: 2.0497803807vw;
            text-align: left;
            line-height: 1;
            padding-top: 1.8301610542vw; }
          main header nav .navinner div {
            width: 24%;
            padding-top: 0vw; }
            main header nav .navinner div li {
              padding-top: 0.7320644217vw;
              text-align: left; }
      main header .hamburger {
        display: block;
        position: fixed;
        z-index: 15;
        top: 0;
        right: 0;
        width: 16vw;
        height: 16vw;
        cursor: pointer;
        text-align: center;
        background: #000; }
        main header .hamburger.change span {
          background: #091C31; }
      main header .hamburger span {
        display: block;
        position: absolute;
        width: 9.6vw;
        margin-left: -4.8vw;
        height: 0.2666666667vw;
        left: 50%;
        background: #fff;
        -webkit-transition: 0.5s ease-in-out;
        -moz-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out; }
      main header .hamburger span:nth-child(1) {
        top: 50%;
        margin-top: -1.0666666667vw; }
      main header .hamburger span:nth-child(2) {
        margin-top: 1.0666666667vw;
        top: 50%; }
      main header .hamburger.active span:nth-child(1) {
        top: 50%;
        margin-top: 0;
        -webkit-transform: rotate(335deg);
        -moz-transform: rotate(335deg);
        transform: rotate(335deg);
        background: #fff; }
      main header .hamburger.active span:nth-child(2) {
        top: 50%;
        margin-top: 0;
        -webkit-transform: rotate(-335deg);
        -moz-transform: rotate(-335deg);
        transform: rotate(-335deg);
        background: #fff; }
      main header .font-size-switch {
        display: none;
        position: absolute;
        right: 20vw;
        top: 1.8666666667vw;
        gap: 2.1333333333vw; }
        main header .font-size-switch button {
          font-size: 3.2vw;
          border-radius: 8vw;
          border: none;
          background: #263f5d;
          color: #fff; }
    main article {
      width: 100%; }
      main article .kv--cont {
        width: 100%; }
        main article .kv--cont h2 {
          height: 40vw; }
          main article .kv--cont h2 strong {
            font-size: 16vw; }
          main article .kv--cont h2 small {
            font-size: 3.2vw;
            padding: 0.8vw 5.3333333333vw 0.8vw 5.3333333333vw; }
        main article .kv--cont figure {
          width: 100%;
          overflow: hidden; }
          main article .kv--cont figure img {
            width: 120%;
            max-width: 120%; }
        main article .kv--cont .txt {
          width: 90.6666666667vw;
          margin: 0 auto;
          padding: 9.3333333333vw 0;
          font-size: 3.4666666667vw; }
    main footer {
      position: relative;
      background: #fff;
      padding: 8vw 2vw 8vw; }
      main footer .pagetop {
        position: absolute;
        width: 10.6666666667vw;
        right: 2.6666666667vw;
        top: -13.3333333333vw;
        z-index: 4; }
      main footer .logo {
        width: 66.6666666667vw;
        margin: 0 auto; }
      main footer .footer--under {
        color: #000;
        display: flex;
        justify-content: center;
        font-weight: 400;
        align-items: center;
        flex-wrap: wrap;
        padding: 5.3333333333vw 0vw 0; }
        main footer .footer--under ul {
          display: flex;
          justify-content: center;
          width: 100%; }
          main footer .footer--under ul li {
            font-size: 3.2vw;
            margin-right: 2.6666666667vw;
            padding-right: 6.6666666667vw; }
            main footer .footer--under ul li:first-child {
              border-right: 0.0732064422vw solid #000;
              margin-left: 4vw; }
            main footer .footer--under ul li a {
              color: #000;
              display: block;
              position: relative; }
              main footer .footer--under ul li a:after {
                position: absolute;
                content: "";
                background: url("../img/common/blank.svg") no-repeat center center/cover;
                width: 3vw;
                height: 3.3333333333vw;
                right: -4vw;
                top: 50%;
                margin-top: -1.6666666667vw;
                transition: none; }
        main footer .footer--under .link {
          font-weight: 400;
          font-size: 3.4666666667vw; }
        main footer .footer--under .copy {
          margin-top: 2.6666666667vw;
          font-weight: 400;
          font-size: 3.2vw; } }
@media screen and (max-width: 767px) and (hover: hover) {
  .trigger:hover + .navchild--inner,
  .navchild--inner:hover {
    display: block;
    opacity: 1; } }
html {
  --font-scale: 1; }

/* =========================================================
 * reset　　　    /*リセット
========================================================= */
blockquote, body, div, dl, dt, dd, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, select, span, textarea, td, th, ul, figure, figcaption {
  margin: 0px;
  padding: 0px; }

fieldset, img {
  border: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%; }

ol {
  list-style-type: none; }

ul {
  list-style-type: none; }
  ul li {
    list-style-type: none; }
    ul li img {
      line-height: 0;
      font-size: 0;
      vertical-align: top; }

img {
  border: none;
  vertical-align: bottom; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

iframe {
  border: none; }

a:focus {
  outline: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

/* IE */
* html ul li dl, * html ol li dl {
  display: inline; }
*:first-child + html ul li dl, *:first-child + html ol li dl {
  display: inline; }

/* =========================================================
 * default settings      　   /*デフォルトセッティング
========================================================= */
html {
  font-size: 62.5%;
  overflow: auto; }

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-break: break-all;
  /*CJK (中国語、台湾語、日本語、韓国語) 以外のテキストにおいて、単語中などでの文字の改行に関する禁則処理を解除し、どの文字の間でも改行するようにします。*/ }

body {
  overflow: hidden;
  -webkit-text-size-adjust: 100%;
  font: inherit;
  font-size: 1vw;
  /*ゴシック体設定*/
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  /*明朝体設定*/
  line-height: 1.6;
  color: #091C31;
  background: #fff;
  font-weight: 900; }

a {
  width: 100%;
  height: auto;
  display: block;
  text-decoration: none;
  color: #091C31;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }
  a:hover {
    opacity: 0.5;
    -webkit-opacity: .5;
    -moz-opacity: .5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha(opacity=70)"; }

.soon {
  pointer-events: none;
  opacity: .5; }

.hide, .hidden {
  visibility: hidden; }

p {
  line-break: strict; }

img {
  max-width: 100%; }

main {
  display: block; }

.pc {
  display: block; }

.sp {
  display: none; }

@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100%;
    background: #fff;
    min-width: 100%; }

  a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none; }
    a:hover {
      opacity: .5;
      -webkit-opacity: .5;
      -moz-opacity: .5;
      filter: alpha(opacity=50);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=50)";
      /* IE 8 */ }

  img {
    width: 100%; }

  .pc {
    display: none; }

  .sp {
    display: block; } }
/* =========================================================
 * font
========================================================= */
.montserrat {
  font-family: "Montserrat", sans-serif; }

.notosans {
  font-family: "Noto Sans JP", sans-serif; }

.notoserif {
  font-family: "Noto Serif JP", serif; }

.cormorant {
  font-family: "Cormorant", serif; }

.barlow {
  font-family: "Barlow Condensed", sans-serif; }

/* =========================================================
 * clearfix　　   /*クリアフィックス
========================================================= */
.clearfix {
  zoom: 1; }
  .clearfix:before {
    content: "";
    display: table; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

/* =========================================================
 * fade Animation　　   /*フェード アニメーション
========================================================= */
.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right,
.opening {
  position: relative;
  opacity: 0;
  transition: opacity 0.875s ease-in-out , transform 0.875s ease-in-out; }

.fade {
  transform: translate(0, 0); }

.fadein {
  transform: translate(0, 50px);
  filter: blur(10px); }

.fadein-top {
  transform: translate(0, -50px); }

.fadein-left {
  transform: translate(-50px, 0); }

.fadein-right {
  transform: translate(50px, 0); }

.fade.scrollin,
.fadein.scrollin,
.fadein-top.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin,
.opening.active {
  opacity: 1;
  filter: blur(0px);
  transform: translate(0, 0); }

@media screen and (max-width: 767px) {
  html.font-small {
    --font-scale: 0.8; }

  html.font-medium {
    --font-scale: 1; }

  html.font-large {
    --font-scale: 1.1; } }
.top article {
  width: 100%;
  margin-top: 0; }
  .top article .kv .background-video {
    position: absolute;
    top: 0vw;
    left: 0;
    width: 100vw;
    height: 46.1200585652vw;
    overflow: hidden;
    z-index: -1; }
  .top article .kv .bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1; }
  .top article .contents {
    width: 100%;
    position: relative;
    margin-top: 49.7803806735vw;
    z-index: 4; }
    .top article .contents h3.ttl {
      font-family: "Cormorant", serif;
      font-weight: 600;
      font-size: 5.8565153734vw;
      line-height: 1;
      letter-spacing: 0.02em;
      color: #263f5d; }
      .top article .contents h3.ttl small {
        display: block;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 500; }
      .top article .contents h3.ttl.center small {
        text-align: center !important; }
    .top article .contents h4.leadtxt {
      font-weight: 700;
      font-size: 1.0980966325vw;
      line-height: 1.8;
      margin-top: 2.196193265vw; }
    .top article .contents .btn {
      font-weight: 700;
      font-size: 1.317715959vw;
      line-height: 1.2;
      width: 100%;
      text-align: left; }
      .top article .contents .btn a {
        display: block;
        color: #000;
        background: #fff;
        position: relative;
        border: 0.1464128843vw solid #000;
        padding: 1.8301610542vw 0vw 1.8301610542vw 1.8301610542vw;
        border-top: 1px solid #000000;
        border-right: 1px solid #000000;
        border-left: 1px solid #000000;
        border-bottom: 1px solid #000000;
        transition: 0.3s;
        box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.4), inset 0px 1px 6px 0px rgba(86, 86, 86, 0.4); }
        .top article .contents .btn a:after {
          position: absolute;
          content: "";
          background: url("../img/common/arrow_n.svg") no-repeat center center/cover;
          width: 1.4641288433vw;
          height: 1.4641288433vw;
          right: 1.0980966325vw;
          top: 50%;
          margin-top: -0.7320644217vw; }
        .top article .contents .btn a:hover {
          box-shadow: 0 0 rgba(0, 0, 0, 0.4);
          border-bottom-width: 1px;
          transform: translateY(1px); }
    .top article .contents .btnbox {
      background: #fff; }
      .top article .contents .btnbox a {
        display: block;
        position: relative; }
        .top article .contents .btnbox a p {
          font-family: "Noto Serif JP", serif;
          font-weight: 300;
          font-size: 1.317715959vw;
          position: relative;
          padding: 1.8301610542vw; }
          .top article .contents .btnbox a p:after {
            position: absolute;
            content: "";
            background: url("../img/arrow_n.svg") no-repeat center center/cover;
            width: 2.196193265vw;
            height: 2.196193265vw;
            right: 1.4641288433vw;
            top: 50%;
            margin-top: -1.0980966325vw;
            transition: transform 0.3s ease; }
          .top article .contents .btnbox a p:hover::after {
            transform: translateX(0.5856515373vw); }
    .top article .contents .news {
      width: 74.9633967789vw;
      margin: 0 auto;
      position: relative;
      top: 0vw;
      background: #fff;
      padding: 1.4641288433vw 4.39238653vw;
      margin-bottom: 0vw; }
      .top article .contents .news .ttls {
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
        color: #263f5d;
        font-size: 2.0497803807vw; }
      .top article .contents .news dl {
        display: flex;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 700;
        font-size: 1.0980966325vw;
        padding: 0.2928257687vw 0;
        flex-wrap: wrap; }
        .top article .contents .news dl dt {
          width: 20%;
          margin-right: 0.7320644217vw; }
        .top article .contents .news dl dd {
          width: 80%; }
      .top article .contents .news .rlink {
        width: 13.17715959vw;
        margin: 0.3660322108vw 0 0 auto; }
        .top article .contents .news .rlink a {
          display: block; }
    .top article .contents .message {
      width: 100%;
      background: url("../img/top/back_m.jpg") no-repeat top center/cover;
      position: relative;
      z-index: 5;
      padding: 3.6603221083vw 0;
      margin-top: 3.6603221083vw;
      position: relative;
      /* ← これを追加 */ }
      .top article .contents .message .inner {
        width: 74.9633967789vw;
        margin: 0 auto;
        background: rgba(255, 255, 255, 0.6);
        position: relative; }
        .top article .contents .message .inner .up, .top article .contents .message .inner .under {
          position: absolute;
          width: 100%; }
        .top article .contents .message .inner .up {
          top: 0; }
        .top article .contents .message .inner .under {
          bottom: 0; }
        .top article .contents .message .inner .boxs {
          opacity: 0;
          position: absolute;
          top: 2.9282576867vw;
          left: 0;
          width: 100%;
          transform: translateY(40px);
          /* ← GSAP が戻す前提の初期位置 */
          transition: opacity 0.4s ease; }
          .top article .contents .message .inner .boxs--inner {
            margin-top: 0vw;
            text-align: center; }
            .top article .contents .message .inner .boxs--inner.flex {
              display: flex;
              justify-content: center;
              align-items: center;
              flex-wrap: wrap;
              gap: 0.7320644217vw 0;
              margin-top: 0vw; }
            .top article .contents .message .inner .boxs--inner h4 {
              font-size: 2.0497803807vw;
              line-height: 1.6;
              text-align: center;
              width: 100%;
              color: #263f5d;
              margin-top: 0.7320644217vw; }
              .top article .contents .message .inner .boxs--inner h4 strong {
                display: block;
                font-weight: 600;
                font-size: 1.4641288433vw;
                color: #000;
                line-height: 1.6; }
              .top article .contents .message .inner .boxs--inner h4.mt {
                margin-bottom: -1.0980966325vw; }
            .top article .contents .message .inner .boxs--inner h5 {
              width: 35%;
              font-size: 2.0497803807vw;
              line-height: 1.6;
              text-align: center;
              color: #263f5d; }
              .top article .contents .message .inner .boxs--inner h5 small {
                display: block;
                font-size: 1.4641288433vw;
                line-height: 1.6;
                font-family: "Noto Sans JP", sans-serif;
                font-weight: 600;
                color: #000; }
        .top article .contents .message .inner .box {
          padding: 3.6603221083vw 0;
          transition: opacity 0.2s ease; }
          .top article .contents .message .inner .box h3.ttl {
            text-align: center;
            font-family: "Montserrat", sans-serif;
            font-weight: 700;
            color: #263f5d;
            font-size: 2.9282576867vw; }
            .top article .contents .message .inner .box h3.ttl small {
              font-family: "Noto Sans JP", sans-serif;
              font-weight: 700;
              display: block;
              color: #000;
              padding: 0.7320644217vw 0 1.4641288433vw; }
          .top article .contents .message .inner .box .txts {
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700;
            margin-top: 1.4641288433vw;
            text-align: center;
            font-size: 1.0980966325vw;
            line-height: 1.9; }
          .top article .contents .message .inner .box.is-fadeout {
            opacity: 0; }
    .top article .contents .credo {
      text-align: center;
      position: relative;
      background: linear-gradient(90deg, #263f5d, #0f1345, #263f5d);
      padding: 17.5695461201vw 0;
      overflow: hidden;
      background-size: 300% 300%;
      animation: credoGradient 16s ease infinite;
      transform: translateX(100%);
      transition: transform 0.6s ease;
      /* ========== mask + text ========== */
      /* ========== ① inview：白帯 左→中央 ========== */
      /* ========== ② step2：白帯 右へ抜ける ========== */
      /* ========== ③ step2 → 文字出る ========== */ }
      .top article .contents .credo.is-show {
        transform: translateX(0); }
      .top article .contents .credo .crttl {
        font-size: 4.39238653vw;
        font-weight: 700;
        line-height: 1; }
      .top article .contents .credo h4 {
        font-size: 1.9765739385vw;
        margin-top: 0.7320644217vw; }
      .top article .contents .credo .mask {
        position: relative;
        display: inline-block;
        overflow: hidden;
        /* 初期値（左に隠す）*/
        --maskX: -100%; }
        .top article .contents .credo .mask::before {
          content: "";
          position: absolute;
          inset: 0;
          background: #fff;
          z-index: 2;
          transform: translateX(var(--maskX));
          transition: transform 0.6s ease; }
      .top article .contents .credo .text {
        position: relative;
        z-index: 5;
        opacity: 0;
        transform: translateX(-20px);
        transition: opacity 0.5s ease, transform 0.5s ease;
        color: #fff; }
      .top article .contents .credo.inview .mask {
        --maskX: 0%; }
      .top article .contents .credo.step2 .mask {
        --maskX: 102%; }
      .top article .contents .credo.step2 .text {
        opacity: 1;
        transform: translateX(0);
        transition-delay: 0.2s; }
@keyframes credoGradient {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }
    .top article .contents .aboutus {
      width: 100%;
      position: relative;
      z-index: 5;
      text-align: center;
      overflow-x: clip; }
      .top article .contents .aboutus figure {
        position: absolute;
        width: 42.4597364568vw;
        top: 8.78477306vw;
        border-radius: 21.2298682284vw;
        left: 50%;
        border-radius: 50%;
        overflow: hidden; }
        .top article .contents .aboutus figure.left {
          transform: translateX(-50%) translateX(-40.2635431918vw); }
        .top article .contents .aboutus figure.right {
          transform: translateX(-50%) translateX(40.2635431918vw); }
        .top article .contents .aboutus figure.slideflip {
          overflow: hidden; }
          .top article .contents .aboutus figure.slideflip img {
            width: 100%;
            display: block; }
      .top article .contents .aboutus .inner {
        width: 100%;
        margin: 0 auto;
        padding: 10.980966325vw 0 10.980966325vw;
        position: relative; }
        .top article .contents .aboutus .inner h3.ttl {
          width: 31.4787701318vw;
          margin: 0 auto;
          text-align: center; }
          .top article .contents .aboutus .inner h3.ttl small {
            margin-top: 1.4641288433vw;
            font-size: 1.0248901903vw;
            line-height: 1.9;
            color: #000;
            letter-spacing: 0;
            text-align: left; }
        .top article .contents .aboutus .inner .btnbox {
          background: none;
          width: 31.4787701318vw;
          margin: 3.6603221083vw auto 0;
          box-shadow: none; }
          .top article .contents .aboutus .inner .btnbox .btn {
            box-sizing: border-box;
            display: block; }
            .top article .contents .aboutus .inner .btnbox .btn:last-child {
              margin-top: 1.4641288433vw; }
            .top article .contents .aboutus .inner .btnbox .btn a:after {
              background: url("../img/common/arrow_n.svg") no-repeat center center/cover;
              transition: transform 0.3s ease; }
            .top article .contents .aboutus .inner .btnbox .btn a:hover::after {
              transform: translateX(0.5856515373vw); }
    .top article .contents .business {
      width: 100%;
      position: relative;
      z-index: 5;
      padding: 8.78477306vw 0;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .top article .contents .business .inner {
        width: 45.3879941435vw;
        position: relative;
        margin-left: 6.588579795vw; }
        .top article .contents .business .inner h3.ttl {
          width: 32.9428989751vw;
          margin: 0 auto;
          text-align: justify; }
          .top article .contents .business .inner h3.ttl small {
            margin-top: 1.4641288433vw;
            font-size: 1.0248901903vw;
            line-height: 1.9;
            color: #000;
            letter-spacing: 0;
            text-align: left; }
        .top article .contents .business .inner .btnbox {
          background: none;
          width: 32.9428989751vw;
          margin: 3.6603221083vw auto 0;
          box-shadow: none; }
          .top article .contents .business .inner .btnbox .btn {
            box-sizing: border-box;
            display: block; }
            .top article .contents .business .inner .btnbox .btn:last-child {
              margin-top: 0.7320644217vw; }
            .top article .contents .business .inner .btnbox .btn a:after {
              background: url("../img/common/arrow_n.svg") no-repeat center center/cover;
              transition: transform 0.3s ease; }
            .top article .contents .business .inner .btnbox .btn a:hover::after {
              transform: translateX(0.5856515373vw); }
            .top article .contents .business .inner .btnbox .btn.blank a:after {
              position: absolute;
              content: "";
              background: url("../img/common/blank.svg") no-repeat center center/cover;
              width: 1.317715959vw;
              height: 1.4641288433vw;
              right: 1.4641288433vw;
              top: 50%;
              margin-top: -0.7320644217vw;
              transition: none; }
            .top article .contents .business .inner .btnbox .btn.blank a:hover {
              box-shadow: 0 0 rgba(0, 0, 0, 0);
              border-bottom-width: 0px;
              transform: translateY(0px); }
              .top article .contents .business .inner .btnbox .btn.blank a:hover:after {
                transform: translateX(0vw); }
          .top article .contents .business .inner .btnbox ul {
            display: flex;
            justify-content: space-between; }
            .top article .contents .business .inner .btnbox ul li {
              width: 16.1054172767vw;
              margin-top: 0.7320644217vw; }
      .top article .contents .business figure {
        width: 45.3879941435vw; }
      .top article .contents .business .slideimg {
        position: relative;
        overflow: hidden; }
        .top article .contents .business .slideimg img {
          width: 100%;
          display: block; }
    .top article .contents .project {
      width: 100%;
      position: relative;
      z-index: 5;
      padding: 3.6603221083vw 0 7.3206442167vw; }
      .top article .contents .project .inner {
        width: 76.1346998536vw;
        margin: 0 auto;
        position: relative; }
        .top article .contents .project .inner h3.ttl {
          margin: 0 auto;
          text-align: center;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          .top article .contents .project .inner h3.ttl strong {
            font-weight: 600; }
          .top article .contents .project .inner h3.ttl small {
            width: 40.2635431918vw;
            display: inline;
            margin: 0 auto;
            margin-top: 1.4641288433vw;
            font-size: 1.0248901903vw;
            line-height: 1.9;
            color: #000;
            letter-spacing: 0;
            text-align: left; }
        .top article .contents .project .inner .btnflex {
          display: flex;
          justify-content: center;
          gap: 0 4.39238653vw;
          margin-top: 1.4641288433vw; }
          .top article .contents .project .inner .btnflex .btnbox {
            width: 32.9428989751vw;
            box-shadow: none;
            background: none; }
            .top article .contents .project .inner .btnflex .btnbox a dl {
              display: flex;
              justify-content: flex-start;
              position: relative;
              z-index: 2; }
              .top article .contents .project .inner .btnflex .btnbox a dl dt {
                width: 32.9428989751vw;
                font-family: "Cormorant", serif;
                font-weight: 600;
                color: #000;
                font-size: 2.9282576867vw;
                line-height: 0.3;
                text-align: left; }
                .top article .contents .project .inner .btnflex .btnbox a dl dt strong {
                  display: inline;
                  font-size: 8.78477306vw;
                  line-height: 0.5; }
              .top article .contents .project .inner .btnflex .btnbox a dl dd {
                display: none; }
            .top article .contents .project .inner .btnflex .btnbox a figure {
              margin-top: 0.878477306vw; }
            .top article .contents .project .inner .btnflex .btnbox a .logo {
              position: absolute;
              right: 0;
              width: 13.17715959vw;
              padding: 0;
              margin-top: -3.2210834553vw; }
            .top article .contents .project .inner .btnflex .btnbox a .txts {
              position: relative;
              font-family: "Noto Serif JP", serif;
              font-weight: 700;
              font-size: 2.0497803807vw;
              text-align: left;
              padding: 0;
              color: #fff;
              margin-left: -2.196193265vw;
              margin-top: -1.756954612vw; }
              .top article .contents .project .inner .btnflex .btnbox a .txts span {
                background: #263f5d;
                line-height: 1;
                padding-bottom: 0.2928257687vw;
                padding: 0 0 0 1.0980966325vw; }
                .top article .contents .project .inner .btnflex .btnbox a .txts span.cl_2 {
                  background: #387fc2; }
              .top article .contents .project .inner .btnflex .btnbox a .txts:after {
                position: absolute;
                content: "";
                background: url("../img/common/btn_more.svg") no-repeat top center/cover;
                width: 10.980966325vw;
                height: 1.0248901903vw;
                right: 0;
                top: auto;
                bottom: -2.0497803807vw; }
    .top article .contents .voice {
      width: 100%;
      position: relative;
      z-index: 5; }
      .top article .contents .voice .ttlimg {
        position: absolute;
        width: 37.3352855051vw;
        left: 50%;
        margin-left: -18.6676427526vw;
        top: 19.7657393851vw; }
    .top article .contents .session {
      width: 100%;
      position: relative;
      z-index: 5;
      padding: 3.6603221083vw 0 7.3206442167vw; }
      .top article .contents .session .inner {
        width: 74.9633967789vw;
        margin: 0 auto;
        position: relative; }
        .top article .contents .session .inner h3.ttl {
          margin: 0 auto;
          text-align: center;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          .top article .contents .session .inner h3.ttl strong {
            font-weight: 600; }
          .top article .contents .session .inner h3.ttl small {
            width: 40.2635431918vw;
            display: inline;
            margin: 0 auto;
            margin-top: 1.4641288433vw;
            font-size: 1.0248901903vw;
            line-height: 1.9;
            color: #000;
            letter-spacing: 0;
            text-align: left; }
        .top article .contents .session .inner .btnflex {
          display: flex;
          justify-content: center;
          gap: 0 4.39238653vw;
          margin-top: 1.4641288433vw; }
          .top article .contents .session .inner .btnflex .btnbox {
            width: 32.9428989751vw;
            box-shadow: none;
            background: none; }
            .top article .contents .session .inner .btnflex .btnbox a dl {
              display: flex;
              justify-content: flex-end; }
              .top article .contents .session .inner .btnflex .btnbox a dl dt {
                width: 32.9428989751vw;
                font-family: "Cormorant", serif;
                font-weight: 600;
                color: #000;
                font-size: 3.3674963397vw;
                line-height: 0.3;
                text-align: right; }
                .top article .contents .session .inner .btnflex .btnbox a dl dt strong {
                  display: inline;
                  font-size: 9.5168374817vw;
                  line-height: 0.5; }
              .top article .contents .session .inner .btnflex .btnbox a dl dd {
                display: none; }
            .top article .contents .session .inner .btnflex .btnbox a figure {
              margin-top: 1.0980966325vw; }
            .top article .contents .session .inner .btnflex .btnbox a .txts {
              position: relative;
              font-family: "Noto Sans JP", sans-serif;
              font-weight: 700;
              font-size: 2.0497803807vw;
              text-align: left;
              padding: 0;
              color: #fff;
              margin-left: -2.196193265vw;
              margin-top: -2.196193265vw; }
              .top article .contents .session .inner .btnflex .btnbox a .txts span {
                background: #263f5d;
                line-height: 1;
                padding-bottom: 0.2928257687vw; }
                .top article .contents .session .inner .btnflex .btnbox a .txts span.cl_2 {
                  background: #387fc2; }
              .top article .contents .session .inner .btnflex .btnbox a .txts:after {
                position: absolute;
                content: "";
                background: url("../img/common/btn_more.svg") no-repeat top center/cover;
                width: 10.980966325vw;
                height: 1.0248901903vw;
                right: 0;
                top: auto;
                bottom: -2.0497803807vw; }
    .top article .contents .info {
      width: 100%;
      position: relative;
      z-index: 5;
      background: #263f5d;
      padding-bottom: 6.588579795vw; }
      .top article .contents .info .ttl {
        text-align: center;
        position: relative;
        margin-bottom: 2.196193265vw;
        color: #fff; }
      .top article .contents .info .txts {
        position: absolute;
        z-index: 2;
        text-align: center;
        color: #fff;
        font-size: 1.4641288433vw;
        line-height: 1.6;
        margin-bottom: 2.196193265vw;
        font-weight: 500;
        width: 100%;
        top: 23.4260614934vw; }
      .top article .contents .info .inner {
        width: 100%;
        margin: 0 auto;
        position: relative;
        padding: 3.6603221083vw 0 0; }
        .top article .contents .info .inner figure {
          width: 100%;
          position: relative; }
          .top article .contents .info .inner figure:before {
            position: absolute;
            content: "";
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.4); }
        .top article .contents .info .inner .btnflex {
          width: 65.8857979502vw;
          margin: 0 auto;
          display: flex;
          justify-content: space-between;
          margin-top: -2.9282576867vw; }
          .top article .contents .info .inner .btnflex .btn {
            width: 21.2298682284vw;
            box-shadow: none;
            background: #fff; }
            .top article .contents .info .inner .btnflex .btn a:after {
              background: url("../img/common/arrow_n.svg") no-repeat center center/cover;
              transition: transform 0.3s ease; }
            .top article .contents .info .inner .btnflex .btn a:hover::after {
              transform: translateX(0.5856515373vw); }

@media screen and (max-width: 767px) {
  .top article {
    width: 100%;
    margin-top: 16vw; }
    .top article .kv .background-video {
      position: absolute;
      top: 16vw;
      left: 0;
      width: 100vw;
      height: 45.3333333333vw;
      overflow: hidden;
      z-index: -1; }
    .top article .contents {
      width: 100%;
      position: relative;
      margin-top: 64vw;
      z-index: 4; }
      .top article .contents h3.ttl {
        font-family: "Cormorant", serif;
        font-weight: 600;
        font-size: 13.3333333333vw;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #263f5d; }
        .top article .contents h3.ttl small {
          display: block;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 500; }
        .top article .contents h3.ttl.center small {
          text-align: justify !important; }
      .top article .contents h4.leadtxt {
        font-weight: 700;
        font-size: 3.2vw;
        line-height: 1.8;
        margin-top: 2.196193265vw; }
      .top article .contents .btn {
        font-weight: 700;
        font-size: 3.7333333333vw;
        line-height: 1.2;
        width: 100%;
        text-align: left; }
        .top article .contents .btn a {
          display: block;
          color: #000;
          position: relative;
          border: 0.2666666667vw solid #000;
          padding: 3.3333333333vw 0vw 3.3333333333vw 3.3333333333vw;
          border-top: 1px solid #000000;
          border-right: 1px solid #000000;
          border-left: 1px solid #000000;
          border-bottom: 1px solid #000000;
          transition: 0.3s;
          box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.4), inset 0px 1px 6px 0px rgba(86, 86, 86, 0.4); }
          .top article .contents .btn a:after {
            position: absolute;
            content: "";
            background: url("../img/common/arrow_n.svg") no-repeat center center/cover;
            width: 5.3333333333vw;
            height: 5.3333333333vw;
            right: 4vw;
            top: 50%;
            margin-top: -2.6666666667vw; }
          .top article .contents .btn a:hover {
            box-shadow: 0 0 rgba(0, 0, 0, 0.4);
            border-bottom-width: 1px;
            transform: translateY(1px); }
      .top article .contents .btnbox {
        background: #fff; }
        .top article .contents .btnbox a {
          display: block;
          position: relative; }
          .top article .contents .btnbox a p {
            font-family: "Noto Serif JP", serif;
            font-weight: 300;
            font-size: 4vw;
            position: relative;
            padding: 3.3333333333vw; }
            .top article .contents .btnbox a p:after {
              position: absolute;
              content: "";
              background: url("../img/arrow_n.svg") no-repeat center center/cover;
              width: 8vw;
              height: 8vw;
              right: 5.3333333333vw;
              top: 50%;
              margin-top: -4vw;
              transition: transform 0.3s ease; }
            .top article .contents .btnbox a p:hover::after {
              transform: translateX(0.5856515373vw); }
      .top article .contents .news {
        width: 96vw;
        margin: 0 auto;
        position: relative;
        top: 0vw;
        background: #fff;
        padding: 2.6666666667vw 2.6666666667vw;
        margin-bottom: 0vw;
        height: 26.6666666667vw;
        overflow: scroll; }
        .top article .contents .news .ttls {
          font-family: "Montserrat", sans-serif;
          font-weight: 700;
          color: #263f5d;
          font-size: 4.8vw;
          line-height: 1; }
        .top article .contents .news dl {
          display: flex;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 500;
          font-size: 3.2vw;
          padding: 0.2928257687vw 0;
          margin-top: 1.3333333333vw;
          flex-wrap: wrap; }
          .top article .contents .news dl dt {
            margin-right: 0vw;
            width: 100%;
            margin-bottom: 0vw; }
          .top article .contents .news dl dd {
            width: 100%; }
        .top article .contents .news .rlink {
          width: 32vw;
          margin: 2.6666666667vw 0 0 auto; }
          .top article .contents .news .rlink a {
            display: block; }
      .top article .contents .message {
        width: 100%;
        background: url("../img/top/back_m.jpg") no-repeat top center/cover;
        position: relative;
        z-index: 5;
        padding: 13.3333333333vw 0;
        margin-top: 2.6666666667vw;
        position: relative;
        /* ← これを追加 */ }
        .top article .contents .message .inner {
          width: 96vw;
          margin: 0 auto;
          background: rgba(255, 255, 255, 0.6);
          position: relative; }
          .top article .contents .message .inner .up, .top article .contents .message .inner .under {
            position: absolute;
            width: 100%; }
          .top article .contents .message .inner .up {
            top: 0; }
          .top article .contents .message .inner .under {
            bottom: 0; }
          .top article .contents .message .inner .boxs {
            opacity: 0;
            position: absolute;
            top: 10.6666666667vw;
            left: 0;
            width: 100%;
            transform: translateY(40px);
            /* ← GSAP が戻す前提の初期位置 */
            transition: opacity 0.4s ease; }
            .top article .contents .message .inner .boxs--inner {
              margin-top: 5.3333333333vw;
              text-align: center; }
              .top article .contents .message .inner .boxs--inner.flex {
                display: flex;
                justify-content: center;
                align-items: center;
                flex-wrap: wrap;
                gap: 0vw 0; }
              .top article .contents .message .inner .boxs--inner h4 {
                font-weight: 500;
                font-size: 5.3333333333vw;
                line-height: 1.4;
                text-align: center;
                width: 100%;
                color: #263f5d;
                margin-top: 10.6666666667vw; }
                .top article .contents .message .inner .boxs--inner h4 strong {
                  display: block;
                  font-weight: 500;
                  font-size: 4vw;
                  padding-top: 1.3333333333vw;
                  color: #000; }
                .top article .contents .message .inner .boxs--inner h4.mt {
                  margin-bottom: -2.6666666667vw; }
              .top article .contents .message .inner .boxs--inner h5 {
                width: 100%;
                font-weight: 500;
                font-size: 4vw;
                line-height: 1.4;
                text-align: center;
                color: #263f5d;
                margin-top: 8vw; }
                .top article .contents .message .inner .boxs--inner h5 small {
                  display: block;
                  font-size: 4vw;
                  line-height: 1.6;
                  font-family: "Noto Sans JP", sans-serif;
                  font-weight: 600;
                  color: #000; }
          .top article .contents .message .inner .box {
            padding: 13.3333333333vw 0;
            transition: opacity 0.2s ease; }
            .top article .contents .message .inner .box h3.ttl {
              font-size: 4.2666666667vw;
              line-height: 1;
              font-weight: 500; }
              .top article .contents .message .inner .box h3.ttl small {
                font-weight: 500;
                font-size: 5.8666666667vw;
                padding: 2.6666666667vw 0 0; }
            .top article .contents .message .inner .box .txts {
              font-family: "Noto Sans JP", sans-serif;
              font-weight: 700;
              margin-top: 4vw;
              text-align: center;
              font-size: 3.4666666667vw; }
            .top article .contents .message .inner .box.is-fadeout {
              opacity: 0; }
      .top article .contents .credo {
        text-align: center;
        position: relative;
        background: linear-gradient(90deg, #263f5d, #0f1345, #263f5d);
        padding: 26.6666666667vw 0;
        overflow: hidden;
        background-size: 300% 300%;
        animation: credoGradient 16s ease infinite;
        transform: translateX(100%);
        transition: transform 0.6s ease;
        /* ========== mask + text ========== */
        /* ========== ① inview：白帯 左→中央 ========== */
        /* ========== ② step2：白帯 右へ抜ける ========== */
        /* ========== ③ step2 → 文字出る ========== */ }
        .top article .contents .credo.is-show {
          transform: translateX(0); }
        .top article .contents .credo .crttl {
          font-size: 6.6666666667vw;
          font-weight: 700;
          line-height: 1; }
        .top article .contents .credo h4 {
          font-size: 4.2666666667vw;
          margin-top: 2.6666666667vw; }
        .top article .contents .credo .mask {
          position: relative;
          display: inline-block;
          overflow: hidden;
          /* 初期値（左に隠す）*/
          --maskX: -100%; }
          .top article .contents .credo .mask::before {
            content: "";
            position: absolute;
            inset: 0;
            background: #fff;
            z-index: 2;
            transform: translateX(var(--maskX));
            transition: transform 0.6s ease; }
        .top article .contents .credo .text {
          position: relative;
          z-index: 5;
          opacity: 0;
          transform: translateX(-20px);
          transition: opacity 0.5s ease, transform 0.5s ease;
          color: #fff; }
        .top article .contents .credo.inview .mask {
          --maskX: 0%; }
        .top article .contents .credo.step2 .mask {
          --maskX: 102%; }
        .top article .contents .credo.step2 .text {
          opacity: 1;
          transform: translateX(0);
          transition-delay: 0.2s; }
  @keyframes credoGradient {
    0% {
      background-position: 0% 50%; }
    50% {
      background-position: 100% 50%; }
    100% {
      background-position: 0% 50%; } }
      .top article .contents .aboutus {
        width: 100%;
        position: relative;
        z-index: 5;
        text-align: center;
        overflow: hidden; }
        .top article .contents .aboutus figure {
          position: absolute;
          width: 66.6666666667vw;
          top: 7.3206442167vw;
          border-radius: 33.3333333333vw;
          overflow: hidden;
          left: 50%; }
          .top article .contents .aboutus figure.left {
            top: -17.3333333333vw;
            transform: translateX(-33.3333333333vw); }
          .top article .contents .aboutus figure.right {
            top: auto;
            bottom: -17.3333333333vw;
            transform: translateX(-33.3333333333vw); }
          .top article .contents .aboutus figure.slideflip {
            overflow: hidden; }
            .top article .contents .aboutus figure.slideflip img {
              width: 100%;
              display: block; }
        .top article .contents .aboutus .inner {
          width: 80vw;
          margin: 0 auto;
          padding: 53.3333333333vw 0 61.3333333333vw;
          position: relative; }
          .top article .contents .aboutus .inner h3.ttl {
            width: 100%;
            margin: 0 auto;
            text-align: center; }
            .top article .contents .aboutus .inner h3.ttl small {
              margin-top: 5.3333333333vw;
              font-size: 3.2vw;
              line-height: 1.9;
              color: #000;
              letter-spacing: 0;
              text-align: justify; }
          .top article .contents .aboutus .inner .btnbox {
            background: none;
            width: 100%;
            margin: 5.3333333333vw auto 0;
            box-shadow: none; }
            .top article .contents .aboutus .inner .btnbox .btn {
              box-sizing: border-box;
              display: block; }
              .top article .contents .aboutus .inner .btnbox .btn:last-child {
                margin-top: 5.3333333333vw; }
              .top article .contents .aboutus .inner .btnbox .btn a:after {
                background: url("../img/common/arrow_n.svg") no-repeat center center/cover;
                transition: transform 0.3s ease; }
              .top article .contents .aboutus .inner .btnbox .btn a:hover::after {
                transform: translateX(0.5856515373vw); }
      .top article .contents .business {
        width: 100%;
        position: relative;
        z-index: 5;
        padding: 16vw 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        flex-direction: column-reverse; }
        .top article .contents .business .inner {
          width: 85.3333333333vw;
          position: relative;
          margin-left: 0vw;
          margin: 4vw auto 0;
          z-index: 2; }
          .top article .contents .business .inner h3.ttl {
            width: 100%;
            margin: 0 auto;
            text-align: justify; }
            .top article .contents .business .inner h3.ttl small {
              margin-top: 5.3333333333vw;
              font-size: 3.2vw;
              line-height: 1.9;
              color: #000;
              letter-spacing: 0;
              text-align: justify; }
              .top article .contents .business .inner h3.ttl small br {
                display: none; }
          .top article .contents .business .inner .btnbox {
            background: none;
            width: 85.3333333333vw;
            margin: 5.3333333333vw auto 0;
            box-shadow: none; }
            .top article .contents .business .inner .btnbox .btn {
              box-sizing: border-box;
              display: block; }
              .top article .contents .business .inner .btnbox .btn:last-child {
                margin-top: 2.6666666667vw; }
              .top article .contents .business .inner .btnbox .btn a:after {
                background: url("../img/common/arrow_n.svg") no-repeat center center/cover;
                transition: transform 0.3s ease; }
              .top article .contents .business .inner .btnbox .btn a:hover::after {
                transform: translateX(0.5856515373vw); }
              .top article .contents .business .inner .btnbox .btn.blank a:after {
                width: 3vw;
                height: 3.3333333333vw;
                right: 3.3333333333vw;
                top: 50%;
                margin-top: -1.6666666667vw; }
            .top article .contents .business .inner .btnbox ul {
              display: flex;
              justify-content: space-between; }
              .top article .contents .business .inner .btnbox ul li {
                width: 41.3333333333vw;
                margin-top: 2.6666666667vw; }
        .top article .contents .business figure {
          width: 100vw;
          height: 53.3333333333vw;
          overflow: hidden; }
        .top article .contents .business .slideimg {
          position: relative;
          overflow: hidden; }
          .top article .contents .business .slideimg img {
            width: 100%;
            display: block; }
      .top article .contents .project {
        width: 100%;
        position: relative;
        z-index: 5;
        padding: 13.3333333333vw 0; }
        .top article .contents .project .inner {
          width: 85.3333333333vw;
          margin: 0 auto;
          position: relative; }
          .top article .contents .project .inner h3.ttl {
            margin: 0 auto;
            text-align: center;
            display: block;
            justify-content: space-between;
            align-items: center; }
            .top article .contents .project .inner h3.ttl strong {
              font-weight: 600; }
            .top article .contents .project .inner h3.ttl small {
              width: 85.3333333333vw;
              display: block;
              margin: 0 auto;
              margin-top: 5.3333333333vw;
              font-size: 3.2vw;
              line-height: 1.9;
              color: #000;
              letter-spacing: 0;
              text-align: left; }
              .top article .contents .project .inner h3.ttl small br {
                display: none; }
          .top article .contents .project .inner .btnflex {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 8vw;
            margin-top: 0vw; }
            .top article .contents .project .inner .btnflex .btnbox {
              width: 85.3333333333vw;
              box-shadow: none;
              background: none; }
              .top article .contents .project .inner .btnflex .btnbox a dl {
                display: flex;
                justify-content: flex-end; }
                .top article .contents .project .inner .btnflex .btnbox a dl dt {
                  width: 85.3333333333vw;
                  font-family: "Cormorant", serif;
                  font-weight: 600;
                  color: #000;
                  font-size: 12.2666666667vw;
                  line-height: 0.3;
                  text-align: left; }
                  .top article .contents .project .inner .btnflex .btnbox a dl dt strong {
                    display: inline;
                    font-size: 24vw;
                    line-height: 0.5; }
                .top article .contents .project .inner .btnflex .btnbox a dl dd {
                  display: none; }
              .top article .contents .project .inner .btnflex .btnbox a figure {
                margin-top: 4vw; }
              .top article .contents .project .inner .btnflex .btnbox a .logo {
                position: absolute;
                right: 0;
                width: 32vw;
                padding: 0;
                margin-top: -5.3333333333vw; }
              .top article .contents .project .inner .btnflex .btnbox a .txts {
                position: relative;
                font-family: "Noto Sans JP", sans-serif;
                font-weight: 700;
                font-size: 4.8vw;
                text-align: left;
                padding: 0;
                color: #fff;
                margin-left: -4vw;
                margin-top: -4vw; }
                .top article .contents .project .inner .btnflex .btnbox a .txts span {
                  background: #263f5d;
                  line-height: 1;
                  padding-bottom: 1.0666666667vw; }
                  .top article .contents .project .inner .btnflex .btnbox a .txts span.cl_2 {
                    background: #387fc2; }
                .top article .contents .project .inner .btnflex .btnbox a .txts:after {
                  position: absolute;
                  content: "";
                  background: url("../img/common/btn_more.svg") no-repeat top center/cover;
                  width: 40vw;
                  height: 3.7333333333vw;
                  right: 0;
                  top: auto;
                  bottom: -7.4666666667vw; }
      .top article .contents .voice {
        width: 100%;
        position: relative;
        z-index: 5; }
        .top article .contents .voice .ttlimg {
          display: none;
          position: absolute;
          width: 68vw;
          left: 50%;
          margin-left: -34vw;
          top: 42.6666666667vw; }
      .top article .contents .session {
        width: 100%;
        position: relative;
        z-index: 5;
        padding: 13.3333333333vw 0; }
        .top article .contents .session .inner {
          width: 85.3333333333vw;
          margin: 0 auto;
          position: relative; }
          .top article .contents .session .inner h3.ttl {
            margin: 0 auto;
            text-align: center;
            display: block;
            justify-content: space-between;
            align-items: center; }
            .top article .contents .session .inner h3.ttl strong {
              font-weight: 600; }
            .top article .contents .session .inner h3.ttl small {
              width: 85.3333333333vw;
              display: block;
              margin: 0 auto;
              margin-top: 5.3333333333vw;
              font-size: 3.2vw;
              line-height: 1.9;
              color: #000;
              letter-spacing: 0;
              text-align: left; }
              .top article .contents .session .inner h3.ttl small br {
                display: none; }
          .top article .contents .session .inner .btnflex {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 8vw;
            margin-top: 0vw; }
            .top article .contents .session .inner .btnflex .btnbox {
              width: 85.3333333333vw;
              box-shadow: none;
              background: none; }
              .top article .contents .session .inner .btnflex .btnbox a dl {
                display: flex;
                justify-content: flex-end; }
                .top article .contents .session .inner .btnflex .btnbox a dl dt {
                  width: 85.3333333333vw;
                  font-family: "Cormorant", serif;
                  font-weight: 600;
                  color: #000;
                  font-size: 12.2666666667vw;
                  line-height: 0.3;
                  text-align: right; }
                  .top article .contents .session .inner .btnflex .btnbox a dl dt strong {
                    display: inline;
                    font-size: 24vw;
                    line-height: 0.5; }
                .top article .contents .session .inner .btnflex .btnbox a dl dd {
                  display: none; }
              .top article .contents .session .inner .btnflex .btnbox a figure {
                margin-top: 4vw; }
              .top article .contents .session .inner .btnflex .btnbox a .txts {
                position: relative;
                font-family: "Noto Sans JP", sans-serif;
                font-weight: 700;
                font-size: 4.8vw;
                text-align: left;
                padding: 0;
                color: #fff;
                margin-left: -4vw;
                margin-top: -4vw; }
                .top article .contents .session .inner .btnflex .btnbox a .txts span {
                  background: #263f5d;
                  line-height: 1;
                  padding-bottom: 1.0666666667vw; }
                  .top article .contents .session .inner .btnflex .btnbox a .txts span.cl_2 {
                    background: #387fc2; }
                .top article .contents .session .inner .btnflex .btnbox a .txts:after {
                  position: absolute;
                  content: "";
                  background: url("../img/common/btn_more.svg") no-repeat top center/cover;
                  width: 40vw;
                  height: 3.7333333333vw;
                  right: 0;
                  top: auto;
                  bottom: -7.4666666667vw; }
      .top article .contents .info {
        width: 100%;
        position: relative;
        z-index: 5;
        background: #263f5d;
        padding-bottom: 24vw; }
        .top article .contents .info .ttl {
          text-align: center;
          position: relative;
          margin-bottom: 2.6666666667vw;
          color: #fff; }
        .top article .contents .info .txts {
          text-align: center;
          color: #fff;
          font-size: 3.2vw;
          line-height: 1.4;
          margin-bottom: 4vw;
          font-weight: 500;
          top: 26.6666666667vw; }
        .top article .contents .info .inner {
          width: 100%;
          margin: 0 auto;
          position: relative;
          padding: 3.6603221083vw 0 0; }
          .top article .contents .info .inner figure {
            width: 100%; }
            .top article .contents .info .inner figure img {
              max-width: 130%;
              width: 130%;
              margin-left: -15%; }
          .top article .contents .info .inner .btnflex {
            width: 85.3333333333vw;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            margin-top: -2.9282576867vw;
            gap: 2.6666666667vw; }
            .top article .contents .info .inner .btnflex .btn {
              width: 85.3333333333vw;
              box-shadow: none;
              background: #fff; }
              .top article .contents .info .inner .btnflex .btn a:after {
                background: url("../img/common/arrow_n.svg") no-repeat center center/cover;
                transition: transform 0.3s ease; }
              .top article .contents .info .inner .btnflex .btn a:hover::after {
                transform: translateX(0.5856515373vw); } }
.voiceindex article {
  width: 100%;
  margin-top: 5.1244509517vw; }
  .voiceindex article .kv {
    position: relative;
    padding-bottom: 8.78477306vw; }
    .voiceindex article .kv h2 {
      width: 24.8901903367vw;
      margin: 0 auto;
      padding: 6.588579795vw 0 0vw; }
    .voiceindex article .kv h3.txt {
      width: 74.9633967789vw;
      margin: 4.39238653vw auto 2.196193265vw;
      font-weight: 500;
      text-align: center;
      font-size: 1.0980966325vw; }
    .voiceindex article .kv--index {
      padding: 0 6.588579795vw;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 2.196193265vw; }
      .voiceindex article .kv--index .box {
        width: 23.4260614934vw; }
        .voiceindex article .kv--index .box h3 {
          font-family: "Cormorant", serif;
          font-weight: 600;
          font-size: 2.9282576867vw;
          line-height: 1;
          text-align: right;
          position: relative;
          z-index: 2; }
          .voiceindex article .kv--index .box h3 small {
            padding-right: 0.7320644217vw; }
          .voiceindex article .kv--index .box h3 strong {
            line-height: 1;
            font-size: 4.39238653vw; }
        .voiceindex article .kv--index .box figure {
          width: 100%;
          overflow-x: hidden; }
          .voiceindex article .kv--index .box figure img {
            width: 140%;
            max-width: 140%;
            margin-left: -20%; }
        .voiceindex article .kv--index .box .ttls {
          margin-left: 0vw;
          font-weight: 700;
          font-size: 1.6105417277vw;
          line-height: 1.1;
          letter-spacing: 0.08em;
          margin-top: -2.196193265vw;
          margin-bottom: 0.7320644217vw; }
          .voiceindex article .kv--index .box .ttls span {
            display: inline-block;
            background: #000;
            color: #fff;
            padding: 0vw 0.7320644217vw 0.2928257687vw;
            margin-top: 0.439238653vw; }
            .voiceindex article .kv--index .box .ttls span:first-child {
              margin-top: 0; }
        .voiceindex article .kv--index .box .name strong {
          font-family: "Cormorant", serif;
          font-weight: 600;
          font-size: 2.196193265vw;
          display: block;
          line-height: 1.4; }
        .voiceindex article .kv--index .box .name small {
          display: block;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 700;
          font-size: 1.0980966325vw; }
        .voiceindex article .kv--index .box a {
          position: relative; }
          .voiceindex article .kv--index .box a:after {
            position: absolute;
            content: "";
            background: url("../img/voice/common/arrow.svg") no-repeat center center/cover;
            width: 2.196193265vw;
            height: 0.3660322108vw;
            right: 0.2928257687vw;
            bottom: 1.4641288433vw; }

.voice article {
  width: 100%;
  margin-top: 5.1244509517vw; }
  .voice article .kv {
    position: relative; }
    .voice article .kv figure {
      width: 87.8477306003vw;
      margin: 0 auto 0 0; }
    .voice article .kv h2 {
      position: absolute;
      font-family: "Cormorant", serif;
      font-weight: 600;
      font-size: 6.8081991215vw;
      top: 8.0527086384vw;
      right: 9.5168374817vw;
      line-height: 0.4; }
      .voice article .kv h2 small {
        display: block;
        padding-right: 2.0497803807vw; }
      .voice article .kv h2 strong {
        text-align: right;
        line-height: 0.5;
        display: block;
        font-size: 9.224011713vw; }
    .voice article .kv .name {
      position: absolute;
      top: 20.9370424597vw;
      right: 16.3982430454vw; }
      .voice article .kv .name strong {
        font-family: "Cormorant", serif;
        font-weight: 600;
        font-size: 4.39238653vw;
        display: block;
        line-height: 1.4; }
      .voice article .kv .name small {
        display: block;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 700;
        font-size: 1.2445095168vw; }
    .voice article .kv .ttls {
      margin-left: 6.588579795vw;
      font-weight: 700;
      font-size: 3.074670571vw;
      line-height: 1.2;
      letter-spacing: 0.08em;
      margin-top: -6.588579795vw; }
      .voice article .kv .ttls span {
        display: inline-block;
        background: #000;
        color: #fff;
        padding: 0vw 0.7320644217vw 0.2928257687vw;
        margin-top: 0.7320644217vw; }
        .voice article .kv .ttls span:first-child {
          margin-top: 0; }
    .voice article .kv .profile {
      width: 74.9633967789vw;
      margin: 2.9282576867vw auto 0;
      display: flex;
      justify-content: space-between; }
      .voice article .kv .profile dt {
        width: 9.0775988287vw;
        font-family: "Cormorant", serif;
        font-weight: 600;
        font-size: 2.1229868228vw;
        padding-top: 0.5856515373vw; }
      .voice article .kv .profile dd {
        width: 65.8857979502vw;
        font-weight: 500;
        font-size: 1.0980966325vw;
        line-height: 1.9; }
  .voice article .contents {
    width: 100%;
    position: relative;
    z-index: 4;
    margin-top: 3.6603221083vw; }
    .voice article .contents--box {
      position: relative;
      padding: 0 12.6647144949vw 6.588579795vw 8.2723279649vw;
      padding-top: 8.0527086384vw;
      display: flex;
      justify-content: space-between; }
      .voice article .contents--box:before {
        position: absolute;
        content: "";
        width: 100%;
        height: 13.4699853587vw;
        background: #fff;
        left: 0;
        top: 0;
        z-index: -1; }
      .voice article .contents--box figure {
        width: 43.6310395315vw;
        position: relative; }
        .voice article .contents--box figure:before {
          position: absolute;
          content: "";
          background: #4c74a9;
          width: 8.0527086384vw;
          height: 8.0527086384vw;
          left: -2.196193265vw;
          top: -2.196193265vw;
          z-index: -1; }
      .voice article .contents--box .txtbox {
        width: 31.3323572474vw;
        padding-top: 8.78477306vw; }
        .voice article .contents--box .txtbox h4 {
          font-weight: 700;
          font-size: 1.6105417277vw; }
        .voice article .contents--box .txtbox .txt {
          text-align: justify;
          font-weight: 500;
          font-size: 1.0980966325vw;
          line-height: 1.9;
          margin-top: 1.4641288433vw; }
      .voice article .contents--box.rev {
        flex-direction: row-reverse;
        padding: 0 8.2723279649vw 6.588579795vw 12.6647144949vw;
        padding-top: 6.588579795vw; }
        .voice article .contents--box.rev figure:before {
          left: auto;
          top: 36.6032210835vw;
          right: -2.196193265vw; }
      .voice article .contents--box.last {
        padding: 0 8.2723279649vw 6.588579795vw 8.2723279649vw;
        flex-wrap: wrap; }
        .voice article .contents--box.last:before {
          position: absolute;
          content: "";
          width: 100%;
          height: 22.6939970717vw;
          background: #263f5d;
          left: 0;
          top: 0;
          z-index: -1; }
        .voice article .contents--box.last figure {
          width: 100%; }
          .voice article .contents--box.last figure:before {
            left: -2.196193265vw;
            top: auto;
            bottom: -2.196193265vw;
            right: auto; }
        .voice article .contents--box.last .txtbox {
          width: 100%;
          padding: 0 4.0263543192vw;
          padding-top: 4.0263543192vw; }
    .voice article .contents--sch {
      background: #263f5d;
      color: #fff;
      padding-top: 4.39238653vw;
      padding-bottom: 4.39238653vw; }
      .voice article .contents--sch--inner {
        width: 74.9633967789vw;
        margin: 0 auto;
        display: flex;
        justify-content: space-between; }
        .voice article .contents--sch--inner h4 {
          font-family: "Cormorant", serif;
          font-weight: 600;
          font-size: 4.39238653vw;
          color: #4c74a9;
          line-height: 1;
          letter-spacing: 0.08em;
          padding-bottom: 1.4641288433vw;
          border-bottom: 0.0732064422vw solid #fff; }
          .voice article .contents--sch--inner h4 small {
            display: block;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700;
            font-size: 1.2445095168vw;
            color: #fff;
            letter-spacing: 0.02em; }
        .voice article .contents--sch--inner--left {
          width: 30.1610541728vw; }
          .voice article .contents--sch--inner--left--box {
            margin-top: 2.0497803807vw; }
            .voice article .contents--sch--inner--left--box dl {
              display: flex;
              justify-content: space-between; }
              .voice article .contents--sch--inner--left--box dl dt {
                font-size: 1.4641288433vw;
                font-weight: 600;
                width: 5.8565153734vw; }
              .voice article .contents--sch--inner--left--box dl dd {
                width: 22.8404099561vw;
                font-weight: 500;
                font-size: 1.0980966325vw;
                position: relative;
                padding-bottom: 2.196193265vw; }
                .voice article .contents--sch--inner--left--box dl dd strong {
                  display: block;
                  font-size: 1.317715959vw; }
                .voice article .contents--sch--inner--left--box dl dd:before, .voice article .contents--sch--inner--left--box dl dd:after {
                  position: absolute;
                  content: ""; }
                .voice article .contents--sch--inner--left--box dl dd:before {
                  width: 0.878477306vw;
                  height: 0.878477306vw;
                  background: #fff;
                  border-radius: 0.6588579795vw;
                  left: -1.9033674963vw;
                  top: 0.7320644217vw; }
                .voice article .contents--sch--inner--left--box dl dd:after {
                  height: 100%;
                  border-left: 0.0732064422vw solid #fff;
                  left: -1.5373352855vw;
                  top: 0.7320644217vw; }
                .voice article .contents--sch--inner--left--box dl dd.last {
                  padding-bottom: 0; }
        .voice article .contents--sch--inner--right {
          width: 39.9707174231vw; }
          .voice article .contents--sch--inner--right--box {
            margin-top: 2.0497803807vw; }
            .voice article .contents--sch--inner--right--box .box {
              display: flex;
              justify-content: space-between;
              margin-top: 2.0497803807vw; }
              .voice article .contents--sch--inner--right--box .box .year {
                width: 9.5168374817vw;
                background: #4c74a9;
                color: #fff;
                text-align: center;
                display: flex;
                justify-content: center;
                align-items: center;
                font-size: 1.4641288433vw;
                font-weight: 500;
                position: relative; }
                .voice article .contents--sch--inner--right--box .box .year:after {
                  position: absolute;
                  content: "";
                  width: 1.1713030747vw;
                  height: 1.1713030747vw;
                  border-bottom: 0.0732064422vw solid;
                  border-right: 0.0732064422vw solid;
                  border-color: #fff;
                  transform: rotate(45deg);
                  bottom: -0.3660322108vw;
                  left: 50%;
                  margin-left: -0.5856515373vw; }
                .voice article .contents--sch--inner--right--box .box .year.last {
                  padding: 0.7320644217vw 0; }
                  .voice article .contents--sch--inner--right--box .box .year.last:after {
                    content: none; }
              .voice article .contents--sch--inner--right--box .box dl {
                width: 28.5505124451vw; }
                .voice article .contents--sch--inner--right--box .box dl dt {
                  font-size: 1.4641288433vw;
                  font-weight: 500; }
                .voice article .contents--sch--inner--right--box .box dl dd {
                  font-weight: 500;
                  font-size: 1.0980966325vw;
                  line-height: 1.4;
                  position: relative;
                  padding-top: 0.7320644217vw;
                  text-align: justify; }
                  .voice article .contents--sch--inner--right--box .box dl dd strong {
                    display: block;
                    font-size: 1.317715959vw; }
    .voice article .contents--offtime {
      background: #fff;
      padding: 5.4904831625vw 0; }
      .voice article .contents--offtime--inner {
        width: 74.9633967789vw;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        .voice article .contents--offtime--inner figure {
          width: 22.4011713031vw; }
        .voice article .contents--offtime--inner .txtbox {
          width: 52.5622254758vw; }
          .voice article .contents--offtime--inner .txtbox .ttl {
            font-family: "Cormorant", serif;
            font-weight: 600;
            font-size: 4.39238653vw;
            color: #4c74a9; }
          .voice article .contents--offtime--inner .txtbox dl dt {
            font-weight: 600;
            font-size: 1.6105417277vw; }
          .voice article .contents--offtime--inner .txtbox dl dd {
            font-weight: 500;
            font-size: 1.0980966325vw;
            line-height: 1.9;
            text-align: justify;
            margin-top: 1.0980966325vw; }
    .voice article .contents--under {
      padding: 4.39238653vw 8.2723279649vw 8.78477306vw; }
      .voice article .contents--under h3 {
        width: 27.2327964861vw;
        margin: 0 auto; }
      .voice article .contents--under--box {
        display: flex;
        justify-content: center;
        padding-top: 4.39238653vw;
        gap: 0 1.317715959vw; }
        .voice article .contents--under--box a {
          position: relative; }
          .voice article .contents--under--box a:after {
            position: absolute;
            content: "";
            background: url("../img/voice/common/arrow.svg") no-repeat center center/cover;
            width: 2.196193265vw;
            height: 0.3660322108vw;
            right: 0.2928257687vw;
            bottom: 1.4641288433vw; }
        .voice article .contents--under--box .name {
          font-family: "Cormorant", serif;
          font-weight: 600;
          font-size: 1.9033674963vw;
          padding: 0.5856515373vw 0 0.1464128843vw;
          line-height: 1.2; }
        .voice article .contents--under--box dl {
          font-weight: 500;
          font-size: 1.0980966325vw; }
          .voice article .contents--under--box dl dt {
            padding-bottom: 0.3660322108vw; }

@media screen and (max-width: 767px) {
  .voiceindex article {
    width: 100%;
    margin-top: 16vw; }
    .voiceindex article .kv {
      position: relative;
      padding-bottom: 26.6666666667vw; }
      .voiceindex article .kv h2 {
        width: 58.6666666667vw;
        margin: 0 auto;
        padding: 12vw 0 0; }
      .voiceindex article .kv h3.txt {
        width: 90.6666666667vw;
        margin: 8vw auto 1.4641288433vw;
        font-weight: 500;
        font-size: 3.2vw;
        text-align: left; }
      .voiceindex article .kv--index {
        padding: 0 5.3333333333vw;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 2.6666666667vw; }
        .voiceindex article .kv--index .box {
          width: 42.6666666667vw; }
          .voiceindex article .kv--index .box h3 {
            font-family: "Cormorant", serif;
            font-weight: 600;
            font-size: 5.3333333333vw;
            line-height: 1;
            text-align: right;
            position: relative;
            z-index: 2; }
            .voiceindex article .kv--index .box h3 small {
              padding-right: 1.3333333333vw; }
            .voiceindex article .kv--index .box h3 strong {
              line-height: 1;
              font-size: 10.6666666667vw; }
          .voiceindex article .kv--index .box figure {
            width: 100%;
            overflow-x: hidden; }
            .voiceindex article .kv--index .box figure img {
              width: 140%;
              max-width: 140%;
              margin-left: -20%; }
          .voiceindex article .kv--index .box .ttls {
            font-size: 3.4666666667vw;
            letter-spacing: 0.04em; }
          .voiceindex article .kv--index .box .name strong {
            font-family: "Cormorant", serif;
            font-weight: 600;
            font-size: 5.8666666667vw;
            display: block;
            line-height: 1.4; }
          .voiceindex article .kv--index .box .name small {
            display: block;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700;
            font-size: 3.4666666667vw; }
          .voiceindex article .kv--index .box a {
            position: relative; }
            .voiceindex article .kv--index .box a:after {
              position: absolute;
              content: "";
              background: url("../img/voice/common/arrow.svg") no-repeat center center/cover;
              width: 8vw;
              height: 1.3333333333vw;
              right: 1.0666666667vw;
              bottom: auto;
              top: 53.3333333333vw; }

  .voice article {
    width: 100%;
    margin-top: 16vw; }
    .voice article .kv {
      position: relative; }
      .voice article .kv figure {
        width: 90.6666666667vw;
        margin: 0 auto 0 0;
        overflow: hidden; }
        .voice article .kv figure img {
          width: 140%;
          max-width: 140%;
          margin-left: -25%; }
      .voice article .kv h2 {
        font-size: 13.3333333333vw;
        top: 14.6666666667vw;
        right: 5.3333333333vw;
        line-height: 0.4; }
        .voice article .kv h2 small {
          padding-right: 7.4666666667vw; }
        .voice article .kv h2 strong {
          font-size: 18.6666666667vw; }
      .voice article .kv .name {
        position: absolute;
        top: 38.1333333333vw;
        right: 13.3333333333vw; }
        .voice article .kv .name strong {
          font-size: 8vw;
          display: block;
          line-height: 1.4; }
        .voice article .kv .name small {
          display: block;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 700;
          font-size: 3.4666666667vw; }
      .voice article .kv .ttls {
        margin-left: 2vw;
        font-size: 6.4vw;
        margin-top: 2.6666666667vw; }
        .voice article .kv .ttls span {
          display: inline-block;
          background: #000;
          color: #fff;
          padding: 0vw 0.7320644217vw 0.2928257687vw;
          margin-top: 0.7320644217vw; }
          .voice article .kv .ttls span:first-child {
            margin-top: 0; }
      .voice article .kv .profile {
        width: 96vw;
        margin: 5.3333333333vw auto 0;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        .voice article .kv .profile dt {
          width: 100%;
          font-size: 6.4vw;
          padding-top: 0vw; }
        .voice article .kv .profile dd {
          width: 100%;
          font-size: 3.4666666667vw; }
    .voice article .contents {
      width: 100%;
      position: relative;
      z-index: 4;
      margin-top: 13.3333333333vw; }
      .voice article .contents--box {
        position: relative;
        padding: 0 4vw 8vw 4vw;
        padding-top: 0vw;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        .voice article .contents--box:before {
          position: absolute;
          content: "";
          width: 100%;
          height: 0vw;
          background: #fff;
          left: 0;
          top: 0;
          z-index: -1; }
        .voice article .contents--box figure {
          width: 100%;
          position: relative; }
          .voice article .contents--box figure:before {
            position: absolute;
            content: "";
            background: #4c74a9;
            width: 8.0527086384vw;
            height: 8.0527086384vw;
            left: -2.196193265vw;
            top: -2.196193265vw;
            z-index: -1; }
        .voice article .contents--box .txtbox {
          width: 100%;
          padding-top: 5.3333333333vw; }
          .voice article .contents--box .txtbox h4 {
            font-weight: 700;
            font-size: 4.8vw; }
          .voice article .contents--box .txtbox .txt {
            font-size: 3.4666666667vw;
            margin-top: 2.6666666667vw; }
        .voice article .contents--box.rev {
          flex-direction: row-reverse;
          padding: 0 4vw 8vw 4vw;
          padding-top: 0vw; }
          .voice article .contents--box.rev figure {
            padding-top: 0vw; }
            .voice article .contents--box.rev figure:before {
              left: auto;
              top: auto;
              bottom: -2.6666666667vw;
              right: -2.196193265vw; }
        .voice article .contents--box.last {
          padding: 0 4vw 8vw 4vw;
          flex-wrap: wrap; }
          .voice article .contents--box.last:before {
            position: absolute;
            content: "";
            width: 100%;
            height: 22.6939970717vw;
            background: #263f5d;
            left: 0;
            top: 0;
            z-index: -1; }
          .voice article .contents--box.last figure {
            width: 100%; }
            .voice article .contents--box.last figure:before {
              left: -2.196193265vw;
              top: auto;
              bottom: -2.196193265vw;
              right: auto; }
          .voice article .contents--box.last .txtbox {
            width: 100%;
            padding: 0 0vw;
            padding-top: 2.6666666667vw; }
      .voice article .contents--sch {
        background: #263f5d;
        color: #fff;
        padding-top: 8vw;
        padding-bottom: 8vw; }
        .voice article .contents--sch--inner {
          width: 92vw;
          margin: 0 auto;
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          .voice article .contents--sch--inner h4 {
            font-size: 8vw;
            padding-bottom: 5.3333333333vw;
            border-bottom: 0.2666666667vw solid #fff; }
            .voice article .contents--sch--inner h4 small {
              font-size: 4vw; }
          .voice article .contents--sch--inner--left {
            width: 100%; }
            .voice article .contents--sch--inner--left--box {
              margin-top: 7.4666666667vw; }
              .voice article .contents--sch--inner--left--box dl {
                display: flex;
                justify-content: space-between; }
                .voice article .contents--sch--inner--left--box dl dt {
                  font-size: 4.2666666667vw;
                  font-weight: 600;
                  width: 16vw; }
                .voice article .contents--sch--inner--left--box dl dd {
                  width: 70.6666666667vw;
                  font-size: 3.4666666667vw;
                  position: relative;
                  padding-bottom: 2.196193265vw; }
                  .voice article .contents--sch--inner--left--box dl dd strong {
                    display: block;
                    font-size: 4vw; }
                  .voice article .contents--sch--inner--left--box dl dd:before, .voice article .contents--sch--inner--left--box dl dd:after {
                    position: absolute;
                    content: ""; }
                  .voice article .contents--sch--inner--left--box dl dd:before {
                    width: 3.2vw;
                    height: 3.2vw;
                    background: #fff;
                    border-radius: 2.4vw;
                    left: -6.9333333333vw;
                    top: 1.6vw; }
                  .voice article .contents--sch--inner--left--box dl dd:after {
                    height: 100%;
                    border-left: 0.0732064422vw solid #fff;
                    left: -5.6vw;
                    top: 1.6vw; }
                  .voice article .contents--sch--inner--left--box dl dd.last {
                    padding-bottom: 0; }
          .voice article .contents--sch--inner--right {
            width: 100%;
            margin-top: 5.3333333333vw; }
            .voice article .contents--sch--inner--right--box {
              margin-top: 2.0497803807vw; }
              .voice article .contents--sch--inner--right--box .box {
                display: flex;
                justify-content: space-between;
                margin-top: 7.4666666667vw; }
                .voice article .contents--sch--inner--right--box .box .year {
                  width: 29.3333333333vw;
                  background: #4c74a9;
                  color: #fff;
                  text-align: center;
                  display: flex;
                  justify-content: center;
                  align-items: center;
                  font-size: 4vw;
                  font-weight: 500;
                  position: relative; }
                  .voice article .contents--sch--inner--right--box .box .year:after {
                    position: absolute;
                    content: "";
                    width: 4.2666666667vw;
                    height: 4.2666666667vw;
                    border-bottom: 0.2666666667vw solid;
                    border-right: 0.2666666667vw solid;
                    border-color: #fff;
                    transform: rotate(45deg);
                    bottom: -0.3660322108vw;
                    left: 50%;
                    margin-left: -2.1333333333vw; }
                  .voice article .contents--sch--inner--right--box .box .year.last {
                    padding: 2.6666666667vw 0; }
                    .voice article .contents--sch--inner--right--box .box .year.last:after {
                      content: none; }
                .voice article .contents--sch--inner--right--box .box dl {
                  width: 58.6666666667vw; }
                  .voice article .contents--sch--inner--right--box .box dl dt {
                    font-size: 4vw;
                    font-weight: 500; }
                  .voice article .contents--sch--inner--right--box .box dl dd {
                    font-weight: 500;
                    font-size: 3.4666666667vw;
                    line-height: 1.4;
                    position: relative;
                    padding-top: 0.7320644217vw;
                    text-align: justify; }
                    .voice article .contents--sch--inner--right--box .box dl dd strong {
                      display: block;
                      font-size: 4vw; }
      .voice article .contents--offtime {
        background: #fff;
        padding: 0vw 0 8vw; }
        .voice article .contents--offtime--inner {
          width: 90.6666666667vw;
          margin: 0 auto;
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap; }
          .voice article .contents--offtime--inner figure {
            width: 81.6vw;
            margin: 0 auto; }
          .voice article .contents--offtime--inner .txtbox {
            width: 100%; }
            .voice article .contents--offtime--inner .txtbox .ttl {
              font-family: "Cormorant", serif;
              font-weight: 600;
              font-size: 8vw;
              color: #4c74a9; }
            .voice article .contents--offtime--inner .txtbox dl dt {
              font-weight: 600;
              font-size: 4.8vw; }
            .voice article .contents--offtime--inner .txtbox dl dd {
              font-weight: 500;
              font-size: 3.4666666667vw;
              line-height: 1.9;
              text-align: justify;
              margin-top: 2.6666666667vw; }
      .voice article .contents--under {
        padding: 8vw 5.3333333333vw 16vw; }
        .voice article .contents--under h3 {
          width: 53.3333333333vw;
          margin: 0 auto; }
        .voice article .contents--under--box {
          display: flex;
          justify-content: flex-start;
          flex-wrap: wrap;
          padding-top: 5.3333333333vw;
          gap: 5.3333333333vw 2.6666666667vw; }
          .voice article .contents--under--box .box {
            width: 42.6666666667vw; }
          .voice article .contents--under--box a {
            position: relative; }
            .voice article .contents--under--box a:after {
              position: absolute;
              content: "";
              background: url("../img/voice/common/arrow.svg") no-repeat center center/cover;
              width: 8vw;
              height: 1.3333333333vw;
              right: 1.0666666667vw;
              bottom: 13.3333333333vw; }
          .voice article .contents--under--box .name {
            font-family: "Cormorant", serif;
            font-weight: 600;
            font-size: 5.8666666667vw;
            padding: 0.5856515373vw 0 0.1464128843vw;
            line-height: 1.2; }
          .voice article .contents--under--box dl {
            font-weight: 500;
            font-size: 3.4666666667vw; }
            .voice article .contents--under--box dl dt {
              padding-bottom: 0.3660322108vw; } }
.aboutus article {
  width: 100%;
  margin-top: 5.1244509517vw; }
  .aboutus article .kv {
    position: relative;
    margin-top: 4.39238653vw; }
  .aboutus article .contents {
    position: relative; }
    .aboutus article .contents.mt {
      margin-top: 5.8565153734vw; }
    .aboutus article .contents--box {
      width: 100%;
      margin-bottom: 8.78477306vw; }
      .aboutus article .contents--box .top {
        position: relative; }
        .aboutus article .contents--box .top:before, .aboutus article .contents--box .top:after {
          position: absolute;
          content: "";
          width: 4.39238653vw;
          height: 4.39238653vw;
          border: 0.0732064422vw solid #fff; }
        .aboutus article .contents--box .top:before {
          left: 0.7320644217vw;
          top: 0.7320644217vw;
          border-right: none;
          border-bottom: none; }
        .aboutus article .contents--box .top:after {
          right: 0.7320644217vw;
          bottom: 0.7320644217vw;
          border-left: none;
          border-top: none; }
      .aboutus article .contents--box--inner {
        width: 74.9633967789vw;
        margin: 0 auto;
        margin-top: 2.9282576867vw;
        background: #fff;
        padding: 6.588579795vw;
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
        flex-wrap: wrap;
        z-index: 2; }
        .aboutus article .contents--box--inner .txtbox {
          width: 100%; }
          .aboutus article .contents--box--inner .txtbox h4 {
            font-size: 1.756954612vw;
            color: #005bab;
            text-align: center; }
            .aboutus article .contents--box--inner .txtbox h4 strong {
              display: inline-block;
              background: #005bab;
              color: #fff;
              font-weight: 700;
              padding: 0 0.7320644217vw;
              font-size: 1.1713030747vw;
              margin-bottom: 0.7320644217vw; }
          .aboutus article .contents--box--inner .txtbox h5 {
            font-size: 1.317715959vw;
            color: #005bab;
            margin: 1.4641288433vw 0 0; }
          .aboutus article .contents--box--inner .txtbox .txt {
            font-weight: 500;
            font-size: 1.0980966325vw;
            line-height: 1.9;
            margin-top: 1.4641288433vw;
            text-align: justify; }
        .aboutus article .contents--box--inner figure {
          width: 100%;
          margin-top: 2.9282576867vw; }
      .aboutus article .contents--box--under {
        width: 74.9633967789vw;
        margin: 0 auto;
        margin-top: -8.78477306vw;
        background: #fff;
        position: relative;
        z-index: 2; }
        .aboutus article .contents--box--under .txtbox {
          width: 100%;
          padding: 5.1244509517vw 6.588579795vw 6.588579795vw; }
          .aboutus article .contents--box--under .txtbox h4 {
            font-size: 2.196193265vw;
            font-family: "Noto Serif JP", serif;
            font-weight: 600;
            color: #005bab;
            text-align: center; }
          .aboutus article .contents--box--under .txtbox .txt {
            font-weight: 500;
            font-size: 1.0980966325vw;
            line-height: 1.9;
            margin-top: 2.196193265vw;
            text-align: justify; }
        .aboutus article .contents--box--under .txtbox_under {
          background: #005bab;
          padding: 6.588579795vw;
          color: #fff;
          position: relative; }
          .aboutus article .contents--box--under .txtbox_under:after {
            position: absolute;
            content: "";
            top: 0vw;
            left: 50%;
            margin-left: -3.2942898975vw;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 2.4890190337vw 3.2942898975vw 0 3.2942898975vw;
            border-color: #fff transparent transparent transparent; }
          .aboutus article .contents--box--under .txtbox_under h4 {
            font-size: 2.4158125915vw;
            font-family: "Noto Serif JP", serif;
            font-weight: 600;
            text-align: center; }
          .aboutus article .contents--box--under .txtbox_under .txt {
            font-weight: 500;
            font-size: 1.2445095168vw;
            line-height: 1.9;
            margin-top: 2.196193265vw;
            text-align: center; }
    .aboutus article .contents--topics {
      width: 74.9633967789vw;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      padding-bottom: 8.78477306vw;
      gap: 1.756954612vw 0; }
      .aboutus article .contents--topics--box {
        background: #fff;
        position: relative;
        padding: 1.4641288433vw; }
        .aboutus article .contents--topics--box .icon {
          position: absolute;
          left: 0;
          top: 0;
          width: 8.78477306vw; }
        .aboutus article .contents--topics--box h4 {
          text-align: center;
          font-size: 1.6837481698vw;
          font-weight: 600;
          padding: 1.4641288433vw 0 2.196193265vw; }
        .aboutus article .contents--topics--box .number {
          display: flex;
          justify-content: center;
          align-items: baseline;
          gap: 0 0.7320644217vw; }
          .aboutus article .contents--topics--box .number strong {
            font-family: "Barlow Condensed", sans-serif;
            font-weight: 600;
            color: #005bab;
            font-size: 10.2489019034vw;
            line-height: 1; }
          .aboutus article .contents--topics--box .number span {
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700;
            font-size: 1.6837481698vw; }
          .aboutus article .contents--topics--box .number.pos {
            position: absolute;
            bottom: 7.3206442167vw;
            right: 18.3016105417vw; }
            .aboutus article .contents--topics--box .number.pos strong {
              font-size: 13.17715959vw; }
            .aboutus article .contents--topics--box .number.pos span {
              font-size: 2.3426061493vw; }
          .aboutus article .contents--topics--box .number.blur {
            opacity: 0;
            filter: blur(10px);
            transition: opacity .6s ease, filter .6s ease; }
            .aboutus article .contents--topics--box .number.blur.show {
              opacity: 1;
              filter: blur(0); }
        .aboutus article .contents--topics--box .caption {
          text-align: right;
          font-size: 1.0980966325vw;
          line-height: 1.9;
          font-weight: 500;
          padding-top: 1.4641288433vw; }
        .aboutus article .contents--topics--box ul {
          display: flex;
          justify-content: center;
          font-size: 1.6837481698vw;
          font-weight: 600;
          gap: 0 2.196193265vw;
          margin-top: 1.4641288433vw; }
          .aboutus article .contents--topics--box ul span {
            color: #005bab; }
        .aboutus article .contents--topics--box .flexbox {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 0 1.4641288433vw; }
          .aboutus article .contents--topics--box .flexbox .boxs .number strong {
            font-size: 6.8814055637vw; }
        .aboutus article .contents--topics--box.half {
          width: 36.6032210835vw; }
        .aboutus article .contents--topics--box.all {
          width: 74.9633967789vw;
          position: relative; }
          .aboutus article .contents--topics--box.all figure {
            padding: 0 2.196193265vw; }
        .aboutus article .contents--topics--box.tri {
          width: 24.0117130307vw; }
          .aboutus article .contents--topics--box.tri h4 {
            padding-left: 7.3206442167vw;
            text-align: left; }
            .aboutus article .contents--topics--box.tri h4.sec {
              line-height: 1.2;
              padding: 0;
              padding-left: 7.3206442167vw;
              padding-top: 0.7320644217vw;
              padding-bottom: 1.4641288433vw; }

@media screen and (max-width: 767px) {
  .aboutus article {
    width: 100%;
    margin-top: 16vw; }
    .aboutus article .kv {
      position: relative;
      margin-top: 16vw; }
    .aboutus article .contents {
      position: relative; }
      .aboutus article .contents.mt {
        margin-top: 10.6666666667vw; }
      .aboutus article .contents--box {
        width: 100%;
        margin-bottom: 8.78477306vw; }
        .aboutus article .contents--box .top {
          position: relative; }
          .aboutus article .contents--box .top:before, .aboutus article .contents--box .top:after {
            position: absolute;
            content: "";
            width: 5.3333333333vw;
            height: 5.3333333333vw;
            border: 0.2666666667vw solid #fff; }
          .aboutus article .contents--box .top:before {
            left: 1.3333333333vw;
            top: 1.3333333333vw;
            border-right: none;
            border-bottom: none; }
          .aboutus article .contents--box .top:after {
            right: 1.3333333333vw;
            bottom: 1.3333333333vw;
            border-left: none;
            border-top: none; }
        .aboutus article .contents--box--inner {
          width: 85.3333333333vw;
          margin-top: 8vw;
          padding: 12vw 5.3333333333vw;
          flex-wrap: wrap; }
          .aboutus article .contents--box--inner .txtbox {
            width: 80vw; }
            .aboutus article .contents--box--inner .txtbox h4 {
              font-size: 4.8vw; }
              .aboutus article .contents--box--inner .txtbox h4 strong {
                font-size: 3.7333333333vw; }
            .aboutus article .contents--box--inner .txtbox .txt {
              font-size: 3.4666666667vw;
              margin-top: 2.6666666667vw; }
            .aboutus article .contents--box--inner .txtbox h5 {
              font-size: 4vw;
              color: #005bab;
              margin: 5.3333333333vw 0 0; }
          .aboutus article .contents--box--inner figure {
            width: 100%;
            margin: 4vw auto 0; }
        .aboutus article .contents--box--under {
          width: 85.3333333333vw;
          margin-top: -16vw;
          flex-wrap: wrap; }
          .aboutus article .contents--box--under .txtbox {
            width: 100%;
            padding: 8vw 5.3333333333vw 8vw; }
            .aboutus article .contents--box--under .txtbox h4 {
              font-size: 5.3333333333vw; }
            .aboutus article .contents--box--under .txtbox .txt {
              font-size: 3.4666666667vw;
              margin-top: 2.6666666667vw; }
          .aboutus article .contents--box--under .txtbox_under {
            background: #005bab;
            padding: 12vw 5.3333333333vw; }
            .aboutus article .contents--box--under .txtbox_under h4 {
              font-size: 5.3333333333vw; }
            .aboutus article .contents--box--under .txtbox_under .txt {
              font-size: 4vw;
              margin-top: 4vw; }
      .aboutus article .contents--topics {
        width: 96vw;
        padding-bottom: 21.3333333333vw;
        flex-wrap: wrap;
        gap: 5.3333333333vw 0; }
        .aboutus article .contents--topics--box {
          background: #fff;
          position: relative;
          padding: 5.3333333333vw 2.6666666667vw; }
          .aboutus article .contents--topics--box .icon {
            width: 21.3333333333vw; }
          .aboutus article .contents--topics--box h4 {
            text-align: center;
            font-size: 4.8vw;
            font-weight: 600;
            padding: 2.6666666667vw 0 4vw; }
          .aboutus article .contents--topics--box .number {
            gap: 0 2.6666666667vw; }
            .aboutus article .contents--topics--box .number strong {
              font-size: 18.6666666667vw; }
            .aboutus article .contents--topics--box .number span {
              font-size: 6.1333333333vw; }
            .aboutus article .contents--topics--box .number.pos {
              position: absolute;
              bottom: 26.6666666667vw;
              right: 22.2222222222vw; }
              .aboutus article .contents--topics--box .number.pos strong {
                font-size: 16.1054172767vw; }
              .aboutus article .contents--topics--box .number.pos span {
                font-size: 6.1333333333vw; }
          .aboutus article .contents--topics--box .caption {
            text-align: right;
            font-size: 3.2vw;
            padding-top: 5.3333333333vw; }
          .aboutus article .contents--topics--box ul {
            display: flex;
            justify-content: center;
            font-size: 4.2666666667vw;
            font-weight: 600;
            flex-wrap: wrap;
            text-align: center;
            gap: 0;
            margin-top: 5.3333333333vw; }
            .aboutus article .contents--topics--box ul li {
              width: 100%; }
            .aboutus article .contents--topics--box ul span {
              color: #005bab; }
          .aboutus article .contents--topics--box .flexbox {
            gap: 0 5.3333333333vw; }
            .aboutus article .contents--topics--box .flexbox .boxs .number strong {
              font-size: 12.5333333333vw; }
          .aboutus article .contents--topics--box.half {
            width: 100vw; }
          .aboutus article .contents--topics--box.all {
            width: 100vw; }
            .aboutus article .contents--topics--box.all figure {
              padding: 0 4vw; }
          .aboutus article .contents--topics--box.tri {
            width: 96vw; }
            .aboutus article .contents--topics--box.tri h4 {
              padding-left: 0vw;
              text-align: center; }
              .aboutus article .contents--topics--box.tri h4 br {
                display: none; }
              .aboutus article .contents--topics--box.tri h4.sec {
                line-height: 1.2;
                padding: 0;
                padding-left: 0vw;
                padding-top: 2.6666666667vw;
                padding-bottom: 5.3333333333vw; } }
.business article {
  width: 100%;
  margin-top: 5.1244509517vw; }
  .business article .kv {
    position: relative;
    margin-top: 4.39238653vw; }
  .business article .contents {
    position: relative;
    padding-bottom: 8.78477306vw; }
    .business article .contents h3.leadtxt {
      text-align: center;
      font-size: 1.6837481698vw;
      font-weight: 700;
      color: #005bab; }
      .business article .contents h3.leadtxt.sec {
        margin-top: 6.588579795vw; }
      .business article .contents h3.leadtxt.top {
        padding-top: 4.39238653vw; }
      .business article .contents h3.leadtxt.thi {
        margin-top: 3.6603221083vw;
        margin-bottom: -1.317715959vw;
        position: relative;
        z-index: 2; }
    .business article .contents .txts {
      font-size: 1.0980966325vw;
      font-weight: 500;
      line-height: 1.9;
      text-align: justify; }
    .business article .contents .contbox {
      width: 74.9633967789vw;
      margin: 2.196193265vw auto 0;
      background: #fff;
      padding-bottom: 2.196193265vw; }
      .business article .contents .contbox figure {
        width: 69.5461200586vw;
        margin: 0 auto;
        padding: 2.196193265vw 0; }
      .business article .contents .contbox .txts {
        padding: 0 2.7086383602vw; }
    .business article .contents--inner .tabs {
      display: flex;
      justify-content: center;
      margin-top: 4.39238653vw; }
      .business article .contents--inner .tabs .tab {
        width: 18.7408491947vw;
        height: 6.7349926794vw;
        background: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        font-size: 1.3909224012vw;
        font-weight: 600;
        color: #ccc;
        cursor: pointer;
        border-right: 0.0732064422vw solid #ccc; }
        .business article .contents--inner .tabs .tab:last-child {
          border-right: none; }
        .business article .contents--inner .tabs .tab.active {
          border-right: none;
          background: #005bab;
          color: #fff; }
      .business article .contents--inner .tabs.under {
        margin-top: 0vw; }
@keyframes tabFade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
    .business article .contents--inner .tabinner {
      background: #fff;
      padding-bottom: 8.78477306vw;
      display: none;
      opacity: 0;
      position: relative; }
      .business article .contents--inner .tabinner.show {
        display: block;
        animation: tabFade 0.4s ease forwards; }
      .business article .contents--inner .tabinner .topimg {
        height: 36.6032210835vw;
        overflow: hidden;
        margin-bottom: -3.6603221083vw; }
      .business article .contents--inner .tabinner .txts {
        padding: 2.196193265vw 0vw 0; }
      .business article .contents--inner .tabinner .obj {
        width: 58.5651537335vw;
        margin: 0 auto; }
      .business article .contents--inner .tabinner--cont {
        width: 74.9633967789vw;
        margin: 0 auto;
        background: #fff;
        margin-top: -5.8565153734vw;
        position: relative;
        z-index: 1;
        padding: 0 8.1991215227vw; }
        .business article .contents--inner .tabinner--cont--flex {
          width: 58.5651537335vw;
          margin: 2.9282576867vw auto 0;
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          gap: 2.9282576867vw 0; }
          .business article .contents--inner .tabinner--cont--flex.center {
            justify-content: space-around; }
          .business article .contents--inner .tabinner--cont--flex .box {
            width: 27.8184480234vw; }
            .business article .contents--inner .tabinner--cont--flex .box.all {
              width: 100%; }
            .business article .contents--inner .tabinner--cont--flex .box .undertxt {
              font-size: 1.1713030747vw;
              font-weight: 600;
              text-align: center;
              margin-top: 1.4641288433vw; }
        .business article .contents--inner .tabinner--cont--wrap {
          width: 100%;
          margin: 4.39238653vw auto 0;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          .business article .contents--inner .tabinner--cont--wrap figure {
            width: 35.1390922401vw; }
          .business article .contents--inner .tabinner--cont--wrap .txtbox {
            width: 20.4978038067vw; }
            .business article .contents--inner .tabinner--cont--wrap .txtbox h4 {
              font-size: 1.5373352855vw;
              color: #005bab; }
            .business article .contents--inner .tabinner--cont--wrap .txtbox .txts {
              padding: 1.4641288433vw 0 0; }
          .business article .contents--inner .tabinner--cont--wrap.rev {
            flex-direction: row-reverse; }
            .business article .contents--inner .tabinner--cont--wrap.rev .txtbox {
              width: 20.4978038067vw;
              margin-left: 0vw;
              margin-right: 0; }
        .business article .contents--inner .tabinner--cont--box {
          width: 58.5651537335vw;
          margin: 2.9282576867vw auto 0;
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap; }
          .business article .contents--inner .tabinner--cont--box figure {
            width: 23.4260614934vw; }
          .business article .contents--inner .tabinner--cont--box .video {
            width: 100%; }
            .business article .contents--inner .tabinner--cont--box .video video {
              width: 100%; }
          .business article .contents--inner .tabinner--cont--box .txtbox {
            width: 32.2108345534vw; }
            .business article .contents--inner .tabinner--cont--box .txtbox h4 {
              font-size: 1.5373352855vw; }
            .business article .contents--inner .tabinner--cont--box .txtbox .txts {
              padding: 1.4641288433vw 0 0; }
          .business article .contents--inner .tabinner--cont--box.all {
            flex-wrap: wrap;
            margin-top: 0; }
            .business article .contents--inner .tabinner--cont--box.all figure {
              width: 100%;
              margin-top: 2.196193265vw; }
        .business article .contents--inner .tabinner--cont--inner {
          border: 0.0732064422vw solid #005bab;
          border-left: 0.2928257687vw solid #005bab;
          padding: 1.0980966325vw;
          border-top-right-radius: 1.0980966325vw;
          border-bottom-right-radius: 1.0980966325vw;
          margin-top: 0.7320644217vw; }
          .business article .contents--inner .tabinner--cont--inner h4 {
            font-size: 1.1713030747vw;
            color: #005bab;
            margin-bottom: 0.3660322108vw; }
          .business article .contents--inner .tabinner--cont--inner .txt {
            font-size: 1.0248901903vw;
            font-weight: 500; }
        .business article .contents--inner .tabinner--cont--caption {
          margin-top: 2.196193265vw;
          background: rgba(0, 91, 171, 0.1);
          padding: 1.0980966325vw;
          border-radius: 1.0980966325vw; }
          .business article .contents--inner .tabinner--cont--caption dl {
            display: flex;
            align-items: center;
            justify-content: space-between; }
            .business article .contents--inner .tabinner--cont--caption dl:first-child {
              padding-bottom: 0.7320644217vw;
              margin-bottom: 0.7320644217vw;
              border-bottom: 0.0732064422vw solid #fff; }
            .business article .contents--inner .tabinner--cont--caption dl dt {
              width: 10.980966325vw;
              height: 2.5622254758vw;
              display: flex;
              align-items: center;
              justify-content: center;
              background: #fff;
              text-align: center; }
            .business article .contents--inner .tabinner--cont--caption dl dd {
              width: 43.9238653001vw;
              font-size: 1.0248901903vw;
              font-weight: 400; }
        .business article .contents--inner .tabinner--cont--column {
          background: #f8f6f3;
          display: flex;
          margin-top: 2.9282576867vw;
          justify-content: space-between;
          align-items: center;
          padding: 1.0980966325vw; }
          .business article .contents--inner .tabinner--cont--column figure {
            width: 40%; }
            .business article .contents--inner .tabinner--cont--column figure img {
              max-width: 100%;
              width: 100%;
              height: auto; }
          .business article .contents--inner .tabinner--cont--column .txt {
            width: 55%;
            font-weight: 500; }
        .business article .contents--inner .tabinner--cont--bland {
          display: flex;
          justify-content: center;
          flex-wrap: wrap;
          gap: 0 1%; }
          .business article .contents--inner .tabinner--cont--bland h4.blur {
            width: 100%;
            font-size: 1.1713030747vw;
            text-align: center;
            margin-top: 2.196193265vw;
            margin-bottom: 2.196193265vw;
            background: #f2f2f2;
            padding: 0.7320644217vw 0; }
          .business article .contents--inner .tabinner--cont--bland dl {
            width: 31.3333%;
            text-align: center; }
            .business article .contents--inner .tabinner--cont--bland dl dt {
              border: 0.0732064422vw solid #ccc;
              padding: 2.196193265vw 1.4641288433vw; }
              .business article .contents--inner .tabinner--cont--bland dl dt img {
                width: auto;
                max-width: auto;
                height: auto; }
            .business article .contents--inner .tabinner--cont--bland dl dd {
              text-align: center;
              font-weight: 500;
              margin-top: 0.7320644217vw; }
            .business article .contents--inner .tabinner--cont--bland dl.sq dt {
              padding: 1.4641288433vw 0.7320644217vw; }
      .business article .contents--inner .tabinner .blandbox {
        width: 87.8477306003vw;
        margin: 0 auto;
        border-radius: 2.196193265vw;
        margin-top: 2.196193265vw;
        padding-bottom: 4.39238653vw; }
        .business article .contents--inner .tabinner .blandbox .caption {
          text-align: center;
          margin: 0.7320644217vw auto;
          font-size: 0.9516837482vw;
          font-weight: 400; }
          .business article .contents--inner .tabinner .blandbox .caption span {
            width: 2.196193265vw;
            height: 1.2445095168vw;
            display: inline-block;
            background: #c8c8c8;
            position: relative;
            top: 0.2928257687vw;
            margin-right: 0.3660322108vw; }
        .business article .contents--inner .tabinner .blandbox table {
          background: #f8f6f3;
          border-bottom-left-radius: 2.196193265vw;
          border-bottom-right-radius: 2.196193265vw;
          overflow: hidden;
          border: none;
          width: 100%; }
          .business article .contents--inner .tabinner .blandbox table th {
            width: 30%;
            text-align: center;
            border-bottom: 0.1464128843vw solid #fff;
            border-right: 0.1464128843vw solid #fff;
            padding: 0.7320644217vw;
            font-weight: 700; }
            .business article .contents--inner .tabinner .blandbox table th:first-child {
              width: 10%; }
            .business article .contents--inner .tabinner .blandbox table th:last-child {
              width: 35%;
              border-right: none; }
            .business article .contents--inner .tabinner .blandbox table th.ht {
              height: 15.3733528551vw; }
            .business article .contents--inner .tabinner .blandbox table th.cl_1 {
              background: #022f8d;
              color: #fff;
              width: 2%; }
            .business article .contents--inner .tabinner .blandbox table th.cl_5 {
              background: #a6c4d9; }
            .business article .contents--inner .tabinner .blandbox table th.cl_2 {
              background: #c6cfe1; }
            .business article .contents--inner .tabinner .blandbox table th.cl_3 {
              background: #fbe4ea; }
          .business article .contents--inner .tabinner .blandbox table td {
            border-top: 0.1464128843vw solid #fff;
            border-right: 0.1464128843vw solid #fff; }
            .business article .contents--inner .tabinner .blandbox table td:last-child {
              border-right: none; }
            .business article .contents--inner .tabinner .blandbox table td ul {
              padding: 0.7320644217vw;
              display: flex;
              flex-wrap: wrap;
              align-items: center;
              justify-content: center;
              gap: 2%; }
              .business article .contents--inner .tabinner .blandbox table td ul li {
                width: 48%;
                text-align: center;
                padding: 0.1464128843vw 0.3660322108vw;
                border-radius: 1.4641288433vw;
                font-size: 0.878477306vw;
                line-height: 1.4;
                margin-top: 2%; }
                .business article .contents--inner .tabinner .blandbox table td ul li a {
                  color: #000;
                  position: relative; }
                  .business article .contents--inner .tabinner .blandbox table td ul li a:after {
                    position: absolute;
                    content: "";
                    background: url("../img/common/blank.svg") no-repeat center center/cover;
                    width: 0.8235724744vw;
                    height: 0.9150805271vw;
                    right: 0.1464128843vw;
                    top: 50%;
                    margin-top: -0.4575402635vw;
                    transition: none; }
              .business article .contents--inner .tabinner .blandbox table td ul.cl_1 li {
                background: #e0e5ef; }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_1 li.gr {
                  background: #c8c8c8; }
              .business article .contents--inner .tabinner .blandbox table td ul.cl_2 li {
                background: #c6cfe1; }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_2 li.gr {
                  background: #c8c8c8; }
              .business article .contents--inner .tabinner .blandbox table td ul.cl_3 li {
                background: #fbe4ea; }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_3 li.gr {
                  background: #c8c8c8; }
              .business article .contents--inner .tabinner .blandbox table td ul.cl_4 {
                width: 90%;
                margin: 0 auto;
                background: rgba(179, 246, 255, 0.4);
                border-radius: 1.0980966325vw; }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_4 li {
                  background: #b3f6ff; }
              .business article .contents--inner .tabinner .blandbox table td ul.cl_5 li {
                background: #a6c4d9; }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_5 li.gr {
                  background: #c8c8c8; }
    .business article .contents--banner {
      width: 46.1200585652vw;
      margin: 7.3206442167vw auto 0; }
      .business article .contents--banner ul {
        display: flex;
        justify-content: space-between;
        gap: 0 2.196193265vw; }
        .business article .contents--banner ul li {
          width: 21.9619326501vw;
          text-align: center;
          font-size: 1.0980966325vw; }
          .business article .contents--banner ul li a {
            display: block;
            position: relative;
            border: 0.1464128843vw solid #000;
            padding: 1.8301610542vw 0vw 1.8301610542vw;
            border-top: 1px solid #000000;
            border-right: 1px solid #000000;
            border-left: 1px solid #000000;
            border-bottom: 1px solid #000000;
            transition: 0.3s;
            box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.4), inset 0px 1px 6px 0px rgba(86, 86, 86, 0.4); }
            .business article .contents--banner ul li a:after {
              position: absolute;
              content: "";
              background: url("../img/common/blank.svg") no-repeat center center/cover;
              width: 1.317715959vw;
              height: 1.4641288433vw;
              right: 1.4641288433vw;
              top: 50%;
              margin-top: -0.7320644217vw; }

.project article {
  width: 100%;
  margin-top: 5.1244509517vw; }
  .project article .kv {
    width: 74.9633967789vw;
    margin: 0 auto;
    margin-top: 6.588579795vw; }
    .project article .kv h2 {
      font-family: "Cormorant", serif;
      font-weight: 600;
      font-size: 4.39238653vw;
      align-items: center;
      justify-content: center;
      line-height: 1;
      text-align: right;
      position: relative;
      z-index: 2;
      margin-bottom: 2.9282576867vw;
      text-align: center; }
      .project article .kv h2 small {
        display: block;
        font-size: 5.8565153734vw;
        line-height: 2.9282576867vw;
        padding-top: 4.39238653vw; }
      .project article .kv h2 strong {
        line-height: 5.8565153734vw;
        font-size: 10.2489019034vw; }
    .project article .kv .moviebtn {
      position: relative;
      aspect-ratio: 16 / 9;
      overflow: hidden; }
      .project article .kv .moviebtn img,
      .project article .kv .moviebtn iframe {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
      .project article .kv .moviebtn .video-thumb {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block; }
      .project article .kv .moviebtn .video-wrap {
        position: relative; }
      .project article .kv .moviebtn .video-thumb {
        width: 100%;
        display: block; }
      .project article .kv .moviebtn .video-poster {
        position: absolute;
        inset: 0;
        z-index: 2;
        cursor: pointer; }
      .project article .kv .moviebtn .video-poster img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block; }
    .project article .kv--inner {
      display: flex;
      justify-content: space-between;
      margin: 2.196193265vw auto; }
      .project article .kv--inner .logo {
        width: 20.4978038067vw; }
      .project article .kv--inner .box {
        width: 51.9765739385vw; }
        .project article .kv--inner .box h3 {
          font-family: "Noto Serif JP", serif;
          font-weight: 600;
          font-size: 2.0497803807vw;
          padding-bottom: 0.3660322108vw;
          line-height: 1.4; }
        .project article .kv--inner .box .txt {
          font-weight: 500;
          font-size: 1.0980966325vw;
          line-height: 1.8; }
        .project article .kv--inner .box.flex {
          display: flex;
          justify-content: space-between;
          align-items: center;
          width: 100%; }
          .project article .kv--inner .box.flex h3 {
            width: 26.3543191801vw;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700;
            color: #fff;
            text-align: center; }
            .project article .kv--inner .box.flex h3 span {
              display: block;
              background: #263f5d;
              line-height: 1;
              padding-bottom: 0.2928257687vw;
              padding: 1.4641288433vw 0.7320644217vw; }
              .project article .kv--inner .box.flex h3 span.cl_2 {
                background: #387fc2; }
          .project article .kv--inner .box.flex .txt {
            width: 46.1200585652vw; }
  .project article .contents {
    padding: 8.78477306vw 0; }
    .project article .contents--banner {
      width: 45.3879941435vw;
      margin: 0 auto;
      background: #fff; }
      .project article .contents--banner a {
        display: flex;
        justify-content: space-between;
        position: relative; }
        .project article .contents--banner a:after {
          position: absolute;
          content: "";
          background: url("../img/common/btn_more.svg") no-repeat top center/cover;
          width: 10.980966325vw;
          height: 1.0248901903vw;
          right: 0;
          top: auto;
          bottom: 1.0980966325vw;
          right: 0.7320644217vw; }
        .project article .contents--banner a figure {
          width: 17.2767203514vw; }
        .project article .contents--banner a .txtbox {
          width: 28.1112737921vw;
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 0 1.4641288433vw; }
          .project article .contents--banner a .txtbox dl {
            font-family: "Cormorant", serif;
            font-weight: 600;
            font-size: 2.7818448023vw;
            line-height: 1;
            text-align: center;
            position: relative;
            z-index: 2; }
            .project article .contents--banner a .txtbox dl dd {
              line-height: 0.4;
              padding-top: 0.7320644217vw;
              font-size: 8.0527086384vw; }
            .project article .contents--banner a .txtbox dl dt {
              line-height: 0.4; }
          .project article .contents--banner a .txtbox .txt {
            font-family: "Noto Serif JP", serif;
            font-weight: 600;
            font-size: 1.8301610542vw;
            line-height: 1.2;
            padding-bottom: 1.4641288433vw; }

@media screen and (max-width: 767px) {
  .business article {
    width: 100%;
    margin-top: 16vw; }
    .business article .kv {
      position: relative;
      margin-top: 16vw; }
    .business article .contents {
      position: relative;
      padding-bottom: 16vw; }
      .business article .contents h3.leadtxt {
        font-size: 5.3333333333vw; }
        .business article .contents h3.leadtxt.sec {
          margin-top: 16vw; }
        .business article .contents h3.leadtxt.top {
          padding-top: 8vw; }
        .business article .contents h3.leadtxt.thi {
          margin-top: 8vw;
          margin-bottom: 4vw; }
      .business article .contents .txts {
        font-size: 3.4666666667vw; }
      .business article .contents .contbox {
        width: 96vw;
        margin: 8vw auto 0;
        padding-bottom: 8vw; }
        .business article .contents .contbox figure {
          width: 100%;
          padding: 4vw 5.3333333333vw; }
        .business article .contents .contbox .txts {
          padding: 0 5.3333333333vw; }
      .business article .contents--inner .tabs {
        margin-top: 5.3333333333vw;
        flex-wrap: wrap; }
        .business article .contents--inner .tabs .tab {
          width: 48vw;
          height: 16vw;
          font-size: 3.4666666667vw;
          line-height: 1.2;
          border-bottom: 0.0732064422vw solid #ccc; }
          .business article .contents--inner .tabs .tab:nth-child(2), .business article .contents--inner .tabs .tab:last-child {
            border-right: none; }
      .business article .contents--inner .tabinner {
        padding-bottom: 16vw; }
        .business article .contents--inner .tabinner.show {
          display: block;
          animation: tabFade 0.4s ease forwards; }
        .business article .contents--inner .tabinner .txts {
          padding: 8vw 0vw 0; }
        .business article .contents--inner .tabinner .obj {
          width: 100%;
          margin: 0 auto; }
        .business article .contents--inner .tabinner--cont {
          width: 96vw; }
          .business article .contents--inner .tabinner--cont--flex {
            width: 100%;
            margin: 8vw auto 0;
            flex-wrap: wrap;
            gap: 8vw 0; }
            .business article .contents--inner .tabinner--cont--flex .box {
              width: 100%;
              margin: 0 auto; }
              .business article .contents--inner .tabinner--cont--flex .box.all {
                width: 100%; }
              .business article .contents--inner .tabinner--cont--flex .box .undertxt {
                font-size: 4vw;
                margin-top: 5.3333333333vw; }
          .business article .contents--inner .tabinner--cont--wrap {
            width: 100%;
            margin: 8vw auto 0;
            flex-wrap: wrap; }
            .business article .contents--inner .tabinner--cont--wrap figure {
              width: 100%; }
            .business article .contents--inner .tabinner--cont--wrap .txtbox {
              width: 100%;
              margin-right: 0vw; }
              .business article .contents--inner .tabinner--cont--wrap .txtbox h4 {
                font-size: 4.8vw;
                margin-top: 4vw; }
              .business article .contents--inner .tabinner--cont--wrap .txtbox .txts {
                padding: 1.3333333333vw 0 0; }
            .business article .contents--inner .tabinner--cont--wrap.rev {
              flex-direction: row-reverse; }
              .business article .contents--inner .tabinner--cont--wrap.rev .txtbox {
                width: 100%;
                margin-left: 0vw;
                margin-right: 0; }
          .business article .contents--inner .tabinner--cont--box {
            width: 100%;
            margin: 8vw auto 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap; }
            .business article .contents--inner .tabinner--cont--box figure {
              width: 100%; }
            .business article .contents--inner .tabinner--cont--box .video {
              width: 100%; }
              .business article .contents--inner .tabinner--cont--box .video video {
                width: 100%; }
            .business article .contents--inner .tabinner--cont--box .txtbox {
              width: 100%; }
              .business article .contents--inner .tabinner--cont--box .txtbox h4 {
                font-size: 4.8vw;
                margin-top: 4vw; }
              .business article .contents--inner .tabinner--cont--box .txtbox .txts {
                padding: 1.3333333333vw 0 0; }
            .business article .contents--inner .tabinner--cont--box.all {
              flex-wrap: wrap;
              margin-top: 0; }
              .business article .contents--inner .tabinner--cont--box.all figure {
                width: 100%;
                margin-top: 2.196193265vw; }
          .business article .contents--inner .tabinner--cont--inner {
            border: 0.2666666667vw solid #005bab;
            border-left: 1.0666666667vw solid #005bab;
            padding: 2.6666666667vw;
            border-top-right-radius: 1.3333333333vw;
            border-bottom-right-radius: 1.3333333333vw;
            margin-top: 2.6666666667vw; }
            .business article .contents--inner .tabinner--cont--inner h4 {
              font-size: 3.7333333333vw;
              color: #005bab;
              margin-bottom: 1.3333333333vw; }
            .business article .contents--inner .tabinner--cont--inner .txt {
              font-size: 3.4666666667vw;
              font-weight: 500; }
          .business article .contents--inner .tabinner--cont--caption {
            margin-top: 8vw;
            background: rgba(0, 91, 171, 0.1);
            padding: 2.6666666667vw;
            border-radius: 1.3333333333vw; }
            .business article .contents--inner .tabinner--cont--caption dl {
              display: flex;
              align-items: center;
              justify-content: space-between;
              flex-wrap: wrap; }
              .business article .contents--inner .tabinner--cont--caption dl:first-child {
                padding-bottom: 2.6666666667vw;
                margin-bottom: 2.6666666667vw;
                border-bottom: 0.2666666667vw solid #fff; }
              .business article .contents--inner .tabinner--cont--caption dl dt {
                width: 100%;
                height: 9.3333333333vw;
                display: flex;
                align-items: center;
                justify-content: center;
                background: #fff;
                text-align: center;
                font-size: 3.7333333333vw;
                margin-bottom: 2.6666666667vw; }
              .business article .contents--inner .tabinner--cont--caption dl dd {
                width: 100%;
                font-size: 3.2vw;
                font-weight: 400; }
          .business article .contents--inner .tabinner--cont--column {
            background: #f8f6f3;
            display: flex;
            margin-top: 10.6666666667vw;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            padding: 2.6666666667vw; }
            .business article .contents--inner .tabinner--cont--column figure {
              width: 100%; }
              .business article .contents--inner .tabinner--cont--column figure img {
                max-width: 100%;
                width: 100%;
                height: auto; }
            .business article .contents--inner .tabinner--cont--column .txt {
              width: 100%;
              font-weight: 500;
              font-size: 3.2vw;
              margin-top: 2.6666666667vw; }
          .business article .contents--inner .tabinner--cont--bland {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 2%; }
            .business article .contents--inner .tabinner--cont--bland h4.blur {
              width: 100%;
              font-size: 4vw;
              text-align: center;
              margin-top: 8vw;
              margin-bottom: 2.6666666667vw;
              background: #f2f2f2;
              padding: 1.3333333333vw 0; }
            .business article .contents--inner .tabinner--cont--bland dl {
              width: 80%;
              margin: 5.3333333333vw auto 0;
              text-align: center; }
              .business article .contents--inner .tabinner--cont--bland dl dt {
                border: 0.2666666667vw solid #ccc;
                padding: 8vw 5.3333333333vw; }
                .business article .contents--inner .tabinner--cont--bland dl dt img {
                  width: auto;
                  max-width: auto;
                  height: auto; }
              .business article .contents--inner .tabinner--cont--bland dl.sq dt {
                padding: 5.3333333333vw 2.6666666667vw; }
              .business article .contents--inner .tabinner--cont--bland dl dd {
                text-align: center;
                font-weight: 500;
                font-size: 3.2vw; }
        .business article .contents--inner .tabinner .blandbox {
          border-radius: 4vw;
          overflow: scroll;
          margin-top: 8vw; }
          .business article .contents--inner .tabinner .blandbox .caption {
            text-align: center;
            margin: 2.6666666667vw auto;
            font-size: 3.2vw;
            font-weight: 400; }
            .business article .contents--inner .tabinner .blandbox .caption span {
              width: 8vw;
              height: 4.2666666667vw;
              margin-right: 1.3333333333vw;
              top: 1.0666666667vw; }
          .business article .contents--inner .tabinner .blandbox table {
            overflow: auto;
            border-bottom-left-radius: 4vw;
            border-bottom-right-radius: 4vw;
            width: 173.3333333333vw; }
            .business article .contents--inner .tabinner .blandbox table th {
              width: 30%;
              text-align: center;
              border-bottom: 0.2666666667vw solid #fff;
              border-right: 0.2666666667vw solid #fff;
              padding: 1.3333333333vw;
              font-weight: 700;
              font-size: 2.9333333333vw; }
              .business article .contents--inner .tabinner .blandbox table th:first-child {
                width: 10%; }
              .business article .contents--inner .tabinner .blandbox table th:last-child {
                width: 35%;
                border-right: none; }
            .business article .contents--inner .tabinner .blandbox table td {
              border-bottom: 0.2666666667vw solid #fff;
              border-right: 0.2666666667vw solid #fff; }
              .business article .contents--inner .tabinner .blandbox table td:last-child {
                border-right: none; }
              .business article .contents--inner .tabinner .blandbox table td ul {
                padding: 1.3333333333vw;
                display: block; }
                .business article .contents--inner .tabinner .blandbox table td ul li {
                  width: 100%;
                  text-align: center;
                  margin-top: 1.3333333333vw;
                  padding: 0.6666666667vw 0;
                  border-radius: 5.3333333333vw;
                  font-size: 2.9333333333vw; }
                  .business article .contents--inner .tabinner .blandbox table td ul li a {
                    color: #000;
                    position: relative; }
                    .business article .contents--inner .tabinner .blandbox table td ul li a:after {
                      position: absolute;
                      content: "";
                      background: url("../img/common/blank.svg") no-repeat center center/cover;
                      width: 3vw;
                      height: 3.3333333333vw;
                      right: 1.3333333333vw;
                      top: 50%;
                      margin-top: -1.6666666667vw;
                      transition: none; }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_1 li {
                  background: #e0e5ef; }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_2 li {
                  background: #c6cfe1; }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_3 li {
                  background: #fbe4ea; }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_4 {
                  border-radius: 1.4641288433vw; }
                  .business article .contents--inner .tabinner .blandbox table td ul.cl_4 li {
                    background: linear-gradient(#fbe4ea, #fbe4ea 50%, #a6c4d9 51%, #a6c4d9); }
                .business article .contents--inner .tabinner .blandbox table td ul.cl_5 li {
                  background: #a6c4d9; }
      .business article .contents--banner {
        width: 96vw;
        margin: 13.3333333333vw auto 0; }
        .business article .contents--banner ul {
          display: flex;
          justify-content: space-between;
          gap: 0 2.6666666667vw; }
          .business article .contents--banner ul li {
            width: 48vw;
            text-align: center;
            font-size: 3.4666666667vw; }
            .business article .contents--banner ul li a {
              display: block;
              position: relative; }
              .business article .contents--banner ul li a:after {
                position: absolute;
                content: "";
                background: url("../img/common/blank.svg") no-repeat center center/cover;
                width: 3vw;
                height: 3.3333333333vw;
                right: 3.3333333333vw;
                top: 50%;
                margin-top: -1.6666666667vw; }

  .project article {
    width: 100%;
    margin-top: 16vw; }
    .project article .kv {
      width: 90.6666666667vw;
      margin: 0 auto;
      margin-top: 10.6666666667vw; }
      .project article .kv h2 {
        font-size: 16vw;
        margin-bottom: -2.6666666667vw; }
        .project article .kv h2 small {
          font-size: 13.3333333333vw;
          line-height: 10.6666666667vw;
          padding-right: 0vw;
          padding-top: 6.4vw; }
        .project article .kv h2 strong {
          line-height: 1;
          font-size: 21.3333333333vw;
          line-height: 10.6666666667vw; }
      .project article .kv--inner {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 0vw; }
        .project article .kv--inner .logo {
          width: 53.3333333333vw;
          margin: 5.3333333333vw auto 5.3333333333vw; }
        .project article .kv--inner .box {
          width: 100%; }
          .project article .kv--inner .box h3 {
            font-size: 6.4vw;
            padding-bottom: 1.3333333333vw;
            line-height: 1.4; }
          .project article .kv--inner .box .txt {
            font-size: 3.4666666667vw; }
          .project article .kv--inner .box.flex {
            width: 100%;
            flex-wrap: wrap; }
            .project article .kv--inner .box.flex h3 {
              width: 100%;
              margin: 4vw 0 1.3333333333vw; }
              .project article .kv--inner .box.flex h3 span {
                padding: 4vw 0vw; }
            .project article .kv--inner .box.flex .txt {
              width: 100%; }
    .project article .contents {
      padding: 13.3333333333vw 0 18.6666666667vw; }
      .project article .contents--banner {
        width: 90.6666666667vw;
        margin: 0 auto;
        background: #fff; }
        .project article .contents--banner a {
          display: flex;
          justify-content: space-between;
          position: relative; }
          .project article .contents--banner a:after {
            position: absolute;
            content: "";
            background: url("../img/common/btn_more.svg") no-repeat center center/cover;
            width: 28.5714285714vw;
            height: 2.6666666667vw;
            right: 0;
            top: auto;
            bottom: 2.6666666667vw;
            right: 2.6666666667vw; }
          .project article .contents--banner a figure {
            width: 32vw; }
          .project article .contents--banner a .txtbox {
            width: 53.3333333333vw;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0 2.6666666667vw; }
            .project article .contents--banner a .txtbox dl {
              font-family: "Cormorant", serif;
              font-weight: 600;
              font-size: 5.3333333333vw;
              line-height: 1.2;
              text-align: center;
              position: relative;
              z-index: 2;
              padding-bottom: 5.3333333333vw; }
              .project article .contents--banner a .txtbox dl dd {
                line-height: 0.6;
                padding-top: 0.7320644217vw;
                font-size: 10.6666666667vw; }
              .project article .contents--banner a .txtbox dl dt {
                line-height: 0.4; }
            .project article .contents--banner a .txtbox .txt {
              font-family: "Noto Serif JP", serif;
              font-weight: 600;
              font-size: 4.2666666667vw;
              line-height: 1.2;
              padding-bottom: 5.3333333333vw; } }
.newsindex article {
  width: 100%;
  margin-top: 5.1244509517vw; }
  .newsindex article .kv {
    position: relative;
    padding-bottom: 8.78477306vw; }
    .newsindex article .kv h2 {
      font-family: "Cormorant", serif;
      font-weight: 600;
      font-size: 5.8565153734vw;
      padding: 6.588579795vw 0 0vw;
      text-align: center; }
    .newsindex article .kv h3.txt {
      width: 100%;
      margin: 0vw auto;
      padding-bottom: 2.196193265vw;
      font-weight: 500;
      text-align: center;
      font-size: 1.1713030747vw; }
    .newsindex article .kv--index {
      margin-top: 4.39238653vw;
      padding: 0 6.588579795vw;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      text-align: left;
      gap: 2.196193265vw; }
      .newsindex article .kv--index .box {
        width: 23.4260614934vw; }
        .newsindex article .kv--index .box figure {
          width: 100%;
          overflow-x: hidden; }
        .newsindex article .kv--index .box .name strong {
          font-weight: 500;
          font-size: 1.1713030747vw;
          display: block;
          line-height: 1.4;
          margin: 0.7320644217vw auto; }
        .newsindex article .kv--index .box .name small {
          display: block;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 700;
          font-size: 1.0980966325vw; }
        .newsindex article .kv--index .box a {
          position: relative; }
          .newsindex article .kv--index .box a:after {
            position: absolute;
            content: "";
            background: url("../img/voice/common/arrow.svg") no-repeat center center/cover;
            width: 2.196193265vw;
            height: 0.3660322108vw;
            right: 0.2928257687vw;
            bottom: 0vw; }
  .newsindex article .contents {
    width: 74.9633967789vw;
    margin: 0 auto;
    margin-top: 11.7130307467vw;
    background: #fff;
    font-weight: 500;
    overflow: hidden; }
    .newsindex article .contents .headline {
      display: flex;
      align-items: center;
      background: #efefef; }
      .newsindex article .contents .headline dl {
        width: 50%;
        font-size: 1.317715959vw;
        padding: 2.196193265vw; }
        .newsindex article .contents .headline dl dt {
          font-size: 1.317715959vw; }
      .newsindex article .contents .headline figure {
        width: 50%; }
    .newsindex article .contents .newscont {
      padding: 3.6603221083vw; }
      .newsindex article .contents .newscont figure {
        padding: 2.196193265vw 0; }
      .newsindex article .contents .newscont p a {
        text-decoration: underline; }
      .newsindex article .contents .newscont p.strong {
        font-size: 1.5373352855vw;
        font-weight: 700;
        padding: 1.4641288433vw 0; }

.benefit article {
  width: 100%;
  margin-top: 5.1244509517vw; }
  .benefit article .kv {
    position: relative;
    margin-top: 4.39238653vw; }
  .benefit article .contents {
    position: relative;
    padding-bottom: 8.78477306vw; }
    .benefit article .contents h3.lead {
      color: #005bab;
      display: flex;
      align-items: center;
      gap: 0 1.4641288433vw; }
      .benefit article .contents h3.lead small {
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 600;
        padding-right: 1.4641288433vw;
        font-size: 2.5622254758vw; }
      .benefit article .contents h3.lead strong {
        font-family: "Cormorant", serif;
        font-weight: 600;
        font-size: 6.4421669107vw;
        line-height: 1;
        letter-spacing: 0.06em; }
    .benefit article .contents .txts {
      font-weight: 500;
      font-size: 1.0980966325vw;
      line-height: 1.9;
      text-align: justify; }
    .benefit article .contents .back_w {
      background: #fff;
      margin-top: 6.588579795vw;
      padding: 3.6603221083vw 0 6.588579795vw; }
    .benefit article .contents--inner {
      width: 74.9633967789vw;
      margin: 0 auto; }
      .benefit article .contents--inner .spobj {
        width: 100%; }
      .benefit article .contents--inner .topimgs {
        margin-bottom: 2.196193265vw;
        margin-top: 2.9282576867vw; }
      .benefit article .contents--inner--flex {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        .benefit article .contents--inner--flex .box {
          width: 35.8711566618vw;
          margin-top: 2.9282576867vw;
          background: #fff; }
          .benefit article .contents--inner--flex .box dl {
            display: flex;
            justify-content: space-between; }
            .benefit article .contents--inner--flex .box dl dt {
              width: 50%; }
            .benefit article .contents--inner--flex .box dl dd {
              width: 50%;
              color: #fff;
              font-size: 1.6105417277vw;
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center; }
              .benefit article .contents--inner--flex .box dl dd.cl_1 {
                background: #006e9d; }
              .benefit article .contents--inner--flex .box dl dd.cl_2 {
                background: #2264ad; }
              .benefit article .contents--inner--flex .box dl dd.cl_3 {
                background: #407eb6; }
              .benefit article .contents--inner--flex .box dl dd.cl_4 {
                background: #002160; }
          .benefit article .contents--inner--flex .box .txts {
            padding: 1.4641288433vw 2.196193265vw; }
      .benefit article .contents--inner--box {
        margin-top: 4.39238653vw; }
        .benefit article .contents--inner--box h4 {
          font-size: 1.9033674963vw;
          color: #005bab; }
        .benefit article .contents--inner--box ul {
          margin-top: 2.9282576867vw;
          border: 0.0732064422vw solid #000;
          padding: 1.4641288433vw;
          font-weight: 500;
          font-size: 1.0980966325vw;
          display: flex; }
          .benefit article .contents--inner--box ul li:first-child {
            font-weight: 600;
            font-size: 1.0980966325vw;
            margin-right: 1.4641288433vw; }
        .benefit article .contents--inner--box--sup {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          .benefit article .contents--inner--box--sup .box {
            width: 21.9619326501vw;
            margin-top: 2.196193265vw;
            position: relative;
            padding-bottom: 2.196193265vw;
            border-bottom: 0.0732064422vw solid #ccc; }
            .benefit article .contents--inner--box--sup .box:after {
              position: absolute;
              content: "";
              height: 100%;
              border-right: 0.0732064422vw solid #ccc;
              bottom: 2.196193265vw;
              right: -2.3426061493vw;
              z-index: 1; }
            .benefit article .contents--inner--box--sup .box:before {
              position: absolute;
              content: "";
              height: 7.027818448vw;
              border-right: 0.7320644217vw solid #fff;
              top: -3.6603221083vw;
              right: -2.4158125915vw;
              z-index: 2; }
            .benefit article .contents--inner--box--sup .box:last-child:after, .benefit article .contents--inner--box--sup .box:last-child:before {
              content: none; }
            .benefit article .contents--inner--box--sup .box dt {
              font-size: 1.6105417277vw;
              font-weight: 600;
              padding-bottom: 0.7320644217vw; }
            .benefit article .contents--inner--box--sup .box .txts {
              padding: 0.7320644217vw 0 0; }
          .benefit article .contents--inner--box--sup .boxicon {
            width: 22.6939970717vw;
            margin-top: 2.196193265vw;
            justify-content: center; }
            .benefit article .contents--inner--box--sup .boxicon dl {
              display: flex;
              justify-content: center;
              align-items: center;
              background: rgba(196, 216, 233, 0.2);
              border-radius: 0.7320644217vw;
              margin-bottom: 0.7320644217vw; }
            .benefit article .contents--inner--box--sup .boxicon dt {
              width: 12.4450951684vw;
              padding-left: 0.7320644217vw;
              font-size: 1.1713030747vw; }
            .benefit article .contents--inner--box--sup .boxicon dd {
              width: 9.5168374817vw; }
            .benefit article .contents--inner--box--sup .boxicon.half {
              width: 49.0483162518vw; }
              .benefit article .contents--inner--box--sup .boxicon.half dl {
                justify-content: space-between; }
                .benefit article .contents--inner--box--sup .boxicon.half dl dt {
                  width: 13.17715959vw;
                  text-align: center; }
                .benefit article .contents--inner--box--sup .boxicon.half dl dd {
                  width: 35.8711566618vw;
                  padding: 0 0.7320644217vw;
                  font-weight: 500;
                  height: 9.5168374817vw;
                  display: flex;
                  align-items: center; }

.recruit article {
  width: 100%;
  margin-top: 5.1244509517vw;
  padding-bottom: 8.78477306vw; }
  .recruit article .kv {
    position: relative; }
    .recruit article .kv--rec {
      padding-top: 4.39238653vw;
      padding-bottom: 2.196193265vw; }
      .recruit article .kv--rec h2 {
        color: #005bab;
        text-align: center; }
        .recruit article .kv--rec h2 small {
          display: block;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 600;
          padding-right: 1.4641288433vw;
          font-size: 1.756954612vw; }
        .recruit article .kv--rec h2 strong {
          color: #000;
          font-family: "Cormorant", serif;
          font-weight: 600;
          font-size: 5.8565153734vw;
          line-height: 1;
          letter-spacing: 0.06em; }
  .recruit article .contents {
    width: 65.8857979502vw;
    margin: 2.9282576867vw auto 0;
    background: #fff;
    padding: 2.9282576867vw;
    font-weight: 500;
    font-size: 1.0980966325vw; }
    .recruit article .contents .guidelist {
      display: flex;
      border-bottom: 0.0732064422vw solid #ccc;
      padding: 1.4641288433vw 0; }
      .recruit article .contents .guidelist .list {
        width: 7.3206442167vw;
        font-weight: 600;
        line-height: 2; }
      .recruit article .contents .guidelist .listbox {
        width: 58.5651537335vw; }
        .recruit article .contents .guidelist .listbox .txts {
          line-height: 2;
          font-size: 1.0980966325vw; }
          .recruit article .contents .guidelist .listbox .txts strong {
            display: block;
            color: #005bab;
            font-weight: 600; }
          .recruit article .contents .guidelist .listbox .txts small {
            font-size: 1.0980966325vw;
            display: block;
            font-weight: 700; }
    .recruit article .contents .btn {
      width: 51.2445095168vw;
      text-align: center;
      margin: 2.9282576867vw auto 0; }
      .recruit article .contents .btn p {
        font-size: 1.317715959vw;
        font-weight: 700;
        margin-bottom: 0.7320644217vw; }
      .recruit article .contents .btn a {
        width: 32.9428989751vw;
        margin: 0 auto;
        padding: 1.0980966325vw 0;
        font-size: 1.1713030747vw;
        color: #fff;
        background: #005bab;
        position: relative; }
        .recruit article .contents .btn a:after {
          position: absolute;
          content: "";
          background: url("../img/common/arrow_w.svg") no-repeat center center/cover;
          width: 1.4641288433vw;
          height: 1.4641288433vw;
          right: 1.0980966325vw;
          top: 50%;
          margin-top: -0.7320644217vw; }

@media screen and (max-width: 767px) {
  .newsindex article {
    width: 100%;
    margin-top: 16vw; }
    .newsindex article .kv {
      position: relative;
      padding-bottom: 26.6666666667vw; }
      .newsindex article .kv h2 {
        font-family: "Cormorant", serif;
        font-weight: 600;
        font-size: 10.6666666667vw;
        padding: 8vw 0 0;
        text-align: center; }
      .newsindex article .kv h3.txt {
        width: 100%;
        margin: 0vw auto 1.4641288433vw;
        font-weight: 500;
        font-size: 3.2vw;
        text-align: center;
        padding: 0 1.4641288433vw; }
      .newsindex article .kv--index {
        padding: 0 5.3333333333vw;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 2.6666666667vw 5.3333333333vw; }
        .newsindex article .kv--index .box {
          width: 40vw;
          margin: 10.6666666667vw 0 0 0; }
          .newsindex article .kv--index .box figure {
            width: 100%;
            overflow-x: hidden; }
          .newsindex article .kv--index .box .name strong {
            font-size: 4vw;
            display: block;
            line-height: 1.4; }
          .newsindex article .kv--index .box .name small {
            font-weight: 500;
            font-size: 3.2vw; }
          .newsindex article .kv--index .box a {
            position: relative; }
            .newsindex article .kv--index .box a:after {
              position: absolute;
              content: "";
              background: url("../img/voice/common/arrow.svg") no-repeat center center/cover;
              width: 8vw;
              height: 1.3333333333vw;
              right: 1.0666666667vw;
              bottom: auto;
              top: 53.3333333333vw; }
    .newsindex article .contents {
      width: 85.3333333333vw;
      margin: 0 auto;
      margin-top: 26.6666666667vw;
      background: #fff;
      font-weight: 500; }
      .newsindex article .contents .headline {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        flex-direction: column-reverse;
        background: #efefef; }
        .newsindex article .contents .headline dl {
          width: 100%;
          font-size: 4vw;
          padding: 2.196193265vw; }
          .newsindex article .contents .headline dl dt {
            font-size: 4.8vw; }
        .newsindex article .contents .headline figure {
          width: 100%; }
      .newsindex article .contents .newscont {
        padding: 8vw;
        font-size: 3.2vw; }
        .newsindex article .contents .newscont figure {
          padding: 8vw 0; }
        .newsindex article .contents .newscont p a {
          text-decoration: underline; }
        .newsindex article .contents .newscont p.strong {
          font-size: 5.6vw;
          font-weight: 700;
          padding: 5.3333333333vw 0; }

  .benefit article {
    width: 100%;
    margin-top: 16vw; }
    .benefit article .kv {
      position: relative;
      margin-top: 16vw; }
    .benefit article .contents {
      position: relative;
      padding-bottom: 8.78477306vw; }
      .benefit article .contents h3.lead {
        color: #005bab;
        display: flex;
        align-items: center;
        gap: 0 1.4641288433vw; }
        .benefit article .contents h3.lead small {
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 600;
          padding-right: 5.3333333333vw;
          font-size: 4.8vw; }
        .benefit article .contents h3.lead strong {
          font-family: "Cormorant", serif;
          font-weight: 600;
          font-size: 9.6vw;
          line-height: 1;
          letter-spacing: 0.06em; }
      .benefit article .contents .txts {
        font-weight: 500;
        font-size: 3.4666666667vw;
        line-height: 1.9;
        text-align: justify; }
      .benefit article .contents .back_w {
        background: #fff;
        margin-top: 10.6666666667vw;
        padding: 13.3333333333vw 0 13.3333333333vw; }
      .benefit article .contents--inner {
        width: 90.6666666667vw;
        margin: 0 auto; }
        .benefit article .contents--inner .spobj {
          width: 100%;
          margin-top: 5.3333333333vw;
          margin-bottom: 2.6666666667vw;
          overflow: scroll; }
        .benefit article .contents--inner .topimgs {
          width: 160vw;
          overflow: auto; }
        .benefit article .contents--inner--flex {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          .benefit article .contents--inner--flex .box {
            width: 96vw;
            margin-top: 8vw;
            background: #fff; }
            .benefit article .contents--inner--flex .box dl {
              display: flex;
              justify-content: space-between; }
              .benefit article .contents--inner--flex .box dl dt {
                width: 50%; }
              .benefit article .contents--inner--flex .box dl dd {
                width: 50%;
                color: #fff;
                font-size: 4.2666666667vw;
                display: flex;
                justify-content: center;
                align-items: center;
                text-align: center; }
                .benefit article .contents--inner--flex .box dl dd.cl_1 {
                  background: #006e9d; }
                .benefit article .contents--inner--flex .box dl dd.cl_2 {
                  background: #2264ad; }
                .benefit article .contents--inner--flex .box dl dd.cl_3 {
                  background: #407eb6; }
                .benefit article .contents--inner--flex .box dl dd.cl_4 {
                  background: #002160; }
            .benefit article .contents--inner--flex .box .txts {
              padding: 2.6666666667vw 4vw; }
        .benefit article .contents--inner--box {
          margin-top: 8vw; }
          .benefit article .contents--inner--box h4 {
            font-size: 4.2666666667vw;
            color: #005bab; }
          .benefit article .contents--inner--box ul {
            margin-top: 5.3333333333vw;
            border: 0.2666666667vw solid #000;
            padding: 5.3333333333vw;
            font-weight: 500;
            font-size: 3.4666666667vw;
            display: flex;
            flex-wrap: wrap; }
            .benefit article .contents--inner--box ul li:first-child {
              font-weight: 600;
              font-size: 3.7333333333vw;
              margin-right: 0vw;
              margin-bottom: 2.6666666667vw; }
          .benefit article .contents--inner--box--sup {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap; }
            .benefit article .contents--inner--box--sup .box {
              width: 42.6666666667vw;
              margin-top: 4vw;
              position: relative;
              padding-bottom: 4vw;
              border-bottom: 0.2666666667vw solid #ccc; }
              .benefit article .contents--inner--box--sup .box:after {
                position: absolute;
                content: "";
                height: 100%;
                border-right: 0.2666666667vw solid #ccc;
                bottom: 2.196193265vw;
                right: -2.3426061493vw;
                z-index: 1; }
              .benefit article .contents--inner--box--sup .box:before {
                position: absolute;
                content: "";
                height: 7.027818448vw;
                border-right: 0.7320644217vw solid #fff;
                top: -3.6603221083vw;
                right: -2.4158125915vw;
                z-index: 2; }
              .benefit article .contents--inner--box--sup .box:last-child:after, .benefit article .contents--inner--box--sup .box:last-child:before {
                content: none; }
              .benefit article .contents--inner--box--sup .box dt {
                font-size: 4vw;
                font-weight: 600;
                padding-bottom: 0.7320644217vw; }
              .benefit article .contents--inner--box--sup .box .txts {
                padding: 2.6666666667vw 0 0; }
            .benefit article .contents--inner--box--sup .boxicon {
              width: 100%;
              margin-top: 5.3333333333vw;
              border-radius: 2.6666666667vw; }
              .benefit article .contents--inner--box--sup .boxicon dl {
                display: flex;
                justify-content: center;
                align-items: center; }
              .benefit article .contents--inner--box--sup .boxicon dt {
                width: 40vw;
                padding-left: 2.6666666667vw;
                font-size: 4vw; }
              .benefit article .contents--inner--box--sup .boxicon dd {
                width: 32vw; }
              .benefit article .contents--inner--box--sup .boxicon.half {
                width: 100%; }
                .benefit article .contents--inner--box--sup .boxicon.half dl {
                  justify-content: center;
                  flex-wrap: wrap;
                  padding: 4vw; }
                  .benefit article .contents--inner--box--sup .boxicon.half dl dt {
                    width: 100%;
                    text-align: center; }
                  .benefit article .contents--inner--box--sup .boxicon.half dl dd {
                    width: 100%;
                    padding: 0 2.6666666667vw;
                    font-weight: 500;
                    height: auto;
                    display: flex;
                    align-items: center;
                    font-size: 3.4666666667vw; }
                    .benefit article .contents--inner--box--sup .boxicon.half dl dd br {
                      display: none; }

  .recruit article {
    width: 100%;
    margin-top: 16vw;
    padding-bottom: 16vw; }
    .recruit article .kv {
      margin-top: 16vw;
      position: relative; }
      .recruit article .kv--rec {
        padding-top: 5.3333333333vw; }
        .recruit article .kv--rec h2 {
          color: #005bab;
          text-align: center; }
          .recruit article .kv--rec h2 small {
            display: block;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 600;
            text-align: center;
            padding-right: 0vw;
            font-size: 4.2666666667vw; }
          .recruit article .kv--rec h2 strong {
            font-size: 13.3333333333vw;
            line-height: 10.6666666667vw; }
    .recruit article .contents {
      width: 90.6666666667vw;
      margin: 5.3333333333vw auto 0;
      background: #fff;
      padding: 5.3333333333vw;
      font-weight: 500;
      font-size: 3.7333333333vw; }
      .recruit article .contents .guidelist {
        display: flex;
        border-bottom: 0.2666666667vw solid #ccc;
        flex-wrap: wrap;
        padding: 5.3333333333vw 0; }
        .recruit article .contents .guidelist .list {
          width: 100%;
          font-weight: 700;
          line-height: 2;
          font-size: 4vw;
          margin-bottom: 2.6666666667vw; }
        .recruit article .contents .guidelist .listbox {
          width: 100%; }
          .recruit article .contents .guidelist .listbox .txts {
            line-height: 2;
            font-size: 3.7333333333vw; }
            .recruit article .contents .guidelist .listbox .txts strong {
              display: block;
              color: #005bab;
              font-weight: 600;
              font-size: 3.7333333333vw; }
            .recruit article .contents .guidelist .listbox .txts small {
              font-size: 3.7333333333vw;
              display: block;
              font-weight: 700; }
      .recruit article .contents .btn {
        width: 69.3333333333vw;
        text-align: center;
        margin: 10.6666666667vw auto 0; }
        .recruit article .contents .btn p {
          font-size: 4.2666666667vw;
          font-weight: 700;
          margin-bottom: 2.6666666667vw; }
        .recruit article .contents .btn a {
          width: 69.3333333333vw;
          margin: 0 auto;
          padding: 2.6666666667vw 0;
          font-size: 3.7333333333vw;
          color: #fff;
          background: #005bab;
          position: relative; }
          .recruit article .contents .btn a:after {
            position: absolute;
            content: "";
            background: url("../img/common/arrow_w.svg") no-repeat center center/cover;
            width: 5.3333333333vw;
            height: 5.3333333333vw;
            right: 4vw;
            top: 50%;
            margin-top: -2.6666666667vw; } }
