@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
html {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
}

.index {
  overflow-x: hidden !important;
}

body {
  font-size: 1rem;
  font-weight: 400;
  margin: 0;
  padding: 0;
  letter-spacing: 0.085em;
  background-color: #fff;
  line-height: 180%;
  letter-spacing: 0.05rem;
  box-sizing: border-box;
}
body section,
body div,
body p,
body h1,
body h2,
body h3,
body h4,
body a,
body button,
body input,
body span,
body picture,
body img,
body dl,
body dd,
body dt,
body td,
body th,
body table,
body .breadcrumb {
  box-sizing: border-box;
}
body a {
  text-decoration: none;
  color: #242a6d;
}
body span {
  font-weight: 700;
}
body picture {
  display: block;
}
body picture img {
  border-radius: 0.7rem;
}
body img {
  display: block;
  vertical-align: top;
  width: 100%;
}
body ul,
body ol,
body dl,
body dd,
body dt {
  list-style: none;
  padding: 0;
  margin: 0;
}
body dl {
  display: flex;
  flex-wrap: wrap;
}
body li {
  padding: 0;
}
body tr {
  line-height: 0;
}
body h1 {
  font-size: 3rem;
  line-height: 160%;
  letter-spacing: 0.15rem;
}
body h2 {
  font-size: 1.85rem;
  line-height: 180%;
  letter-spacing: 0.15rem;
}
body h3 {
  font-size: 1.75rem;
  line-height: 180%;
  letter-spacing: 0.15rem;
}
body p {
  line-height: 180%;
}
body h1,
body h2,
body h3,
body p {
  margin: 0;
  padding: 0;
}
body .sp {
  display: none;
}
body .pc {
  display: block;
}
body .bgcolor-main {
  background-color: #3d5eb9;
  color: #fff;
  padding: 0.2rem 0.7rem;
  margin: 0 0.5rem;
}
body .bgcolor-main:first-child {
  margin-left: 0 !important;
}
body .color-main {
  color: #3d5eb9;
}
body .wrap {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
body .top-midashi {
  letter-spacing: 0.3rem;
}
body button {
  font-family: "Noto Sans JP", sans-serif;
  background: none;
  border: none;
  padding: 0;
  font-size: 1.5rem;
  letter-spacing: 0.08rem;
}

main a {
  font-size: 1rem;
  font-weight: 700;
  color: #3d5eb9;
}
main .top-midashi {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #3d5eb9;
  padding-bottom: 1.5rem;
  line-height: 1.3;
  margin-top: -3rem;
}
main .top-midashi::before {
  content: "business";
  font-family: abolition, sans-serif;
  font-weight: 400;
  font-style: normal;
  width: 80px;
  letter-spacing: 0.1rem;
  color: #a4c0f5;
  text-align: center;
}
main .button-area {
  position: relative;
}
main .button-area button {
  margin: 4rem 0;
}
main .button-area button a {
  display: block;
  border: 2px solid #3d5eb9;
  padding: 0.5rem 6rem;
  background-color: #fff;
  position: relative;
  z-index: auto;
  transition: 0.3s;
}
main .button-area button a::before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 16%;
  background-color: #dbe7fc;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: -1;
  transition: 0.3s;
}
main .button-area button a::after {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 0 7.5px 12px;
  border-color: transparent transparent transparent #fbd53b;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
main .button-area button a:hover {
  background-color: #a4c0f5;
}
main .button-area button::before {
  content: "";
  width: 100%;
  position: absolute;
  height: 2px;
  background-color: #dbe7fc;
  top: 53%;
  left: 0;
}

header {
  margin: 0;
  position: absolute !important;
  top: 0;
  width: 100%;
  z-index: 999;
  background: rgba(255, 255, 255, 0.9);
  transition: 0.5s;
}
header nav {
  width: 100%;
  max-width: 1900px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  /*-----ハンバーガーメニュー-----*/
  /*OPEN時の動き*/
  /*トグルボタンのスタイルを指定*/
  /* 2番目と3番目のspanを45度に */
}
header nav .drawer {
  width: 100%;
}
header nav .nav-title a {
  display: block;
  background-color: #3d5eb9;
  padding: 0.5rem;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  width: 100%;
  transition: 0.3s;
}
header nav .nav-title a:hover {
  opacity: 0.7;
}
header nav .nav-title a h1 {
  font-size: 1.3rem;
}
header nav .nav-title a h1 span {
  font-size: 2rem;
}
header nav .nav-title a p {
  background-color: #3d5eb9;
  position: relative;
  display: flex;
  justify-content: center;
}
header nav .nav-title a p::before, header nav .nav-title a p::after {
  content: "";
  display: block;
  width: 20px;
  color: #fff;
  border-bottom: 1px solid #fff;
  height: 0.9rem;
  margin: 0 0.5rem;
}
header nav ul {
  display: flex;
  align-items: center;
}
header nav ul li {
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 1rem;
  font-weight: 700;
  display: flex;
  flex-direction: column;
}
header nav ul li a {
  line-height: 1;
  padding: 1rem;
  margin: 0.5rem 0;
  display: inline-block;
  position: relative;
}
header nav ul li a::after {
  content: "business";
  display: block;
  font-family: abolition, sans-serif;
  font-weight: 400;
  font-size: 80%;
  letter-spacing: 0.1rem;
  color: #3d5eb9;
  margin-top: 0.3rem;
}
header nav ul li:last-child a::after {
  display: none;
}
header nav ul li:nth-child(2) a::after {
  content: "campany";
}
header nav ul li:nth-child(3) a::after {
  content: "contact";
}
header nav ul li::before {
  transform: scaleX(0);
  transform-origin: bottom right;
}
header nav ul li:hover::before {
  transform: scaleX(1);
  transform-origin: bottom left;
}
header nav ul li::before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0 0 0 0;
  background: #a4c0f5;
  z-index: -1;
  transition: transform 0.3s ease;
}
header nav ul li:last-child a {
  display: block;
  color: #fff;
  background-color: #242a6d;
  display: flex;
  padding: 0.8rem 0.8rem 0.8rem 2.1rem !important;
  margin: 0;
  position: relative;
  transition: 0.3s;
}
header nav ul li:last-child a:hover {
  opacity: 0.5;
}
header nav ul li:last-child a::before {
  content: url(./img/icon_tel.svg);
  display: block;
  position: absolute;
  left: 0.5rem;
  top: 0.65rem;
  width: 1.2rem;
}
header nav ul li::after {
  content: "";
  height: 2px;
  width: 1.5rem;
  background-color: #3d5eb9;
  position: absolute;
  right: -1.7rem;
  top: 50%;
}
header nav ul li:nth-child(3)::after, header nav ul li:last-child::after {
  display: none !important;
}
header nav ul li:last-child::before {
  display: none;
}
header nav .menu {
  text-align: center;
  background-color: rgba(255, 255, 255, 0.9);
  transition: 0.5s ease;
  /*滑らかに表示*/
  transform: translateX(-280%);
  /*左に隠しておく*/
}
header nav .menu.open {
  transform: translateX(0%);
  /*中身を表示（右へスライド）*/
}
header nav .Toggle {
  display: block;
  position: absolute;
  /* bodyに対しての絶対位置指定 */
  width: 45px;
  height: 45px;
  cursor: pointer;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 0.4rem;
  background-color: #fff;
  border-radius: 0.2rem;
}
header nav .Toggle span {
  display: block;
  position: absolute;
  width: 35px;
  border-bottom: solid 4px #3d5eb9;
  /*変化の速度を指定*/
  /*変化の速度を指定*/
  transition: 0.35s ease-in-out;
  /*変化の速度を指定*/
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
header nav .Toggle span:nth-child(1) {
  top: 9px;
}
header nav .Toggle span:nth-child(2) {
  top: 20.5px;
}
header nav .Toggle span:nth-child(3) {
  bottom: 9px;
}
header nav .Toggle.active span {
  transition: 0.5s;
}
header nav .Toggle.active span:nth-child(1) {
  top: 1.5rem;
  transform: translateX(-50%) rotate(-45deg);
  left: 50%;
}
header nav .Toggle.active span:nth-child(2) {
  top: 1.5rem;
  transform: translateX(-50%) rotate(45deg);
  left: 50%;
}
header nav .Toggle.active span:nth-child(3) {
  opacity: 0;
  transition: 0.2s;
}
@media screen and (min-width: 834px) {
  header nav {
    flex-direction: row;
  }
  header nav .drawer {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  header nav .nav-title a {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  header nav .Toggle {
    display: none;
  }
  header nav .menu {
    width: 100%;
    background-color: transparent;
    margin-top: 0;
    transform: translateX(0);
  }
  header nav .menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
  }
  header nav .menu ul li a {
    padding: 0 1em;
    border-bottom: none;
  }
}
@media screen and (max-width: 835px) {
  header {
    position: relative;
    z-index: 999;
  }
  header nav {
    position: relative;
  }
  header nav .menu {
    position: absolute;
    top: 5.1rem;
    width: 100%;
    height: 100vh;
  }
  header nav .menu ul {
    padding: 0;
    flex-direction: column;
    position: relative;
  }
  header nav .menu ul li::after {
    display: none;
  }
  header nav .menu ul li:last-child a {
    margin-top: 0.5rem;
  }
}
@media screen and (max-width: 600px) {
  header nav .menu {
    top: 4.6rem;
  }
}

.scroll {
  position: fixed !important;
  -webkit-animation-name: anime;
          animation-name: anime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  top: 0;
}
.scroll h1, .scroll p, .scroll ul {
  font-size: 90% !important;
}
.scroll ul {
  margin: 0;
}
.scroll nav .nav-title a h1 span {
  font-size: 1.5rem;
}
@-webkit-keyframes anime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 835px) {
  .scroll nav {
    position: relative;
  }
  .scroll nav .menu {
    position: absolute;
    top: 4.4rem;
    width: 100%;
    height: 100vh;
  }
  .scroll nav .menu ul {
    font-size: 100% !important;
  }
}

.sec1_topimg {
  position: relative;
}
.sec1_topimg picture {
  width: 100%;
  position: relative;
}
.sec1_topimg picture::before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 66.7%;
  position: absolute;
  background: linear-gradient(45deg, #23829a, #23329a, #23829a, #23329a, #23829a, #23329a);
  /*グラデーションを定義*/
  background-size: 300% 300%;
  /*サイズを大きくひきのばす*/
  -webkit-animation: bggradient 20s ease infinite;
          animation: bggradient 20s ease infinite;
  opacity: 0.6;
}
@-webkit-keyframes bggradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes bggradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.sec1_topimg h1 {
  position: absolute;
  transform: translateY(-50%) !important;
  top: 50%;
  left: 2rem;
  color: #fff;
  font-size: 2.5rem;
}
.sec1_topimg h1 .bgcolor-main {
  display: inline-block;
  padding: 0 0.5rem;
  font-size: 3rem;
  margin: 0 0.3rem;
  padding-bottom: 0.3rem;
}
.sec1_topimg h1 .sizeup {
  display: inline-block;
  font-size: 4rem;
  margin-top: 1.2rem;
}
.sec1_topimg h1 .border {
  border-bottom: 4px solid #fff;
  padding-bottom: 0;
}
.sec1_topimg h1 .sizeup::after {
  content: url(./img/top_sec1_kazari.svg);
  display: block;
  width: 80%;
  margin: 0 auto;
  margin-top: 2rem;
}

.sec2_introduction {
  padding-top: 5rem;
  padding-bottom: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}
.sec2_introduction .box {
  width: 40%;
}
.sec2_introduction .box .color-main {
  font-size: 2.5rem;
}
.sec2_introduction .box p {
  padding-top: 1rem;
}
.sec2_introduction picture {
  position: relative;
  width: 50%;
}
.sec2_introduction picture::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 66.7%;
  background-color: #dbe7fc;
  position: absolute;
  right: -1.2rem;
  bottom: -1.2rem;
  z-index: -1;
  border-radius: 0.7rem;
}

