
/* ---------------------------------------------------------------------------
//  page_mvA
--------------------------------------------------------------------------- */
.page_mvA {
  padding: 0 3rem;
  position: relative;
}
.page_mvA .escape {
  background: #53b9ff;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: .3s ease-out;
  transition-delay: .7s;
  width: 100%;
  z-index: 5;
}
.lazy .page_mvA .escape.hidden {
  transform: translateX(-100%);
}
.page_mvA .wrap01 {
  align-items: center;
  aspect-ratio: 1300/426;
  display: flex;
  overflow: hidden;
  padding-left: 6rem;
  position: relative;
}
.page_mvA .wrap01 .img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.page_mvA .wrap01 .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.page_mvA .wrap01 .shadow {
  background: #000;
  background: rgba(0,0,0,.3);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.page_mvA .wrap01 .ttl {
  align-items: flex-start;
  color: #fff;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 3;
}
.page_mvA .wrap01 .ttl .eng {
  font-size: 6rem;
  font-weight: 400;
}
.page_mvA .wrap01 .ttl .jp {
  align-items: center;
  background: #53b9ff;
  display: flex;
  font-size: 2.1rem;
  font-weight: 500;
  height: 4.1rem;
  justify-content: center;
  margin-top: .8rem;
  padding: 0 4.1rem;
}
@media screen and (max-width:768px) {
  .page_mvA {
    padding: 0;
  }
  .page_mvA .wrap01 {
    aspect-ratio: 2/1.3;
    padding: 0 2rem;
  }
  .page_mvA .wrap01 .ttl .eng {
    font-size: 5rem;
  }
  .page_mvA .wrap01 .ttl .jp {
    font-size: 2rem;
    height: 3.6rem;
    padding: 0 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  page_mvB
--------------------------------------------------------------------------- */
.page_mvB {
  position: relative;
}
.page_mvB .wrap01 {
  align-items: center;
  aspect-ratio: 1366/362;
  display: flex;
  justify-content: center;
  padding-top: 4rem;
  position: relative;
}
.page_mvB .wrap01 .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 3;
}
.page_mvB .wrap01 .ttl .eng {
  color: #006db9;
  font-size: 4.4rem;
  font-weight: 400;
}
.page_mvB .wrap01 .ttl .eng::after {
  background: #006db9;
  content: '';
  display: block;
  height: .1rem;
  margin: 2rem auto;
  width: 15.3rem;
}
.page_mvB .wrap01 .ttl .jp {
  font-size: 2.1rem;
  font-weight: 500;
}
@media screen and (max-width:768px) {
  .page_mvB {
    padding: 0;
  }
  .page_mvB .wrap01 {
    aspect-ratio: 2/1.3;
    justify-content: flex-start;
    padding: 0 2rem;
  }
  .page_mvB .wrap01 .ttl {
    align-items: flex-start;
  }
  .page_mvB .wrap01 .ttl .eng {
    font-size: 4rem;
  }
  .page_mvB .wrap01 .ttl .eng::after {
    display: none;
  }
  .page_mvB .wrap01 .ttl .jp {
    font-size: 2rem;
    margin-top: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  page_mvC
--------------------------------------------------------------------------- */
.page_mvC {
  background: #fff;
  padding: 0 3rem;
  position: relative;
}
.page_mvC .escape {
  background: #53b9ff;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: .3s ease-out;
  transition-delay: .7s;
  width: 100%;
  z-index: 5;
}
.lazy .page_mvC .escape.hidden {
  transform: translateX(-100%);
}
.page_mvC .wrap01 {
  aspect-ratio: 1300/640;
  overflow: hidden;
  position: relative;
}
.page_mvC .wrap01 .txt {
  align-items: center;
  display: flex;
  height: 100%;
  padding-left: 6rem;
}
.page_mvC .wrap01 .img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.page_mvC .wrap01 .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.page_mvC .wrap01 .shadow {
  background: #000;
  background: rgba(0,0,0,.3);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.page_mvC .wrap01 .ttl {
  color: #fff;
  position: relative;
  z-index: 3;
}
.page_mvC .wrap01 .ttl .cat {
  border: solid .1rem;
  border-radius: 1rem;
  font-size: 6rem;
  font-size: 1.5rem;
  font-weight: 400;
  font-weight: 500;
  padding: .5rem 1.5rem;
}
.page_mvC .wrap01 .ttl .jp {
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.5;
  margin-top: 1.8rem;
}
@media screen and (max-width:768px) {
  .page_mvC {
    padding: 0;
  }
  .page_mvC .wrap01 {
    aspect-ratio: 2/1.3;
    padding: 0 2rem;
  }
  .page_mvC .wrap01 .txt {
    padding-left: 0;
  }
  .page_mvC .wrap01 .ttl .cat {
    font-size: 1.2rem;
  }
  .page_mvC .wrap01 .ttl .jp {
    font-size: 2rem;
    margin-top: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  cnp01
--------------------------------------------------------------------------- */
.cnp01 {
  padding: 12rem 0 0;
}
.cnp01 .full_img {
  margin: 10rem 0;
}
.cnp01 .wrap01 {
  display: flex;
}
.cnp01 .wrap01 + .wrap01 {
  margin-top: 10rem;
}
.cnp01 .wrap01 .left {
  width: 32.9rem;
}
.cnp01 .wrap01 .left .ttl .jp {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: calc(38 / 26);
}
.cnp01 .wrap01 .left .ttl .eng {
  color: #53b9ff;
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: calc(18/14);
  margin-top: .5rem;
}
.cnp01 .wrap01 .right {
  border-bottom: solid .1rem #dedede;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(28/16);
  padding-bottom: 9rem;
  width: calc(100% - 32.9rem);
}
.cnp01 .wrap01 .right.b_none {
  border: none;
  padding-bottom: 0;
}
.cnp01 .wrap01:last-of-type .right {
  border-bottom: none;
}

.cnp01 .wrap01 .right > .sub {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 1.4rem;
  margin-top: 4.5rem;
}
.cnp01 .wrap01 .right > .simple_list > li {
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  gap: 0 1.4rem;
  line-height: calc(28/16);
}

.cnp01 .wrap01 .right .list01 > li {
  margin-top: 5rem;
}
.cnp01 .wrap01 .right .list01 > li > * {
  margin-left: 3rem;
}
.cnp01 .wrap01 .right .list01 > li > .num_sub {
  display: flex;
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
  margin-left: 0;
}
.cnp01 .wrap01 .right .list01 > li > .gray_area {
  background: #f5f5f5;
  border: solid .1rem #dedede;
  margin-top: 1.6rem;
  padding: 3rem;
}
.cnp01 .wrap01 .right .list01 > li > .table01 {
  border: solid .1rem #dedede;
  font-size: 1.4rem;
  margin-top: 2.7rem;
}
.cnp01 .wrap01 .right .list01 > li > .table01 * {
  padding: 1.2rem 1.6rem;
  vertical-align: middle;
}
.cnp01 .wrap01 .right .list01 > li > .table01 tr + tr {
  border-top: solid .1rem #dedede;
}
.cnp01 .wrap01 .right .list01 > li > .table01 th {
  background: #f5f5f5;
  padding: 1.2rem 2rem;
  text-align: center;
}
.cnp01 .wrap01 .right .list01 > li > .table01 th + th {
  border-left: solid .1rem #dedede;
}
.cnp01 .wrap01 .right .list01 > li > .table01 td + td {
  border-left: solid .1rem #dedede;
}
.cnp01 .wrap01 .right .list01 > li > .table01 + * {
  margin-top: 2rem;
}
.cnp01 .wrap01 .right .list01 > li .small {
  font-size: 1.4rem;
}

.cnp01 .wrap01 .right .list02 > li + li {
  margin-top: 7.5rem;
}
.cnp01 .wrap01 .right .list02 > li > .sub {
  font-size: 3.4rem;
  font-weight: 900;
}
.cnp01 .wrap01 .right .list02 > li > .subsub {
  font-size: 2rem;
  font-weight: bold;
}
.cnp01 .wrap01 .right .list02 > li > .sub + .desc {
  margin-top: 2rem;
}
.cnp01 .wrap01 .right .list02 > li > .subsub + .desc {
  margin-top: 2rem;
}
.cnp01 .wrap01 .right .list02 > li .link {
  border: solid .1rem #dedede;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 4rem;
  padding: 2rem 2.7rem;
  text-align: center;
}
.cnp01 .wrap01 .right .list02 > li .link::after {
  background-image: url(../img/common/icon_pdf01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: inline-block;
  height: 1.8rem;
  position: relative;
  top: .2rem;
  width: 1.8rem;
}
.cnp01 .wrap01 .right .list02 > li .link:hover {
  background: #dedede;
}


.cnp01 .wrap01 .right .dls01 > dl {
  border-top: .1rem solid #dedede;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  justify-content: space-between;
  padding: 2.7rem 0;
}
.cnp01 .wrap01 .right .dls01 > dl:last-of-type {
  border-bottom: .1rem solid #dedede;
}
.cnp01 .wrap01 .right .dls01 > dl dt {
  font-weight: 500;
  width: 24rem;
}
.cnp01 .wrap01 .right .dls01 > dl dd {
  width: calc(100% - 26rem);
}
.cnp01 .wrap01 .right .dls01 > dl dd .pdf_link {
  color: #53b9ff;
  padding-right: 2.4rem;
  position: relative;
  text-decoration: underline;
}
.cnp01 .wrap01 .right .dls01 > dl dd .pdf_link::after {
  background-image: url(../img/common/icon_pdf01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 1.9rem;
  position: absolute;
  right: 0;
  width: 1.9rem;
}
.cnp01 .wrap01 .right .dls01 > dl dd .pdf_link:hover {
  opacity: .7;
}

.cnp01 .wrap01 .right .map {
  aspect-ratio: 760/500;
  margin-top: 4rem;
}
.cnp01 .wrap01 .right .map iframe {
  height: 100%;
  width: 100%;
}

.cnp01 .wrap01 .right .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 4.3rem 1.8rem;
  justify-content: space-between;
  margin-top: 5rem;
}
.cnp01 .wrap01 .right .cards .card {
  width: calc((100% - 1.8rem) / 2);
}
.cnp01 .wrap01 .right .cards .card .img + .txt {
  margin-top: 2rem;
}
.cnp01 .wrap01 .right .cards .card .txt {
  padding: 0 2.5rem;
}
.cnp01 .wrap01 .right .cards .card .txt .sub {
  font-size: 1.8rem;
  font-weight: bold;
}
.cnp01 .wrap01 .right .cards .card .txt .desc {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
}

@media screen and (max-width:768px) {
  .cnp01 {
    padding: 8rem 2rem 0;
  }
  .cnp01 .full_img {
    aspect-ratio: 1.5/1;
    left: -2rem;
    margin: 6rem 0;
    position: relative;
    width: 100vw;
  }
  .cnp01 .full_img img {
    height: 100%;
    max-width: inherit;
    object-fit: cover;
    width: 100%;
  }
  .cnp01 .wrap01 {
    display: block;
  }
  .cnp01 .wrap01 + .wrap01 {
    margin-top: 6rem;
  }
  .cnp01 .wrap01 .left {
    width: 100%;
  }
  .cnp01 .wrap01 .left .ttl .jp {
    font-size: 2rem;
  }
  .cnp01 .wrap01 .left .ttl .eng {
    font-size: 1.2rem;
  }
  .cnp01 .wrap01 .right {
    margin-top: 3rem;
    padding-bottom: 6rem;
    width: 100%;
  }
  .cnp01 .wrap01 .right > .sub {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    margin-top: 3rem;
  }
  .cnp01 .wrap01 .right > .simple_list > li {
    gap: 0 .5rem;
  }
  .cnp01 .wrap01 .right .list01 > li {
    margin-top: 4rem;
  }
  .cnp01 .wrap01 .right .list01 > li > * {
    margin-left: 0;
  }
  .cnp01 .wrap01 .right .list01 > li > .num_sub {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
  .cnp01 .wrap01 .right .list01 > li > .gray_area {
    padding: 2rem 1rem;
  }
  .cnp01 .wrap01 .right .list01 > li > .table01 {
    font-size: 1.2rem;
    margin-top: 1.6rem;
  }
  .cnp01 .wrap01 .right .list01 > li > .table01 * {
    padding: 1rem;
  }
  .cnp01 .wrap01 .right .list01 > li > .table01 th {
    padding: 1rem;
  }
  .cnp01 .wrap01 .right .list01 > li > .table01 + * {
    margin-top: 1.6rem;
  }
  .cnp01 .wrap01 .right .list01 > li .small {
    font-size: 1.2rem;
  }

  .cnp01 .wrap01 .right .list02 > li + li {
    margin-top: 4rem;
  }
  .cnp01 .wrap01 .right .list02 > li > .sub {
    font-size: 2rem;
  }
  .cnp01 .wrap01 .right .list02 > li > .subsub {
    font-size: 1.8rem;
  }
  .cnp01 .wrap01 .right .list02 > li > .sub + .desc {
    margin-top: 1rem;
  }
  .cnp01 .wrap01 .right .list02 > li > .subsub + .desc {
    margin-top: 1rem;
  }
  .cnp01 .wrap01 .right .list02 > li .link {
    margin-top: 4rem;
    padding: 1rem;
    width: 100%;
  }

  .cnp01 .wrap01 .right .dls01 > dl {
    border-top: .1rem solid #dedede;
    display: block;
    padding: 2rem 0;
  }
  .cnp01 .wrap01 .right .dls01 > dl dt {
    font-weight: 600;
    width: 100%;
  }
  .cnp01 .wrap01 .right .dls01 > dl dd {
    font-size: 1.4rem;
    margin-top: .5rem;
    width: 100%;
  }
  .cnp01 .wrap01 .right .dls01 > dl dd .pdf_link {
    display: inline-block;
  }

  .cnp01 .wrap01 .right .map {
    margin-top: 2rem;
  }

  .cnp01 .wrap01 .right .cards {
    display: block;
    margin-top: 3rem;
  }
  .cnp01 .wrap01 .right .cards .card {
    margin-top: 3rem;
    width: 100%;
  }
  .cnp01 .wrap01 .right .cards .card .img + .txt {
    margin-top: 1rem;
  }
  .cnp01 .wrap01 .right .cards .card .txt {
    padding: 0;
  }
  .cnp01 .wrap01 .right .cards .card .txt .sub {
    font-size: 1.6rem;
  }
}


/* ---------------------------------------------------------------------------
//  sec_message
--------------------------------------------------------------------------- */
.sec_message {
  margin-top: 12rem;
  position: relative;
}
.sec_message .bg {
  height: 100%;
  height: 56.1rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.sec_message .bg img {
  height: 100%;
  height: 56.1rem;
  max-width: inherit;
  object-fit: cover;
  position: relative;
  right: 10rem;
  width: 100%;
}
.sec_message .wrap01 {
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 4rem;
  font-weight: 900;
  height: 56.1rem;
  justify-content: center;
  position: relative;
  width: 100%;
}
.sec_message strong {
  font-size: 5.5rem;
  margin-bottom: 2rem;
  margin-top: 2rem;
}
@media screen and (max-width:768px) {
  .sec_message {
    line-height: 1.4;
    margin-top: 8rem;
    padding: 0 2rem;
    position: relative;
  }
  .sec_message .bg {
    height: 20rem;
  }
  .sec_message .bg img {
    height: 20rem;
    right: 5rem;
  }
  .sec_message .wrap01 {
    font-size: 2rem;
    height: 20rem;
  }
  .sec_message strong {
    font-size: 2.4rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  about
--------------------------------------------------------------------------- */
/* .about_mv */
/* --------------------------------- */
.about_mv {
  background-image: url(../img/about/mv_bg.jpg);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 130rem;
  border: solid 3rem #fff;
  border-bottom: none;
  border-top: none;
  height: 64.6rem;
  margin-top: 0;
  padding-top: 11.2rem;
}
.about_mv .ttl {
  display: flex;
  justify-content: center;
}
.about_mv .ttl .txt {
  width: 41.1rem;
}
.about_mv .ttl .logo {
  margin-top: 4rem;
  width: 25.5rem;
}
@media screen and (max-width:768px) {
  .about_mv {
    aspect-ratio: 2/1.3;
    background-size: cover;
    border: none;
    height: auto;
    margin-top: 0;
    padding: 3rem;
  }
  .about_mv .ttl .txt {
    width: calc(41.1rem * .5);
  }
  .about_mv .ttl .logo {
    margin-top: 2rem;
    width: calc(25.5rem * .5);
  }
}

/* .about01 */
/* --------------------------------- */
.about01 {
  padding: 12.7rem 0 9rem;
  text-align: center;
}
.about01 .ttl {
  font-size: 3.6rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: calc(49/36);
}
.about01 .desc {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 4.4rem;
}
@media screen and (max-width:768px) {
  .about01 {
    padding: 8rem 2rem 0;
    text-align: center;
  }
  .about01 .ttl {
    font-size: 2rem;
    letter-spacing: 0;
  }
  .about01 .desc {
    font-size: 1.6rem;
    margin-top: 3rem;
  }
}

/* .about02 */
/* --------------------------------- */
.about02 {
  margin: 12rem 0 21rem;
  position: relative;
}
.about02 .about02_bg {
  align-items: center;
  bottom: 0;
  display: flex;
  height: 100%;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: calc(50% - 9rem);
}
.about02 .about02_bg img {
  position: relative;
  right: 5rem;
}
.about02 .wrap01 {
  margin-left: auto;
  width: calc(50%);
}
.about02 .wrap01 .ttl {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
  white-space: nowrap;
}
.about02 .wrap01 dl {
  margin-top: 4.66rem;
}
.about02 .wrap01 dl dt {
  color: #006db9;
  font-size: 2rem;
  margin-bottom: 1.6rem;
}
.about02 .wrap01 dl dd {
  font-size: 1.6rem;
  line-height: calc(26/16);
}
.about02 .linkA {
  justify-content: flex-start;
  margin-top: 3rem;
}
@media screen and (max-width:768px) {
  .about02 {
    margin: 8rem 2rem;
    position: relative;
  }
  .about02 .about02_bg {
    height: 30rem;
    left: -2rem;
    overflow: hidden;
    position: relative;
    width: 100vw;
  }
  .about02 .wrap01 {
    padding-top: 4rem;
    width: 100%;
  }
  .about02 .wrap01 .ttl {
    font-size: 2rem;
  }
  .about02 .wrap01 dl {
    margin-top: 3rem;
  }
  .about02 .wrap01 dl dt {
    font-size: 1.8rem;
    margin-bottom: 1.2rem;
  }
  .about02 .wrap01 dl dd {
    font-size: 1.6rem;
  }
  .about02 .linkA {
    margin-top: 2rem;
  }
}

/* .about03 */
/* --------------------------------- */
.about03 {
  background: #ecf0f4;
  padding: 12rem 0 9rem;
}
.about03 .ttl {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
  text-align: center;
}
.about03 .contents01 {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 6rem;
}
.about03 .contents01 .group {
  background: #fff;
  border: solid .1rem #dedede;
  display: flex;
  flex-direction: column;
  padding: .9rem;
  width: calc((100% - 2rem) / 3);
}
.about03 .contents01 .group01 {
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}
.about03 .contents01 .group01 .head {
  position: relative;
  width: 52.3rem;
}
.about03 .contents01 .group .head dl {
  padding: 2.2rem 1.2rem;
}
.about03 .contents01 .group01 .head dl {
  background: #fff;
  bottom: 0;
  padding: 3rem 0 3rem 3rem;
  position: absolute;
  right: 0;
  width: calc(100% - 4rem);
}
.about03 .contents01 .group .head dl dt {
  font-size: 2rem;
  font-weight: bold;
}
.about03 .contents01 .group .head dl dd {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
  margin-top: 1rem;
}
.about03 .contents01 .group .btn_wrap {
  padding: 0 1.2rem 3rem 1.2rem;
  width: 100%;
}
.about03 .contents01 .group01 .btn_wrap {
  display: flex;
  flex-direction: column;
  margin-top: 0;
  padding: 2rem 2rem 2.6rem 2.9rem;
  width: calc(100% - 52.3rem);
}
.about03 .contents01 .group01 .btn_wrap .btns {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.about03 .contents01 .group .btn_wrap .btns .btn {
  align-items: center;
  background: #53b9ff;
  border: solid .1rem #53b9ff;
  color: #fff;
  display: flex;
  height: 5.9rem;
  justify-content: center;
  padding: 0 1.5rem;
  position: relative;
  width: 100%;
}
.about03 .contents01 .group .btn_wrap .btns .btn:hover {
  background: #fff;
  color: #53b9ff;
}
.about03 .contents01 .group01 .btn_wrap .btns .btn {
  justify-content: flex-start;
  width: calc((100% - 1rem) / 2);
}
.about03 .contents01 .group .btn_wrap .btns .btn::after {
  background-color: #53b9ff;
  background-image: url(../img/common/arrow02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: .6rem;
  border-radius: 100%;
  bottom: 0;
  content: '';
  height: 2rem;
  margin: auto;
  position: absolute;
  right: 1rem;
  top: 0;
  transition: .2s;
  width: 2rem;
}
.about03 .contents01 .group01 .btn_wrap .linkA {
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .about03 {
    padding: 8rem 2rem;
  }
  .about03 .ttl {
    font-size: 2rem;
  }
  .about03 .contents01 {
    display: block;
    margin-top: 3rem;
  }
  .about03 .contents01 .group {
    margin-top: 3rem;
    padding: 1rem;
    width: 100%;
  }
  .about03 .contents01 .group01 {
    flex-direction: column;
  }
  .about03 .contents01 .group01 .head {
    width: 100%;
  }
  .about03 .contents01 .group .head dl {
    background: #fff;
    padding: 2rem 0 0;
  }
  .about03 .contents01 .group01 .head dl {
    margin-top: -4rem;
    padding: 2rem 0 0;
    position: relative;
    right: 0;
    width: 100%;
  }
  .about03 .contents01 .group .head dl dt {
    font-size: 1.8rem;
  }
  .about03 .contents01 .group .btn_wrap {
    padding: 2rem 0;
    width: 100%;
  }
  .about03 .contents01 .group01 .btn_wrap {
    display: block;
    padding: 2rem 0;
    width: 100%;
  }
  .about03 .contents01 .group01 .btn_wrap .btns {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
  }
  .about03 .contents01 .group .btn_wrap .btns .btn {
    font-size: 1.4rem;
    height: 4.5rem;
    padding: 0 1rem;
  }
  .about03 .contents01 .group .btn_wrap .btns .btn:hover {
    background: #fff;
    color: #53b9ff;
  }
  .about03 .contents01 .group01 .btn_wrap .btns .btn {
    font-size: 1.2rem;
    padding-right: 3rem;
    width: calc((100% - .5rem) / 2);
  }
  .about03 .contents01 .group .btn_wrap .btns .btn::after {
    background-size: .4rem;
    height: 1.5rem;
    right: .5rem;
    width: 1.5rem;
  }
  .about03 .contents01 .group01 .btn_wrap .linkA {
    margin-top: 1rem;
  }
}

/* .about04 */
/* --------------------------------- */
.about04 {
  padding: 12rem 0 0;
}
.about04 .ttl {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
  text-align: center;
}
.about04 .contents01 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.7rem;
  margin-top: 4.5rem;
}
.about04 .contents01 .group {
  display: flex;
  flex-direction: column;
  width: calc((100% - 3.4rem) / 3);
}
.about04 .contents01 .group .head {
  position: relative;
}
.about04 .contents01 .group .head img {
  aspect-ratio: 348/466;
  overflow: hidden;
}
.about04 .contents01 .group .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.about04 .contents01 .group .head .sub {
  bottom: 0;
  color: #fff;
  font-size: 6.5rem;
  font-weight: 900;
  left: 0;
  position: absolute;
}
.about04 .contents01 .group dl {
  margin-top: 2.5rem;
  padding: 0 1.7rem;
}
.about04 .contents01 .group dl dt {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: calc(26/18);
}
.about04 .contents01 .group dl dd {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
  margin-top: 1rem;
}
.about04 .contents01 .group .linkA {
  justify-content: flex-start;
  margin: 1rem auto 0 1.7rem;
}
@media screen and (max-width: 768px) {
  .about04 {
    padding: 8rem 2rem 0;
  }
  .about04 .ttl {
    font-size: 2rem;
  }
  .about04 .contents01 {
    display: block;
    margin-top: 3rem;
  }
  .about04 .contents01 .group {
    display: block;
    width: 100%;
  }
  .about04 .contents01 .group + .group {
    margin-top: 5rem;
  }
  .about04 .contents01 .group .head .img {
    aspect-ratio: 1.3/1;
  }
  .about04 .contents01 .group .head .sub {
    bottom: 1rem;
    font-size: 5rem;
    left: 1rem;
  }
  .about04 .contents01 .group dl {
    margin-top: 2rem;
    padding: 0;
  }
  .about04 .contents01 .group dl dt {
    font-size: 1.8rem;
  }
  .about04 .contents01 .group .linkA {
    justify-content: flex-start;
    margin: 0 auto 0 0;
  }
}

/* .about05 */
/* --------------------------------- */
.about05 {
  padding: 15rem 0 0;
}
.about05 .wrap01 {
  align-items: center;
  border: solid .3rem #93d4f2;
  border-radius: 2rem;
  display: flex;
  flex-direction: column;
  padding: 7.5rem 0 6.5rem;
  position: relative;
}
.about05 .ttl {
  align-items: center;
  background: #fff;
  display: flex;
  font-size: 3.6rem;
  font-weight: 900;
  height: 5.8rem;
  justify-content: center;
  left: 0;
  line-height: calc(49/36);
  margin: auto;
  max-width: 58.9rem;
  position: absolute;
  right: 0;
  text-align: center;
  top: -2.9rem;
}
.about05 p {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
}
.about05 .img {
  margin-top: 6rem;
  max-width: 79rem;
}
.about05 .sup {
  display: flex;
  margin-top: 6rem;
}
.about05 .sup::before {
  content: '\203B';
}
@media screen and (max-width: 768px) {
  .about05 {
    padding: 10rem 2rem 0;
  }
  .about05 .wrap01 {
    border: solid .3rem #93d4f2;
    padding: 4rem 2rem;
    position: relative;
  }
  .about05 .ttl {
    font-size: 1.8rem;
    width: calc(100% - 4rem);
  }
  .about05 p {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: calc(26/14);
  }
  .about05 .img {
    margin-top: 2rem;
  }
  .about05 .sup {
    font-size: 1rem;
    margin-top: 2rem;
  }
}


/* ---------------------------------------------------------------------------
//  contact
--------------------------------------------------------------------------- */
/* .contact01 */
/* --------------------------------- */
.contact01 {
  padding: 12rem 0 0;
  text-align: center;
}
.contact01 .ttl {
  font-size: 3rem;
  font-weight: 900;
}
.contact01 .desc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(28/16);
  margin-top: 3.5rem;
}
.contact01 .btns {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-top: 5.8rem;
}
.contact01 .btns a {
  align-items: center;
  border: solid .2rem #006db9;
  border-radius: 20rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 61.6rem;
  width: 100%;
}
.contact01 .btns .btn01 {
  background: #006db9;
  color: #fff;
  height: 15.2rem;
}
.contact01 .btns .btn01 .num {
  align-items: center;
  display: flex;
  font-size: 4rem;
  justify-content: center;
}
.contact01 .btns .btn01 .num::before {
  background-image: url(../img/contact/icon_tel.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 4rem;
  margin-right: 1.1rem;
  width: 4rem;
}
.contact01 .btns .btn01 .txt {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 1.4rem;
}
.contact01 .btns .btn02 {
  color: #006db9;
  height: 10.4rem;
  margin-top: 3.5rem;
}
.contact01 .btns .btn02 .link {
  align-items: flex-end;
  display: flex;
  font-family: 'DM Sans', sans-serif;
  font-optical-sizing: auto;
  font-size: 2.2rem;
  font-style: normal;
  font-weight: 400;
  gap: 2.2rem;
  justify-content: center;
  position: relative;
  transition: .2s;
}
.contact01 .btns .btn02 .link::before {
  background: #006db9;
  content: '';
  height: .1rem;
  margin-bottom: .5rem;
  transition: .2s;
  width: 6.2rem;
}
.contact01 .btns .btn02 .link::after {
  background: #006db9;
  content: '';
  height: .1rem;
  margin-bottom: .5rem;
  transition: .2s;
  width: 0;
}
.contact01 .btns .btn02:hover .link:before {
  width: 0;
}
.contact01 .btns .btn02:hover .link:after {
  width: 6.2rem;
}
@media screen and (max-width: 768px) {
  .contact01 {
    padding: 8rem 2rem 0;
  }
  .contact01 .ttl {
    font-size: 2rem;
  }
  .contact01 .desc {
    font-size: 1.6rem;
    margin-top: 3rem;
  }
  .contact01 .btns {
    margin-top: 4rem;
  }
  .contact01 .btns .btn01 {
    background: #006db9;
    color: #fff;
    height: 10rem;
  }
  .contact01 .btns .btn01 .num {
    font-size: 3rem;
  }
  .contact01 .btns .btn01 .num::before {
    height: 3rem;
    margin-right: .7rem;
    width: 3rem;
  }
  .contact01 .btns .btn01 .txt {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
  .contact01 .btns .btn02 {
    height: 7rem;
    margin-top: 3rem;
  }
}

/* .contact02 */
/* --------------------------------- */
.contact02 {
  padding: 12rem 0 0;
}
.contact02 .ttl {
  font-size: 3rem;
  font-weight: 900;
  text-align: center;
}
.contact02 .form_wrap {
  margin: 6rem auto 0;
  max-width: 97rem;
}
.contact02 .form_wrap>p{
	margin-bottom: 3rem;
	display: flex;
}
.contact02 .form_wrap>p a{
	color: #53b9ff;
	text-decoration: underline;
}
.contact02 .form_wrap>p a:hover{
	opacity: .7
}
.contact02 .form_wrap dl {
  border-top: solid .1rem #dedede;
  display: flex;
}
.contact02 .form_wrap dl dt {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  height: 9rem;
  position: relative;
  width: 26rem;
}
.contact02 .negotiation_form dl dt {
  width: 31.8rem;
}
.contact02 .form_wrap dl dt.req::after {
  align-items: center;
  background: #ff8900;
  color: #fff;
  color: #fff;
  content: '必須';
  display: flex;
  font-size: 1.2rem;
  font-weight: 500;
  height: 1.9rem;
  justify-content: center;
  position: absolute;
  right: 5rem;
  width: 4.2rem;
}
.contact02 .form_wrap dl dd {
  width: calc(100% - 26rem);
}
.contact02 .negotiation_form dl dd {
  align-items: center;
  display: flex;
  width: calc(100% - 31.8rem);
}
.contact02 .form_wrap dl dd > * {
  width: 100%;
}
.contact02 .form_wrap dl dd {
  padding: 1.7rem 0;
	display: flex;
	align-items: center;
}
.contact02 .form_wrap dl dd input[type='text'],.contact02 .form_wrap dl dd input[type='email'], .contact02 .form_wrap dl dd textarea {
  background: #f2f2f2;
  border: solid .1rem #dedede;
  padding: 1.7rem;
  width: 100%;
}
.contact02 .form_wrap dl dd textarea {
  height: 24.4rem;
  resize: none;
}
::placeholder {
  color: #8e8e8e;
}
.contact02 .form_wrap dl dd .post_area {
  align-items: center;
  display: flex;
  gap: 1.3rem;
}
.contact02 .form_wrap dl dd .post_area input {
  width: 21.4rem;
}
.contact02 .form_wrap dl dd .post_area .sup {
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
}
.contact02 .form_wrap dl dd .post_area .sup::before {
  content: '\203B';
}
.contact02 .form_wrap dl dd .check_area input, .contact02 .form_wrap dl dd .radio_area input {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px!important;
}
.contact02 .form_wrap dl dd .check_area input + span, .contact02 .form_wrap dl dd .radio_area input + span {
  cursor: pointer;
  display: inline-block;
  font-weight: 500;
  padding: 0 0 0 3rem;
  position: relative;
}
.contact02 .form_wrap dl dd .radio_area input + span {
  margin-right: 5rem;
}
.agree.design input + span {
  padding-left: 2.6rem;
}
.contact02 .form_wrap dl dd .check_area input:checked + span::after, .contact02 .form_wrap dl dd .radio_area input:checked + span::after {
  opacity: 1!important;
}
.contact02 .form_wrap dl dd .check_area input[type=checkbox] + span:before {
  background: #fff;
  border: .1rem solid #dedede;
  content: '';
  display: block;
  height: 1.8rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.8rem;
}
.contact02 .form_wrap dl dd .check_area input[type=checkbox] + span::after {
  border-bottom: .2rem solid #53b9ff;
  border-right: .2rem solid #53b9ff;
  content: '';
  display: block;
  height: 1.8rem;
  left: 0rem;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(35deg) skewY(16deg) translateY(-50%);
  transform-origin: center right;
  width: .6rem;
}
.contact02 .form_wrap dl dd .radio_area input[type=radio] + span::before {
  background: #fff;
  border: .1rem solid #bebebe;
  border-radius: 50%;
  content: '';
  display: block;
  height: 2rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
}
.contact02 .form_wrap dl dd .radio_area input[type=radio] + span::after {
  background-color: #53b9ff;
  border-radius: 50%;
  content: '';
  display: block;
  height: 1.2rem;
  left: .4rem;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2rem;
}
.contact02 .form_wrap .agree_wrap {
  align-items: center;
  border: solid .1rem #dedede;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.2rem;
}
.contact02 .form_wrap .agree_wrap p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(28/16);
}
.contact02 .form_wrap .agree_wrap dl {
  border: none;
}
.contact02 .form_wrap .agree_wrap dl dt {
  height: auto;
  padding: 0;
  width: 4.2rem;
}
.contact02 .form_wrap .agree_wrap dl dt::after {
  right: 0;
}
.contact02 .form_wrap .agree_wrap dl dd {
  height: auto;
  padding-left: 1.6rem;
  width: calc(100% - 4.2rem);
}
.contact02 .form_wrap .agree_wrap a {
  color: #53b9ff;
  text-decoration: underline;
}
.contact02 .form_wrap .agree_wrap a:hover {
  opacity: .7;
}
.contact02 .form_wrap .submit_btn {
  background: #53b9ff;
  border: solid .2rem #53b9ff;
  color: #fff;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  height: 5.7rem;
  margin: 4.2rem auto 0;
  position: relative;
  transition: .2s;
  width: 22.9rem;
}
.contact02 .form_wrap .submit_btn:hover {
  background: #fff;
  color: #53b9ff;
}
.contact02 .form_wrap .submit_btn::after {
  background-color: #53b9ff;
  background-image: url(../img/common/arrow02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: .6rem;
  border-radius: 100%;
  bottom: 0;
  content: '';
  height: 2rem;
  margin: auto;
  position: absolute;
  right: 1rem;
  top: 0;
  transition: .2s;
  width: 2rem;
}
.contact02 .form_wrap .submit_btn input {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  text-align: center;
  width: 100%;
}
.contact02 .form_wrap select {
  background-image: url(../img/contact/tri01.png);
  background-position: center right 3rem;
  background-repeat: no-repeat;
  background-size: 1.4rem;
  border: solid .1rem #dedede;
  color: #8e8e8e;
  padding: 1.7rem;
  padding-right: 6.7rem;
  position: relative;
  width: 100%;
}
.contact02 .form_wrap select.has-value {
  color: #000;
}
.wpcf7-list-item {
	margin: .5rem 0!important
}
@media screen and (max-width: 768px) {
  .contact02 {
    padding: 8rem 2rem 0;
  }
  .contact02 .ttl {
    font-size: 2rem;
  }
  .contact02 .form_wrap {
    margin: 4rem auto 0;
  }
	.contact02 .form_wrap>p{
		font-size: 1.5rem
	}
  .contact02 .form_wrap dl {
    display: block;
    padding: 2rem 0;
  }
  .contact02 .form_wrap dl dt {
    gap: 1rem 1.6rem;
    height: auto;
    width: 100%!important;
  }
  .contact02 .form_wrap dl dt.req::after {
    position: static;
  }
  .contact02 .form_wrap dl dd {
    width: 100%!important;
  }
  .contact02 .form_wrap dl dd {
    margin-top: 1.7rem;
    padding: 0;
  }
  .contact02 .form_wrap dl dd input[type='text'],.contact02 .form_wrap dl dd input[type='email'],  .contact02 .form_wrap dl dd textarea {
    padding: 1.7rem 1rem;
  }
  .contact02 .form_wrap dl dd textarea {
    height: 20rem;
  }
  .contact02 .form_wrap dl dd .post_area {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }
  .contact02 .form_wrap dl dd .post_area input {
    width: 100%;
  }
  .contact02 .form_wrap dl dd .post_area .sup {
    order: -1;
  }
  .contact02 .form_wrap .agree_wrap {
    padding: 3rem 2rem;
  }
  .contact02 .form_wrap .agree_wrap p {
    font-size: 1.4rem;
  }
  .contact02 .form_wrap .agree_wrap dl {
    border: none;
  }
  .contact02 .form_wrap .agree_wrap dl dd {
    padding-left: 0;
    width: 100%;
  }

  .contact02 .form_wrap .submit_btn {
    height: 4.5rem;
    padding: 0 1rem;
  }
  .contact02 .form_wrap .submit_btn:hover {
    background: #fff;
    color: #53b9ff;
  }
  .contact02 .form_wrap .submit_btn::after {
    background-size: .4rem;
    height: 1.5rem;
    right: .5rem;
    width: 1.5rem;
  }
  .contact02 .form_wrap select {
    background-image: url(../img/contact/tri01.png);
    background-position: center right 1rem;
    padding: 1.7rem 1rem;
    padding-right: 3.4rem;
  }
}


/* ---------------------------------------------------------------------------
//  recruit
--------------------------------------------------------------------------- */
/* .recruit_mv */
/* --------------------------------- */
.recruit_mv {
  height: 68.2rem;
  padding-top: 1.3rem;
  position: relative;
}
.recruit_mv .img {
  margin: 0 auto;
  max-width: 102rem;
}
.recruit_mv .ttl {
  bottom: 2rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  text-align: center;
  width: 37.8rem;
}
.recruit_mv .ttl .eng {
  color: #53b9ff;
  font-size: 11.7rem;
}
.recruit_mv .ttl .jp {
  align-items: center;
  background: #53b9ff;
  color: #fff;
  display: flex;
  font-size: 3.2rem;
  font-weight: 500;
  height: 6.95rem;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width:768px) {
  .recruit_mv {
    height: 36rem;
  }
  .recruit_mv .ttl {
    align-items: center;
    display: flex;
    flex-direction: column;
  }
  .recruit_mv .ttl .eng {
    font-size: 8rem;
  }
  .recruit_mv .ttl .jp {
    font-size: 2.2rem;
    height: 5.5rem;
    padding: 0 2rem;
    width: auto;
  }
}

/* .recruit01v */
/* --------------------------------- */
.recruit01 {
  padding: 9rem 0 1rem;
}
.recruit01 .read {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
.recruit01 .datas {
  display: flex;
  justify-content: space-between;
  margin-top: 12rem;
}
.recruit01 .datas .data {
  width: calc((100% - 1rem) / 2);
}
.recruit01 .datas .data .sub {
  font-size: 2.6rem;
  font-weight: bold;
}
.recruit01 .datas .data table {
  border: solid .1rem #707070;
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 1.3rem;
  text-align: center;
  width: 100%;
}
.recruit01 .datas .data table th, .recruit01 .datas .data table td {
  text-align: center;
  vertical-align: middle;
}
.recruit01 .datas .data table th {
  background: #e6f5ff;
  font-weight: 500;
  padding: 1.8rem 1.5rem;
}
.recruit01 .datas .data table td {
  padding: 2.7rem 1.5rem;
}
.recruit01 .datas .data table tr > *:first-of-type {
  padding-left: 4.4rem;
}
.recruit01 .datas .data table tr > *:last-of-type {
  padding-right: 4.4rem;
}
.recruit01 .bnrs {
  display: flex;
  justify-content: space-between;
  margin: 12rem auto 0;
  margin-top: 12rem;
  max-width: calc(100% - 6rem);
  min-width: 108rem;
}
.recruit01 .bnrs .bnr {
  aspect-ratio: 645/386;
  display: block;
  overflow: hidden;
  position: relative;
  width: calc((100% - 1rem) / 2);
}
.recruit01 .bnrs .bnr .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}
.recruit01 .bnrs .bnr:hover .img img {
  transform: scale(1.2);
}
.recruit01 .bnrs .bnr .shadow {
  background: rgba(0,0,0,.3);
  cursor: pointer;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.recruit01 .bnrs .bnr .ttl {
  align-items: center;
  bottom: 0;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 3rem;
  font-weight: 500;
  justify-content: center;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  z-index: 2;
}
.recruit01 .bnrs .bnr .ttl::after {
  background-image: url(../img/recruit/link.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 1.9rem;
  margin: 1.2rem auto;
  width: 1.9rem;
}
@media screen and (max-width:768px) {
  .recruit01 {
    padding: 8rem 2rem 1rem;
  }
  .recruit01 .read {
    font-size: 1.8rem;
  }
  .recruit01 .datas {
    display: block;
    margin-top: 6rem;
  }
  .recruit01 .datas .data {
    width: 100%;
  }
  .recruit01 .datas .data + .data {
    margin-top: 4rem;
  }
  .recruit01 .datas .data .sub {
    font-size: 2rem;
    text-align: center;
  }
  .recruit01 .datas .data table tr > *:first-of-type {
    padding-left: 3rem;
  }
  .recruit01 .datas .data table tr > *:last-of-type {
    padding-right: 3rem;
  }
  .recruit01 .bnrs {
    display: block;
    margin: 6rem auto 0;
    max-width: 100%;
    min-width: 100%;
  }
  .recruit01 .bnrs .bnr + .bnr {
    margin-top: 3rem;
  }
  .recruit01 .bnrs .bnr {
    width: 100%;
  }
  .recruit01 .bnrs .bnr .ttl {
    font-size: 2rem;
  }
}

/* .recruit02 */
/* --------------------------------- */
.recruit02 {
  background: #ebebeb;
  max-width: calc(100% - 6rem);
  min-width: 108rem;
  padding: 9rem 0;
}
.recruit02 .ttl {
  margin: 0 auto;
  width: 18.3rem;
}
.recruit02 .movies {
  margin-top: 6rem;
}
.recruit02 .movies .movie + .movie {
  margin-top: 9rem;
}
.recruit02 .movies .movie .sub {
  font-size: 3rem;
  font-weight: 900;
  line-height: calc(58/30);
  margin-bottom: 3rem;
  text-align: center;
}
.recruit02 .movies .movie .sub span {
  color: #006db9;
}
.youtube {
  aspect-ratio: 16 / 9;
  width: 100%;
}
.youtube iframe {
  height: 100%;
  width: 100%;
}
@media screen and (max-width:768px) {
  .recruit02 {
    max-width: 100%;
    min-width: 100%;
    padding: 8rem 2rem 8rem;
  }
  .recruit02 .ttl {
    width: 15rem;
  }
  .recruit02 .movies {
    margin-top: 4rem;
  }
  .recruit02 .movies .movie + .movie {
    margin-top: 4rem;
  }
  .recruit02 .movies .movie .sub {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
}


/* ---------------------------------------------------------------------------
//  news
--------------------------------------------------------------------------- */
/* .news01 */
/* --------------------------------- */
.news01 {
  margin-top: -26rem;
  padding: 0 3rem;
  position: relative;
  z-index: 2;
}
.news01 .wrap01 {
  background: #fff;
  margin-left: auto;
  max-width: 97rem;
  padding-top: 3.5rem;
  width: calc(100% - 25rem);
}
.news01 .wrap01 .news_list {
  margin: 0 auto;
  max-width: 76rem;
}
.news01 .wrap01 .news_list .item {
  border-bottom: solid .1rem #dedede;
  padding: 5.4rem 0;
  display: block;
}
.news01 .wrap01 .news_list .item .ttl {
  color: #006db9;
  font-size: 1.8rem;
  font-weight: bold;
}
.news01 .wrap01 .news_list .item .date {
  color: #919191;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: .8rem;
}
.news01 .wrap01 .news_list .item .desc {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: 1.6rem;
  -webkit-line-clamp: 2;
  line-height: calc(28/16);
  margin-top: 1.9rem;
  overflow: hidden;
}
@media screen and (max-width:768px) {
  .news01 {
    margin-top: 0;
    padding: 3rem 2rem 0;
  }
  .news01 .wrap01 {
    padding-top: 0;
    width: 100%;
  }
  .news01 .wrap01 .news_list .item {
    padding: 3rem 0;
  }
  .news01 .wrap01 .news_list .item .ttl {
    font-size: 1.6rem;
  }
}
.pagination {
  color: #fff;
  display: flex;
  gap: .5rem;
  max-width: 76rem;
  margin: 8rem auto 0;
}
.pagination .prev, .pagination .next {
  align-items: center;
  background: rgba(83,185,255,.7);
  display: flex;
  font-size: 0;
  height: 5.7rem;
  justify-content: center;
  width: 5.7rem;
}
.pagination .prev::after, .pagination .next::after {
  background-image: url(../img/common/pagi_prev.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1rem;
  width: 1rem;
}
.pagination .prev::after {
  background-image: url(../img/common/pagi_prev.png);
}
.pagination .next::after {
  background-image: url(../img/common/pagi_next.png);
}
.pagination .prev.hidden, .pagination .next.hidden {
  opacity: 0;
  pointer-events: none;
}
.pagination .nums {
  align-items: center;
  background: rgba(83,185,255,.7);
  display: flex;
  font-size: 1.8rem;
  font-weight: 500;
  gap: 1rem;
  justify-content: center;
  width: calc(100% - 11.4rem - 1rem);
}
.pagination .nums > * {
  align-items: flex-end;
  display: flex;
  height: 3.1rem;
  justify-content: center;
}
.pagination .nums .num.active {
  color: #006db9;
  font-size: 2.4rem;
  pointer-events: none;
}
.pagination .nums .num:hover {
  color: #006db9;
}
@media screen and (max-width:768px){
  .pagination{margin-top: 4rem;}
  .pagination .prev, .pagination .next {
    height: 5rem;
    width: 3rem;
  }
  .pagination .nums {
    font-size: 1.6rem;
    gap: .6rem;
    width: calc(100% - 6rem - 1rem);
  }
  .pagination .nums .num.active {
    font-size: 2rem;
  }
}
/* .news02 */
/* --------------------------------- */
.news02 {
  margin-top: -26rem;
  padding: 0 3rem;
  position: relative;
  z-index: 2;
}
.news02 .wrap01 {
  background: #fff;
  margin-left: auto;
  max-width: 97rem;
  padding-top: 10rem;
  width: calc(100% - 25rem);
}
.news02 .wrap01 .wp_edit {
  border-bottom: solid .1rem #b2b2b2;
  margin: 0 auto;
  max-width: 76rem;
  padding-bottom: 5rem;
}
.news02 .wrap01 .wp_edit .ttl {
  color: #006db9;
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.4;
}
.news02 .wrap01 .wp_edit .date {
  color: #919191;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 3.8rem;
  margin-top: .8rem;
}
.news02 .wrap01 .wp_edit p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(28/16);
}
.news02 .wrap01 .wp_edit p {
  margin: 4rem 0;
}
.news02 .wrap01 .wp_edit p a {
  color: #53b9ff;
  text-decoration: underline;
}
.news02 .wrap01 .wp_edit p a:hover {
  opacity: .7;
}
.single_nav {
  display: flex;
  gap: 1.8rem;
  justify-content: center;
  padding-top: 5.6rem;
}
.single_nav a {
  align-items: center;
  border: solid .1rem #dedede;
  border-radius: .5rem;
  color: #808080;
  display: flex;
  font-size: 1.3rem;
  font-weight: 500;
  gap: .57rem;
  height: 4.1rem;
  justify-content: center;
}
.single_nav a:hover {
  background: #f7f7f7;
}
.single_nav a.prev, .single_nav a.next {
  font-size: 1.4rem;
  width: 7rem;
}
.single_nav a.prev::before, .single_nav a.next::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: .75rem;
  width: .75rem;
}
.single_nav a.prev::before {
  background-image: url(../img/news/prev.png);
}
.single_nav a.next::after {
  background-image: url(../img/news/next.png);
}
.single_nav a.all {
  width: 16.3rem;
}
@media screen and (max-width:768px) {
  .news02 {
    margin-top: 0;
    padding: 6rem 2rem 0;
  }
  .news02 .wrap01 {
    padding-top: 0;
    width: 100%;
  }
  .news02 .wrap01 .wp_edit {
    padding-bottom: 1rem;
  }
  .news02 .wrap01 .wp_edit .ttl {
    font-size: 1.8rem;
  }
  .news02 .wrap01 .wp_edit .date {
    margin-bottom: 3rem;
  }
  .news02 .wrap01 .wp_edit p {
    font-size: 1.4rem;
  }
  .news02 .wrap01 .wp_edit p {
    margin: 3rem 0;
  }
  .single_nav {
    gap: 0;
    justify-content: space-between;
    padding-top: 4.6rem;
  }
}


/* ---------------------------------------------------------------------------
//  company
--------------------------------------------------------------------------- */
/* .company_mv */
/* --------------------------------- */
.company_mv {
  position: relative;
}
.company_mv .escape {
  background: #53b9ff;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: .3s ease-out;
  transition-delay: .7s;
  width: 100%;
  z-index: 5;
}
.lazy .company_mv .escape.hidden {
  transform: translateX(-100%);
}
.company_mv .wrap01 {
  aspect-ratio: 1366/659;
  overflow: hidden;
  padding-left: 9rem;
  padding-top: 15.7rem;
  position: relative;
}
.company_mv .wrap01 .img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.company_mv .wrap01 .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.company_mv .wrap01 .shadow {
  background: #000;
  background: rgba(0,0,0,.3);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.company_mv .wrap01 .ttl {
  align-items: flex-start;
  color: #fff;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 3;
}
.company_mv .wrap01 .ttl .eng {
  font-size: 6rem;
  font-weight: 400;
}
.company_mv .wrap01 .ttl .jp {
  align-items: center;
  display: flex;
  font-size: 2.1rem;
  font-weight: 500;
  height: 4.1rem;
  justify-content: center;
  margin-top: .8rem;
  padding: 0 4.1rem;
}
@media screen and (max-width:768px) {
  .company_mv .wrap01 {
    aspect-ratio: 2/1.3;
    padding: 7rem 2rem 0;
  }
  .company_mv .wrap01 .ttl .eng {
    font-size: 5rem;
  }
  .company_mv .wrap01 .ttl .jp {
    font-size: 2rem;
    height: 3.6rem;
    padding: 0 2rem;
  }
}

/* .company01 */
/* --------------------------------- */
.company01 {
  background: #fff;
  margin: -22rem 3rem 0;
  padding: 9rem 0 0;
  position: relative;
  text-align: center;
  z-index: 2;
}
.company01 .links {
  border: solid .1rem #dedede;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem;
}
.company01 .links .link {
  align-items: center;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: calc((100% - 2rem) / 3);
}
.company01 .links .link .img {
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
}
.company01 .links .link .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}
.company01 .links .link:hover .img img {
  transform: scale(1.2);
}
.company01 .links .link .shadow {
  background: rgba(0,0,0,.3);
  height: 100%;
  position: absolute;
  width: 100%;
}
.company01 .links .link .ttl {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.company01 .links .link .ttl .jp {
  font-size: 2.4rem;
  font-weight: 500;
}
.company01 .links .link .ttl .jp.small {
  font-size: 2rem;
}
.company01 .links .link .ttl .eng {
  font-size: 1.8rem;
  font-weight: 400;
  margin-top: .5rem;
}
@media screen and (max-width:768px) {
  .company01 {
    margin: 0;
    padding: 8rem 2rem 0;
  }
  .company01 .links .link {
    aspect-ratio: 2/1;
    width: 100%;
  }
  .company01 .links .link .ttl .jp {
    font-size: 2rem;
  }
  .company01 .links .link .ttl .jp.small {
    font-size: 2rem;
  }
  .company01 .links .link .ttl .eng {
    font-size: 1.6rem;
  }
}

/* .company_links */
/* --------------------------------- */
.company_links {
  background: #ededed;
  height: 20.7rem;
  margin-top: 21.7rem;
  position: relative;
  text-align: center;
}
.company_links .links {
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem;
  position: relative;
  top: -10.35rem;
}
.company_links .links .link {
  align-items: center;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: calc((100% - 4rem) / 5);
}
.profile .company_links .links .link:nth-of-type(1) {
  pointer-events: none;
}
.philosophy .company_links .links .link:nth-of-type(2) {
  pointer-events: none;
}
.education .company_links .links .link:nth-of-type(3) {
  pointer-events: none;
}
.history .company_links .links .link:nth-of-type(4) {
  pointer-events: none;
}
.location .company_links .links .link:nth-of-type(5) {
  pointer-events: none;
}
.company_links .links .link .img {
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
}
.company_links .links .link .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}
.company_links .links .link:hover .img img {
  transform: scale(1.2);
}
.company_links .links .link .shadow {
  background: rgba(0,0,0,.3);
  height: 100%;
  position: absolute;
  width: 100%;
}
.profile .company_links .links .link:nth-of-type(1) .shadow {
  background: rgba(0,109,185,.7);
}
.philosophy .company_links .links .link:nth-of-type(2) .shadow {
  background: rgba(0,109,185,.7);
}
.education .company_links .links .link:nth-of-type(3) .shadow {
  background: rgba(0,109,185,.7);
}
.history .company_links .links .link:nth-of-type(4) .shadow {
  background: rgba(0,109,185,.7);
}
.location .company_links .links .link:nth-of-type(5) .shadow {
  background: rgba(0,109,185,.7);
}
.company_links .links .link .ttl {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.company_links .links .link .ttl .jp {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: calc(26/18);
}
@media screen and (max-width:768px) {
  .company_links {
    height: auto;
    margin-top: 8rem;
    padding: 3rem 1rem;
  }
  .company_links .links {
    background: none;
    position: static;
  }
  .company_links .links .link {
    width: calc((100% - 1rem) / 2);
  }
  .company_links .links .link .ttl .jp {
    font-size: 1.6rem;
  }
}


/* .philosophy01 */
/* --------------------------------- */
.philosophy01 {
  color: #fff;
  padding-top: 9.5rem;
}
.philosophy01 .wrap01 {
  align-items: flex-end;
  background-image: url(../img/company/philosophy/img01.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  height: 42.6rem;
  justify-content: center;
  padding-right: 20rem;
}
.philosophy01 .wrap01 .status {
  font-size: 1.6rem;
  font-weight: 500;
}
.philosophy01 .wrap01 .name {
  margin-top: 2rem;
  width: 18rem;
}
.philosophy01 .wrap01 .eng {
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 2rem;
}
@media screen and (max-width:768px) {
  .philosophy01 {
    color: #fff;
    padding: 8rem 2rem 0;
  }
  .philosophy01 .wrap01 {
    background-position: center left 18%;
    height: 42.6rem;
    justify-content: flex-end;
    padding-right: 0;
  }
  .philosophy01 .wrap01 .txt {
    background: rgba(0,0,0,.5);
    padding: 1rem 2rem;
    width: 100%;
  }
  .philosophy01 .wrap01 .status {
    font-size: 1.4rem;
  }
  .philosophy01 .wrap01 .name {
    margin-top: 1rem;
    width: 15rem;
  }
  .philosophy01 .wrap01 .eng {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}

/* .education01 */
/* --------------------------------- */
.education01 {
  padding: 13rem 0 0;
}
.education01 .wrap01 {
  align-items: center;
  border-bottom: solid .1rem #dedede;
  display: flex;
  justify-content: space-between;
  padding-bottom: 9rem;
}
.education01 .wrap01 .txt {
  width: 59.6rem;
}
.education01 .wrap01 .txt .ttl {
  font-size: 3rem;
  font-weight: 900;
  margin-bottom: 3.5rem;
}
.education01 .wrap01 .txt .desc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(28/16);
}
.education01 .wrap01 .txt .sub {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  margin-top: 7rem;
}
.education01 .wrap01 .img {
  width: 37.6rem;
}
@media screen and (max-width:768px) {
  .education01 {
    padding: 8rem 2rem 0;
  }
  .education01 .wrap01 {
    display: block;
    padding-bottom: 8rem;
  }
  .education01 .wrap01 .txt {
    width: 100%;
  }
  .education01 .wrap01 .txt .ttl {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  .education01 .wrap01 .txt .sub {
    font-size: 1.8rem;
    margin-top: 4rem;
  }
  .education01 .wrap01 .img {
    margin-top: 2rem;
    width: 100%;
  }
}

/* .history01 */
/* --------------------------------- */
.history01 {
  padding: 13rem 0 0;
}
.history01 .wrap01 dl {
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(25/16) ;
}
.history01 .wrap01 dl dt {
  align-items: center;
  display: flex;
  padding-left: 4rem;
  width: 18rem;
}
.history01 .wrap01 dl dd {
  align-items: center;
  display: flex;
  padding: 2.2rem 0 2.2rem 6rem;
  width: calc(100% - 18.1rem);
}
.history01 .wrap01 dl .dotted {
  position: relative;
  width: .1rem;
}
.history01 .wrap01 dl .dotted span {
  background: #fff;
  border: solid .2rem #000;
  border-radius: 100%;
  bottom: 0;
  display: block;
  height: 1.5rem;
  left: -.75rem;
  margin: auto;
  position: absolute;
  top: 0;
  width: 1.5rem;
}
.history01 .wrap01 dl .dotted::before {
  background: #707070;
  content: '';
  height: calc((100% - 1.5rem) / 2);
  left: -.1rem;
  position: absolute;
  top: 0;
  width: .1rem;
}
.history01 .wrap01 dl:first-of-type .dotted::before {
  display: none;
}
.history01 .wrap01 dl .dotted::after {
  background: #707070;
  bottom: 0;
  content: '';
  height: calc((100% - 1.5rem) / 2);
  left: -.1rem;
  position: absolute;
  width: .1rem;
}
.history01 .wrap01 dl:last-of-type .dotted::after {
  display: none;
}
@media screen and (max-width:768px) {
  .history01 {
    padding: 8rem 2rem 0;
  }
  .history01 .wrap01 dl {
    display: flex;
    font-size: 1.4rem;
  }
  .history01 .wrap01 dl dt {
    padding-left: 0;
    width: 8rem;
  }
  .history01 .wrap01 dl dd {
    padding: 2.2rem 0 2.2rem 2rem;
    width: calc(100% - 8.1rem);
  }
}

/* .location01 */
/* --------------------------------- */
.location01 {
  padding: 13rem 0 0;
}
.location01 .wrap01 {
  display: flex;
}
.location01 .wrap01 + .wrap01 {
  margin-top: 9rem;
}
.location01 .wrap01 .left {
  width: 19rem;
}
.location01 .wrap01 .left .ttl {
  font-size: 2.6rem;
  font-weight: bold;
}
.location01 .wrap01 .right {
  width: calc(100% - 19rem);
}
.location01 .wrap01 .right ul > li {
  border-top: .1rem solid #dedede;
  display: flex;
  font-size: 1.6rem;
  line-height: calc(25/16);
  padding: 2.3rem 0;
}
.location01 .wrap01 .right ul > li:last-of-type {
  border-bottom: .1rem solid #dedede;
}
.location01 .wrap01 .right ul > li .sub {
  font-size: 1.6rem;
  font-weight: bold;
  width: 14rem;
}
.location01 .wrap01 .right ul > li .tel_list {
  width: 27rem;
}
.location01 .wrap01 .right ul > li .tel_list dl {
  display: flex;
  font-weight: 500;
  gap: .5rem;
}
.location01 .wrap01 .right ul > li .tel_list dl dt {
  color: #a8a8a8;
  font-weight: 500;
}
.location01 .wrap01 .right ul > li .tel_list dl + dl {
  margin-top: .8rem;
}
.location01 .wrap01 .right ul > li .tel_list dl dd span {
  color: #5c5c5c;
}
.location01 .wrap01 .right ul > li .address {
  width: 42rem;
}
.location01 .wrap01 .right ul > li .map {
  align-items: center;
  color: #a8a8a8;
  display: flex;
  justify-content: center;
  width: calc(100% - 14rem - 36rem - 33rem);
}
.location01 .wrap01 .right ul > li .map:hover {
  opacity: .7;
}
@media screen and (max-width:768px) {
  .location01 {
    padding: 8rem 2rem 0;
  }
  .location01 .wrap01 {
    display: block;
  }
  .location01 .wrap01 + .wrap01 {
    margin-top: 8rem;
  }
  .location01 .wrap01 .left {
    width: 100%;
  }
  .location01 .wrap01 .left .ttl {
    font-size: 2rem;
  }
  .location01 .wrap01 .right {
    margin-top: 3rem;
    width: 100%;
  }
  .location01 .wrap01 .right ul > li {
    display: block;
    font-size: 1.4rem;
  }
  .location01 .wrap01 .right ul > li .sub {
    margin-bottom: 1rem;
    width: 100%;
  }
  .location01 .wrap01 .right ul > li .tel_list {
    width: 100%;
  }
  .location01 .wrap01 .right ul > li .address {
    margin-top: 1rem;
    width: 100%;
  }
  .location01 .wrap01 .right ul > li .map {
    border: solid .1rem;
    border-radius: 10rem;
    height: 4rem;
    margin-top: 2rem;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  service
--------------------------------------------------------------------------- */
/* .service_mv */
/* --------------------------------- */
.service_mv {
  position: relative;
}
.service_mv .escape {
  background: #53b9ff;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: .3s ease-out;
  transition-delay: .7s;
  width: 100%;
  z-index: 5;
}
.lazy .service_mv .escape.hidden {
  transform: translateX(-100%);
}
.service_mv .wrap01 {
  aspect-ratio: 1366/659;
  overflow: hidden;
  padding-left: 9rem;
  padding-top: 15.7rem;
  position: relative;
}

.service_mv .wrap01 .img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.service_mv .wrap01 .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.service_mv .wrap01 .shadow {
  background: #000;
  background: rgba(0,0,0,.3);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.service_mv .wrap01 .ttl {
  align-items: flex-start;
  color: #fff;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 3;
}
.service_mv .wrap01 .ttl .eng {
  font-size: 6rem;
  font-weight: 400;
}
.service_mv .wrap01 .ttl .jp {
  align-items: center;
  display: flex;
  font-size: 2.1rem;
  font-weight: 500;
  height: 4.1rem;
  justify-content: center;
  margin-top: .8rem;
  padding: 0 4.1rem;
}
@media screen and (max-width:768px) {
  .service_mv .wrap01 {
    aspect-ratio: 2/1.3;
    padding: 7rem 2rem 0;
  }
  .service_mv .wrap01 .ttl .eng {
    font-size: 5rem;
  }
  .service_mv .wrap01 .ttl .jp {
    font-size: 2rem;
    height: 3.6rem;
    padding: 0 2rem;
  }
}
/* .service01 */
/* --------------------------------- */
.service01 {
  background: none;
  padding-bottom: 0;
  padding-top: 0;
  position: relative;
  z-index: 6;
}
.service01 .read {
  background: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  margin-top: -14.4rem;
  padding: 8.5rem 0 11rem;
  text-align: center;
}
@media screen and (max-width:768px) {
  .service01 {
    background: none;
    padding-bottom: 0;
    padding-top: 0;
  }
  .service01 .read {
    background: #fff;
    font-size: 1.6rem;
    margin-top: 0;
    padding: 8rem 0 4rem;
    text-align: left;
  }
}
/* .equipment_mv */
/* --------------------------------- */
.equipment_mv {
  padding: 0 3rem;
  position: relative;
}
.equipment_mv .escape {
  background: #53b9ff;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: .3s ease-out;
  transition-delay: .7s;
  width: 100%;
  z-index: 5;
}
.lazy .equipment_mv .escape.hidden {
  transform: translateX(-100%);
}
.equipment_mv .wrap01 {
  align-items: center;
  aspect-ratio: 1300/426;
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding-bottom: 8.2rem;
  position: relative;
}
.equipment_mv .wrap01 .img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.equipment_mv .wrap01 .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.equipment_mv .wrap01 .shadow {
  background: #000;
  background: rgba(0,0,0,.3);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.equipment_mv .wrap01 .ttl {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 3;
}
.equipment_mv .wrap01 .ttl .eng {
  font-size: 6rem;
  font-weight: 400;
}
.equipment_mv .wrap01 .ttl .jp {
  font-size: 2.1rem;
  font-weight: 500;
  margin-top: .8rem;
}
@media screen and (max-width:768px) {
  .equipment_mv {
    padding: 0;
  }
  .equipment_mv .wrap01 {
    aspect-ratio: 2/1.3;
    justify-content: flex-start;
    padding: 0 2rem;
  }
  .equipment_mv .wrap01 .ttl {
    align-items: flex-start;
  }
  .equipment_mv .wrap01 .ttl .eng {
    font-size: 5rem;
  }
  .equipment_mv .wrap01 .ttl .jp {
    font-size: 2rem;
  }
}
/* .equipment01 */
/* --------------------------------- */
.equipment01 {
  position: relative;
  text-align: center;
  z-index: 2;
}
.equipment01 .wrap01 {
  background: #fff;
  margin-top: -8.2rem;
}
.equipment01 .wrap01 .read {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  padding: 8.5rem 0 10.5rem;
  text-align: center;
}
.equipment01 .links {
  border: solid .1rem #dedede;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem;
}
.equipment01 .links .link {
  align-items: center;
  aspect-ratio: 521/351;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: calc((100% - 1rem) / 2);
}
.equipment01 .links .link .img {
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
}
.equipment01 .links .link .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}
.equipment01 .links .link:hover .img img {
  transform: scale(1.2);
}
.equipment01 .links .link .shadow {
  background: rgba(0,0,0,.3);
  height: 100%;
  position: absolute;
  width: 100%;
}
.equipment01 .links .link .ttl {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.equipment01 .links .link .ttl .jp {
  font-size: 2.4rem;
  font-weight: 500;
}
.equipment01 .links .link .ttl .eng {
  font-size: 1.8rem;
  font-weight: 400;
  margin-top: .5rem;
}
@media screen and (max-width:768px) {
  .equipment01 {
    padding: 0 2rem;
  }
  .equipment01 .wrap01 {
    margin-top: 0;
  }
  .equipment01 .wrap01 .read {
    padding: 8rem 0 6rem;
  }
  .equipment01 .links .link {
    width: 100%;
  }
  .equipment01 .links .link .ttl .jp {
    font-size: 2rem;
  }
  .equipment01 .links .link .ttl .jp.small {
    font-size: 2rem;
  }
  .equipment01 .links .link .ttl .eng {
    font-size: 1.6rem;
  }
}
/* .cleaning01 */
/* --------------------------------- */
@media screen and (max-width:768px) {
  .cleaning01 {
    padding: 0 2rem;
  }
}
/* .camera01 */
/* --------------------------------- */
.camera01 .gray_area {
  background: #ecf0f4;
  margin-bottom: 4rem;
  padding: 8.8rem 3.5rem 4rem;
}
.camera01 .gray_area .ttl {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
  text-align: center;
}
.camera01 .gray_area .cnt01 {
  margin-bottom: 8rem;
  margin-top: 8.7rem;
  position: relative;
}
.camera01 .gray_area .cnt01 .txt .sub {
  color: #006db9;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
}
.camera01 .gray_area .cnt01 .txt ul li {
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
}
.camera01 .gray_area .cnt01 .txt ul li::before {
  content: '・';
  display: flex;
}
.camera01 .gray_area .cnt01 img {
  mix-blend-mode: multiply;
  position: absolute;
  right: -17rem;
  top: -7rem;
  width: 70.3rem;
}
.camera01 .gray_area .cnt02 {
  background: #fff;
  padding: 3rem 3.5rem 5rem;
}
.camera01 .gray_area .cnt02 .sub {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 2.2rem;
}
.camera01 .gray_area .cnt02 .links {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.camera01 .gray_area .cnt02 .links a {
  width: calc((100% - 7rem) / 3);
}
.camera01 .gray_area .cnt02 .links a:hover {
  opacity: .7;
}
.camera01 .gray_area .cnt02 .links .link02 {
  align-items: center;
  background: #53b9ff;
  border: solid .2rem #53b9ff;
  border-radius: 1rem;
  color: #fff;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  height: 7rem;
  justify-content: center;
}
.camera01 .other {
  align-items: center;
  background: #fcfcfc;
  border: solid .1rem #dedede;
  display: flex;
  margin-top: 2.3rem;
  padding: 3.6rem 0;
}
.camera01 .other dt {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  width: 50%;
}
.camera01 .other dd {
  border-left: solid .1rem #dedede;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  gap: 0 5.6rem;
  line-height: calc(26/14);
  padding: 0 4rem;
  width: 50%;
}
@media screen and (max-width:768px) {
  .camera01 {
    padding: 0 2rem;
  }
  .camera01 .gray_area {
    margin-bottom: 2rem;
    padding: 6rem 1rem 3rem;
  }
  .camera01 .gray_area .ttl {
    font-size: 2rem;
  }
  .camera01 .gray_area .cnt01 {
    margin-bottom: 2rem;
    margin-top: 16rem;
  }
  .camera01 .gray_area .cnt01 .txt .sub {
    font-size: 2rem;
  }
  .camera01 .gray_area .cnt01 .txt ul li::before {
    content: '・';
    display: flex;
  }
  .camera01 .gray_area .cnt01 img {
    max-width: inherit;
    right: -3.5rem;
    top: -18rem;
    width: 120%;
  }
  .camera01 .gray_area .cnt02 {
    background: #fff;
    padding: 3rem 1rem;
  }
  .camera01 .gray_area .cnt02 .sub {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .camera01 .gray_area .cnt02 .links {
    display: block;
  }
  .camera01 .gray_area .cnt02 .links a {
    display: flex;
    width: 100%;
  }
  .camera01 .gray_area .cnt02 .links a + a {
    margin-top: 2rem;
  }
  .camera01 .gray_area .cnt02 .links .link02 {
    display: none;
  }
  .camera01 .other {
    display: block;
    margin-top: 2.3rem;
    padding: 3rem 0;
  }
  .camera01 .other dt {
    width: 100%;
  }
  .camera01 .other dd {
    font-size: 1.4rem;
    gap: 4rem;
    justify-content: center;
    margin-top: 2rem;
    padding: 0 1rem;
    width: 100%;
  }
}
/* .prevention01 */
/* --------------------------------- */
@media screen and (max-width:768px) {
  .prevention01 {
    padding: 0 2rem;
  }
}
/* .access_control01 */
/* --------------------------------- */
.access_control01 {
  padding-bottom: 7.82rem;
}
.access_control01 .wrap01 {
  position: relative;
}
.access_control01 .bg .img02 {
  margin-left: auto;
  margin-top: 1.5rem;
  width: 54rem;
}
.access_control01 .txt {
  background: #fff;
  bottom: 0;
  padding: 6.7rem 6rem 4rem 0;
  position: absolute;
  width: calc(100% - 54rem);
}
.access_control01 .txt .ttl {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
}
.access_control01 .txt .desc {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
  margin-top: 8rem;
}
.access_control01 .txt .border {
  border: solid .1rem #dedede;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
  margin-top: 3.5rem;
  padding: 1.8rem 3.6rem;
}
@media screen and (max-width:768px) {
  .access_control01 {
    padding-bottom: 8rem;
  }
  .access_control01 .wrap01 {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .access_control01 .bg .img01 {
    aspect-ratio: 1/1;
    width: 100%;
  }
  .access_control01 .bg .img02 {
    aspect-ratio: 1/1;
    margin-top: 0;
    width: 100%;
  }
  .access_control01 .bg img {
    height: 100%;
    max-width: inherit;
    object-fit: cover;
    object-position: right;
    width: 100%;
  }
  .access_control01 .txt {
    background: rgba(255,255,255,.9);
    bottom: 0;
    height: 62rem;
    left: 0;
    margin: auto;
    padding: 4rem 2rem;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(100% - 4rem);
  }
  .access_control01 .txt .ttl {
    font-size: 2rem;
  }
  .access_control01 .txt .desc {
    margin-top: 2rem;
  }
  .access_control01 .txt .border {
    border: solid .1rem #000;
    padding: 2rem;
  }
}
/* .access_control02 */
/* --------------------------------- */
.access_control02 {
  background: #ecf0f4;
  padding: 8.6rem 0;
}
.access_control02 .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem 2rem;
}
.access_control02 .cards .card {
  align-items: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 4rem 3rem;
  width: calc((100% - 2rem) / 2);
}
.access_control02 .cards .card .ttl {
  font-size: 2.4rem;
  font-weight: bold;
  width: 100%;
}
.access_control02 .cards .card .desc {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
  margin-bottom: auto;
  margin-top: 2rem;
}
.access_control02 .cards .card img {
  margin-top: 2rem;
}
.access_control02 .cards .card:first-of-type img {
  position: relative;
  top: .2rem;
}
@media screen and (max-width:768px) {
  .access_control02 {
    background: #ecf0f4;
    padding: 8rem 2rem;
  }
  .access_control02 .cards {
    display: block;
  }
  .access_control02 .cards .card + .card {
    margin-top: 2rem;
  }
  .access_control02 .cards .card {
    padding: 3rem 2rem;
    width: 100%;
  }
  .access_control02 .cards .card .ttl {
    font-size: 2rem;
    width: auto;
  }
  .access_control02 .cards .card:first-of-type img {
    position: static;
  }
}
/* .cardsA */
/* --------------------------------- */
.cardsA {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.cardsA .card {
  border: solid .1rem #dedede;
  width: calc((100% - 2rem) /2);
}
.cardsA .card .img {
  aspect-ratio: 530/352;
}
.cardsA .card .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.cardsA .card dl {
  padding: 2rem 2.5rem;
}
.cardsA .card dl dt {
  font-size: 2rem;
  font-weight: bold;
}
.cardsA .card dl dd {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
  margin-top: 1.2rem;
}
.cardsA .card dl dd img {
  display: block;
  margin: 1.5rem auto 0;
  max-width: 45rem;
}
@media screen and (max-width:768px) {
  .cardsA {
    gap: 2rem;
  }
  .cardsA .card {
    width: 100%;
  }
  .cardsA .card dl {
    padding: 2rem 2rem;
  }
  .cardsA .card dl dt {
    font-size: 1.6rem;
    font-weight: bold;
  }
  .cardsA .card dl dd {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: calc(26/14);
    margin-top: 1.2rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp01
--------------------------------------------------------------------------- */
.service_achievements{
  display: none;/* 実績公開後削除 */
}
.spacer01 {
  background: #fff;
  height: 12rem;
}
.service_cnp01 {
  background: #fff;
  padding: 11.7rem 0 0;
}
.service_cnp01.blue {
  background: #e6f5ff;
  padding: 11.7rem 0 12rem;
}
.service_cnp01 .wrap01 .ttl {
  text-align: center;
}
.service_cnp01 .wrap01 .ttl .jp {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
}
.service_cnp01 .wrap01 .ttl .jp span {
  color: #006db9;
}
.service_cnp01 .wrap01 .ttl .eng {
  color: #53b9ff;
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  margin-top: .5rem;
}
.service_cnp01 .wrap01 .ttl + .desc {
  font-size: 1.6rem;
  line-height: calc(28/16);
  margin-top: 4.7rem;
  text-align: center;
}
.service_cnp01 .wrap01 .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 5rem 1.7rem;
  margin-top: 6rem;
}
.service_cnp01 .wrap01 .cards .card {
  width: calc((100% - 3.4rem) / 3);
}
.service_cnp01 .wrap01 .cards .card .img {
  aspect-ratio: 1/1;
}
.service_cnp01 .wrap01 .cards .card .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.service_cnp01 .wrap01 .cards.col2 {
  gap: 5rem 2.5rem;
}
.service_cnp01 .wrap01 .cards.col2 .card {
  width: calc((100% - 2.5rem) / 2);
}
.service_cnp01 .wrap01 .cards.col2 .card .img {
  aspect-ratio: 526/348;
}
.service_cnp01 .wrap01 .cards.col4 {
  gap: 5rem 1.25rem;
}
.service_cnp01 .wrap01 .cards.col4 .card {
  width: calc((100% - 3.75rem) / 4);
}
.service_cnp01 .wrap01 .cards.col4 .card .txt {
  padding: 2.6rem 1.5rem 0;
}
.service_cnp01 .wrap01 .cards.no_img {
  gap: 3rem 0;
}
.service_cnp01 .wrap01 .cards.no_img  .card {
  width: calc(100% / 3);
}
.service_cnp01 .wrap01 .cards.no_img  .card + .card {
  border-left: .1rem solid #707070;
}
.service_cnp01 .wrap01 .cards.no_img  .card .txt {
  padding: 0 2rem;
}
.service_cnp01 .wrap01 .cards .card .txt {
  padding: 2.6rem 2rem 0;
}
.service_cnp01 .wrap01 .cards .card .txt .sub {
  font-size: 2rem;
  font-weight: bold;
  line-height: calc(24/18);
}
.service_cnp01 .wrap01 .cards .card .txt .desc {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
  margin-top: 1rem;
}
.service_cnp01 .wrap01 .cards .card .txt .sup {
  display: flex;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: calc(18/12);
  margin-top: 1rem;
}
.service_cnp01 .wrap01 .cards .card .txt .sup::before {
  content: '\203B';
}
.service_cnp01 .wrap01 .dls {
  margin-bottom: 7rem;
  margin-top: 5.5rem;
}
.service_cnp01 .wrap01 .dls dl {
  border-top: .1rem #53b9ff solid;
  display: flex;
  font-size: 1.6rem;
  justify-content: space-between;
  line-height: calc(28/16);
  padding: 1.5rem 7rem;
}
.service_cnp01 .wrap01 .dls dl:last-of-type {
  border-bottom: .1rem #53b9ff solid;
}
.service_cnp01 .wrap01 .dls dl dt {
  font-weight: bold;
  width: 33.7rem;
}
.service_cnp01 .wrap01 .dls dl dd {
  font-weight: 500;
  width: calc(100% - 40.7rem);
}

.service_cnp01 .wrap01 .border_txt {
  border: solid .5rem #dedede;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: calc(49/22);
  margin-top: 5rem;
  padding: 3rem 2rem;
  text-align: center;
}
.service_cnp01 .linkA {
  justify-content: center;
  margin-top: 6rem;
}
@media screen and (max-width:768px) {
  .spacer01 {
    height: 8rem;
  }
  .service_cnp01 {
    background: #fff;
    padding: 8rem 2rem 0;
  }
  .service_cnp01.blue {
    background: #e6f5ff;
    padding: 8rem 2rem;
  }
  .service_cnp01 .wrap01 .ttl .jp {
    font-size: 2rem;
  }
  .service_cnp01 .wrap01 .ttl .eng {
    font-size: 1.6rem;
  }
  .service_cnp01 .wrap01 .ttl + .desc {
    font-size: 1.4rem;
    margin-top: 4rem;
    text-align: left;
  }
  .service_cnp01 .wrap01 .cards {
    display: block;
    margin-top: 4rem!important;
  }
  .service_cnp01 .wrap01 .cards .card {
    width: 100%!important;
  }
  .service_cnp01 .wrap01 .cards.col4 {
    display: flex;
    gap: 4rem 1rem;
  }
  .service_cnp01 .wrap01 .cards.col4 .card {
    margin: 0!important;
    width: calc((100% - 1rem) / 2)!important;
  }
  .service_cnp01 .wrap01 .cards .card + .card {
    margin-top: 4rem;
  }
  .service_cnp01 .wrap01 .cards .card .img {
    margin-bottom: 1.5rem;
  }
  .service_cnp01 .wrap01 .cards .card .txt {
    padding: 0!important;
  }
  .service_cnp01 .wrap01 .cards .card .txt .sub {
    font-size: 1.6rem;
  }
  .service_cnp01 .wrap01 .cards.no_img  .card {
    width: calc(100% / 3);
  }
  .service_cnp01 .wrap01 .cards.no_img  .card + .card {
    border-left: none;
  }
  .service_cnp01 .wrap01 .cards .card .txt .desc {
    margin-top: .5rem;
  }
  .service_cnp01 .wrap01 .dls {
    margin-bottom: 0;
    margin-top: 4rem;
  }
  .service_cnp01 .wrap01 .dls dl {
    display: block;
    padding: 1.5rem 0;
  }
  .service_cnp01 .wrap01 .dls dl dt {
    width: 100%;
  }
  .service_cnp01 .wrap01 .dls dl dd {
    font-size: 1.4rem;
    width: 100%;
  }
  .service_cnp01 .wrap01 .border_txt {
    border: solid .1rem #707070;
    font-size: 1.4rem;
    line-height: calc(26/14);
    margin-top: 4rem;
    padding: 3rem 1rem;
    text-align: left;
  }
  .service_cnp01 .linkA {
    margin-top: 4rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp02
--------------------------------------------------------------------------- */
.service_cnp02 {
  background: #fff;
  padding: 9rem 0;
}
.service_cnp02 .links {
  display: flex;
  gap: 1.3rem;
  position: relative;
  z-index: 3;
}
.service_cnp02 .links .link {
  background: #53b9ff;
  padding: 3rem;
  position: relative;
  width: calc((100% - 1.3rem) / 2);
}
.service_cnp02 .links .link:hover {
  background: #006db9;
}
.service_cnp02 .links .link:hover * {
  color: #fff!important;
}
.service_cnp02 .links .link::before {
  background-color: #fff;
  background-image: url(../img/cta/arrow02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: .75rem;
  border: solid .2rem #53b9ff;
  border-radius: 100%;
  bottom: 0;
  content: '';
  height: 4.5rem;
  margin: auto;
  position: absolute;
  right: 3rem;
  top: 0;
  transition: .2s;
  width: 4.5rem;
}
.service_cnp02 .links .link:hover:before {
  background-image: url(../img/cta/arrow03.png);
  border: solid .2rem #006db9;
  height: 6.5rem;
  right: 2rem;
  width: 6.5rem;
}
.service_cnp02 .links .link .head {
  padding-left: 7.5rem;
  position: relative;
}
.service_cnp02 .links .link .head .icon {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 5.9rem;
}
.service_cnp02 .links .link .head .sub .jp {
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  transition: .2s;
}
.service_cnp02 .links .link .head .sub .eng {
  color: #fff;
  display: block;
  font-size: 1.8rem;
  font-weight: 400;
  margin-top: .5rem;
  transition: .2s;
}
.service_cnp02 .links .link .desc {
  color: #fff;
  font-size: 1.4rem;
  line-height: calc(23/14);
  margin-top: 1.6rem;
  transition: .2s;
}
@media screen and (max-width:768px) {
  .service_cnp02 {
    padding: 6rem 2rem;
  }
  .service_cnp02 .links {
    flex-direction: column;
    gap: 2rem;
    margin-top: 4rem;
  }
  .service_cnp02 .links .link {
    border: solid .2rem #53b9ff;
    padding: 2rem;
    width: 100%;
  }
  .service_cnp02 .links .link::before {
    height: 3.4rem;
    right: -1.7rem;
    width: 3.4rem;
  }
  .service_cnp02 .links .link:hover:before {
    height: 3.4rem;
    right: -1.7rem;
    width: 3.4rem;
  }
  .service_cnp02 .links .link .head {
    padding-left: 6rem;
    position: relative;
  }
  .service_cnp02 .links .link .head .icon {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 5rem;
  }
  .service_cnp02 .links .link .head .sub .jp {
    font-size: 2.2rem;
  }
  .service_cnp02 .links .link .head .sub .eng {
    font-size: 1.6rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp03
--------------------------------------------------------------------------- */
.service_bg {
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: -2;
}
.service_bg img {
  height: 100%!important;
  max-width: inherit;
  object-fit: cover;
  width: 100%!important;
}
.service_cnp03 {
  aspect-ratio: 1366/767;
  overflow: hidden;
  position: relative;
}
.service_cnp03 .escape2 {
  background: #53b9ff;
  height: 100%;
  left: 0;
  opacity: 1!important;
  position: absolute;
  top: 0;
  transition: .3s ease-out;
  width: 100%;
  z-index: 5;
}
.lazy .service_cnp03 .escape2.aos-animate {
  transform: translateX(-100%);
}
.service_cnp03 .shadow {
  background: rgba(0,0,0,.3);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.service_cnp03 .inner {
  height: 100%;
}
.service_cnp03 .wrap01 {
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-end;
  padding-bottom: 10rem;
  padding-left: 32.1rem;
  position: relative;
  z-index: 3;
}
.service_cnp03 .wrap01 .ttl {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
}
.service_cnp03 .wrap01 .desc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(28/16);
  margin-top: 2rem;
}
@media screen and (max-width:768px) {
  .service_cnp03 {
    aspect-ratio: inherit;
    padding: 8rem 2rem;
  }
  .service_cnp03 .wrap01 {
    padding: 0;
  }
  .service_cnp03 .wrap01 .ttl {
    font-size: 2rem;
  }
  .service_cnp03 .wrap01 .desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp04
--------------------------------------------------------------------------- */
.service_cnp04 {
  background: #fff;
  padding: 11.7rem 0 0;
}
.service_cnp04 .wrap01 .ttl {
  text-align: center;
}
.service_cnp04 .wrap01 .ttl .jp {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
}
.service_cnp04 .wrap01 .ttl .jp span {
  color: #006db9;
}
.service_cnp04 .wrap01 .ttl .eng {
  color: #53b9ff;
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  margin-top: .5rem;
}
.service_cnp04 .wrap01  .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 6rem 1rem;
  justify-content: center;
  margin-top: 6rem;
}
.service_cnp04 .wrap01 .cards .card {
  align-items: center;
  border-bottom: solid .1rem #53b9ff;
  display: flex;
  flex-direction: column;
  padding-bottom: 2rem;
  text-align: center;
  width: calc((100% - 3rem) / 4);
}
.service_cnp04 .wrap01 .cards.col5 .card {
  width: calc((100% - 4rem) / 5);
}
.service_cnp04 .wrap01 .cards .card .img {
  width: 12.7rem;
}
.service_cnp04 .wrap01 .cards .card .txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(25/16);
  margin-top: 1.8rem;
}
@media screen and (max-width:768px) {
  .service_cnp04 {
    background: #fff;
    padding: 8rem 2rem 0;
  }
  .service_cnp04 .wrap01 .ttl .jp {
    font-size: 2rem;
  }
  .service_cnp04 .wrap01 .ttl .eng {
    font-size: 1.6rem;
  }
  .service_cnp04 .wrap01 .cards {
    gap: 3rem 1rem;
    margin-top: 4rem;
  }
  .service_cnp04 .wrap01 .cards .card {
    width: calc((100% - 1rem) / 2)!important;
  }
  .service_cnp04 .wrap01 .cards .card .txt {
    font-size: 1.4rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp05
--------------------------------------------------------------------------- */
.service_cnp05 {
  background: #fff;
  overflow: hidden;
  padding: 12rem 0 0;
  position: relative;
}
.service_cnp05 .bg {
  background-image: url(../img/service/cnp05_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 136.6rem;
  height: 52.1rem;
  position: absolute;
  top: 12rem;
  width: 100%;
}
.service_cnp05 .shadow {
  background: linear-gradient(to bottom, rgba(0,0,0,.49), rgba(0,0,0,.68), rgba(0,0,0,1));
  height: 100%;
  left: 0;
  opacity: .6;
  position: absolute;
  top: 12rem;
  width: 100%;
  z-index: 2;
}
.service_cnp05 .wrap01 {
  color: #fff;
  height: 52.1rem;
  padding-top: 22.2rem;
  position: relative;
  text-align: center;
  z-index: 3;
}
.service_cnp05 .wrap01 .ttl {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
}
.service_cnp05 .wrap01 .ttl span {
  color: #53b9ff;
}
.service_cnp05 .wrap01 .tags {
  display: flex;
  font-size: 2rem;
  font-weight: bold;
  gap: 2rem;
  justify-content: center;
  margin-top: 2.5rem;
}
.service_cnp05 .wrap01 .tags .tag {
  border: solid .1rem;
  padding: .8rem 2rem;
}
.service_cnp05 .wrap01 .desc {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: calc(26/16);
  margin-top: 2.5rem;
}
@media screen and (max-width:768px) {
  .service_cnp05 {
    padding: 8rem 0 0;
  }
  .service_cnp05 .bg {
    background-size: cover;
    height: calc(100% - 8rem);
    top: 8rem;
    width: 100%;
  }
  .service_cnp05 .shadow {
    height: calc(100% - 8rem);
    top: 8rem;
  }
  .service_cnp05 .wrap01 {
    height: auto;
    padding: 4rem 2rem;
  }
  .service_cnp05 .wrap01 .ttl {
    font-size: 2rem;
  }
  .service_cnp05 .wrap01 .tags {
    display: block;
    font-size: 1.4rem;
  }
  .service_cnp05 .wrap01 .tags .tag {
    padding: .8rem 1rem;
  }
  .service_cnp05 .wrap01 .tags .tag + .tag {
    margin-top: 2rem;
  }
  .service_cnp05 .wrap01 .desc {
    font-size: 1.4rem;
    margin-top: 2.5rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp06
--------------------------------------------------------------------------- */
.service_cnp06 {
  background: #fff;
  padding: 14rem 0 0;
  position: relative;
}
.service_cnp06 .wrap01 {
  align-items: center;
  border: solid .2rem #53b9ff;
  border-radius: 3rem;
  display: flex;
  flex-direction: column;
  position: relative;
  text-align: center;
}
.service_cnp06 .wrap01 .ttl {
  background: #fff;
  font-size: 2.8rem;
  font-weight: 900;
  padding: 0 2rem;
  position: relative;
  top: -2rem;
}
.service_cnp06 .wrap01 .ttl span {
  color: #006db9;
}
.service_cnp06 .wrap01 .tags {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  font-weight: 500;
  gap: 1.5rem;
  justify-content: center;
  padding-bottom: 6rem;
  padding-top: 4rem;
}
.service_cnp06 .wrap01 .tags .tag {
  border: dashed .1rem #006db9;
  border-radius: 10rem;
  color: #006db9;
  padding: 1.3rem 2rem;
}
.service_cnp06 .wrap01 .tags .tag:hover {
  background: #006db9;
  border: dashed .1rem #fff;
  color: #fff;
}
@media screen and (max-width:768px) {
  .service_cnp06 {
    padding: 8rem 2rem 0;
  }
  .service_cnp06 .wrap01 {
    border-radius: 1rem;
  }
  .service_cnp06 .wrap01 .ttl {
    font-size: 1.8rem;
    padding: 0 1rem;
  }
  .service_cnp06 .wrap01 .tags {
    gap: 1rem;
    padding: 1rem 1rem 3rem;
    padding-bottom: 3rem;
    padding-top: 1rem;
  }
  .service_cnp06 .wrap01 .tags .tag {
    padding: .8rem 1rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp07
--------------------------------------------------------------------------- */
.service_cnp07 {
  background: #fff;
  padding: 13rem 0 0;
  position: relative;
}
.service_cnp07 .ttl {
  align-items: center;
  display: flex;
  gap: 1.5rem;
}
.service_cnp07 .ttl span {
  font-size: 3.6rem;
  font-weight: 900;
  white-space: nowrap;
}
.service_cnp07 .ttl::before, .service_cnp07 .ttl::after {
  background: #006db9;
  content: '';
  height: .1rem;
  width: 100%;
}
.service_cnp07 .eng {
  color: #53b9ff;
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  margin-bottom: 7rem;
  margin-top: .7rem;
  text-align: center;
}

.marquee-right {
  overflow: hidden;
}
.marquee-right ul {
  animation: marquee-right 30s linear infinite;
  display: flex;
  margin: 0;
  padding: 0;
  width: max-content;
}
.marquee-right ul li {
  width: 155rem;
}
@keyframes marquee-right {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-50%);
  }
}
.marquee-left {
  margin-top: 4rem;
  overflow: hidden;
}
.marquee-left ul {
  animation: marquee-left 30s linear infinite;
  display: flex;
  margin: 0;
  padding: 0;
  width: max-content;
}
.marquee-left ul li {
  width: 155rem;
}
@keyframes marquee-left {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0%);
  }
}
.service_cnp07 .bottom {
  display: flex;
  justify-content: center;
  margin-top: 8rem;
  position: relative;
}
/* 実績公開後削除 */
.service_cnp07 .bottom{
  display: none;
}
.service_cnp07 .bottom .btn {
  background: #fff;
  border: dashed .1rem #006db9;
  border-radius: 10rem;
  color: #006db9;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 1.3rem 2rem;
  position: relative;
}
.service_cnp07 .bottom .btn:hover {
  background: #006db9;
  border: dashed .1rem #fff;
  border-radius: 10rem;
  color: #fff;
}
.service_cnp07 .bottom::before {
  background: #006db9;
  bottom: 0;
  content: '';
  height: .1rem;
  margin: auto;
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (max-width:768px) {
  .service_cnp07 {
    padding: 8rem 0 0;
  }
  .service_cnp07 .ttl {
    gap: 1rem;
  }
  .service_cnp07 .ttl span {
    font-size: 2rem;
  }
  .service_cnp07 .eng {
    font-size: 1.6rem;
    margin-bottom: 4rem;
  }
  .service_cnp07 .bottom {
    margin-top: 4rem;
  }
  .service_cnp07 .bottom .btn {
    padding: .8rem 1rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp08
--------------------------------------------------------------------------- */
.service_cnp08 {
  background: #fff;
  padding: 9rem 0 0;
  position: relative;
}
.service_cnp08 .bnrs .bnr + .bnr {
  margin-top: 6rem;
}
.service_cnp08 .bnrs .bnr:hover {
  opacity: .7;
}
@media screen and (max-width:768px) {
  .service_cnp08 {
    padding: 6rem 2rem 0;
  }
  .service_cnp08 .bnrs .bnr + .bnr {
    margin-top: 3rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp09
--------------------------------------------------------------------------- */
.service_cnp09 {
  background: #fff;
  padding: 11.7rem 0 0;
}
.service_cnp09 .wrap01 .ttl {
  text-align: center;
}
.service_cnp09 .wrap01 .ttl .jp {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
}
.service_cnp09 .wrap01 .ttl .jp span {
  color: #006db9;
}
.service_cnp09 .wrap01 .ttl .eng {
  color: #53b9ff;
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  margin-top: .5rem;
}
.service_cnp09 .wrap01 .equipment {
  margin-top: 6rem;
}
.service_cnp09 .wrap01 .equipment ul {
  display: flex;
  gap: 8.6rem;
  justify-content: center;
  margin-top: -8rem;
  position: relative;
}
.service_cnp09 .wrap01 .equipment ul li {
  width: 16rem;
}
.service_cnp09 .wrap01 .points {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  margin-top: 8rem;
}
.service_cnp09 .wrap01 .points .point {
  border-bottom: solid .1rem #dedede;
  display: flex;
  gap: 1.6rem;
  padding: 0 0 2.5rem;
  width: calc((100% - 8rem) / 3);
}
.service_cnp09 .wrap01 .points .point .icon {
  width: 6.7rem;
}
.service_cnp09 .wrap01 .points .point dl {
  width: calc(100% - 6.7rem - 1.6rem);
}
.service_cnp09 .wrap01 .points .point dl dt {
  font-size: 1.8rem;
  font-weight: bold;
}
.service_cnp09 .wrap01 .points .point:nth-of-type(1) dl dt {
  color: #4caf50;
}
.service_cnp09 .wrap01 .points .point:nth-of-type(2) dl dt {
  color: #ef5350;
}
.service_cnp09 .wrap01 .points .point:nth-of-type(3) dl dt {
  color: #ba68c8;
}
.service_cnp09 .wrap01 .points .point:nth-of-type(4) dl dt {
  color: #fb8c00;
}
.service_cnp09 .wrap01 .points .point:nth-of-type(5) dl dt {
  color: #5c6bc0;
}
.service_cnp09 .wrap01 .points .point:nth-of-type(6) dl dt {
  color: #42a5f5;
}
.service_cnp09 .wrap01 .points .point dl dd {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(22/14);
  margin-top: 1rem;
}

@media screen and (max-width:768px) {
  .service_cnp09 {
    background: #fff;
    padding: 8rem 2rem 0;
  }
  .service_cnp09 .wrap01 .ttl .jp {
    font-size: 2rem;
  }
  .service_cnp09 .wrap01 .ttl .eng {
    font-size: 1.6rem;
  }
  .service_cnp09 .wrap01 .equipment {
    margin-top: 3rem;
  }
  .service_cnp09 .wrap01 .equipment ul {
    gap: 1rem;
    margin-top: -5rem;
    padding: 0 1rem;
  }
  .service_cnp09 .wrap01 .equipment ul li {
    width: 10em;
  }
  .service_cnp09 .wrap01 .points {
    gap: 2rem;
    margin-top: 3rem;
  }
  .service_cnp09 .wrap01 .points .point {
    gap: 1.4rem;
    padding: 0 0 2.5rem;
    width: 100%;
  }
  .service_cnp09 .wrap01 .points .point .icon {
    width: 5rem;
  }
  .service_cnp09 .wrap01 .points .point dl {
    width: calc(100% - 5rem - 1.4rem);
  }
  .service_cnp09 .wrap01 .points .point dl dd {
    margin-top: .6rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp10
--------------------------------------------------------------------------- */
.service_cnp10 {
  background: #fff;
  padding: 11.7rem 0 0;
}
.service_cnp10 .wrap01 .ttl {
  text-align: center;
}
.service_cnp10 .wrap01 .ttl .jp {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
}
.service_cnp10 .wrap01 .ttl .jp span {
  color: #006db9;
}
.service_cnp10 .wrap01 .ttl .eng {
  color: #53b9ff;
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  margin-top: .5rem;
}
.service_cnp10 .flex {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
}
.service_cnp10 .flex .img {
  width: 45rem;
}
.service_cnp10 .flex .txt {
  width: 51.7rem;
}
.service_cnp10 .flex .txt dl + dl {
  margin-top: 4rem;
}
.service_cnp10 .flex .txt dl dt {
  color: #006db9;
  font-size: 2.4rem;
  font-weight: bold;
}
.service_cnp10 .flex .txt dl dd {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
  margin-top: 1rem;
}


@media screen and (max-width:768px) {
  .service_cnp10 {
    background: #fff;
    padding: 8rem 2rem 0;
  }
  .service_cnp10 .wrap01 .ttl .jp {
    font-size: 2rem;
  }
  .service_cnp10 .wrap01 .ttl .eng {
    font-size: 1.6rem;
  }
  .service_cnp10 .flex {
    display: block;
    margin-top: 3rem;
  }
  .service_cnp10 .flex .img {
    width: 100%;
  }
  .service_cnp10 .flex .txt {
    margin-top: 2rem;
    width: 100%;
  }
  .service_cnp10 .flex .txt dl + dl {
    margin-top: 3rem;
  }
  .service_cnp10 .flex .txt dl dt {
    font-size: 2rem;
  }
}
/* ---------------------------------------------------------------------------
//  service_cnp11
--------------------------------------------------------------------------- */
.service_cnp11 {
  background: #fff;
  padding: 11.7rem 0 0;
}
.service_cnp11 .wrap01 .ttl {
  text-align: center;
}
.service_cnp11 .wrap01 .ttl .jp {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: calc(49/36);
}
.service_cnp11 .wrap01 .ttl .jp span {
  color: #006db9;
}
.service_cnp11 .wrap01 .ttl .eng {
  color: #53b9ff;
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  margin-top: .5rem;
}
.service_cnp11 .wrap01 .sub {
  color: #53b9ff;
  font-size: 3.6rem;
  font-weight: 900;
  margin-top: 6rem;
  text-align: center;
}
.service_cnp11 .wrap01 .examples {
  display: flex;
  gap: 4rem;
  margin-top: 3.5rem;
}
.service_cnp11 .wrap01 .examples .example {
  border: solid .3rem #53b9ff;
  border-radius: 3rem;
  padding: 4rem 3rem;
  width: calc((100% - 4rem) / 2);
}
.service_cnp11 .wrap01 .examples .example .head {
  align-items: flex-end;
  border-bottom: solid .1rem #dedede;
  display: flex;
  justify-content: space-between;
  padding-bottom: 1rem;
}
.service_cnp11 .wrap01 .examples .example .head .subsub .eng {
  display: block;
  height: 4.5rem;
}
.service_cnp11 .wrap01 .examples .example:nth-of-type(1) .head .subsub .eng img {
  width: 22.4rem;
}
.service_cnp11 .wrap01 .examples .example:nth-of-type(2) .head .subsub .eng img {
  width: 19.4rem;
}
.service_cnp11 .wrap01 .examples .example .head .subsub .jp {
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
}
.service_cnp11 .wrap01 .examples .example .head .price {
  font-size: 1.6rem;
  font-weight: bold;
}
.service_cnp11 .wrap01 .examples .example .head .price span {
  display: inline-block;
  font-size: 3.9rem;
  margin: 0 0 0 .5rem;
}
.service_cnp11 .wrap01 .examples .example .sup {
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 1rem;
  text-align: right;
}
.service_cnp11 .wrap01 .examples .example dl {
  margin-top: 6rem;
}
.service_cnp11 .wrap01 .examples .example dl dt {
  font-size: 1.8rem;
  font-weight: bold;
}
.service_cnp11 .wrap01 .examples .example dl dd .icons {
  display: flex;
  margin-top: 2rem;
}
.service_cnp11 .wrap01 .examples .example dl dd .icons .icon {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  width: calc(100% / 6);
}
.service_cnp11 .wrap01 .examples .example dl dd .icons .icon01 {
  color: #008a62;
}
.service_cnp11 .wrap01 .examples .example dl dd .icons .icon02 {
  color: #ae1a1a;
}
.service_cnp11 .wrap01 .examples .example dl dd .icons .icon03 {
  color: #bf5a8c ;
}
.service_cnp11 .wrap01 .examples .example dl dd .icons .icon04 {
  color: #c57d00;
}
.service_cnp11 .wrap01 .examples .example dl dd .icons .icon05 {
  color: #514e9e;
}
.service_cnp11 .wrap01 .examples .example dl dd .icons .icon06 {
  color: #1b3689;
}
.service_cnp11 .wrap01 .examples .example dl dd .icons .icon img {
  width: 5.7rem;
}
.service_cnp11 .wrap01 .examples .example dl dd .icons .icon span {
  font-size: .9rem;
  white-space: nowrap;
}

.service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment {
  display: flex;
  justify-content: space-between;
  padding: 2.5rem 0;
}
.service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment + .equipment {
  border-top: solid .1rem #dedede;
}
.service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment .img {
  padding: 0 1rem;
  width: 7rem;
}
.service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment .txt {
  width: 36rem;
}
.service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment .txt .subsubsub {
  font-size: 1.6rem;
  font-weight: bold;
}
.service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment .txt .desc {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(26/14);
  margin-top: .6rem;
}
.service_cnp11 .wrap01 .border_txt {
  border: solid .5rem #dedede;
  border-radius: 2rem;
  display: flex;
  gap: 12rem;
  margin-top: 4.5rem;
  padding: 4.5rem 7.5rem;
}
.service_cnp11 .wrap01 .border_txt dt {
  font-size: 1.8rem;
  font-weight: bold;
}
.service_cnp11 .wrap01 .border_txt dd {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(30/16);
}
@media screen and (max-width:768px) {
  .service_cnp11 {
    background: #fff;
    padding: 8rem 2rem 0;
  }
  .service_cnp11 .wrap01 .ttl .jp {
    font-size: 2rem;
  }
  .service_cnp11 .wrap01 .ttl .eng {
    font-size: 1.6rem;
  }
  .service_cnp11 .wrap01 .sub {
    font-size: 2rem;
    margin-top: 3rem;
  }
  .service_cnp11 .wrap01 .examples {
    flex-wrap: wrap;
    gap: 3rem;
    margin-top: 3rem;
  }
  .service_cnp11 .wrap01 .examples .example {
    border-radius: 1rem;
    padding: 3rem 2rem;
    width: 100%;
  }
  .service_cnp11 .wrap01 .examples .example .head {
    align-items: center;
    flex-direction: column;
    text-align: center;
  }
  .service_cnp11 .wrap01 .examples .example .head .subsub .eng {
    height: calc(4.5rem * .7);
  }
  .service_cnp11 .wrap01 .examples .example:nth-of-type(1) .head .subsub .eng img {
    width: calc(22.4rem * .7);
  }
  .service_cnp11 .wrap01 .examples .example:nth-of-type(2) .head .subsub .eng img {
    width: calc(19.4rem * .7);
  }
  .service_cnp11 .wrap01 .examples .example .head .subsub .jp {
    font-size: 1.6rem;
  }
  .service_cnp11 .wrap01 .examples .example .head .price {
    margin-top: 1rem;
  }
  .service_cnp11 .wrap01 .examples .example .sup {
    text-align: center;
  }
  .service_cnp11 .wrap01 .examples .example dl {
    margin-top: 3rem;
  }
  .service_cnp11 .wrap01 .examples .example dl dt {
    text-align: center;
  }
  .service_cnp11 .wrap01 .examples .example dl dd .icons {
    flex-wrap: wrap;
    gap: 1rem 0;
    justify-content: center;
  }
  .service_cnp11 .wrap01 .examples .example dl dd .icons .icon {
    width: calc(100% / 4);
  }
  .service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment {
    display: flex;
    justify-content: space-between;
    padding: 2.5rem 0;
  }
  .service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment + .equipment {
    border-top: solid .1rem #dedede;
  }
  .service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment .img {
    width: 5rem;
  }
  .service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment .txt {
    width: calc(100% - 5rem);
  }
  .service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment .txt .subsubsub {
    font-size: 1.4rem;
    font-weight: bold;
  }
  .service_cnp11 .wrap01 .examples .example dl dd .equipments .equipment .txt .desc {
    margin-top: 1rem;
  }
  .service_cnp11 .wrap01 .border_txt {
    align-items: center;
    border: solid .3rem #dedede;
    border-radius: 1rem;
    flex-direction: column;
    gap: 1rem;
    margin-top: 3rem;
    padding: 3rem 2rem;
  }
  .service_cnp11 .wrap01 .border_txt dt {
    font-size: 1.8rem;
    font-weight: bold;
  }
  .service_cnp11 .wrap01 .border_txt dd {
    font-size: 1.4rem;
  }
}
/* ---------------------------------------------------------------------------
//  404
--------------------------------------------------------------------------- */
.page_mv404 .wrap01 .ttl{
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
}
.notfound .btn {
  align-items: center;
  background: #006db9;
  border: solid .1rem #006db9;
  border-radius: .5rem;
  color: #fff;
  display: flex;
  height: 4.1rem;
  justify-content: center;
  margin: 0 auto;
  width: 16.3rem;
}
.notfound .btn:hover {
  background: #fff;
  color: #006db9;
}