@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap");
@media screen and (max-width: 1199px) {
  .topheader {
    display: none !important;
  }
}

@media screen and (min-width: 1200px) {
  .header {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .header.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
    visibility: visible;
  }
  .topheader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    z-index: 100;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .topheader .header-nav {
    position: absolute;
    top: 0;
    right: 0;
  }
  .topheader .topnav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 15px;
    gap: 39.5px;
    height: 133px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 40px;
    letter-spacing: 0.04em;
  }
  .topheader .topnav-item {
    position: relative;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
  }
  .topheader .topnav-item:nth-child(3) span:nth-child(2) {
    left: 0;
  }
  .topheader .topnav-item span:nth-child(2) {
    position: absolute;
    left: 25%;
    opacity: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    color: #0e3169;
  }
  .topheader .topnav-item:hover span:nth-child(1) {
    opacity: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .topheader .topnav-item:hover span:nth-child(2) {
    opacity: 1;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    color: #0e3169;
  }
  .topheader .topnav-item:hover span:nth-child(2):after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -15px;
    /*線の上下位置*/
    display: inline-block;
    width: 30px;
    /*線の長さ*/
    height: 2px;
    /*線の太さ*/
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    /*位置調整*/
    background-color: #0e3169;
    /*線の色*/
    border-radius: 2px;
    /*線の丸み*/
  }
  .topheader .topnav-item.Service span:nth-child(2) {
    margin-left: -10px;
  }
  .topheader .topnav-item_list {
    opacity: 0;
    visibility: hidden;
    position: absolute;
  }
  .topheader .topnav-item_list.active {
    text-align: center;
    opacity: 1;
    visibility: visible;
    top: 100px;
    left: -90%;
    width: 182px;
    background: #fff;
    z-index: 2000;
    -webkit-box-shadow: 0px 3px 6px #00000029;
            box-shadow: 0px 3px 6px #00000029;
    -webkit-animation: listActive .5s ease-out;
            animation: listActive .5s ease-out;
  }
  @-webkit-keyframes listActive {
    0% {
      -webkit-transform: translateY(-20%);
              transform: translateY(-20%);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateY(0%);
              transform: translateY(0%);
      opacity: 1;
    }
  }
  @keyframes listActive {
    0% {
      -webkit-transform: translateY(-20%);
              transform: translateY(-20%);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateY(0%);
              transform: translateY(0%);
      opacity: 1;
    }
  }
  .topheader .topnav-item_list.group {
    left: -45%;
  }
  .topheader .topnav-item_list.company {
    left: -35%;
  }
  .topheader .topnav-item_list.company.active {
    width: 208px;
  }
  .topheader .topnav-item_list.Service {
    left: -95%;
  }
  .topheader .topnav-item_item {
    font-size: 14px;
    line-height: 1.5714;
    padding: 15px;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .topheader .topnav-item_item:hover a {
    color: #103496;
  }
  .topheader-logo {
    padding: 34px 0 22px 42px;
  }
  .topheader-logo img {
    width: 82px;
    height: 59px;
  }
  .topheader-btn_outer {
    display: block;
  }
  .topheader-btn_contact {
    display: table;
    position: relative;
    color: #fff;
  }
  .topheader-btn_contact a {
    width: 130px;
    height: 130px;
    background: #0e3169;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    font-size: 15px;
    line-height: 2.4;
    letter-spacing: 0.04em;
  }
  .topheader-btn_contact a .en {
    position: absolute;
    left: 25%;
    opacity: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    color: #fff;
  }
  .topheader-btn_contact a:hover {
    background: #103496;
  }
  .topheader-btn_contact a:hover .ja {
    opacity: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .topheader-btn_contact a:hover .en {
    opacity: 1;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    color: #fff;
  }
  .topheader-btn_contact a img {
    margin-top: -7px;
  }
  .topheader-btn_recruit {
    display: table;
    position: relative;
  }
  .topheader-btn_recruit a {
    width: 130px;
    height: 130px;
    background: #1e2633;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    font-size: 15px;
    line-height: 2.3;
    letter-spacing: 0.04em;
    color: #fff;
  }
  .topheader-btn_recruit a .en {
    position: absolute;
    left: 25%;
    opacity: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    color: #fff;
  }
  .topheader-btn_recruit a:hover {
    background: #103496;
  }
  .topheader-btn_recruit a:hover .ja {
    opacity: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .topheader-btn_recruit a:hover .en {
    opacity: 1;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    color: #fff;
    padding-left: 5px;
  }
  .topheader-btn_recruit a img {
    margin-top: -7px;
  }
}

.fv {
  width: 100%;
  height: 176vw;
  background-size: cover;
  background-position: -47vw;
  padding-top: 19.2vw;
  background-repeat: no-repeat;
  position: relative;
}

.fv-tit {
  font-family: 'Poppins';
  font-size: 3.7333vw;
  letter-spacing: -0.015em;
  line-height: 1.714;
  color: #fff;
  background: #0e3169;
  font-weight: 400;
  display: inline-block;
  position: absolute;
  bottom: -10.1vw;
  right: 0;
  padding: 2.4vw 10.8vw 1.3vw 11vw;
  z-index: 10;
}

.fv-subtit {
  font-family: 'Shippori Mincho';
  font-size: 5.066vw;
  position: absolute;
  bottom: 6.2666vw;
  left: 3.3333vw;
  letter-spacing: 0.12em;
}

.fv-animationback {
  position: absolute;
  width: 93.2vw;
  height: 45.7vw;
  bottom: 0;
  left: 0;
  opacity: 0.9;
}

.fv #video-area {
  z-index: -1;
  /*最背面に設定*/
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
}

.fv #video {
  /*天地中央配置*/
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  min-height: 100%;
  min-width: 100%;
  width: 100vw;
}

.fixedmenu-item {
  display: none;
}

@media (max-width: 834px) {
  img {
    width: 100%;
  }
}

@media screen and (min-width: 835px) and (max-width: 1499px) {
  .fv {
    width: 100%;
    height: 44vw;
    background-position: 0;
    padding-top: 0;
    padding-bottom: 100px;
    background-repeat: no-repeat;
    position: relative;
  }
  .fv-topheader {
    display: none;
  }
  .fv-tit {
    font-family: 'Poppins';
    font-size: 1.395vw;
    letter-spacing: -0.015em;
    line-height: 1.714;
    color: #fff;
    background: #0e3169;
    font-weight: 400;
    display: inline-block;
    position: absolute;
    bottom: -12.333vw;
    right: 0;
    padding: 0.8666vw 16.769vw 1.0769vw 16.769vw;
  }
  .fv-subtit {
    font-family: 'Shippori Mincho';
    font-size: 1.4666vw;
    position: absolute;
    bottom: -8.153vw;
    left: 6.1vw;
    letter-spacing: 0.12em;
    z-index: 10;
  }
  .fv-animationback {
    position: absolute;
    bottom: -8.333vw;
    left: 0;
    opacity: 0.9;
    width: 61.1333vw;
    height: 15.9333vw;
  }
  #video-area {
    z-index: -1;
    /*最背面に設定*/
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
  }
  #video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    min-height: 100%;
    min-width: 100%;
  }
}