.sec3_business {
  position: relative;
  text-align: center;
  padding-top: 2rem;
  z-index: 1;
}
.sec3_business .bg-gray {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #f7f7fa;
  width: 100%;
  padding-bottom: 450px;
  z-index: -1;
}
.sec3_business h3 {
  display: inline-block;
  justify-content: center;
  margin-top: 1rem;
  position: relative;
}
.sec3_business h3 .bgcolor-main:first-child {
  margin-left: 0.7rem !important;
}
.sec3_business h3::before, .sec3_business h3::after {
  position: absolute;
  width: 1.5rem;
  display: block;
  bottom: -0.5rem;
}
.sec3_business h3::before {
  content: url(img/kazari_rod_blue1.svg);
  left: -1.5rem;
}
.sec3_business h3::after {
  content: url(img/kazari_rod_blue2.svg);
  right: -1.5rem;
}
.sec3_business ul {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
}
.sec3_business ul li {
  width: 30.2%;
}
.sec3_business ul li h4 {
  color: #3d5eb9;
  position: relative;
  z-index: 1;
}
.sec3_business ul li h4::before {
  display: block;
  width: 100px;
  margin: 0 auto;
}
.sec3_business ul li h4::after {
  content: "";
  width: 70%;
  display: block;
  padding-bottom: 100px;
  background: #fff;
  border-radius: 0.7rem;
  position: absolute;
  top: 0;
  left: 15%;
  transform: rotate(-5deg);
  z-index: -1;
}
.sec3_business ul li:nth-child(1) h4::before {
  content: url(img/top_sec3_figure1.svg);
}
.sec3_business ul li:nth-child(2) h4::before {
  content: url(img/top_sec3_figure2.svg);
}
.sec3_business ul li:nth-child(3) h4::before {
  content: url(img/top_sec3_figure3.svg);
}
.sec3_business ul li picture {
  position: relative;
  z-index: 1;
  margin-top: 3rem;
}
.sec3_business ul li picture::before {
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  background-color: #3d5eb9;
  position: absolute;
  top: -2.5rem;
  left: 50%;
}
.sec3_business ul li picture::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 66.7%;
  background-color: #dbe7fc;
  position: absolute;
  right: -0.7rem;
  top: 0.7rem;
  border-radius: 0.7rem;
  z-index: -1;
}

