@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins: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); }

main {
  overflow: hidden; }
  main header {
    position: fixed;
    display: flex;
    justify-content: space-between;
    left: 0;
    z-index: 5;
    width: 100%; }
    main header h1 {
      width: 9.5588235294vw;
      margin: 0.5147058824vw auto 0 1.1764705882vw; }
    main header .entry {
      position: absolute;
      width: 10vw;
      right: 4.4117647059vw; }
    main header nav {
      position: absolute;
      background: #fff;
      display: none;
      width: 22.0588235294vw;
      top: 3.8235294118vw;
      text-align: center;
      right: 0;
      padding: 1.4705882353vw; }
      main header nav a {
        color: #091C31; }
      main header nav div {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        color: #fff;
        margin-top: 0.7352941176vw;
        padding-bottom: 0.7352941176vw;
        font-size: 1.4705882353vw;
        border-bottom: 0.0735294118vw solid #888; }
        main header nav div:first-of-type {
          margin-top: 0; }
        main header nav div:last-of-type {
          border-bottom: none; }
    main header .hamburger {
      display: block;
      position: absolute;
      z-index: 15;
      top: 0;
      right: 0;
      width: 4.4117647059vw;
      height: 3.8235294118vw;
      cursor: pointer;
      text-align: center;
      background: #fff; }
      main header .hamburger.change span {
        background: #091C31; }
    main header .hamburger span {
      display: block;
      position: absolute;
      width: 2.6470588235vw;
      margin-left: -1.3235294118vw;
      height: 1px;
      left: 50%;
      background: #000;
      -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.2941176471vw; }
    main header .hamburger span:nth-child(2) {
      width: 1.4705882353vw;
      margin-top: 0.2941176471vw;
      top: 50%;
      left: auto;
      right: 50%;
      margin-left: 0vw;
      margin-right: -1.3235294118vw; }
    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: #000; }
    main header .hamburger.active span:nth-child(2) {
      width: 2.6470588235vw;
      top: 50%;
      margin-top: 0;
      -webkit-transform: rotate(-335deg);
      -moz-transform: rotate(-335deg);
      transform: rotate(-335deg);
      background: #000; }
  main article {
    width: 100%;
    margin-top: 3.8235294118vw; }
    main article .kv {
      width: 100%;
      position: relative;
      height: 52.5vw; }
      main article .kv--slide {
        position: relative; }
        main article .kv--slide .slide_back {
          position: absolute;
          background: rgba(255, 255, 255, 0.2);
          height: 52.5vw;
          width: 14.5588235294vw;
          right: 0;
          top: 0;
          z-index: 2;
          backdrop-filter: blur(30px) brightness(1.15);
          -webkit-backdrop-filter: blur(30px) brightness(1.15);
          /* Safari対応 */ }
        main article .kv--slide .slide {
          width: 70.5882352941vw;
          margin: 0 0 0 auto; }
      main article .kv--copy {
        position: absolute;
        top: 0;
        z-index: 3;
        height: 100%; }
        main article .kv--copy .maincp {
          width: 50.2205882353vw;
          padding: 16.5441176471vw 0 0 5.8823529412vw;
          position: relative; }
          main article .kv--copy .maincp:before {
            position: absolute;
            content: "";
            top: 16.6176470588vw;
            border-top: 0.0735294118vw solid #fff;
            width: 100%;
            right: 4.4117647059vw; }
        main article .kv--copy h3 {
          font-family: "Poppins", sans-serif;
          font-weight: 500;
          padding: 2.5735294118vw 0;
          padding-left: 5.8823529412vw;
          font-size: 1.6911764706vw;
          position: relative; }
          main article .kv--copy h3:before, main article .kv--copy h3:after {
            position: absolute;
            content: "";
            width: 29.5588235294vw;
            border-top: 0.0735294118vw solid #000;
            left: 0; }
          main article .kv--copy h3:before {
            top: 0; }
          main article .kv--copy h3:after {
            bottom: 0; }
          main article .kv--copy h3 small {
            font-size: 1.3235294118vw;
            display: block; }
    main article .contents {
      width: 100%;
      position: relative; }
      main article .contents h3.ttl {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 4.7794117647vw;
        line-height: 1; }
        main article .contents h3.ttl small {
          display: block;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 500;
          font-size: 1.6911764706vw;
          margin-top: 0.5882352941vw; }
      main article .contents .txts {
        font-size: 0.9558823529vw;
        font-weight: 500;
        line-height: 2.2058823529vw; }
      main article .contents .topmessage {
        margin-top: 8.4558823529vw; }
        main article .contents .topmessage .inner {
          width: 88.2352941176vw;
          margin: 0 auto; }
          main article .contents .topmessage .inner--box {
            display: flex; }
            main article .contents .topmessage .inner--box .txtbox h4 {
              font-size: 1.8382352941vw;
              font-weight: 700;
              margin-bottom: 3.6764705882vw; }
            main article .contents .topmessage .inner--box h3 {
              width: 23.0147058824vw;
              margin-right: 7.6470588235vw; }
            main article .contents .topmessage .inner--box .img_1 {
              width: 23.75vw;
              position: relative; }
              main article .contents .topmessage .inner--box .img_1:before {
                position: absolute;
                content: "";
                width: 45.5882352941vw;
                border-top: 0.0735294118vw solid #000;
                right: 0;
                top: 30.1470588235vw; }
            main article .contents .topmessage .inner--box .wid_1 {
              width: 29.4117647059vw;
              margin-left: 2.2058823529vw; }
            main article .contents .topmessage .inner--box.mt {
              justify-content: space-between;
              flex-direction: row-reverse;
              align-items: flex-end;
              margin-top: -11.0294117647vw; }
              main article .contents .topmessage .inner--box.mt .txtbox {
                width: 52.5735294118vw;
                padding-left: 8.8235294118vw;
                padding-bottom: 5.1470588235vw; }
              main article .contents .topmessage .inner--box.mt .img_2 {
                width: 35.6617647059vw;
                position: relative; }
                main article .contents .topmessage .inner--box.mt .img_2:before {
                  position: absolute;
                  content: "";
                  width: 49.2647058824vw;
                  border-top: 0.0735294118vw solid #000;
                  right: 0;
                  bottom: 0; }
            main article .contents .topmessage .inner--box.all {
              display: block;
              margin-top: 6.6176470588vw; }
              main article .contents .topmessage .inner--box.all .txtbox {
                padding-left: 8.8235294118vw; }
                main article .contents .topmessage .inner--box.all .txtbox .name {
                  text-align: right;
                  padding-right: 3.6764705882vw;
                  font-size: 1.3235294118vw;
                  font-weight: 700; }
                  main article .contents .topmessage .inner--box.all .txtbox .name small {
                    display: block;
                    font-family: "Poppins", sans-serif;
                    font-weight: 400;
                    font-size: 1.1764705882vw;
                    color: #888888;
                    margin-right: -3.6764705882vw; }
                  main article .contents .topmessage .inner--box.all .txtbox .name span {
                    display: inline-block;
                    font-size: 1.25vw;
                    padding-right: 0.7352941176vw; }
      main article .contents .story {
        margin-top: 8.4558823529vw; }
        main article .contents .story .inner {
          position: relative; }
          main article .contents .story .inner .back {
            position: absolute;
            z-index: -1; }
          main article .contents .story .inner h3.ttl {
            text-align: center;
            color: #fff;
            position: relative;
            top: -0.8823529412vw; }
          main article .contents .story .inner--box {
            width: 88.2352941176vw;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            padding-bottom: 7.3529411765vw; }
            main article .contents .story .inner--box .txts {
              color: #fff;
              line-height: 1.9117647059vw;
              margin-top: 3.6764705882vw;
              margin-left: 10.6617647059vw; }
            main article .contents .story .inner--box h4 {
              color: #fff;
              font-family: "Poppins", sans-serif;
              font-weight: 600;
              font-size: 3.1617647059vw;
              line-height: 1;
              width: 36.1764705882vw;
              padding-bottom: 4.4117647059vw; }
              main article .contents .story .inner--box h4 small {
                display: block;
                font-size: 1.4705882353vw;
                padding-top: 0.3676470588vw; }
      main article .contents .innerflex {
        display: flex;
        justify-content: space-between; }
        main article .contents .innerflex figure {
          width: 50vw; }
        main article .contents .innerflex--box {
          width: 50vw;
          background: #fff; }
          main article .contents .innerflex--box .eng {
            color: #fff;
            width: 21.3235294118vw;
            text-align: center;
            font-family: "Poppins", sans-serif;
            font-weight: 600;
            font-size: 3.8235294118vw;
            position: relative;
            margin-top: 0.7352941176vw; }
            main article .contents .innerflex--box .eng:before {
              position: absolute;
              content: "";
              background: #000;
              height: 2.5vw;
              width: 21.3235294118vw;
              z-index: -1;
              top: 1.7647058824vw;
              left: 0; }
          main article .contents .innerflex--box .ttl {
            margin-top: 2.9411764706vw;
            font-size: 2.2058823529vw;
            font-weight: 900;
            color: #fff;
            background: #000;
            text-align: center;
            padding: 1.4705882353vw 0; }
          main article .contents .innerflex--box h4 {
            width: 34.1176470588vw;
            margin-left: 2.9411764706vw;
            font-size: 1.4705882353vw;
            font-weight: 700;
            margin-top: 2.9411764706vw;
            position: relative; }
            main article .contents .innerflex--box h4:before {
              position: absolute;
              content: "";
              width: 17.6470588235vw;
              right: 0;
              top: 1.1764705882vw;
              border-top: 0.0735294118vw solid #000; }
          main article .contents .innerflex--box .txts {
            width: 34.1176470588vw;
            font-size: 1.0294117647vw;
            line-height: 1.9117647059vw;
            padding: 2.2058823529vw 0 5.8823529412vw 0vw;
            margin-left: 2.9411764706vw;
            text-align: justify; }
      main article .contents .mission {
        position: relative;
        margin-top: 8.0882352941vw; }
        main article .contents .mission:after {
          position: absolute;
          content: "";
          width: 58.8235294118vw;
          height: 19.4117647059vw;
          right: 0;
          bottom: -7.6470588235vw;
          background: #EAEAEA;
          z-index: -1; }
      main article .contents .vison {
        position: relative;
        margin-top: 6.6176470588vw; }
        main article .contents .vison:after {
          position: absolute;
          content: "";
          width: 58.8235294118vw;
          height: 2.2058823529vw;
          right: 0;
          top: 0;
          background: #EAEAEA; }
        main article .contents .vison:before {
          position: absolute;
          content: "";
          width: 23.5294117647vw;
          height: 35vw;
          left: 0;
          top: 10.2941176471vw;
          background: #EAEAEA; }
        main article .contents .vison .innerflex {
          flex-direction: row-reverse; }
          main article .contents .vison .innerflex .innerflex--box {
            margin-left: 5.7352941176vw;
            margin-right: -5.7352941176vw; }
          main article .contents .vison .innerflex figure {
            position: relative;
            z-index: 2; }
          main article .contents .vison .innerflex .eng {
            margin: 0.5147058824vw 5.7352941176vw 0 auto; }
          main article .contents .vison .innerflex .ttl {
            text-align: left;
            padding-left: 2.9411764706vw;
            margin-top: 3.5294117647vw; }
      main article .contents .value {
        position: relative;
        margin-top: 5.1470588235vw; }
        main article .contents .value:after {
          position: absolute;
          content: "";
          width: 55.8823529412vw;
          height: 33.0882352941vw;
          right: 0;
          bottom: 0;
          background: #EAEAEA;
          z-index: -1; }
        main article .contents .value .innerflex figure {
          position: relative;
          z-index: 2; }
        main article .contents .value .innerflex .valuebox {
          background: #000;
          color: #fff;
          margin-top: 2.9411764706vw;
          padding: 3.3823529412vw 2.9411764706vw;
          display: flex;
          gap: 0 1.8382352941vw; }
          main article .contents .value .innerflex .valuebox h3 {
            font-size: 2.2058823529vw;
            font-weight: 900; }
          main article .contents .value .innerflex .valuebox--inner {
            width: 19.8529411765vw; }
            main article .contents .value .innerflex .valuebox--inner dl {
              margin-top: 0.7352941176vw; }
              main article .contents .value .innerflex .valuebox--inner dl dt {
                font-weight: 900;
                font-size: 1.25vw;
                border-bottom: 0.0735294118vw solid #fff; }
                main article .contents .value .innerflex .valuebox--inner dl dt span {
                  width: 2.2058823529vw;
                  text-align: center;
                  display: inline-block;
                  font-family: "Poppins", sans-serif;
                  font-weight: 500;
                  font-size: 1.4705882353vw;
                  color: #000;
                  background: #fff;
                  margin-right: 0.7352941176vw; }
              main article .contents .value .innerflex .valuebox--inner dl dd {
                font-weight: 400;
                font-size: 1.0294117647vw;
                padding-top: 0.7352941176vw; }
      main article .contents .spirit {
        position: relative; }
        main article .contents .spirit:after {
          position: absolute;
          content: "";
          width: 55.8823529412vw;
          height: 2.2058823529vw;
          right: 0;
          top: 0;
          background: #EAEAEA; }
        main article .contents .spirit:before {
          position: absolute;
          content: "";
          width: 23.5294117647vw;
          height: 35vw;
          left: 0;
          top: 10.2941176471vw;
          background: #EAEAEA; }
        main article .contents .spirit .innerflex {
          flex-direction: row-reverse; }
          main article .contents .spirit .innerflex .innerflex--box {
            margin-left: 5.7352941176vw;
            margin-right: -5.7352941176vw; }
          main article .contents .spirit .innerflex figure {
            position: relative;
            z-index: 2; }
          main article .contents .spirit .innerflex .eng {
            text-align: left;
            padding-left: 2.9411764706vw;
            margin: 0.5147058824vw 5.7352941176vw 0 auto; }
          main article .contents .spirit .innerflex .ttl {
            text-align: left;
            padding-left: 2.9411764706vw;
            margin-top: 3.5294117647vw; }
          main article .contents .spirit .innerflex h3 ul {
            padding-bottom: 1.4705882353vw; }
            main article .contents .spirit .innerflex h3 ul li {
              font-size: 2.2058823529vw;
              margin-top: 1.4705882353vw;
              padding-left: 1.8382352941vw;
              position: relative; }
              main article .contents .spirit .innerflex h3 ul li:before {
                position: absolute;
                content: "・";
                left: -0.7352941176vw; }
      main article .contents .slogan {
        position: relative; }
        main article .contents .slogan:after {
          position: absolute;
          content: "";
          width: 58.8235294118vw;
          height: 19.4117647059vw;
          right: 0%;
          bottom: 5.8823529412vw;
          background: #EAEAEA;
          z-index: -1; }
        main article .contents .slogan .ttl {
          text-align: left;
          padding-left: 2.9411764706vw; }
      main article .contents .number {
        position: relative; }
        main article .contents .number .inner {
          position: relative; }
          main article .contents .number .inner h3.ttl {
            width: 88.2352941176vw;
            margin: 0 auto -0.8823529412vw; }
            main article .contents .number .inner h3.ttl small {
              display: inline-block;
              position: relative;
              padding-left: 1.4705882353vw;
              top: -1.1029411765vw; }
          main article .contents .number .inner .back {
            position: absolute; }
          main article .contents .number .inner--box {
            padding: 6.6176470588vw 5.8823529412vw 5.8823529412vw; }
          main article .contents .number .inner .under {
            padding: 4.4117647059vw 0; }
      main article .contents .person {
        padding-bottom: 11.7647058824vw; }
        main article .contents .person .inner {
          position: relative; }
          main article .contents .person .inner .back {
            position: absolute;
            z-index: -1; }
          main article .contents .person .inner h3 {
            text-align: center;
            color: #fff;
            position: relative;
            top: -0.8823529412vw; }
          main article .contents .person .inner .caption {
            text-align: center;
            color: #fff;
            font-weight: 500;
            font-size: 1.0294117647vw;
            padding-top: 2.9411764706vw; }
          main article .contents .person .inner--box {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 0 8.8235294118vw; }
            main article .contents .person .inner--box--person {
              width: 29.4117647059vw;
              margin-top: 4.7058823529vw; }
              main article .contents .person .inner--box--person dl {
                color: #fff;
                margin-top: 0.7352941176vw; }
                main article .contents .person .inner--box--person dl dt {
                  font-size: 1.1029411765vw;
                  font-weight: 500; }
                main article .contents .person .inner--box--person dl dd {
                  font-size: 1.25vw;
                  font-weight: 500; }
      main article .contents .recruit {
        background: #EBEBEB;
        padding: 7.7205882353vw 0 9.5588235294vw; }
        main article .contents .recruit .ttl {
          text-align: center;
          font-size: 5.8823529412vw; }
          main article .contents .recruit .ttl small {
            font-size: 2.2058823529vw; }
        main article .contents .recruit .tab {
          width: 74.7058823529vw;
          margin: 3.6764705882vw auto 0;
          display: flex;
          justify-content: center;
          gap: 0 1.3235294118vw;
          border-bottom: 0.0735294118vw solid #000; }
          main article .contents .recruit .tab .tabs {
            width: 14.7058823529vw;
            background: #fff;
            cursor: pointer;
            text-align: center;
            font-size: 1.1029411765vw;
            font-weight: 500;
            line-height: 1.8382352941vw;
            padding: 0.5882352941vw 0; }
            main article .contents .recruit .tab .tabs.active {
              background: #000;
              color: #fff; }
        main article .contents .recruit .tabcontents {
          width: 74.7058823529vw;
          margin: 0 auto;
          display: none; }
          main article .contents .recruit .tabcontents.show {
            display: block; }
          main article .contents .recruit .tabcontents--inner .center {
            padding-top: 2.9411764706vw;
            text-align: center;
            font-size: 1.4705882353vw;
            font-weight: 500;
            margin-bottom: 2.2058823529vw; }
          main article .contents .recruit .tabcontents--inner .btnflex {
            width: 44.1176470588vw;
            margin: 0 auto;
            display: flex;
            justify-content: space-between; }
          main article .contents .recruit .tabcontents--inner .btn {
            width: 20.8823529412vw;
            font-weight: 500;
            font-size: 1.0294117647vw;
            text-align: center; }
            main article .contents .recruit .tabcontents--inner .btn img {
              margin-bottom: 0.7352941176vw; }
          main article .contents .recruit .tabcontents--inner .btnentry {
            width: 20.8823529412vw;
            margin: 0 auto; }
          main article .contents .recruit .tabcontents--inner.back_w {
            background: #fff;
            padding: 0 5.1470588235vw;
            padding-bottom: 5.1470588235vw; }
          main article .contents .recruit .tabcontents--inner dl {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-weight: 500;
            padding: 2.0588235294vw 0;
            border-top: 0.0735294118vw solid #000; }
            main article .contents .recruit .tabcontents--inner dl:first-of-type {
              border-top: none;
              padding-top: 2.9411764706vw; }
            main article .contents .recruit .tabcontents--inner dl dt {
              width: 11.7647058824vw;
              font-size: 1.25vw;
              text-align: center;
              background: #EBEBEB;
              padding: 0.4411764706vw 0; }
            main article .contents .recruit .tabcontents--inner dl dd {
              width: 50.7352941176vw;
              font-size: 1.1029411765vw; }
  main footer {
    position: relative; }
    main footer .footer--upper {
      position: relative; }
      main footer .footer--upper .ttls {
        position: absolute;
        width: 30.1470588235vw;
        left: 50%;
        margin-left: -15.0735294118vw;
        top: 13.2352941176vw;
        z-index: 1; }
        main footer .footer--upper .ttls:before {
          position: absolute;
          content: "";
          top: 0;
          right: -34.8529411765vw;
          width: 41.6911764706vw;
          height: 3.3823529412vw;
          background: rgba(255, 255, 255, 0.2);
          backdrop-filter: blur(30px) brightness(1.15);
          -webkit-backdrop-filter: blur(30px) brightness(1.15);
          /* Safari対応 */ }
        main footer .footer--upper .ttls:after {
          position: absolute;
          content: "";
          bottom: 0;
          left: -34.8529411765vw;
          width: 34.8529411765vw;
          height: 3.3823529412vw;
          background: rgba(255, 255, 255, 0.2);
          backdrop-filter: blur(30px) brightness(1.15);
          -webkit-backdrop-filter: blur(30px) brightness(1.15);
          /* Safari対応 */ }
    main footer .footer--under {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 5.8823529412vw;
      padding-top: 0.8823529412vw; }
      main footer .footer--under .logo {
        width: 9.5588235294vw; }
      main footer .footer--under .copy {
        font-family: "Poppins", sans-serif;
        font-weight: 400;
        font-size: 0.9558823529vw; }
      main footer .footer--under .corp {
        width: 10.1470588235vw; }

.person .kv {
  position: relative; }
  .person .kv .personttl {
    position: absolute;
    background: #000;
    color: #fff;
    font-size: 2.0588235294vw;
    font-weight: 700;
    line-height: 3.5294117647vw;
    padding: 1.3235294118vw 0 1.3235294118vw 1.7647058824vw;
    width: 37.5vw;
    left: 5.7352941176vw;
    top: 18.2352941176vw; }
  .person .kv .engline {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 4.7794117647vw;
    position: absolute;
    color: #fff;
    bottom: -1.7647058824vw;
    right: 2.2058823529vw; }
  .person .kv .vertical {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    position: absolute;
    color: #fff;
    top: 50%;
    right: -4.4117647059vw;
    font-size: 1.3235294118vw;
    transform: rotate(90deg); }
    .person .kv .vertical small {
      display: block;
      font-size: 1.1764705882vw; }
.person .contents .profile {
  width: 88.2352941176vw;
  margin: 3.6764705882vw auto 0;
  display: flex; }
  .person .contents .profile--name {
    width: 18.3823529412vw;
    border-right: 0.0735294118vw solid #000; }
    .person .contents .profile--name.wid_1 {
      width: 23.5294117647vw; }
    .person .contents .profile--name.wid_2 {
      width: 27.9411764706vw; }
    .person .contents .profile--name.wid_3 {
      width: 11.0294117647vw; }
    .person .contents .profile--name dl {
      font-weight: 700; }
      .person .contents .profile--name dl dt {
        font-size: 1.1764705882vw; }
      .person .contents .profile--name dl dd {
        font-size: 1.4705882353vw; }
        .person .contents .profile--name dl dd small {
          display: block;
          font-weight: 500;
          font-size: 1.0294117647vw; }
  .person .contents .profile .txts {
    font-size: 0.9558823529vw;
    line-height: 1.8382352941vw;
    padding-left: 1.8382352941vw; }
.person .contents--box {
  width: 100%;
  margin-top: 6.6176470588vw; }
  .person .contents--box.back_b {
    position: relative;
    padding-bottom: 8.8235294118vw; }
    .person .contents--box.back_b:before {
      position: absolute;
      content: "";
      background: #000;
      width: 100%;
      height: 90%;
      bottom: 0; }
  .person .contents--box--inner {
    display: flex;
    justify-content: space-between; }
    .person .contents--box--inner figure {
      width: 50vw; }
    .person .contents--box--inner .txtbox {
      width: 50vw;
      padding-left: 5.8823529412vw;
      padding-top: 2.9411764706vw; }
      .person .contents--box--inner .txtbox h3 {
        font-weight: 700;
        font-size: 2.8676470588vw;
        line-height: 3.6764705882vw;
        margin-bottom: 2.9411764706vw; }
      .person .contents--box--inner .txtbox h4 {
        font-weight: 500;
        font-size: 1.0294117647vw;
        line-height: 1.8382352941vw;
        text-align: justify; }
    .person .contents--box--inner.rev {
      flex-direction: row-reverse; }
      .person .contents--box--inner.rev .txtbox {
        padding-left: 0;
        padding-right: 5.8823529412vw;
        padding-top: 1.4705882353vw; }
      .person .contents--box--inner.rev figure {
        width: 45.8823529412vw; }
    .person .contents--box--inner.all {
      width: 73.5294117647vw;
      margin: 0 auto;
      flex-wrap: wrap; }
      .person .contents--box--inner.all figure {
        width: 100%; }
      .person .contents--box--inner.all .txtbox {
        width: 100%;
        padding-left: 0;
        color: #fff; }
.person .contents .thumbnail {
  padding: 6.6176470588vw 0;
  display: flex;
  justify-content: center;
  gap: 0 2.7941176471vw; }
  .person .contents .thumbnail--box {
    width: 13.6764705882vw; }
    .person .contents .thumbnail--box dl {
      font-weight: 400;
      margin-top: 0.7352941176vw; }
      .person .contents .thumbnail--box dl dt {
        font-size: 0.8823529412vw; }
      .person .contents .thumbnail--box dl dd {
        font-size: 1.0294117647vw; }

.entry .kv {
  height: auto;
  padding-bottom: 1.4705882353vw; }
  .entry .kv h2 {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 4.7794117647vw;
    text-align: center;
    margin-top: 7.3529411765vw; }
.entry .contents {
  padding-bottom: 7.3529411765vw; }
  .entry .contents .form {
    width: 64.4117647059vw;
    margin: 0 auto;
    font-weight: 500;
    font-size: 1.25vw; }
    .entry .contents .form dl {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1.1029411765vw 0;
      position: relative; }
      .entry .contents .form dl.pt {
        padding-top: 2.9411764706vw; }
      .entry .contents .form dl.ag {
        padding-top: 1.4705882353vw; }
      .entry .contents .form dl small {
        font-size: 0.8823529412vw;
        position: absolute;
        left: 1.8382352941vw;
        top: 3.6764705882vw; }
      .entry .contents .form dl strong {
        font-size: 0.8823529412vw;
        position: absolute;
        left: 16.5441176471vw;
        top: -0.3676470588vw;
        color: red; }
      .entry .contents .form dl dt {
        width: 13.9705882353vw;
        text-align: right; }
        .entry .contents .form dl dt span {
          color: red; }
          .entry .contents .form dl dt span.required {
            display: none; }
          .entry .contents .form dl dt span.optional {
            display: none; }
        .entry .contents .form dl dt.disnone {
          visibility: hidden; }
      .entry .contents .form dl dd {
        width: 47.7941176471vw; }
        .entry .contents .form dl dd input[type="text"] {
          font-size: 1.1764705882vw;
          width: 100%;
          padding: 0.5882352941vw 0.7352941176vw;
          border: 0.0735294118vw solid #ccc;
          background-color: #fff;
          color: #000;
          outline: none; }
        .entry .contents .form dl dd input[type="email"] {
          font-size: 1.1764705882vw;
          width: 100%;
          padding: 0.5882352941vw 0.7352941176vw;
          border: 0.0735294118vw solid #ccc;
          background-color: #fff;
          color: #000;
          outline: none; }
        .entry .contents .form dl dd input[type="number"] {
          font-size: 1.1764705882vw;
          width: 100%;
          padding: 0.5882352941vw 0.7352941176vw;
          border: 0.0735294118vw solid #ccc;
          background-color: #fff;
          color: #000;
          outline: none; }
        .entry .contents .form dl dd select {
          width: 100%;
          padding: 0.5882352941vw 0.7352941176vw;
          font-size: 1.1764705882vw;
          color: #000;
          background-color: #fff;
          border: 0.0735294118vw solid #ccc;
          cursor: pointer; }
        .entry .contents .form dl dd ul {
          display: flex; }
          .entry .contents .form dl dd ul li {
            margin-right: 4%; }
          .entry .contents .form dl dd ul li label {
            display: flex;
            align-items: center;
            font-size: 1.1764705882vw;
            cursor: pointer;
            gap: 0.5882352941vw; }
          .entry .contents .form dl dd ul li input[type="radio"] {
            width: 1.1764705882vw;
            height: 1.1764705882vw;
            accent-color: #007BFF;
            /* チェックマークの色（モダンブラウザ対応） */
            cursor: pointer;
            margin-top: 0.1470588235vw; }
        .entry .contents .form dl dd textarea {
          width: 100%;
          height: 14.7058823529vw;
          padding: 0.5882352941vw 0.7352941176vw;
          font-size: 1.1764705882vw;
          color: #000;
          background-color: #fff;
          border: 0.0735294118vw solid #ccc;
          box-sizing: border-box;
          resize: none;
          /* 高さも横幅も変更不可 */ }
        .entry .contents .form dl dd .agree-label {
          margin-left: 7.3529411765vw; }
          .entry .contents .form dl dd .agree-label a {
            display: inline;
            text-decoration: underline; }
        .entry .contents .form dl dd input[type="checkbox"] {
          width: 1.1764705882vw;
          height: 1.1764705882vw;
          accent-color: #007BFF;
          /* チェックマークの色（モダンブラウザ対応） */
          cursor: pointer;
          margin-right: 0.7352941176vw;
          top: 0.1470588235vw;
          position: relative; }
        .entry .contents .form dl dd .error_blank {
          display: block;
          font-size: 0.8823529412vw;
          color: red; }
  .entry .contents #form_submit {
    width: 26.4705882353vw;
    text-align: center;
    /* ボタンを中央に配置 */
    margin: 2.2058823529vw auto 0;
    position: relative; }
    .entry .contents #form_submit:after {
      position: absolute;
      content: "";
      background: url("../img/arrow.svg") no-repeat center center/cover;
      width: 1.6176470588vw;
      height: 0.5147058824vw;
      right: 0.7352941176vw;
      top: 50%;
      margin-top: -0.2573529412vw; }
  .entry .contents #form_submit_button {
    width: 100%;
    padding: 1.4705882353vw 0;
    font-size: 1.3235294118vw;
    color: #fff;
    background-color: #000;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.3s ease; }
  .entry .contents #form_submit_button:hover {
    background-color: #4C4C4C;
    box-shadow: 0 6px 12px rgba(0, 86, 179, 0.3); }

@media screen and (max-width: 767px) {
  main {
    overflow: hidden; }
    main header {
      background: #fff;
      height: 13.8666666667vw; }
      main header h1 {
        width: 34.6666666667vw;
        margin: 1.8666666667vw auto 0 4.2666666667vw; }
      main header .entry {
        position: absolute;
        width: 36.2666666667vw;
        right: 16vw; }
      main header nav {
        position: absolute;
        background: #fff;
        display: none;
        width: 100vw;
        top: 13.8666666667vw;
        text-align: center;
        right: 0;
        padding: 5.3333333333vw; }
        main header nav a {
          color: #091C31; }
        main header nav div {
          margin-top: 2.6666666667vw;
          padding-bottom: 2.6666666667vw;
          font-size: 4.8vw;
          border-bottom: 0.2666666667vw solid #888; }
      main header .hamburger {
        width: 16vw;
        height: 13.8666666667vw;
        background: #fff; }
        main header .hamburger.change span {
          background: #091C31; }
      main header .hamburger span {
        width: 9.6vw;
        margin-left: -4.8vw;
        left: 50%; }
      main header .hamburger span:nth-child(1) {
        top: 50%;
        margin-top: -1.0666666667vw; }
      main header .hamburger span:nth-child(2) {
        width: 5.3333333333vw;
        margin-top: 1.0666666667vw;
        margin-left: 0vw;
        margin-right: -4.8vw; }
      main header .hamburger.active span:nth-child(2) {
        width: 9.6vw; }
    main article {
      width: 100%;
      margin-top: 13.8666666667vw; }
      main article .kv {
        width: 100%;
        position: relative;
        height: auto; }
        main article .kv--slide {
          position: relative; }
          main article .kv--slide .slide_back {
            height: 71.4666666667vw;
            width: 16vw; }
          main article .kv--slide .slide {
            width: 96vw;
            margin: 0 0 0 auto; }
        main article .kv--copy {
          position: relative;
          top: 0;
          z-index: 3;
          height: 100%; }
          main article .kv--copy .maincp {
            width: 82.6666666667vw;
            padding: 0vw 0 0 2.6666666667vw;
            position: relative;
            margin-top: -8vw; }
            main article .kv--copy .maincp:before {
              position: absolute;
              content: "";
              top: 0;
              border-top: 0.2666666667vw solid #fff;
              width: 80%;
              right: 0vw; }
          main article .kv--copy h3 {
            padding: 4vw 0;
            padding-left: 2.6666666667vw;
            font-size: 4.8vw; }
            main article .kv--copy h3:before, main article .kv--copy h3:after {
              width: 100vw;
              border-top: 0.2666666667vw solid #000;
              left: 0; }
            main article .kv--copy h3 small {
              font-size: 2.9333333333vw;
              display: inline-block;
              margin-left: 5.3333333333vw; }
      main article .contents {
        width: 100%;
        position: relative; }
        main article .contents h3.ttl {
          font-size: 8.5333333333vw; }
          main article .contents h3.ttl small {
            font-size: 4.8vw;
            margin-top: 1.0666666667vw; }
        main article .contents .txts {
          font-size: 3.2vw;
          font-weight: 500;
          line-height: 6.1333333333vw; }
        main article .contents .topmessage {
          margin-top: 10.6666666667vw; }
          main article .contents .topmessage .inner {
            width: 93.3333333333vw;
            margin: 0 auto; }
            main article .contents .topmessage .inner--box {
              display: flex;
              flex-wrap: wrap; }
              main article .contents .topmessage .inner--box .txtbox h4 {
                font-size: 5.3333333333vw;
                font-weight: 700;
                margin-bottom: 6.6666666667vw; }
              main article .contents .topmessage .inner--box h3 {
                width: 100%;
                margin-right: auto; }
                main article .contents .topmessage .inner--box h3 br {
                  display: none; }
              main article .contents .topmessage .inner--box .img_1 {
                width: 100%;
                position: relative;
                margin-top: 5.3333333333vw;
                margin-bottom: 5.3333333333vw; }
                main article .contents .topmessage .inner--box .img_1:before {
                  width: 165.3333333333vw;
                  border-top: 0.0735294118vw solid #000;
                  right: 0;
                  top: auto;
                  bottom: 0; }
              main article .contents .topmessage .inner--box .wid_1 {
                width: 100%;
                margin-left: 0vw; }
              main article .contents .topmessage .inner--box.mt {
                justify-content: space-between;
                flex-direction: row;
                align-items: flex-end;
                margin-top: 0vw; }
                main article .contents .topmessage .inner--box.mt .txtbox {
                  width: 100%;
                  padding-left: 0vw;
                  padding-bottom: 0vw; }
                main article .contents .topmessage .inner--box.mt .img_2 {
                  width: 100%;
                  position: relative;
                  margin-top: 5.3333333333vw;
                  margin-bottom: 5.3333333333vw; }
                  main article .contents .topmessage .inner--box.mt .img_2:before {
                    width: 178.6666666667vw;
                    border-top: 0.2666666667vw solid #000; }
              main article .contents .topmessage .inner--box.all {
                display: block;
                margin-top: 5.3333333333vw; }
                main article .contents .topmessage .inner--box.all .txtbox {
                  padding-left: 0; }
                  main article .contents .topmessage .inner--box.all .txtbox .name {
                    text-align: right;
                    padding-right: 0vw;
                    font-size: 4.8vw; }
                    main article .contents .topmessage .inner--box.all .txtbox .name small {
                      font-size: 4.2666666667vw;
                      color: #888888;
                      margin-right: 0vw; }
                    main article .contents .topmessage .inner--box.all .txtbox .name span {
                      font-size: 4.5333333333vw;
                      padding-right: 2.6666666667vw; }
        main article .contents .story {
          margin-top: 15.3333333333vw; }
          main article .contents .story .inner {
            position: relative; }
            main article .contents .story .inner .back {
              position: absolute;
              z-index: -1;
              width: 340%; }
            main article .contents .story .inner h3.ttl {
              text-align: center;
              color: #fff;
              position: relative;
              top: -1.6vw; }
            main article .contents .story .inner--box {
              width: 93.3333333333vw;
              flex-wrap: wrap;
              padding-bottom: 26.6666666667vw; }
              main article .contents .story .inner--box .txts {
                color: #fff;
                font-size: 2.9333333333vw;
                line-height: 6.4vw;
                margin-top: 6.6666666667vw;
                margin-left: 0vw; }
              main article .contents .story .inner--box h4 {
                font-size: 8vw;
                line-height: 1;
                width: 100%;
                padding-top: 5.3333333333vw;
                padding-bottom: 0vw; }
                main article .contents .story .inner--box h4 small {
                  display: block;
                  font-size: 4vw;
                  padding-top: 1.3333333333vw; }
        main article .contents .innerflex {
          flex-wrap: wrap; }
          main article .contents .innerflex figure {
            width: 93.3333333333vw; }
          main article .contents .innerflex--box {
            width: 93.3333333333vw;
            background: #fff; }
            main article .contents .innerflex--box .eng {
              width: 77.3333333333vw;
              font-size: 13.8666666667vw;
              margin-top: 2.6666666667vw; }
              main article .contents .innerflex--box .eng:before {
                height: 9.0666666667vw;
                width: 77.3333333333vw;
                top: 6.4vw; }
            main article .contents .innerflex--box .ttl {
              margin-top: 0vw;
              font-size: 4.5333333333vw;
              padding: 2.6666666667vw 0; }
            main article .contents .innerflex--box h4 {
              width: 100%;
              margin-left: 2.6666666667vw;
              font-size: 3.7333333333vw;
              margin-top: 5.3333333333vw; }
              main article .contents .innerflex--box h4:before {
                width: 50.6666666667vw;
                right: 0;
                top: 2.6666666667vw;
                border-top: 0.2666666667vw solid #000; }
            main article .contents .innerflex--box .txts {
              width: 100%;
              font-size: 3.2vw;
              line-height: 6.1333333333vw;
              padding: 4vw 0 10.6666666667vw 0vw;
              margin-left: 2.6666666667vw; }
        main article .contents .mission {
          position: relative;
          margin-top: 14.6666666667vw; }
          main article .contents .mission:after {
            position: absolute;
            content: "";
            width: 58.8235294118vw;
            height: 19.4117647059vw;
            right: 0;
            bottom: -7.6470588235vw;
            background: #EAEAEA;
            z-index: -1; }
        main article .contents .vison {
          position: relative;
          margin-top: 12vw; }
          main article .contents .vison:after {
            position: absolute;
            content: "";
            width: 58.8235294118vw;
            height: 2.2058823529vw;
            right: 0;
            top: 0;
            background: #EAEAEA; }
          main article .contents .vison:before {
            position: absolute;
            content: "";
            width: 23.5294117647vw;
            height: 35vw;
            left: 0;
            top: 10.2941176471vw;
            background: #EAEAEA; }
          main article .contents .vison .innerflex {
            flex-direction: row-reverse; }
            main article .contents .vison .innerflex .innerflex--box {
              margin-left: 0;
              margin-right: auto; }
            main article .contents .vison .innerflex figure {
              position: relative;
              z-index: 2; }
            main article .contents .vison .innerflex .eng {
              margin: 1.8666666667vw auto 0 0;
              text-align: left;
              padding-left: 2.6666666667vw; }
            main article .contents .vison .innerflex .ttl {
              text-align: left;
              padding-left: 2.6666666667vw;
              margin-top: 5.3333333333vw; }
        main article .contents .value {
          position: relative;
          margin-top: 9.3333333333vw; }
          main article .contents .value:after {
            position: absolute;
            content: "";
            width: 55.8823529412vw;
            height: 33.0882352941vw;
            right: 0;
            bottom: 0;
            background: #EAEAEA;
            z-index: -1; }
          main article .contents .value .innerflex figure {
            position: relative;
            z-index: 2; }
          main article .contents .value .innerflex .eng {
            margin: 1.8666666667vw auto 0 0;
            text-align: left;
            padding-left: 8vw; }
          main article .contents .value .innerflex .valuebox {
            background: #000;
            color: #fff;
            margin-top: 5.3333333333vw;
            padding: 5.3333333333vw;
            display: flex;
            flex-wrap: wrap;
            gap: 0 1.8382352941vw; }
            main article .contents .value .innerflex .valuebox h3 {
              font-size: 4.8vw; }
              main article .contents .value .innerflex .valuebox h3:last-of-type {
                margin-top: 2.6666666667vw; }
            main article .contents .value .innerflex .valuebox--inner {
              width: 100%; }
              main article .contents .value .innerflex .valuebox--inner dl {
                margin-top: 2.6666666667vw; }
                main article .contents .value .innerflex .valuebox--inner dl dt {
                  font-weight: 900;
                  font-size: 4vw;
                  border-bottom: 0.2666666667vw solid #fff; }
                  main article .contents .value .innerflex .valuebox--inner dl dt span {
                    width: 8vw;
                    text-align: center;
                    display: inline-block;
                    font-family: "Poppins", sans-serif;
                    font-weight: 500;
                    font-size: 5.3333333333vw;
                    color: #000;
                    background: #fff;
                    margin-right: 2.6666666667vw; }
                main article .contents .value .innerflex .valuebox--inner dl dd {
                  font-weight: 400;
                  font-size: 3.4666666667vw;
                  padding-top: 2.6666666667vw; }
        main article .contents .spirit {
          position: relative; }
          main article .contents .spirit:after {
            position: absolute;
            content: "";
            width: 55.8823529412vw;
            height: 2.2058823529vw;
            right: 0;
            top: 0;
            background: #EAEAEA; }
          main article .contents .spirit:before {
            position: absolute;
            content: "";
            width: 23.5294117647vw;
            height: 35vw;
            left: 0;
            top: 10.2941176471vw;
            background: #EAEAEA; }
          main article .contents .spirit .innerflex {
            flex-direction: row-reverse; }
            main article .contents .spirit .innerflex .innerflex--box {
              margin-left: 0;
              margin-right: auto; }
            main article .contents .spirit .innerflex figure {
              position: relative;
              z-index: 2; }
            main article .contents .spirit .innerflex .eng {
              margin: 1.8666666667vw auto 0 0; }
            main article .contents .spirit .innerflex .ttl {
              text-align: left;
              padding-left: 0vw;
              margin-top: 5.3333333333vw; }
            main article .contents .spirit .innerflex h3 ul {
              padding-bottom: 2.6666666667vw; }
              main article .contents .spirit .innerflex h3 ul li {
                font-size: 4vw;
                margin-top: 2.6666666667vw;
                padding-left: 5.3333333333vw;
                margin-left: 0.7352941176vw;
                position: relative; }
                main article .contents .spirit .innerflex h3 ul li:before {
                  position: absolute;
                  content: "・";
                  left: 0vw; }
        main article .contents .slogan {
          position: relative; }
          main article .contents .slogan:after {
            position: absolute;
            content: "";
            width: 58.8235294118vw;
            height: 19.4117647059vw;
            right: 0%;
            bottom: 5.8823529412vw;
            background: #EAEAEA;
            z-index: -1; }
          main article .contents .slogan .ttl {
            text-align: left;
            padding-left: 5.3333333333vw; }
        main article .contents .number {
          position: relative; }
          main article .contents .number .inner {
            position: relative; }
            main article .contents .number .inner h3.ttl {
              text-align: center;
              width: 93.3333333333vw;
              margin: 0 auto -1.6vw; }
              main article .contents .number .inner h3.ttl small {
                display: inline-block;
                position: relative;
                padding-left: 1.4705882353vw;
                top: -1.1029411765vw; }
            main article .contents .number .inner .back {
              position: absolute; }
            main article .contents .number .inner--box {
              padding: 5.3333333333vw; }
            main article .contents .number .inner .under {
              padding: 8vw 0; }
        main article .contents .person {
          padding-bottom: 21.3333333333vw; }
          main article .contents .person .inner {
            position: relative; }
            main article .contents .person .inner .back {
              position: absolute;
              z-index: -1;
              width: 320%;
              margin-left: -80%; }
            main article .contents .person .inner h3 {
              text-align: center;
              color: #fff;
              position: relative;
              top: -0.8823529412vw; }
            main article .contents .person .inner .caption {
              font-weight: 500;
              font-size: 3.2vw;
              padding-top: 8vw; }
            main article .contents .person .inner--box {
              display: flex;
              justify-content: center;
              flex-wrap: wrap;
              gap: 0 5.3333333333vw; }
              main article .contents .person .inner--box--person {
                width: 42.6666666667vw;
                margin-top: 8vw; }
                main article .contents .person .inner--box--person dl {
                  color: #fff;
                  margin-top: 2.6666666667vw; }
                  main article .contents .person .inner--box--person dl dt {
                    font-size: 2.9333333333vw;
                    font-weight: 500; }
                  main article .contents .person .inner--box--person dl dd {
                    font-size: 3.7333333333vw;
                    font-weight: 500; }
        main article .contents .recruit {
          background: #EBEBEB;
          padding: 14vw 0 17.3333333333vw; }
          main article .contents .recruit .ttl {
            text-align: center;
            font-size: 13.3333333333vw; }
            main article .contents .recruit .ttl small {
              font-size: 5.3333333333vw; }
          main article .contents .recruit .tab {
            width: 93.3333333333vw;
            margin: 6.6666666667vw auto 0;
            display: flex;
            justify-content: center;
            align-content: stretch;
            flex-wrap: wrap;
            gap: 0 1%;
            border-bottom: 0.2666666667vw solid #000; }
            main article .contents .recruit .tab .tabs {
              width: 32%;
              background: #fff;
              cursor: pointer;
              text-align: center;
              font-size: 2.9333333333vw;
              font-weight: 500;
              line-height: 4.2666666667vw;
              padding: 1.0666666667vw 0;
              padding-top: 3.2vw; }
              main article .contents .recruit .tab .tabs.active {
                background: #000;
                color: #fff; }
              main article .contents .recruit .tab .tabs:last-of-type {
                padding-top: 1.0666666667vw; }
          main article .contents .recruit .tabcontents {
            width: 93.3333333333vw;
            margin: 0 auto;
            display: none; }
            main article .contents .recruit .tabcontents.show {
              display: block; }
            main article .contents .recruit .tabcontents--inner .center {
              padding-top: 5.3333333333vw;
              font-size: 4.2666666667vw;
              margin-bottom: 4vw; }
            main article .contents .recruit .tabcontents--inner .btnflex {
              width: 93.3333333333vw;
              margin: 0 auto;
              display: flex;
              justify-content: space-between;
              flex-wrap: wrap; }
            main article .contents .recruit .tabcontents--inner .btn {
              width: 75.7333333333vw;
              font-weight: 500;
              font-size: 2.9333333333vw;
              text-align: center;
              margin: 0 auto;
              margin-top: 4vw; }
              main article .contents .recruit .tabcontents--inner .btn img {
                margin-bottom: 2.6666666667vw; }
              main article .contents .recruit .tabcontents--inner .btn:first-of-type {
                margin-top: 0; }
            main article .contents .recruit .tabcontents--inner .btnentry {
              width: 75.7333333333vw;
              margin: 0 auto; }
            main article .contents .recruit .tabcontents--inner.back_w {
              background: #fff;
              padding: 0 5.3333333333vw;
              padding-bottom: 5.3333333333vw; }
            main article .contents .recruit .tabcontents--inner dl {
              display: flex;
              justify-content: space-between;
              align-items: center;
              font-weight: 500;
              padding: 3.7333333333vw 0;
              border-top: 0.2666666667vw solid #000;
              flex-wrap: wrap; }
              main article .contents .recruit .tabcontents--inner dl:first-of-type {
                border-top: none;
                padding-top: 5.3333333333vw; }
              main article .contents .recruit .tabcontents--inner dl dt {
                width: 100%;
                font-size: 3.7333333333vw;
                text-align: center;
                background: #EBEBEB;
                padding: 1.6vw 0;
                margin-bottom: 2.6666666667vw; }
              main article .contents .recruit .tabcontents--inner dl dd {
                width: 100%;
                font-size: 3.4666666667vw; }
    main footer {
      position: relative; }
      main footer .footer--upper {
        position: relative; }
        main footer .footer--upper .back {
          width: 200%;
          margin-left: -50%; }
        main footer .footer--upper .ttls {
          position: absolute;
          width: 90.6666666667vw;
          left: 50%;
          margin-left: -45.3333333333vw;
          top: 24vw;
          z-index: 1; }
          main footer .footer--upper .ttls:before {
            position: absolute;
            content: "";
            top: 0;
            right: -26.6666666667vw;
            width: 48vw;
            height: 10.4vw;
            background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(30px) brightness(1.15);
            -webkit-backdrop-filter: blur(30px) brightness(1.15);
            /* Safari対応 */ }
          main footer .footer--upper .ttls:after {
            position: absolute;
            content: "";
            bottom: 0;
            left: -126.4vw;
            width: 126.4vw;
            height: 10.4vw;
            background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(30px) brightness(1.15);
            -webkit-backdrop-filter: blur(30px) brightness(1.15);
            /* Safari対応 */ }
      main footer .footer--under {
        position: relative;
        display: block;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        padding: 0 5.3333333333vw;
        padding-top: 3.2vw; }
        main footer .footer--under .logo {
          width: 40vw;
          margin: 0 auto; }
        main footer .footer--under .copy {
          text-align: left;
          font-family: "Poppins", sans-serif;
          font-weight: 400;
          font-size: 2.9333333333vw;
          padding-top: 2.6666666667vw;
          padding-bottom: 2.6666666667vw; }
        main footer .footer--under .corp {
          position: absolute;
          right: 2.6666666667vw;
          bottom: 0;
          width: 26.6666666667vw; }

  .person .kv {
    position: relative; }
    .person .kv .back {
      width: 140%;
      margin-left: -20%; }
    .person .kv .personttl {
      position: static;
      background: #000;
      color: #fff;
      font-size: 5.3333333333vw;
      font-weight: 700;
      line-height: 9.6vw;
      padding: 2.4vw 0 2.4vw 3.2vw;
      width: 100%;
      left: 0;
      top: 0; }
    .person .kv .engline {
      font-family: "Poppins", sans-serif;
      font-weight: 600;
      font-size: 8.5333333333vw;
      position: absolute;
      color: #fff;
      bottom: 21.3333333333vw;
      right: 5.3333333333vw; }
    .person .kv .vertical {
      font-family: "Poppins", sans-serif;
      font-weight: 600;
      position: absolute;
      color: #fff;
      top: 50%;
      margin-top: -16vw;
      right: -25.7352941176vw;
      font-size: 2.9333333333vw;
      transform: rotate(90deg); }
      .person .kv .vertical small {
        display: inline-block;
        font-size: 2.4vw; }
  .person .contents .profile {
    width: 93.3333333333vw;
    margin: 6.6666666667vw auto 0;
    display: flex;
    flex-wrap: wrap; }
    .person .contents .profile--name {
      width: 100%;
      border-right: none;
      border-bottom: 0.0735294118vw solid #000;
      padding-bottom: 4vw; }
      .person .contents .profile--name.wid_1 {
        width: 100%; }
      .person .contents .profile--name.wid_2 {
        width: 100%; }
      .person .contents .profile--name.wid_3 {
        width: 100%; }
      .person .contents .profile--name dl {
        font-weight: 700; }
        .person .contents .profile--name dl dt {
          font-size: 3.7333333333vw; }
        .person .contents .profile--name dl dd {
          font-size: 4.2666666667vw; }
          .person .contents .profile--name dl dd small {
            display: block;
            font-weight: 500;
            font-size: 3.2vw; }
    .person .contents .profile .txts {
      font-size: 3.2vw;
      line-height: 5.8666666667vw;
      padding-left: 0vw;
      padding-top: 4vw; }
  .person .contents--box {
    width: 100%;
    margin-top: 12vw; }
    .person .contents--box.back_b {
      position: relative;
      padding-bottom: 8.8235294118vw; }
      .person .contents--box.back_b:before {
        position: absolute;
        content: "";
        background: #000;
        width: 100%;
        height: 90%;
        bottom: 0; }
    .person .contents--box--inner {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      flex-direction: column-reverse; }
      .person .contents--box--inner figure {
        width: 100%; }
      .person .contents--box--inner .txtbox {
        width: 93.3333333333vw;
        margin: 0 auto;
        padding-left: 0vw;
        padding-top: 5.3333333333vw; }
        .person .contents--box--inner .txtbox h3 {
          font-weight: 700;
          font-size: 5.3333333333vw;
          line-height: 9.6vw;
          margin-bottom: 5.3333333333vw; }
        .person .contents--box--inner .txtbox h4 {
          font-weight: 500;
          font-size: 3.4666666667vw;
          line-height: 5.8666666667vw; }
      .person .contents--box--inner.rev {
        flex-direction: column-reverse; }
        .person .contents--box--inner.rev .txtbox {
          padding-left: 0;
          padding-right: 0vw;
          padding-top: 5.3333333333vw; }
        .person .contents--box--inner.rev figure {
          width: 100%; }
      .person .contents--box--inner.all {
        width: 93.3333333333vw;
        margin: 0 auto;
        flex-wrap: wrap;
        flex-direction: column; }
        .person .contents--box--inner.all figure {
          width: 100%; }
        .person .contents--box--inner.all .txtbox {
          width: 93.3333333333vw;
          margin: 0 auto;
          padding-left: 0;
          color: #fff; }
  .person .contents .thumbnail {
    padding: 12vw 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 2%; }
    .person .contents .thumbnail--box {
      width: 46%;
      margin-top: 4%; }
      .person .contents .thumbnail--box dl {
        font-weight: 400;
        margin-top: 2.6666666667vw; }
        .person .contents .thumbnail--box dl dt {
          font-size: 2.9333333333vw; }
        .person .contents .thumbnail--box dl dd {
          font-size: 3.4666666667vw; }

  .entry .kv {
    height: auto;
    padding-bottom: 5.3333333333vw; }
    .entry .kv h2 {
      font-family: "Poppins", sans-serif;
      font-weight: 600;
      font-size: 9.3333333333vw;
      text-align: center;
      margin-top: 26.6666666667vw; }
  .entry .contents {
    padding-bottom: 13.3333333333vw; }
    .entry .contents .form {
      width: 93.3333333333vw;
      margin: 0 auto;
      font-weight: 500;
      font-size: 4vw; }
      .entry .contents .form dl {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        padding: 1.1029411765vw 0;
        position: relative; }
        .entry .contents .form dl.pt {
          padding-top: 10.6666666667vw; }
        .entry .contents .form dl.ag {
          padding-top: 5.3333333333vw; }
        .entry .contents .form dl small {
          font-size: 2.9333333333vw;
          position: absolute;
          left: 21.3333333333vw;
          top: 2.1333333333vw; }
        .entry .contents .form dl strong {
          font-size: 2.6666666667vw;
          position: absolute;
          left: 0;
          top: 8vw;
          color: red; }
        .entry .contents .form dl dt {
          width: 100%;
          text-align: left; }
          .entry .contents .form dl dt span {
            color: red; }
          .entry .contents .form dl dt.disnone {
            visibility: hidden; }
        .entry .contents .form dl dd {
          width: 100%; }
          .entry .contents .form dl dd.pt {
            padding-top: 8vw; }
          .entry .contents .form dl dd input[type="text"] {
            font-size: 4vw;
            width: 100%;
            padding: 1.0666666667vw 1.3333333333vw;
            border: 0.2666666667vw solid #ccc;
            background-color: #fff;
            outline: none; }
          .entry .contents .form dl dd input[type="email"] {
            font-size: 4vw;
            width: 100%;
            padding: 1.0666666667vw 1.3333333333vw;
            border: 0.2666666667vw solid #ccc;
            background-color: #fff;
            outline: none; }
          .entry .contents .form dl dd input[type="number"] {
            font-size: 4vw;
            width: 100%;
            padding: 1.0666666667vw 1.3333333333vw;
            border: 0.2666666667vw solid #ccc;
            background-color: #fff;
            outline: none; }
          .entry .contents .form dl dd select {
            font-size: 4vw;
            width: 100%;
            padding: 1.0666666667vw 1.3333333333vw;
            border: 0.2666666667vw solid #ccc;
            background-color: #fff;
            cursor: pointer; }
          .entry .contents .form dl dd ul {
            display: flex;
            flex-wrap: wrap; }
            .entry .contents .form dl dd ul li {
              width: 100%;
              margin-right: 0;
              margin-top: 2.6666666667vw; }
            .entry .contents .form dl dd ul li label {
              display: flex;
              align-items: center;
              font-size: 4vw;
              cursor: pointer;
              gap: 1.0666666667vw; }
            .entry .contents .form dl dd ul li input[type="radio"] {
              width: 4.2666666667vw;
              height: 4.2666666667vw;
              accent-color: #007BFF;
              /* チェックマークの色（モダンブラウザ対応） */
              cursor: pointer;
              margin-top: 0.5333333333vw; }
          .entry .contents .form dl dd textarea {
            width: 100%;
            height: 53.3333333333vw;
            padding: 1.0666666667vw 1.3333333333vw;
            border: 0.2666666667vw solid #ccc;
            font-size: 4vw;
            background-color: #fff;
            box-sizing: border-box;
            resize: none;
            /* 高さも横幅も変更不可 */ }
          .entry .contents .form dl dd .agree-label {
            margin-left: 13.3333333333vw; }
            .entry .contents .form dl dd .agree-label a {
              display: inline;
              text-decoration: underline; }
          .entry .contents .form dl dd input[type="checkbox"] {
            width: 4.2666666667vw;
            height: 4.2666666667vw;
            accent-color: #007BFF;
            /* チェックマークの色（モダンブラウザ対応） */
            cursor: pointer;
            margin-right: 2.6666666667vw;
            top: 0.5333333333vw;
            position: relative; }
          .entry .contents .form dl dd .error_blank {
            display: block;
            font-size: 2.9333333333vw;
            color: red; }
    .entry .contents #form_submit {
      width: 96vw;
      text-align: center;
      /* ボタンを中央に配置 */
      margin: 8vw auto 0;
      position: relative; }
      .entry .contents #form_submit:after {
        position: absolute;
        content: "";
        background: url("../img/arrow.svg") no-repeat center center/cover;
        width: 5.8666666667vw;
        height: 1.8666666667vw;
        right: 2.6666666667vw;
        top: 50%;
        margin-top: -0.9333333333vw; }
    .entry .contents #form_submit_button {
      width: 100%;
      padding: 2.6666666667vw 0;
      font-size: 4.2666666667vw;
      color: #fff;
      background-color: #000;
      border: none;
      cursor: pointer;
      transition: background-color 0.3s ease, box-shadow 0.3s ease; }
    .entry .contents #form_submit_button:hover {
      background-color: #4C4C4C;
      box-shadow: 0 6px 12px rgba(0, 86, 179, 0.3); } }
/* =========================================================
 * 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.7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -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: 1;
      -webkit-opacity: 1;
      -moz-opacity: 1;
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }

  img {
    width: 100%; }

  .pc {
    display: none; }

  .sp {
    display: block; } }
/* =========================================================
 * font
========================================================= */
.popins {
  font-family: "Poppins", 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); }