@media screen and (min-width: 1500px) {
  .fv {
    width: 100%;
    height: 660px;
    background-position: 0;
    padding-top: 0;
    padding-bottom: 100px;
    background-repeat: no-repeat;
    position: relative;
  }
  .fv-topheader {
    display: none;
  }
  .fv-tit {
    font-family: 'Poppins';
    font-size: 20px;
    letter-spacing: -0.015em;
    line-height: 1.714;
    color: #fff;
    background: #0e3169;
    font-weight: 400;
    display: inline-block;
    position: absolute;
    bottom: -185px;
    right: 0;
    padding: 13px 218px 14px 218px;
  }
  .fv-subtit {
    font-family: 'Shippori Mincho';
    font-size: 22px;
    position: absolute;
    bottom: -106px;
    left: 91.5px;
    letter-spacing: 0.12em;
    z-index: 10;
  }
  .fv-animationback {
    position: absolute;
    bottom: -125px;
    left: 0;
    opacity: 0.9;
    width: 917px;
    height: 239px;
  }
  #video-area {
    z-index: -1;
    /*最背面に設定*/
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
  }
  #video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    min-height: 100%;
    min-width: 100%;
  }
}

.elect {
  padding-top: 19.1vw;
  padding-bottom: 24.666vw;
}

.elect h3 {
  padding-bottom: 0.5vw;
}

.elect-contents {
  padding-top: 9.5vw;
}

.elect-content.content1 {
  padding-bottom: 16vw;
}

.elect-content.content2 {
  padding-bottom: 14.8vw;
}

.elect-content.content3 {
  padding-bottom: 14.7vw;
}

.elect-content.content4 {
  max-width: 1500px;
  padding-bottom: 14.7vw;
}

.elect-content.content5 {
  padding-bottom: 0;
}