.sec4_bunner {
  margin: 0 auto;
  background-color: #3d5eb9;
  width: 80%;
  max-width: 1000px;
  border-radius: 0.7rem;
  position: relative;
  display: flex;
  align-items: center;
  padding: 2rem;
  margin-top: 1.7rem;
  justify-content: flex-start;
}
.sec4_bunner::after {
  content: "";
  display: inline-block;
  /*忘れずに！*/
  width: 380px;
  /*画像の幅*/
  height: 218px;
  /*画像の高さ*/
  background-image: url(img/top_sec4_img1.png);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  position: absolute;
  right: -4rem;
  transform: translateY(-50%);
  top: 50%;
}
.sec4_bunner h2 {
  position: relative;
  z-index: 2;
  font-size: 2.5rem;
  color: #fff;
  padding: 0 1rem 0 0;
  line-height: 3.7rem;
  margin-top: 1rem;
}
.sec4_bunner h2 .bgcolor-yellow {
  background-color: #fbd63b;
  color: #3d5eb9;
  padding: 0 0.7rem;
}
.sec4_bunner p {
  position: relative;
  z-index: 2;
  display: inline-block;
  width: 50%;
  color: #fff;
  padding: 0 1.5rem;
  border-left: 1px solid #dbe7fc;
}
.sec4_bunner p span {
  display: block;
  font-size: 1.7rem;
  padding: 0.5rem 0;
  line-height: 140%;
}
.sec4_bunner p span span {
  display: inline;
  padding-top: 0.3rem;
  background-position: top left -2px;
  background-repeat: repeat-x;
  background-size: 1.77rem 1rem;
}

