@charset "UTF-8";
.sec01 .cont01 {
  justify-content: space-between;
  padding-top: clamp(59px, 7.812vw, 100px);
}
.sec01 .cont01 .imagebox {
  width: 40%;
  min-width: 40%;
  max-width: 40%;
  position: relative;
}
.sec01 .cont01 .imagebox .image {
  position: absolute;
  z-index: -1;
  top: clamp(-80px, -6.25vw, -48px);
  left: 0;
  width: clamp(340px, 44.375vw, 568px);
}
.sec01 .cont01 .imagebox .cont_name {
  font-size: clamp(16px, 2.109vw, 27px);
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: clamp(35px, 4.687vw, 60px);
}
.sec01 .cont01 .imagebox .yakushoku {
  font-size: clamp(13px, 1.718vw, 22px);
}
.sec01 .cont01 .textbox {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .sec01 .cont01 {
    display: block;
    padding-top: 0;
  }
  .sec01 .cont01 .imagebox {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    position: relative;
  }
  .sec01 .cont01 .imagebox .image {
    position: static;
    width: 100%;
  }
  .sec01 .cont01 .imagebox .cont_name {
    font-size: 4.8vw;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 8vw;
  }
  .sec01 .cont01 .imagebox .yakushoku {
    font-size: 3.75vw;
  }
  .sec01 .cont01 .textbox {
    width: 100%;
    position: relative;
  }
}