.elect-content_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.333vw;
  position: relative;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.elect-content_img.right1, .elect-content_img.right3, .elect-content_img.right5 {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.elect-content_img.left2, .elect-content_img.left4 {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.elect-content_img_num_r {
  font-family: "oswald";
  font-size: 15.4vw;
  letter-spacing: 0.08em;
  color: #0e3169;
  font-weight: 200;
  padding-bottom: 2.6666vw;
  margin-right: -3.4vw;
}

.elect-content_img_num_r.num1 {
  margin-right: -1.3vw;
}

.elect-content_img_num_l {
  font-family: "oswald";
  font-size: 16vw;
  letter-spacing: 0.06em;
  color: #0e3169;
  font-weight: 200;
  padding-bottom: 2.6666vw;
  margin-left: -2.5vw;
}

.elect-content_img_logo_r {
  position: absolute;
  left: 0;
  bottom: 10.7vw;
  color: #0e3169;
  border-bottom: 1px solid #0e3169;
  padding: 0 3.8vw;
}

.elect-content_img_logo_l {
  position: absolute;
  right: 0;
  bottom: 10.8vw;
  color: #0e3169;
  border-bottom: 1px solid #0e3169;
  padding: 0 4.4vw;
}

.elect-content_img .elect01sp {
  width: 73.333vw;
  height: 60vw;
}

.elect-content_img .elect02sp {
  width: 73.333vw;
  height: 60vw;
  -o-object-fit: cover;
     object-fit: cover;
}

.elect-content_img .elect03 {
  width: 73.333vw;
}

.elect-content_img .elect04 {
  width: 73.333vw;
}

.elect-content_img .elect05 {
  width: 73.333vw;
}

.elect-content_inner.inner1 {
  margin-left: 12.9vw;
}

.elect-content_inner_inner {
  width: 81.333vw;
  margin: 0 auto;
}

.elect-content_tit.tit1 {
  font-size: 6.1333vw;
  letter-spacing: 0.1em;
  line-height: 1.4348;
  padding: 5.7vw 0 5.6vw;
  font-weight: 500;
}

.elect-content_tit.tit2 {
  font-size: 6.1333vw;
  letter-spacing: 0.1em;
  line-height: 1.4348;
  font-weight: 500;
  padding: 3.8vw 0 4.4vw;
}

.elect-content_tit.tit2 span {
  font-size: 6.4666vw;
}

.elect-content_tit.tit3 {
  font-size: 6.1333vw;
  letter-spacing: 0.1em;
  line-height: 1.4348;
  padding: 5.7vw 0 4.2vw;
  font-weight: 500;
}

.elect-content_tit.tit4 {
  font-size: 6.1333vw;
  letter-spacing: 0.1em;
  line-height: 1.4348;
  padding: 5.5vw 0 4.4vw;
  font-weight: 500;
}

.elect-content_tit.tit5 {
  font-size: 6.1333vw;
  letter-spacing: 0.1em;
  line-height: 1.4348;
  padding: 5.5vw 0 4.2vw;
  font-weight: 500;
}

.elect-content_txt.txt1 {
  font-size: 4vw;
  letter-spacing: 0.02em;
  line-height: 2;
}

.elect-content_txt.txt1 span {
  font-size: 9.2vw;
  font-family: "Oswald";
  line-height: 1.4348;
  color: #103496;
  font-weight: 500;
  margin: 0 1.1vw;
}

.elect-content_txt.txt2 {
  font-size: 4vw;
  letter-spacing: 0.02em;
  line-height: 2;
}

.elect-content_txt.txt3 {
  font-size: 4vw;
  letter-spacing: 0.02em;
  line-height: 2;
}

.elect-content_txt.txt4 {
  font-size: 4vw;
  letter-spacing: 0.02em;
  line-height: 2;
}

.elect-content_txt.txt5 {
  font-size: 4vw;
  letter-spacing: 0.02em;
  line-height: 2;
}

.elect .large_only {
  display: none;
}

@media screen and (min-width: 835px) and (max-width: 1499px) {
  .elect {
    padding-top: 217px;
    padding-bottom: 123px;
  }
  .elect h3 {
    padding-top: 0.0666vw;
    padding-bottom: 0.666vw;
  }
  .elect-contents {
    padding-top: 3.2vw;
  }
  .elect-content {
    max-width: 1500px;
    margin: auto;
    position: relative;
  }
  .elect-content.content1 {
    padding-bottom: 23.0666vw;
  }
  .elect-content.content2 {
    padding-bottom: 18.1333vw;
  }
  .elect-content.content3 {
    padding-bottom: 5.4666vw;
  }
  .elect-content.content4 {
    padding-bottom: 8.7333vw;
  }
  .elect-content.content5 {
    padding-bottom: 0;
  }
  .elect-content_img {
    gap: 14.5333vw;
  }
  .elect-content_img.left2 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .elect-content_img.right3, .elect-content_img.left4, .elect-content_img.right5 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .elect-content_img_num {
    z-index: 11;
  }
  .elect-content_img_num_r {
    font-size: 6.666vw;
    padding-bottom: 0;
    margin-left: 8.13333vw;
    z-index: 11;
  }
  .elect-content_img_num_r.num1 {
    margin-right: 0.01vw;
    padding-bottom: 5.333vw;
    z-index: 11;
  }
  .elect-content_img_num_l {
    font-size: 6.666vw;
    font-weight: 200;
    padding-bottom: 0;
    margin-right: 7.7333vw;
    z-index: 11;
  }
  .elect-content_img_num_l.num2 {
    padding-bottom: 3.8vw;
    margin-right: 7.5333vw;
  }
  .elect-content_img_logo {
    z-index: 20;
  }
  .elect-content_img_logo_r {
    bottom: 8.8vw;
    color: #0e3169;
    border-bottom: 0.0666vw solid #0e3169;
    padding: 0 4.4666vw;
    z-index: 20;
  }
  .elect-content_img_logo_r.logo3 {
    bottom: 21.44666vw;
  }
  .elect-content_img_logo_r.logo5 {
    bottom: 20.2vw;
  }
  .elect-content_img_logo_l {
    right: 0;
    bottom: 20.4vw;
    border-bottom: 0.0666vw solid #0e3169;
    padding: 0 4.4666vw;
    z-index: 20;
  }
  .elect-content_img_logo_l.logo2 {
    bottom: 7.333vw;
    margin-left: 0.2vw;
  }
  .elect-content_img .elect01pc {
    display: block;
    width: 70vw;
    height: 30.6666vw;
    z-index: -10;
  }
  .elect-content_img .elect02pc {
    width: 70vw;
    height: 30.666vw;
    z-index: -10;
  }
  .elect-content_img .elect03 {
    width: 46.93333vw;
    height: 24.6vw;
    margin-right: 3.4vw;
    margin-top: 1.06vw;
  }
  .elect-content_img .elect04 {
    width: 46.6666vw;
    height: 24.5333vw;
    margin-left: 3.333vw;
  }
  .elect-content_img .elect05 {
    width: 46.666vw;
    height: 24.5333vw;
    margin-right: 3.333vw;
  }
  .elect-content_inner {
    z-index: 10;
  }
  .elect-content_inner.inner1 {
    position: absolute;
    width: 53.4vw;
    height: 25.8vw;
    margin-left: 0;
    left: 5.9333vw;
    top: 24vw;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .elect-content_inner.inner2 {
    position: absolute;
    width: 53.4vw;
    height: 20.666vw;
    margin-right: 0;
    right: 5.9333vw;
    top: 25.333vw;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .elect-content_inner.right {
    width: 37.4666vw;
    height: 19.333vw;
    position: absolute;
    top: 6.333vw;
    left: 9.333vw;
    margin-left: 0;
  }
  .elect-content_inner.inner4 {
    width: 37.4666vw;
    height: 19.333vw;
    position: absolute;
    top: 6.333vw;
    right: 9.2666vw;
    margin-right: 0;
  }
  .elect-content_inner_inner {
    width: 100%;
    margin: 0;
  }
  .elect-content_tit.tit1 {
    font-size: 2.1333vw;
    padding: 3.333vw 0 2.7333vw 3.333vw;
  }
  .elect-content_tit.tit2 {
    font-size: 2.1333vw;
    padding: 3.4vw 0 2.4vw 3.3333vw;
  }
  .elect-content_tit.tit2 span {
    font-size: 2.1333vw;
  }
  .elect-content_tit.tit3 {
    font-size: 2.1333vw;
    padding: 3.4vw 0 2.4vw;
  }
  .elect-content_tit.tit4 {
    font-size: 2.1333vw;
    padding: 3.2666vw 0.0666vw 2.4vw;
  }
  .elect-content_tit.tit5 {
    font-size: 2.1333vw;
    padding: 3.4666vw 0.0666vw 2.4vw;
  }
  .elect-content_txt.txt1 {
    font-size: 1.333vw;
    padding-left: 3.4666vw;
  }
  .elect-content_txt.txt1 span {
    font-size: 3.0666vw;
    margin: 0 0.333vw;
  }
  .elect-content_txt.txt2 {
    font-size: 1.0666vw;
    padding-left: 3.4666vw;
    width: 46.666vw;
  }
  .elect-content_txt.txt3 {
    font-size: 1.0666vw;
    width: 37.333vw;
  }
  .elect-content_txt.txt4 {
    font-size: 1.0666vw;
    padding-left: 0.1333vw;
  }
  .elect-content_txt.txt5 {
    font-size: 1.0666vw;
  }
}

@media screen and (min-width: 1500px) {
  .elect {
    padding-top: 217px;
    padding-bottom: 123px;
  }
  .elect h3 {
    padding-top: 1px;
    padding-bottom: 10px;
  }
  .elect-contents {
    padding-top: 48px;
    position: relative;
    overflow: hidden;
  }
  .elect-content {
    max-width: 1500px;
    margin: auto;
    position: relative;
  }
  .elect-content.content1 {
    padding-bottom: 346px;
  }
  .elect-content.content2 {
    padding-bottom: 272px;
  }
  .elect-content.content3 {
    padding-bottom: 82px;
  }
  .elect-content.content4 {
    padding-bottom: 131px;
  }
  .elect-content.content5 {
    padding-bottom: 0;
  }
  .elect-content_img {
    gap: 218px;
  }
  .elect-content_img.right3, .elect-content_img.left4, .elect-content_img.right5 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .elect-content_img_num {
    z-index: 11;
  }
  .elect-content_img_num_r {
    font-size: 100px;
    padding-bottom: 0;
    margin-left: 122px;
    z-index: 11;
  }
  .elect-content_img_num_r.num1 {
    margin-right: 0.01vw;
    padding-bottom: 80px;
    z-index: 11;
  }
  .elect-content_img_num_l {
    font-size: 100px;
    font-weight: 200;
    padding-bottom: 0;
    margin-right: 116px;
    z-index: 11;
  }
  .elect-content_img_num_l.num2 {
    padding-bottom: 57px;
    margin-left: 3px;
  }
  .elect-content_img_logo {
    z-index: 20;
  }
  .elect-content_img_logo_r {
    bottom: 132px;
    color: #0e3169;
    border-bottom: 1px solid #0e3169;
    padding: 0 67px;
    z-index: 20;
    width: 1000px;
    left: -850px;
  }
  .elect-content_img_logo_r.logo3 {
    bottom: 322px;
  }
  .elect-content_img_logo_r.logo5 {
    bottom: 303px;
  }
  .elect-content_img_logo_l {
    position: absolute;
    border-bottom: 1px solid #0e3169;
    padding: 0 67px;
    z-index: 20;
    width: 1000px;
    right: 0;
    left: calc(1350px + (100vw - 1500px) / 2);
    display: none;
  }
  .elect-content_img_logo_l.large_none {
    display: none;
  }
  .elect-content_img_logo_l.large_only {
    display: block;
  }
  .elect-content_img_logo_l.logo2 {
    bottom: 1720px;
  }
  .elect-content_img_logo_l.logo4 {
    bottom: 805px;
  }
  .elect-content_img .elect01pc {
    display: block;
    width: 1050px;
    height: 460px;
    z-index: -10;
  }
  .elect-content_img .elect02pc {
    width: 1050px;
    height: 460px;
    z-index: -10;
  }
  .elect-content_img .elect03 {
    width: 704px;
    height: 369px;
    margin-right: 51px;
    margin-top: 16px;
  }
  .elect-content_img .elect04 {
    width: 700px;
    height: 368px;
    margin-left: 50px;
  }
  .elect-content_img .elect05 {
    width: 700px;
    height: 368px;
    margin-right: 50px;
  }
  .elect-content_inner {
    z-index: 10;
  }
  .elect-content_inner.inner1 {
    position: absolute;
    width: 801px;
    height: 387px;
    margin-left: 0;
    left: 89px;
    top: 360px;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .elect-content_inner.inner2 {
    position: absolute;
    width: 801px;
    height: 310px;
    margin-right: 0;
    right: 89px;
    top: 380px;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .elect-content_inner.right {
    width: 562px;
    height: 290px;
    position: absolute;
    top: 95px;
    left: 140px;
    margin-left: 0;
  }
  .elect-content_inner.inner4 {
    width: 562px;
    height: 290px;
    position: absolute;
    top: 95px;
    right: 139px;
    margin-right: 0;
  }
  .elect-content_inner_inner {
    width: 100%;
    margin: 0;
  }
  .elect-content_tit.tit1 {
    font-size: 32px;
    padding: 50px 0 41px 50px;
  }
  .elect-content_tit.tit2 {
    font-size: 32px;
    padding: 51px 0 36px 50px;
  }
  .elect-content_tit.tit2 span {
    font-size: 32px;
  }
  .elect-content_tit.tit3 {
    font-size: 32px;
    padding: 51px 0 36px;
  }
  .elect-content_tit.tit4 {
    font-size: 32px;
    padding: 49px 1px 36px;
  }
  .elect-content_tit.tit5 {
    font-size: 32px;
    padding: 52px 1px 36px;
  }
  .elect-content_txt.txt1 {
    font-size: 20px;
    padding-left: 52px;
  }
  .elect-content_txt.txt1 span {
    font-size: 46px;
    margin: 0 5px;
  }
  .elect-content_txt.txt2 {
    font-size: 16px;
    padding-left: 52px;
    width: 700px;
  }
  .elect-content_txt.txt3 {
    font-size: 16px;
    width: 560px;
  }
  .elect-content_txt.txt4 {
    font-size: 16px;
    padding-left: 2px;
  }
  .elect-content_txt.txt5 {
    font-size: 16px;
  }
}

.service {
  background-color: #f0f2f2;
  padding-top: 16.8vw;
  padding-bottom: 16vw;
}

.service h3 {
  padding-top: 0.5vw;
  padding-bottom: 0;
}

.service-contents {
  width: calc(100vw - 50px);
  margin: 10.6vw auto 0;
}

.service-content {
  margin-bottom: 12vw;
}

.service-content h4 {
  letter-spacing: 0.01em;
  margin-top: 4.3vw;
}

.service-content h5 {
  margin-top: 0.4vw;
  padding-bottom: 0;
  margin-bottom: 2.7vw;
}

.service-content img {
  width: 100%;
}

.service-content_txt {
  padding: 0 0 7.2vw;
  font-size: 4vw;
  letter-spacing: 0.02em;
  line-height: 2;
}

.service-link {
  color: #fff;
  text-align: center;
  height: 5.7333vw;
}

.service-link a {
  background: #0e3169;
  font-size: 4vw;
  font-family: "Poppins";
  padding: 2.666vw 11vw 2.1333vw;
}

.service-btn {
  background: #fff;
  width: 84vw;
  margin: 0 auto;
  padding: 5.55vw 0 0.4vw;
}

.service-btn_item {
  width: 60vw;
  margin: 0 auto 5.5vw;
  border: 0.1333vw solid #0e3169;
  text-align: center;
  position: relative;
}

.service-btn_item a {
  font-size: 4vw;
  color: #0e3169;
  letter-spacing: 0.04em;
  display: block;
  padding: 4.5vw 0 3.6vw;
}

.service-btn_item::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: -21%;
  content: "";
  width: 18vw;
  height: 0.1333vw;
  background: #0e3169;
}

@media screen and (min-width: 835px) and (max-width: 1499px) {
  .service {
    padding-top: 7.866vw;
    padding-bottom: 0;
  }
  .service h3 {
    padding-top: 0.0666vw;
    padding-bottom: 0;
  }
  .service-contents {
    width: 80vw;
    margin: 3.8666vw auto 1.733vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .service-content {
    width: 38vw;
    font-size: 1.6vw;
    margin-bottom: 0;
  }
  .service-content h4 {
    margin-top: 1.2666vw;
    font-size: 1.6vw;
  }
  .service-content h5 {
    margin-top: 0.2vw;
    padding-bottom: 0;
    margin-bottom: 1.5333vw;
    font-size: 1.6vw;
  }
  .service-content img {
    width: 100%;
  }
  .service-content_txt {
    padding: 0;
    font-size: 1.0666vw;
  }
  .service-content img {
    -webkit-transition: .2s;
    transition: .2s;
  }
  .service-content img:hover {
    opacity: .7;
  }
  .service-link {
    font-family: "Poppins";
    color: #0e3169;
    line-height: 1.333;
    letter-spacing: 0.02em;
    font-weight: 500;
    vertical-align: bottom;
    margin-top: 1.2vw;
    text-align: left;
    height: 5.7333vw;
  }
  .service-link a {
    background-color: #00000000;
    font-size: 1.1333vw;
    font-family: "Poppins";
    padding: 0.666vw 0;
  }
  .service-link::before {
    display: inline-block;
    content: "";
    width: 4.6vw;
    height: 0.0666vw;
    background: #103496;
    margin-bottom: 0.333vw;
    margin-right: 0.666vw;
  }
  .service-btn {
    width: calc(100% - 100px);
    max-width: 93.333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.6vw 5.3vw;
    padding: 3.9333vw 0.666vw 3.9333vw 4.6vw;
  }
}

@media screen and (min-width: 835px) and (max-width: 1499px) and (min-width: 1245px) {
  .service-btn {
    gap: 2.6vw 8.88vw;
  }
}

@media screen and (min-width: 835px) and (max-width: 1499px) {
  .service-btn_item {
    width: 33.9333vw;
    padding: 0;
    margin: 0;
    border: 0.0666vw solid #0e3169;
  }
  .service-btn_item a {
    font-size: 1.333vw;
    padding: 1.8666vw 0;
  }
  .service-btn_item:hover {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    background: #0e3169;
  }
  .service-btn_item:hover a {
    color: #fff;
  }
  .service-btn_item:hover::after {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    content: "";
    width: 2vw;
    height: 0.0666vw;
    background: #fff;
  }
  .service-btn_item::before {
    left: -4vw;
    top: 50%;
    content: "";
    width: 6vw;
    height: 0.0666vw;
  }
}

@media screen and (min-width: 1500px) {
  .service {
    padding-top: 118px;
    padding-bottom: 0;
  }
  .service h3 {
    padding-top: 1px;
    padding-bottom: 0;
  }
  .service-contents {
    width: 1200px;
    margin: 58px auto 26px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .service-content {
    width: 570px;
    font-size: 24px;
    margin-bottom: 0;
  }
  .service-content h4 {
    margin-top: 19px;
    font-size: 24px;
  }
  .service-content h5 {
    margin-top: 3px;
    padding-bottom: 0;
    margin-bottom: 23px;
    font-size: 24px;
  }
  .service-content_txt {
    padding: 0;
    font-size: 16px;
  }
  .service-content img {
    -webkit-transition: .2s;
    transition: .2s;
  }
  .service-content img:hover {
    opacity: .7;
  }
  .service-link {
    font-family: "Poppins";
    color: #0e3169;
    line-height: 1.333;
    letter-spacing: 0.02em;
    font-weight: 500;
    vertical-align: bottom;
    margin-top: 18px;
    text-align: left;
    height: 86px;
  }
  .service-link a {
    background-color: #00000000;
    font-size: 17px;
    font-family: "Poppins";
    padding: 10px 0;
  }
  .service-link::before {
    display: inline-block;
    content: "";
    width: 70px;
    height: 1px;
    background: #103496;
    margin-bottom: 5px;
    margin-right: 10px;
  }
  .service-btn {
    width: calc(100% - 100px);
    max-width: 1400px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 40px 80px;
    padding: 59px 10px 59px 69px;
  }
}

@media screen and (min-width: 1500px) and (min-width: 1245px) {
  .service-btn {
    gap: 40px 120px;
  }
}

@media screen and (min-width: 1500px) {
  .service-btn_item {
    width: 509px;
    padding: 0;
    margin: 0;
    border: 1px solid #0e3169;
  }
  .service-btn_item a {
    font-size: 20px;
    padding: 28px 0;
  }
  .service-btn_item:hover {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    background: #0e3169;
  }
  .service-btn_item:hover a {
    color: #fff;
  }
  .service-btn_item:hover::after {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    content: "";
    width: 30px;
    height: 1px;
    background: #fff;
  }
  .service-btn_item::before {
    left: -60px;
    top: 50%;
    content: "";
    width: 90px;
    height: 1px;
  }
}

.news {
  width: calc(100vw - 50px);
  margin: 0 auto;
  padding-top: 9vw;
  padding-bottom: 18vw;
}

.news h3 {
  padding-top: 0.4vw;
}

.news-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 82.2vw;
  margin: 0.9333vw auto 0;
  gap: 8.5vw;
  line-height: 1;
  font-size: 4vw;
  letter-spacing: 0.02em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 2.6vw;
  position: relative;
}

.news-link::after {
  content: '';
  position: absolute;
  width: 90vw;
  height: 0.2666vw;
  background: rgba(33, 33, 33, 0.2);
  bottom: 0.2666vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: inline-block;
}

.news-link li:not(:nth-child(3)) a {
  padding: 4vw 0;
}

.news-link a {
  color: #0e3169;
  display: block;
  white-space: nowrap;
}

.news-link_btn {
  position: relative;
}

.news-link_btn.btn1.active::after {
  display: inline-block;
  position: absolute;
  bottom: -2.4vw;
  left: -4vw;
  content: "";
  width: 20vw;
  height: 0.2666vw;
  background: #0e3169;
}

.news-link_btn.btn2.active::after {
  display: inline-block;
  position: absolute;
  bottom: -2.4vw;
  left: -1.4vw;
  content: "";
  width: 20vw;
  height: 0.2666vw;
  background: #0e3169;
}

.news-link_btn.btn3.active::after {
  display: inline-block;
  position: absolute;
  bottom: -2.4vw;
  left: -2vw;
  content: "";
  width: 20vw;
  height: 0.2666vw;
  background: #0e3169;
}

.news-link_btn.btn4.active::after {
  display: inline-block;
  position: absolute;
  bottom: -2.4vw;
  left: -4vw;
  content: "";
  width: 20vw;
  height: 0.2666vw;
  background: #0e3169;
}

.news-area {
  display: none;
  opacity: 1;
  background: #fff;
}

.news-area.is-active {
  display: block;
}

.news-content {
  padding: 0 0 0 0;
  margin-bottom: 8.4vw;
  overflow-y: auto;
  height: 92vw;
  margin-top: 5vw;
}

.news-content_data_day {
  font-size: 3.7333vw;
  font-family: "Poppins";
  color: #7c7c7c;
  font-weight: 400;
}

.news-content_data_label {
  display: inline-block;
  padding: 1.0666vw 2.9333vw 1.0666vw;
  font-size: 3.4666vw;
  color: #fff;
  background: #0e3169;
  font-weight: 500;
  margin-left: 3vw;
  margin-top: -0.3vw;
}

.news-content_txt {
  padding: 5.2vw 0 0;
  font-size: 4vw;
  letter-spacing: 0.02em;
  line-height: 2;
  margin-top: 0;
}

.news-content_item {
  border-bottom: 1px solid rgba(33, 33, 33, 0.2);
  padding: 0;
  margin-bottom: 0;
}

.news-content_item a {
  display: block;
  padding: 5.1vw 0 3.4vw;
}

.news-linkbtn {
  color: #fff;
  text-align: center;
  height: 5.7333vw;
}

.news-linkbtn a {
  background: #0e3169;
  font-size: 4vw;
  font-family: "Poppins";
  padding: 2.666vw 11vw 2.1333vw;
}

@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media screen and (min-width: 835px) and (max-width: 1299px) {
  .news {
    width: calc(100vw - 50px);
    max-width: 1200px;
    padding-top: 118px;
    padding-bottom: 85px;
    position: relative;
  }
  .news h2 {
    text-align: left;
  }
  .news h3 {
    text-align: left;
    padding-top: 0.1538vw;
    padding-bottom: 0;
  }
  .news-tab {
    width: 63.077vw;
    margin-left: 26.538vw;
  }
  .news-link {
    width: 63.077vw;
    margin: 0;
    gap: 0;
    font-size: 1.231vw;
    border-bottom: 0.154vw solid rgba(33, 33, 33, 0.2);
    padding: 0.385vw 0 0.846vw;
  }
  .news-link::after {
    display: none;
  }
  .news-link li:not(:nth-child(3)) a {
    padding: 0.769vw 0;
  }
  .news-link li:nth-child(3) a {
    padding: 0.769vw 0;
  }
  .news-link a {
    color: #0e3169;
    display: block;
  }
  .news-link_btn {
    width: 15.769vw;
  }
  .news-link_btn.btn1.active::after {
    bottom: -1vw;
    left: 4.615vw;
    width: 6.231vw;
    height: 0.1538vw;
  }
  .news-link_btn.btn2.active::after {
    bottom: -1vw;
    left: 4.615vw;
    width: 6.231vw;
    height: 0.1538vw;
  }
  .news-link_btn.btn3.active::after {
    bottom: -1vw;
    left: 1.769vw;
    width: 12.307vw;
    height: 0.1538vw;
  }
  .news-link_btn.btn4.active::after {
    bottom: -1vw;
    left: 4.923vw;
    width: 6.2307vw;
    height: 0.133vw;
  }
  .news-content {
    padding: 0 0 0 0;
    margin-bottom: 0.769vw;
    overflow-y: auto;
    height: 28vw;
    margin-top: 5.846vw;
  }
  .news-content_data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .news-content_data_day {
    font-size: 1.3846vw;
    margin-top: 0.6153vw;
    letter-spacing: 0.02em;
  }
  .news-content_data_label {
    padding: 0.3846vw 0.769vw 0.4308vw;
    font-size: 1.0769vw;
    margin-left: 1.538vw;
    margin-right: 1.538vw;
    margin-top: -0.769vw;
  }
  .news-content_txt {
    padding: 0 0 0;
    font-size: 1.3846vw;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-top: 0;
  }
  .news-content_item {
    border-bottom: 0.0769vw solid rgba(33, 33, 33, 0.2);
    padding: 0;
    margin-bottom: 0;
  }
  .news-content_item a {
    display: block;
    padding: 2.6154vw 0 2.4615vw;
  }
  .news-linkbtn {
    line-height: 1.333;
    letter-spacing: 0.02em;
    font-weight: 500;
    vertical-align: bottom;
    margin-top: 1.3846vw;
    text-align: left;
    position: absolute;
    top: 9.615vw;
    right: 0;
  }
  .news-linkbtn::before {
    display: inline-block;
    content: "";
    width: 5.384vw;
    height: 0.0769vw;
    background: #103496;
    margin-bottom: 0.3846vw;
    margin-right: 0.769vw;
  }
  .news-linkbtn a {
    color: #0e3169;
    background-color: #00000000;
    font-size: 1.30769vw;
    font-family: "Poppins";
    padding: 0.769vw 0;
  }
}

@media screen and (min-width: 1300px) {
  .news {
    width: calc(100vw - 50px);
    max-width: 1200px;
    padding-top: 118px;
    padding-bottom: 85px;
    position: relative;
  }
  .news h2 {
    text-align: left;
  }
  .news h3 {
    text-align: left;
    padding-top: 2px;
    padding-bottom: 0;
  }
  .news-tab {
    width: 820px;
    margin-left: 345px;
  }
  .news-link {
    width: 820px;
    margin: 0;
    gap: 0;
    font-size: 16px;
    border-bottom: 2px solid rgba(33, 33, 33, 0.2);
    padding: 5px 0 11px;
  }
  .news-link::after {
    display: none;
  }
  .news-link li:not(:nth-child(3)) a {
    padding: 10px 0;
  }
  .news-link li:nth-child(3) a {
    padding: 10px 0;
  }
  .news-link a {
    color: #0e3169;
    display: block;
  }
  .news-link_btn {
    width: 205px;
  }
  .news-link_btn.btn1.active::after {
    bottom: -13px;
    left: 60px;
    width: 81px;
    height: 2px;
  }
  .news-link_btn.btn1::before {
    content: '';
    position: absolute;
    display: inline-block;
    height: 2px;
    width: 81px;
    bottom: -13px;
    left: 60px;
    background: #0e3169;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .news-link_btn.btn1:hover::before {
    opacity: 1;
    visibility: visible;
  }
  .news-link_btn.btn2.active::after {
    bottom: -13px;
    left: 60px;
    width: 81px;
    height: 2px;
  }
  .news-link_btn.btn2::before {
    content: '';
    position: absolute;
    display: inline-block;
    height: 2px;
    width: 81px;
    bottom: -13px;
    left: 60px;
    background: #0e3169;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .news-link_btn.btn2:hover::before {
    opacity: 1;
    visibility: visible;
  }
  .news-link_btn.btn3.active::after {
    bottom: -13px;
    left: 23px;
    width: 160px;
    height: 2px;
  }
  .news-link_btn.btn3::before {
    content: '';
    position: absolute;
    display: inline-block;
    height: 2px;
    width: 160px;
    bottom: -13px;
    left: 23px;
    background: #0e3169;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .news-link_btn.btn3:hover::before {
    opacity: 1;
    visibility: visible;
  }
  .news-link_btn.btn4.active::after {
    bottom: -13px;
    left: 64px;
    width: 81px;
    height: 2px;
  }
  .news-link_btn.btn4::before {
    content: '';
    position: absolute;
    display: inline-block;
    height: 2px;
    width: 81px;
    bottom: -13px;
    left: 64px;
    background: #0e3169;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .news-link_btn.btn4:hover::before {
    opacity: 1;
    visibility: visible;
  }
  .news-content {
    padding: 0 0 0 0;
    margin-bottom: 10px;
    overflow-y: auto;
    height: 375px;
    margin-top: 42px;
  }
  .news-content_data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .news-content_data_day {
    font-size: 18px;
    margin-top: 8px;
    letter-spacing: 0.02em;
  }
  .news-content_data_label {
    padding: 5px 10px 5px;
    font-size: 14px;
    margin-left: 20px;
    margin-right: 20px;
    margin-top: -10px;
  }
  .news-content_txt {
    padding: 0 0 0;
    font-size: 18px;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-top: 0;
  }
  .news-content_item {
    border-bottom: 1px solid rgba(33, 33, 33, 0.2);
    padding: 0;
    margin-bottom: 0;
  }
  .news-content_item a {
    display: block;
    padding: 34px 0 32px;
    -webkit-transition: all .3s;
    transition: all .3s;
  }
  .news-content_item a:hover {
    color: #103496;
  }
  .news-linkbtn {
    line-height: 1.333;
    letter-spacing: 0.02em;
    font-weight: 500;
    vertical-align: bottom;
    margin-top: 18px;
    text-align: left;
    position: absolute;
    top: 125px;
    right: 0;
    height: 30px;
  }
  .news-linkbtn::before {
    display: inline-block;
    content: "";
    width: 70px;
    height: 1px;
    background: #103496;
    margin-bottom: 5px;
    margin-right: 10px;
  }
  .news-linkbtn a {
    color: #0e3169;
    background-color: #00000000;
    font-size: 17px;
    font-family: "Poppins";
    padding: 10px 0;
  }
}

.info {
  background-color: #f0f2f2;
  padding-top: 17vw;
}

.info-contents {
  width: calc(100vw - 50px);
  margin: 0 auto;
}

.info h3 {
  padding-top: 0.5vw;
  padding-bottom: 10.5vw;
}

.info h4 {
  letter-spacing: 0;
  margin-top: 3.2vw;
}

.info h5 {
  margin-top: 1vw;
}

.footer {
  padding-top: 7.1vw;
}

.footer-copyright {
  margin-top: 8.4vw;
}

@media screen and (min-width: 835px) and (max-width: 1499px) {
  .info {
    background-color: #f0f2f2;
    padding-top: 118px;
    padding-bottom: 150px;
  }
  .info h3 {
    padding-top: 0.0666vw;
    padding-bottom: 4.30769vw;
  }
  .info h4 {
    letter-spacing: 0.02em;
    font-size: 1.6vw;
    margin-top: 1.333vw;
  }
  .info h5 {
    font-size: 1.0666vw;
    margin-top: 0.333vw;
    padding-bottom: 0.666vw;
  }
  .info-content_outer {
    width: calc(100vw - 100px);
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .info-contents {
    width: 29.333vw;
    margin: 0;
  }
  .info-contents img {
    width: 29.333vw;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .info-contents img:hover {
    opacity: .7;
  }
}

@media screen and (min-width: 835px) and (max-width: 1499px) and (max-width: 1000px) {
  .info-contents img {
    width: 28.333vw;
  }
}

@media screen and (min-width: 835px) and (max-width: 1499px) {
  .info-contact {
    width: 100%;
    margin-top: 8.5333vw;
    text-align: center;
    color: #fff;
    font-family: "oswald", "Noto Sans JP";
    font-weight: 400;
  }
  .info-contact_tel {
    font-size: 2.1333vw;
    letter-spacing: 0.02em;
    vertical-align: middle;
  }
  .info-contact_tel img {
    width: 2.1538vw;
    margin-right: 1vw;
    margin-bottom: 0.86666vw;
  }
  .info-contact_mail {
    font-size: 1.6vw;
    letter-spacing: 0.08em;
    line-height: 1.333;
    vertical-align: middle;
  }
  .info-contact_mail img {
    width: 2.1538vw;
    margin-right: 1vw;
    margin-bottom: 0.666vw;
  }
  .info-contact a {
    padding: 3.769vw 17.076vw 4.384vw;
    background: #0e3169;
    margin: 0 auto;
    vertical-align: middle;
  }
  .info-contact a:hover {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    background: #103496;
  }
  .footer {
    padding-top: 0;
    margin-top: -5px;
  }
  .footer-copyright {
    margin-top: 53px;
  }
}

@media screen and (min-width: 1500px) {
  .info {
    background-color: #f0f2f2;
    padding-top: 118px;
    padding-bottom: 150px;
  }
  .info h3 {
    padding-top: 1px;
    padding-bottom: 56px;
  }
  .info h4 {
    letter-spacing: 0.02em;
    font-size: 24px;
    margin-top: 20px;
  }
  .info h5 {
    font-size: 16px;
    margin-top: 5px;
    padding-bottom: 10px;
  }
  .info-content_outer {
    width: calc(100vw - 50px);
    max-width: 1400px;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .info-contents {
    width: 440px;
    margin: 0;
  }
  .info-contents img {
    width: 100%;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .info-contents img:hover {
    opacity: .7;
  }
  .info-contact {
    width: 100%;
    margin-top: 128px;
    text-align: center;
    color: #fff;
    font-family: "oswald", "Noto Sans JP";
    font-weight: 400;
  }
  .info-contact_tel {
    font-size: 32px;
    letter-spacing: 0.02em;
    vertical-align: middle;
  }
  .info-contact_tel img {
    width: 28px;
    margin-right: 15px;
    margin-bottom: 13px;
  }
  .info-contact_mail {
    font-size: 24px;
    letter-spacing: 0.08em;
    line-height: 1.333;
    vertical-align: middle;
  }
  .info-contact_mail img {
    width: 28px;
    margin-right: 15px;
    margin-bottom: 10px;
  }
  .info-contact a {
    padding: 49px 222px 57px;
    background: #0e3169;
    margin: 0 auto;
    vertical-align: middle;
  }
  .info-contact a:hover {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    background: #103496;
  }
  .footer {
    padding-top: 0;
    margin-top: -5px;
  }
  .footer-copyright {
    margin-top: 53px;
  }
}

.topmsg {
  padding-top: 27vw;
  padding-bottom: 8vw;
  background: #f0f2f2;
  position: relative;
}

.topmsg-outer {
  width: calc(100vw - 50px);
  margin: 0 auto;
}

.topmsg-outer h2 {
  text-align: left;
  padding-bottom: 6.85vw;
  margin-top: -0.6vw;
}

.topmsg-outer h3 {
  text-align: left;
  padding-bottom: 8vw;
}

.topmsg-txt {
  padding: 0 0 7vw;
  font-size: 4vw;
  letter-spacing: 0.02em;
  line-height: 2;
  font-family: "Poppins";
}

.topmsg-btn {
  padding: 7.9vw 0 3.2vw;
}

.topmsg-btn_item {
  position: relative;
  width: 60vw;
  margin: 0 auto 4.6vw;
  border: 0.1333vw solid #0e3169;
  text-align: center;
}

.topmsg-btn_item::before {
  display: inline-block;
  position: absolute;
  left: -21%;
  top: 50%;
  content: "";
  width: 18vw;
  height: 0.1333vw;
  background: #0e3169;
}

.topmsg-btn_item a {
  display: block;
  font-size: 4vw;
  color: #0e3169;
  letter-spacing: 0.04em;
  padding: 4vw 0;
}

@media screen and (min-width: 835px) and (max-width: 1499px) {
  .topmsg {
    padding-top: 21.0666vw;
    padding-bottom: 8vw;
    height: 63.4vw;
  }
  .topmsg-outer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 80vw;
  }
  .topmsg-outer h2 {
    font-size: 2.13vw;
    padding-bottom: 2.4vw;
    margin-top: 0;
  }
  .topmsg-outer h3 {
    font-size: 1.2vw;
    padding-bottom: 0;
  }
  .topmsg-txtouter {
    width: 45.333vw;
    padding-top: 1.066vw;
    z-index: 10;
  }
  .topmsg-txt {
    padding: 0;
    font-size: 1.0666vw;
    letter-spacing: 0.02em;
    line-height: 2;
    font-family: "Poppins";
  }
  .topmsg-wrapper {
    margin: auto;
    position: relative;
    width: calc(100vw - 100px);
    max-width: 1400px;
  }
  .topmsg-pic {
    margin-top: -7.333vw;
    width: 53vw;
  }
  .topmsg-btn {
    position: absolute;
    width: 80vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 0;
    top: 5.1333vw;
    right: 6.666vw;
  }
  .topmsg-btn_item {
    width: 20vw;
    margin: 0 0 1.8vw 0;
    border: 1px solid #0e3169;
  }
  .topmsg-btn_item::before {
    width: 6vw;
    height: 0.0666vw;
  }
  .topmsg-btn_item a {
    font-size: 1.0666vw;
    padding: 1.3vw 0;
  }
  .topmsg-btn_item:hover {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    background: #0e3169;
  }
  .topmsg-btn_item:hover a {
    color: #fff;
    display: block;
    padding: 1.3vw 0;
  }
  .topmsg-btn_item:hover::after {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    content: "";
    width: 1.8666vw;
    height: 0.0666vw;
    background: #fff;
  }
}

@media screen and (min-width: 1500px) {
  .topmsg {
    padding-top: 316px;
    padding-bottom: 120px;
    height: 951px;
  }
  .topmsg-outer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 1200px;
  }
  .topmsg-outer h2 {
    font-size: 32px;
    padding-bottom: 36px;
    margin-top: 0;
  }
  .topmsg-outer h3 {
    font-size: 18px;
    padding-bottom: 0;
  }
  .topmsg-txtouter {
    width: 680px;
    padding-top: 16px;
    z-index: 10;
  }
  .topmsg-txt {
    padding: 0;
    letter-spacing: 0.02em;
    line-height: 2;
    font-family: "Poppins";
    font-size: 16px;
  }
  .topmsg-wrapper {
    margin: auto;
    position: relative;
    width: calc(100vw - 100px);
    max-width: 1400px;
  }
  .topmsg-pic {
    margin-top: -110px;
    width: 794px;
  }
  .topmsg-btn {
    position: absolute;
    width: 1200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 0;
    top: 77px;
    right: 100px;
  }
  .topmsg-btn_item {
    width: 300px;
    margin: 0 0 27px 0;
    border: 1px solid #0e3169;
  }
  .topmsg-btn_item::before {
    width: 90px;
    height: 1px;
  }
  .topmsg-btn_item a {
    font-size: 16px;
    padding: 19.5px 0;
  }
  .topmsg-btn_item:hover {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    background: #0e3169;
  }
  .topmsg-btn_item:hover a {
    color: #fff;
    display: block;
    padding: 19.5px 0;
  }
  .topmsg-btn_item:hover::after {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    content: "";
    width: 28px;
    height: 1px;
    background: #fff;
  }
}

.voice {
  padding-top: 15.9vw;
  padding-bottom: 0;
  width: calc(100% - 100px);
  margin: 0 auto;
}

.voice h3 {
  padding-top: 0.7vw;
  padding-bottom: 0;
  margin-bottom: 11.5vw;
}

.voice-slick {
  position: relative;
}

.voice-slick_item img {
  width: 74.666vw;
  height: 48.77333vw;
}

.voice-slick_company {
  margin-top: 3.8vw;
  font-size: 4vw;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.333;
}

.voice-slick_role {
  font-size: 3.4666vw;
  margin-top: 2vw;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 1.84615;
}

.voice-slick_name {
  font-size: 4.5333vw;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 1.84615;
  margin-top: -0.5vw;
}

.voice-slick_txt {
  padding: 0.7vw 0 0;
  font-size: 4vw;
  letter-spacing: 0.02em;
  line-height: 2;
  margin-top: 0;
}

.voice-btn {
  padding: 3.9vw 0 3.2vw;
  font-family: "Poppins";
}

.voice-btn_item {
  position: relative;
  width: 60vw;
  margin: 0 auto 4.6vw;
  border: 0.1333vw solid #0e3169;
  text-align: center;
}

.voice-btn_item::before {
  display: inline-block;
  position: absolute;
  left: -12%;
  top: 50%;
  content: "";
  width: 13vw;
  height: 0.1333vw;
  background: #0e3169;
}

.voice-btn_item a {
  display: block;
  font-size: 4vw;
  color: #0e3169;
  letter-spacing: 0.02em;
  padding: 4vw 0;
}

.voice .slider {
  position: relative;
}

.voice .slider img {
  margin: 0 auto;
}

.voice .slick-prev,
.voice .slick-next {
  position: absolute;
  z-index: 1;
  top: 40.2%;
  cursor: pointer;
  outline: none;
  width: 8vw;
  height: 8vw;
  color: #fff;
  font-size: 4.6666vw;
  text-align: center;
  padding: 1.333vw 0;
  background: #0e3169;
}

.voice .slick-prev {
  left: -14.5%;
}

@media (min-width: 475px) {
  .voice .slick-prev {
    left: -12.5%;
  }
}

@media (min-width: 575px) {
  .voice .slick-prev {
    left: -9.5%;
  }
}

@media (min-width: 675px) {
  .voice .slick-prev {
    left: -6.5%;
  }
}

.voice .slick-next {
  right: -14.5%;
}

@media (min-width: 475px) {
  .voice .slick-next {
    right: -12.5%;
  }
}

@media (min-width: 575px) {
  .voice .slick-next {
    right: -9.5%;
  }
}

@media (min-width: 675px) {
  .voice .slick-next {
    right: -6.5%;
  }
}

@media screen and (min-width: 835px) and (max-width: 1499px) {
  .voice {
    background-color: #f0f2f2;
    margin: 0;
    width: 100%;
    padding-top: 107px;
    padding-bottom: 65px;
  }
  .voice-outer {
    width: calc(100% - 100px);
    margin: 0 auto;
  }
  .voice h3 {
    padding-top: 0.0666vw;
    padding-bottom: 0;
    margin-bottom: 3.7333vw;
  }
  .voice-slick {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 1400px;
    margin: auto;
  }
  .voice-slick_item {
    width: 29.333vw;
  }
}

@media screen and (min-width: 835px) and (max-width: 1499px) and (max-width: 1000px) {
  .voice-slick_item {
    width: 28.333vw;
  }
}

@media screen and (min-width: 835px) and (max-width: 1499px) {
  .voice-slick_item img {
    width: 100%;
    margin: auto;
    height: auto;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .voice-slick_item img:hover {
    opacity: .7;
  }
  .voice-slick_company {
    margin-top: 1.5333vw;
    font-size: 1.0666vw;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.333;
  }
  .voice-slick_role {
    font-size: 0.9333vw;
    margin-top: 0.4666vw;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.84615;
  }
  .voice-slick_name {
    font-size: 1.0666vw;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.84615;
    margin-top: -0.2vw;
  }
  .voice-slick_txt {
    padding: 0.2666vw 0 0;
    font-size: 1.0666vw;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-top: 0;
  }
  .voice-btn {
    padding: 3.6vw 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .voice-btn_item {
    width: 20vw;
    margin: 0 0 0 -0.01333vw;
    padding: 0;
    border: 0.0666vw solid #0e3169;
  }
  .voice-btn_item a {
    font-size: 1.0666vw;
    padding: 1.3vw 0;
    letter-spacing: 0.06em;
  }
  .voice-btn_item:hover {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    background: #0e3169;
  }
  .voice-btn_item:hover a {
    color: #fff;
  }
  .voice-btn_item:hover::after {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    content: "";
    width: 2vw;
    height: 0.0666vw;
    background: #fff;
  }
  .voice-btn_item::before {
    left: -4vw;
    top: 50%;
    content: "";
    width: 6vw;
    height: 0.0666vw;
  }
}

@media screen and (min-width: 1500px) {
  .voice {
    background-color: #f0f2f2;
    margin: 0;
    width: 100%;
    padding-top: 107px;
    padding-bottom: 65px;
  }
  .voice-outer {
    width: calc(100% - 100px);
    margin: 0 auto;
  }
  .voice h3 {
    padding-top: 1px;
    padding-bottom: 0;
    margin-bottom: 56px;
  }
  .voice-slick {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 1400px;
    margin: auto;
  }
  .voice-slick_item {
    width: 440px;
  }
  .voice-slick_item img {
    width: 440px;
    height: 293px;
    margin: auto;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .voice-slick_item img:hover {
    opacity: .7;
  }
  .voice-slick_company {
    margin-top: 23px;
    font-size: 16px;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.333;
  }
  .voice-slick_role {
    font-size: 14px;
    margin-top: 7px;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.84615;
  }
  .voice-slick_name {
    font-size: 16px;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.84615;
    margin-top: -3px;
  }
  .voice-slick_txt {
    padding: 4px 0 0;
    font-size: 16px;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-top: 0;
  }
  .voice-btn {
    padding: 54px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .voice-btn_item {
    width: 300px;
    margin: 0 0 0 -20px;
    padding: 0;
    border: 1px solid #0e3169;
  }
  .voice-btn_item a {
    font-size: 16px;
    padding: 19.5px 0;
    letter-spacing: 0.06em;
  }
  .voice-btn_item:hover {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    background: #0e3169;
  }
  .voice-btn_item:hover a {
    color: #fff;
  }
  .voice-btn_item:hover::after {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    content: "";
    width: 30px;
    height: 1px;
    background: #fff;
  }
  .voice-btn_item::before {
    left: -60px;
    top: 50%;
    content: "";
    width: 90px;
    height: 1px;
  }
}