.sec5_campany {
  margin: 5.5rem 0;
  padding: 4rem 0;
  display: block;
  width: 100%;
  background-color: #f7f7fa;
}
.sec5_campany .wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec5_campany .wrap .box {
  width: 40%;
}
.sec5_campany .wrap .box .top-midashi::before {
  content: "campany";
}
.sec5_campany .wrap .box .button-area {
  text-align: center;
}
.sec5_campany .wrap .box .button-area button {
  margin: 0;
}
.sec5_campany .wrap .box .button-area button::before {
  display: none;
}
.sec5_campany .wrap ul {
  width: 70%;
  display: flex;
  justify-content: space-between;
  z-index: 1;
  position: relative;
}
.sec5_campany .wrap ul li {
  width: 30%;
  height: 155px;
  background-color: #fff;
  position: relative;
  color: #3d5eb9;
  text-align: center;
  padding: 1rem 0;
}
.sec5_campany .wrap ul li h3 {
  font-size: 1.2rem;
  display: flex;
  flex-direction: column;
}
.sec5_campany .wrap ul li h3::before {
  content: "outline";
  font-family: abolition, sans-serif;
  display: inline-block;
  font-size: 1rem;
  color: #3d5eb9;
  line-height: 1rem;
  letter-spacing: 0.07rem;
}
.sec5_campany .wrap ul li h3::after {
  content: "";
  display: block;
  margin: 0 auto;
  width: 1px;
  height: 1rem;
  background-color: #3d5eb9;
}
.sec5_campany .wrap ul li:nth-child(2) h3::before {
  content: "history";
}
.sec5_campany .wrap ul li:nth-child(3) h3::before {
  content: "access";
}
.sec5_campany .wrap ul li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 15px 0 0;
  border-color: #3d5eb9 transparent transparent transparent;
}
.sec5_campany .wrap ul li::after {
  content: "";
  display: block;
  width: 100%;
  height: 155px;
  background-color: #dbe7fc;
  position: absolute;
  right: -0.7rem;
  top: 0.7rem;
  z-index: -1;
  padding: 1rem 0;
}
.sec5_campany .wrap ul li picture {
  width: 5rem;
  margin: 0 auto;
  padding-top: 0.7rem;
}
.sec5_campany .wrap ul li picture img {
  border-radius: 0;
}