.sec02 .cont00 {
  margin-top: clamp(-30px, -2.343vw, -17px);
  margin-bottom: clamp(35px, 4.687vw, 60px);
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec02 .cont00 .textbox {
  width: 55%;
}
.sec02 .cont00 .imagebox {
  position: relative;
  width: clamp(341px, 44.531vw, 570px);
  height: clamp(253px, 33.046vw, 423px);
  margin: 0 auto;
  padding-left: clamp(29px, 3.906vw, 50px);
  margin-top: clamp(-30px, -2.343vw, -17px);
}
.sec02 .cont00 .imagebox .circle_box {
  box-sizing: border-box;
  width: clamp(341px, 44.531vw, 570px);
  height: clamp(341px, 44.531vw, 570px);
  position: relative;
  top: clamp(-180px, -14.062vw, -107px);
  left: clamp(-40px, -3.125vw, -24px);
  /* 各コンテンツの文字を上向きにする */
  /* 各コンテンツを回転させるアニメーション */
}
.sec02 .cont00 .imagebox .circle_box .circle_outside {
  display: none;
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  border-radius: 50%;
  border: 3px dotted #727171;
  width: clamp(341px, 44.531vw, 570px);
  height: clamp(341px, 44.531vw, 570px);
}
.sec02 .cont00 .imagebox .circle_box .circle_inside {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 3px dotted #727171;
  width: clamp(107px, 14.062vw, 180px);
  height: clamp(107px, 14.062vw, 180px);
}
.sec02 .cont00 .imagebox .circle_box .circle_in_text {
  content: "";
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #0076ad;
  width: clamp(79px, 10.312vw, 132px);
  height: clamp(79px, 10.312vw, 132px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.sec02 .cont00 .imagebox .circle_box .circle_in_text p {
  font-size: clamp(6px, 0.859vw, 11px);
  color: #fff;
}
.sec02 .cont00 .imagebox .circle_box .rotate {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(299px, 39.062vw, 500px);
  height: clamp(299px, 39.062vw, 500px);
}
.sec02 .cont00 .imagebox .circle_box .rotate .rotate-ctn {
  position: relative;
  width: 100%;
  height: 100%;
  animation: 8s linear big-circle 0.6 forwards; /* 大枠を回転させているアニメーション */
}
.sec02 .cont00 .imagebox .circle_box .rotate .box {
  position: absolute;
  width: clamp(125px, 16.406vw, 210px);
  height: 50%;
  border-radius: 50%;
  transform-origin: 50% 100%;
  border: 1px #92bac2;
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-1 {
  left: 50%;
  transform: translate(-50%, 0);
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-2 {
  left: 50%;
  transform: translate(-50%, 0) rotate(72deg);
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-3 {
  left: 50%;
  transform: translate(-50%, 0) rotate(144deg);
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-4 {
  left: 50%;
  transform: translate(-50%, 0) rotate(216deg);
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-5 {
  left: 50%;
  transform: translate(-50%, 0) rotate(288deg);
}
.sec02 .cont00 .imagebox .circle_box .rotate .box .parts {
  box-sizing: border-box;
  position: relative;
  margin: 0 auto;
  padding: clamp(11px, 1.562vw, 20px) 0;
  width: clamp(98px, 12.89vw, 165px);
  height: 66.005%;
  border-radius: 50%;
  background-color: #fff;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.6;
  font-size: clamp(6px, 0.859vw, 11px);
}
.sec02 .cont00 .imagebox .circle_box .rotate .box .parts .t_blue {
  font-size: clamp(6px, 0.859vw, 11px);
  text-wrap: nowrap;
  color: #0074aa;
}
.sec02 .cont00 .imagebox .circle_box .rotate .box .parts .t_small {
  font-size: clamp(6px, 0.859vw, 11px);
  letter-spacing: 0.15em;
  line-height: 1.8;
  text-align: center;
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-1 .parts {
  animation: 8s linear circle1 0.6 forwards;
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-2 .parts {
  animation: 8s linear circle2 0.6 forwards;
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-3 .parts {
  animation: 8s linear circle3 0.6 forwards;
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-4 .parts {
  animation: 8s linear circle4 0.6 forwards;
}
.sec02 .cont00 .imagebox .circle_box .rotate .box.box-5 .parts {
  animation: 8s linear circle5 0.6 forwards;
}
@keyframes big-circle {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes circle1 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes circle2 {
  0% {
    transform: rotate(288deg);
  }
  100% {
    transform: rotate(-72deg);
  }
}
@keyframes circle3 {
  0% {
    transform: rotate(216deg);
  }
  100% {
    transform: rotate(-144deg);
  }
}
@keyframes circle4 {
  0% {
    transform: rotate(144deg);
  }
  100% {
    transform: rotate(-216deg);
  }
}
@keyframes circle5 {
  0% {
    transform: rotate(72deg);
  }
  100% {
    transform: rotate(-288deg);
  }
}
.sec02 .cont00 .imagebox .line01 {
  content: "";
  position: absolute;
  z-index: -1;
  top: 338px;
  left: 290px;
  background-color: #0074aa;
  width: 0px;
  height: 2px;
  transform-origin: left bottom;
  transform: rotate(200deg);
  animation: line_anim1 3s ease-out forwards;
}
@keyframes line_anim1 {
  0% {
    width: 1px;
  }
  100% {
    width: 248px;
  }
}
.sec02 .cont00 .title {
  font-family: "Shippori Mincho", "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: clamp(23px, 3.089vw, 39.55px);
  font-weight: 300;
  letter-spacing: 0.015em;
  font-feature-settings: "palt";
  line-height: 1.6;
  text-align: left;
  margin-bottom: clamp(53px, 7.031vw, 90px);
  text-wrap: nowrap;
}
.sec02 .cont01 {
  align-items: center;
  flex-direction: row-reverse;
}
.sec02 .cont01 .textbox {
  margin-left: clamp(41px, 5.468vw, 70px);
}
.sec02 .cont02 {
  align-items: center;
}
.sec02 .cont02 .textbox {
  margin-right: clamp(41px, 5.468vw, 70px);
}
.sec02 .cont03 {
  align-items: center;
  flex-direction: row-reverse;
}
.sec02 .cont03 .textbox {
  margin-left: clamp(41px, 5.468vw, 70px);
}
.sec02 .cont04 {
  align-items: center;
}
.sec02 .cont04 .textbox {
  margin-right: clamp(41px, 5.468vw, 70px);
}
.sec02 .cont04 .textbox .cont_text {
  margin-bottom: clamp(17px, 2.343vw, 30px);
}
.sec02 .cont04 .textbox .linkbtn {
  text-align: center;
}
.sec02 .cont05 {
  align-items: center;
  flex-direction: row-reverse;
}
.sec02 .cont05 .textbox {
  margin-left: clamp(41px, 5.468vw, 70px);
}
@media screen and (max-width: 767px) {
  .sec02 {
    overflow: hidden;
    margin-bottom: 13.8vw;
  }
  .sec02 .cont00 {
    margin-top: 0;
    margin-bottom: 13.8vw;
    display: block;
  }
  .sec02 .cont00 .textbox {
    width: 100%;
  }
  .sec02 .cont00 .imagebox {
    position: relative;
    width: 92.62vw;
    height: 68.73vw;
    margin: 0 auto;
    padding-left: 0;
    margin-top: -30px;
  }
  .sec02 .cont00 .imagebox .circle_box {
    box-sizing: border-box;
    width: 92.62vw;
    height: 92.62vw;
    position: relative;
    top: -20vw;
    left: -2vw;
    /* 各コンテンツの文字を上向きにする */
    /* 各コンテンツを回転させるアニメーション */
  }
  .sec02 .cont00 .imagebox .circle_box .circle_outside {
    display: none;
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    border-radius: 50%;
    border: 0.8vw dotted #727171;
    width: 92.62vw;
    height: 92.62vw;
  }
  .sec02 .cont00 .imagebox .circle_box .circle_inside {
    content: "";
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 0.8vw dotted #727171;
    width: 29.25vw;
    height: 29.25vw;
  }
  .sec02 .cont00 .imagebox .circle_box .circle_in_text {
    content: "";
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background-color: #0076ad;
    width: 21.45vw;
    height: 21.45vw;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .sec02 .cont00 .imagebox .circle_box .circle_in_text p {
    font-size: 11px;
    color: #fff;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 81.25vw;
    height: 81.25vw;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .rotate-ctn {
    position: relative;
    width: 100%;
    height: 100%;
    animation: 8s linear big-circle 0.6 forwards; /* 大枠を回転させているアニメーション */
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box {
    position: absolute;
    width: 34.12vw;
    height: 50%;
    border-radius: 50%;
    transform-origin: 50% 100%;
    border: 1px #92bac2;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-1 {
    left: 50%;
    transform: translate(-50%, 0);
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-2 {
    left: 50%;
    transform: translate(-50%, 0) rotate(72deg);
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-3 {
    left: 50%;
    transform: translate(-50%, 0) rotate(144deg);
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-4 {
    left: 50%;
    transform: translate(-50%, 0) rotate(216deg);
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-5 {
    left: 50%;
    transform: translate(-50%, 0) rotate(288deg);
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box .parts {
    box-sizing: border-box;
    position: relative;
    margin: 0 auto;
    padding: 3.25vw 0;
    width: 26.81vw;
    height: 66.005%;
    border-radius: 50%;
    background-color: #fff;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box .parts .t_blue {
    font-size: 2.93vw;
    color: #0074aa;
    text-wrap: nowrap;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box .parts .t_small {
    font-size: 2.93vw;
    letter-spacing: 0.15em;
    line-height: 1.6;
    text-align: center;
    text-wrap: nowrap;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-1 .parts {
    animation: 8s linear circle1 0.6 forwards;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-2 .parts {
    animation: 8s linear circle2 0.6 forwards;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-3 .parts {
    animation: 8s linear circle3 0.6 forwards;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-4 .parts {
    animation: 8s linear circle4 0.6 forwards;
  }
  .sec02 .cont00 .imagebox .circle_box .rotate .box.box-5 .parts {
    animation: 8s linear circle5 0.6 forwards;
  }
  @keyframes big-circle {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes circle1 {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(-360deg);
    }
  }
  @keyframes circle2 {
    0% {
      transform: rotate(288deg);
    }
    100% {
      transform: rotate(-72deg);
    }
  }
  @keyframes circle3 {
    0% {
      transform: rotate(216deg);
    }
    100% {
      transform: rotate(-144deg);
    }
  }
  @keyframes circle4 {
    0% {
      transform: rotate(144deg);
    }
    100% {
      transform: rotate(-216deg);
    }
  }
  @keyframes circle5 {
    0% {
      transform: rotate(72deg);
    }
    100% {
      transform: rotate(-288deg);
    }
  }
  .sec02 .cont00 .imagebox .line01 {
    content: "";
    position: absolute;
    z-index: -1;
    top: 338px;
    left: 290px;
    background-color: #0074aa;
    width: 0px;
    height: 2px;
    transform-origin: left bottom;
    transform: rotate(200deg);
    animation: line_anim1 3s ease-out forwards;
  }
  @keyframes line_anim1 {
    0% {
      width: 1px;
    }
    100% {
      width: 248px;
    }
  }
  .sec02 .cont00 .title {
    font-family: "Shippori Mincho", "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 7.25vw;
    font-weight: 300;
    letter-spacing: 0.015em;
    font-feature-settings: "palt";
    line-height: 1.6;
    text-align: left;
    margin-bottom: 30vw;
    text-wrap: nowrap;
  }
  .sec02 .cont01 {
    flex-direction: row-reverse;
  }
  .sec02 .cont01 .textbox {
    margin-left: initial;
  }
  .sec02 .cont02 .textbox {
    margin-right: initial;
  }
  .sec02 .cont03 {
    flex-direction: row-reverse;
  }
  .sec02 .cont03 .textbox {
    margin-left: initial;
  }
  .sec02 .cont04 .textbox {
    margin-right: initial;
  }
  .sec02 .cont05 {
    flex-direction: row-reverse;
  }
  .sec02 .cont05 .textbox {
    margin-left: initial;
  }
}

.sec03 .cont01 {
  align-items: center;
}
.sec03 .cont01 .textbox {
  margin-right: clamp(41px, 5.468vw, 70px);
}
.sec03 .cont01 .office {
  margin-bottom: clamp(20px, 2.734vw, 35px);
}
.sec03 .cont01 .office .place, .sec03 .cont01 .office .zip_code, .sec03 .cont01 .office .address, .sec03 .cont01 .office .tel_text {
  font-size: clamp(10px, 1.406vw, 18px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(2px, 0.39vw, 5px);
}
.sec03 .cont01 .office .box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.sec03 .cont01 .office .box .zip_code {
  margin-right: 2em;
  text-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .sec03 {
    margin-bottom: 13.8vw;
  }
  .sec03 .cont01 {
    align-items: center;
  }
  .sec03 .cont01 .textbox {
    margin-right: initial;
  }
  .sec03 .cont01 .office {
    margin-bottom: 8.75vw;
  }
  .sec03 .cont01 .office .place, .sec03 .cont01 .office .zip_code, .sec03 .cont01 .office .address, .sec03 .cont01 .office .tel_text {
    font-size: 4vw;
    letter-spacing: 0.1em;
    margin-bottom: 1vw;
  }
  .sec03 .cont01 .office .place {
    font-size: 4.8vw;
    margin-bottom: 4.2vw;
  }
  .sec03 .cont01 .office .box {
    display: block;
  }
  .sec03 .cont01 .office .box .zip_code {
    margin-right: 0;
    text-wrap: nowrap;
  }
}/*# sourceMappingURL=company.css.map */