.sec6_recruit picture {
  height: 300px;
  width: 80%;
  margin-left: auto;
  margin-right: 0;
  border-radius: 0.7rem;
  overflow: hidden;
  position: relative;
}
.sec6_recruit picture img {
  position: absolute;
  border-radius: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  top: 50%;
}
.sec6_recruit picture::after {
  content: url(img/top_sec6_img2.svg);
  display: block;
  width: 200px;
  position: absolute;
  right: 3rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  top: 50%;
}
.sec6_recruit .wrap {
  position: relative;
}
.sec6_recruit .wrap .bgcolor-main {
  position: absolute;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  top: 50%;
  width: 40%;
  left: 0;
  border-radius: 0.7rem;
  padding: 1rem 1.5rem 1.5rem 1.5rem;
  text-align: center;
}
.sec6_recruit .wrap .bgcolor-main p {
  text-align: left;
}
.sec6_recruit .wrap .bgcolor-main h2 {
  color: #fbd63b;
  position: relative;
  display: inline-block;
}
.sec6_recruit .wrap .bgcolor-main h2::before {
  content: url(img/kazari_rod_yellow1.svg);
  width: 20px;
  display: block;
  position: absolute;
  left: -2rem;
  bottom: -0.2rem;
}
.sec6_recruit .wrap .bgcolor-main h2::after {
  content: url(img/kazari_rod_yellow2.svg);
  width: 20px;
  display: block;
  position: absolute;
  right: -2rem;
  bottom: -0.2rem;
}

footer {
  position: relative;
  margin-top: 6rem;
  z-index: 1;
  overflow: hidden;
}
footer a {
  transition: 0.3s;
}
footer a:hover {
  opacity: 0.5;
}
footer::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  padding-top: 400px;
  background-color: #93b4d2;
  z-index: -1;
}
footer .footer_contact {
  margin: 0 auto;
  width: 70%;
  background-image: url("img/footer_bgimage.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #fff;
  text-align: center;
  border-radius: 0.7rem;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
footer .footer_contact h2 {
  border-bottom: 2px solid #fff;
  font-size: 2.5rem;
  display: flex;
  flex-direction: column;
  line-height: 150%;
}
footer .footer_contact h2::before {
  content: "contact";
  font-family: abolition, sans-serif;
  display: inline-block;
  font-size: 2rem;
  color: #dbe7fc;
  line-height: 1rem;
  letter-spacing: 0.2rem;
  font-weight: 300;
  margin-bottom: 0.5rem;
}
footer .footer_contact p {
  padding-top: 1rem;
}
footer .footer_contact .contact-button {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  overflow: hidden;
  border-radius: 0.3rem;
  margin-top: 1.2rem;
}
footer .footer_contact .contact-button button {
  border-radius: 0.5rem;
  position: relative;
}
footer .footer_contact .contact-button button a {
  display: inline-block;
  color: #3d5eb9;
  font-weight: 600;
  width: 100%;
  padding: 0.5rem 1rem 0.5rem 2.6rem;
  position: relative;
}
footer .footer_contact .contact-button button a::before {
  width: 1.5rem;
  display: inline-block;
  position: absolute;
  left: 0.7rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
footer .footer_contact .contact-button button:first-child a {
  background-color: #fff;
}
footer .footer_contact .contact-button button:first-child a::before {
  content: url(img/icon_tel_blue.svg);
  top: 51%;
}
footer .footer_contact .contact-button button:last-child a {
  background-color: #fbd63b;
}
footer .footer_contact .contact-button button:last-child a::before {
  content: url(img/icon_mail.svg);
  top: 45%;
}
footer .footer_outline {
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
  color: #fff;
  display: flex;
  padding-top: 3rem;
  justify-content: space-between;
  font-size: 90%;
}
footer .footer_outline h2 {
  font-size: 1rem !important;
}
@media (max-width: 554px) {
  footer .footer_outline h2 {
    font-size: 0.9rem;
  }
}
footer .footer_outline h2 span {
  font-size: 1.3rem;
}
footer .footer_outline p {
  font-weight: 400;
}
footer .footer_outline ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
footer .footer_outline ul li {
  padding: 0 1rem;
  border-right: 1px solid #242a6d;
}
footer .footer_outline ul li:first-child {
  padding-left: 0;
}
footer .footer_outline ul li:last-child {
  padding-right: 0;
  border-right: 0;
}
footer .copyright p {
  text-align: center;
  color: #fff;
  padding: 2rem 0;
}

@media screen and (max-width: 835px) {
  html {
    font-size: 14px;
  }
  body .sp {
    display: block;
  }
  body .pc {
    display: none;
  }
  .sec1_topimg picture {
    width: 130vh;
  }
  .sec1_topimg h1 .bgcolor-main {
    margin: 0.5rem 0.3rem;
  }
  header nav ul li {
    width: 90%;
    border-bottom: 1px solid #3d5eb9;
  }
  header nav ul li:last-child {
    border: none;
    width: 80%;
    text-align: center;
  }
  header nav ul li:last-child a {
    justify-content: center;
    font-size: 1.5rem;
    margin-top: 0.9rem !important;
  }
  header nav ul li::before {
    display: none;
  }
  .sec5_campany {
    margin: 3rem 0;
    padding: 2rem 0;
  }
  .sec5_campany .wrap ul li {
    height: 120px;
  }
  .sec5_campany .wrap ul li::after {
    height: 120px;
  }
}
@media screen and (max-width: 600px) {
  body .wrap {
    width: 100%;
  }
  body h1 {
    font-size: 1.8rem !important;
  }
  body h2 {
    font-size: 1.7rem !important;
  }
  body h3 {
    font-size: 1.6rem !important;
  }
  body h4 {
    font-size: 1.1rem !important;
  }
  body .sec1_topimg h1 .sizeup,
body .sec1_topimg h1 .bgcolor-main,
body .sec2_introduction .box .color-main,
body .sec4_bunner h2 .bgcolor-yellow {
    font-size: 2rem !important;
  }
  body body .sec1_topimg h1 .sizeup,
body body header nav .nav-title a h1 span,
body body .sec1_topimg h1 .bgcolor-main {
    font-size: 1.5rem !important;
  }
  body header nav .nav-title a h1 {
    font-size: 1rem !important;
  }
  body header nav .nav-title a p {
    font-size: 0.9rem;
  }
  .sec1_topimg h1 .border {
    border-bottom: 3px solid #fff;
  }
  .sec1_topimg h1 .sizeup {
    margin-top: 0;
  }
  .sec1_topimg h1 .sizeup::after {
    margin-top: 1rem;
  }
  .sec2_introduction {
    flex-direction: column;
    padding-top: 2rem;
  }
  .sec2_introduction .box {
    width: 90%;
  }
  .sec2_introduction .box h2 {
    text-align: left;
    line-height: 160%;
  }
  .sec2_introduction picture {
    width: 90%;
  }
  .sec2_introduction .box p {
    padding-bottom: 2rem;
    text-align: justify;
  }
  .sec3_business h3::before,
.sec3_business h3::after {
    display: none;
  }
  .sec3_business h3 {
    line-height: 200%;
  }
  main .top-midashi {
    padding-bottom: 0.5rem;
  }
  .sec3_business {
    background-color: #f7f7fa;
  }
  .sec3_business .bg-gray {
    display: none;
  }
  .sec3_business ul {
    padding: 0;
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
    margin-top: 1rem;
  }
  .sec3_business ul li {
    width: 100%;
    padding-top: 2rem;
  }
  .sec3_business ul li:first-child {
    padding-top: 0;
  }
  .sec4_bunner {
    margin: 0 auto;
    width: 90%;
    flex-direction: column;
    padding: 1.5rem 1rem 2rem 1rem;
    margin-top: 2.5rem;
    z-index: 1;
  }
  .sec4_bunner h2 {
    width: 95%;
    border-bottom: 1px solid #dbe7fc;
    padding: 0;
    text-align: center;
    line-height: 150%;
    padding-bottom: 1rem;
  }
  .sec4_bunner p {
    width: 95%;
    border-left: none;
    padding: 0;
    padding-top: 1rem;
    text-align: justify;
  }
  .sec4_bunner p span span {
    background-size: 1.8rem 1rem;
  }
  .sec4_bunner::before {
    width: 200px;
    height: 200px;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
    top: -3rem;
    left: -1.5rem;
  }
  .sec4_bunner::after {
    display: none;
  }
  .sec5_campany {
    margin: 3rem 0;
    padding: 2rem 0;
  }
  .sec5_campany .wrap {
    flex-direction: column;
  }
  .sec5_campany .wrap .box {
    width: 100%;
  }
  .sec5_campany .wrap .box .button-area {
    margin: 1.5rem 0;
  }
  .sec5_campany .wrap ul {
    width: 100%;
    flex-wrap: wrap;
    padding: 0;
  }
  .sec5_campany .wrap ul li {
    width: 45%;
    margin: 0 auto;
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 0;
    height: 170px;
  }
  .sec5_campany .wrap ul li::after {
    height: 170px;
    padding: 0;
  }
  .sec5_campany .wrap ul li h3 {
    margin-top: 0.6rem;
  }
  .sec6_recruit picture {
    height: 200px;
    width: 90%;
    margin: 0 auto;
  }
  .sec6_recruit .wrap .bgcolor-main {
    position: relative;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
    top: 0;
    width: 90%;
    border-radius: 0.7rem;
    padding: 1rem 1.5rem 1.5rem 1.5rem;
    margin: 0 auto;
    text-align: center;
    margin-top: 1rem;
  }
  .sec6_recruit picture img {
    width: 166%;
  }
  .sec6_recruit picture::after {
    right: auto;
    left: 1rem;
  }
  footer .footer_contact {
    width: 100%;
    padding: 3rem 1rem;
  }
  footer {
    margin-top: 4rem;
  }
  footer .footer_contact .contact-button {
    width: 90%;
    flex-direction: column;
  }
  footer .footer_contact .contact-button button {
    width: 100% !important;
  }
  footer .footer_outline {
    flex-direction: column;
    padding-top: 1rem;
    align-items: center;
  }
  footer .copyright p {
    padding: 0 0 1rem 0;
  }
  footer::after {
    padding-top: 300px;
  }
  footer .footer_outline ul {
    margin: 2rem 0;
  }
}
#map {
  width: 100%;
  height: 360px;
  overflow: hidden;
}
@media (max-width: 554px) {
  #map {
    height: 400px;
  }
}

#map iframe {
  width: 100%;
  height: 450px;
  margin-top: -73px;
}
@media (max-width: 554px) {
  #map iframe {
    margin-top: -16%;
    height: 450px;
  }
}
@media (max-width: 450px) {
  #map iframe {
    margin-top: -10%;
    height: 450px;
  }
}/*# sourceMappingURL=style.css.map */