@charset "utf-8";
/*------------------------------------------------------
loading
------------------------------------------------------*/
.cmshtml #loading {
  background-color: #293962;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999999;
  transition: all 1s ease;
}
.cmshtml #loading.finished {
  height: 0;
  opacity: 0.9;
  pointer-events: none;
}
/*------------------------------------------------------
mv
------------------------------------------------------*/
.cmshtml .p_mv {
  position: relative;
}
.cmshtml .p_mv__inner {
  position: relative;
}
/*--------------------------------*/
.cmshtml #p_mv__slide {
  height: 916px;
  overflow: hidden;
}
.cmshtml #p_mv__slide div {
  height: 100%;
}
@media screen and (max-width: 1450px) {
  .cmshtml #p_mv__slide {
    height: 800px;
  }
}
@media screen and (max-width: 1200px) {
  .cmshtml #p_mv__slide {
    height: 700px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml #p_mv__slide {
    height: 620px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml #p_mv__slide {
    height: 480px;
  }
}
@media screen and (max-width: 450px) {
  .cmshtml #p_mv__slide {
    height: 360px;
  }
}
/*--------------------------------*/
.cmshtml .p_mv__catchcopy {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 70px 3.7% 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}
.cmshtml .p_mv__catchcopy::before {
  background: linear-gradient(45deg, #fff, rgba(23, 86, 158, 0.87), #022551, rgba(8, 74, 158, 0.29) 50%, transparent);
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  opacity: 0.4;
}
.cmshtml .p_catchcopy__text, .cmshtml .p_catchcopy__text a {
  color: #fff;
}
.cmshtml .p_catchcopy__text {
  font-weight: 600;
  position: relative;
}
.cmshtml .p_catchcopy__text-sub {
  font-size: 47px;
}
.cmshtml .p_catchcopy__text-main {
  font-size: 90px;
  padding-right: 115px;
  padding-bottom: 25px;
  position: relative;
  z-index: 1;
}
.cmshtml .p_catchcopy__text-main:before {
  background-image: url("../img/mv_catch_deco.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;
  content: "";
  display: block;
  width: 204px;
  height: 121px;
  margin: auto;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  transition: all 0.3s;
}
@media screen and (max-width: 1450px) {
  .cmshtml .p_catchcopy__text-sub {
    font-size: 30px;
  }
  .cmshtml .p_catchcopy__text-main {
    font-size: 60px;
    padding-right: 115px;
    padding-bottom: 25px;
  }
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_mv__catchcopy {
    padding: 20px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_catchcopy__text-sub {
    font-size: 20px;
  }
  .cmshtml .p_catchcopy__text-main {
    font-size: 40px;
    padding-right: 80px;
    padding-bottom: 25px;
  }
  .cmshtml .p_catchcopy__text-main:before {
    width: 150px;
    height: 121px;
  }
}
@media screen and (max-width: 450px) {
  .cmshtml .p_catchcopy__text-sub {
    font-size: 18px;
  }
  .cmshtml .p_catchcopy__text-main {
    font-size: 30px;
  }
}
/*--------------------------------*/
.cmshtml .p_catch-slider {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10;
  overflow: hidden;
}
.cmshtml .p_catch-slider__track {
  display: flex;
  width: max-content;
  animation: slide 20s linear infinite;
}
.cmshtml .p_slider__item {
  flex-shrink: 0;
}
.cmshtml .p_slider__item img {
  width: min(1920px, 150vw);
  height: auto;
  display: block;
}
@keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
/*------------------------------------------------------
about
------------------------------------------------------*/
.cmshtml .p_about {
  padding: 0px 4%;
}
.cmshtml .p_about:before, .cmshtml .p_about:after {
  background-color: #002C7B;
  content: "";
  display: block;
  width: 14.2%;
  height: 76%;
  margin: auto;
  position: absolute;
  z-index: 10;
  pointer-events: none;
}
.cmshtml .p_about:before {
  clip-path: polygon(0 0, 100% 0, 0 100%);
  left: 0;
  top: 0;
}
.cmshtml .p_about:after {
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_about:before, .cmshtml .p_about:after {
    width: 8%;
    height: 50%;
  }
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_about:before, .cmshtml .p_about:after {
    width: 4%;
    height: 40%;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_about {
    padding: 60px 8%;
  }
  .cmshtml .p_about:before, .cmshtml .p_about:after {
    width: 8%;
    height: 10%;
  }
}
/*--------------------------------*/
.cmshtml .p_about__inner {
  align-items: center;
  justify-content: space-between;
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.cmshtml .p_about__inner:before, .cmshtml .p_about__inner:after {
  background-color: #EB1428;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  z-index: 10;
  transition: all 0.3s;
  pointer-events: none;
}
.cmshtml .p_about__inner:before {
  width: 24px;
  height: 45%;
  left: 0;
  top: 0;
  transform: skewX(-22deg);
  transform-origin: left bottom;
}
.cmshtml .p_about__inner:after {
  width: 1px;
  height: 36%;
  left: 50%;
  bottom: 0%;
  transform: skewX(-22deg);
  transform-origin: top right;
}
.cmshtml .p_about__inner > div:nth-child(1) {
  width: 50%;
}
.cmshtml .p_about__inner > div:nth-child(2) {
  width: 45%;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_about__inner:before {
    width: 12px;
    left: 2%;
    transform: skewX(-11deg);
  }
  .cmshtml .p_about__inner:after {
    transform: skewX(-11deg);
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_about__inner {
    flex-direction: column-reverse;
  }
  .cmshtml .p_about__inner > div:nth-child(1), .cmshtml .p_about__inner > div:nth-child(2) {
    width: 100%;
    max-width: none;
  }
  .cmshtml .p_about__inner:before, .cmshtml .p_about__inner:after {
    display: none;
  }
}
/*--------------------------------*/
.cmshtml .p_about__imgbox {
  max-width: 650px;
  padding: 172px 0 125px;
  overflow: hidden;
}
.cmshtml .p_about__img-frame {
  padding-bottom: 165px;
  position: relative;
  overflow: hidden;
}
.cmshtml .p_about__img-frame:after {
  background: linear-gradient(to top, #002B7A, rgba(255, 255, 255, 0.5));
  content: "";
  display: block;
  width: 40%;
  height: 75%;
  margin: auto;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: auto;
  transform-origin: top right;
  transform: skewX(-22deg);
  transition: all 1s;
}
.cmshtml .p_about__img {
  position: relative;
}
.cmshtml .p_about__img:before, .cmshtml .p_about__img:after {
  background-color: #F5F5F5;
  content: "";
  display: block;
  width: 30%;
  height: 101%;
  margin: auto;
  position: absolute;
  z-index: 0;
  transition: all 0.3s;
  pointer-events: none;
  transform: skewX(-22deg);
}
.cmshtml .p_about__img:before {
  left: -1px;
  top: -1px;
  transform-origin: top right;
}
.cmshtml .p_about__img:after {
  right: -1px;
  bottom: -1px;
  transform-origin: bottom left;
}
@media screen and (min-width: 1001px) {
  .cmshtml .p_about__img-frame:after {
    transform: translate(-50%, 50%) skewX(-22deg);
  }
  .cmshtml .p_about__imgbox.scrollin .p_about__img-frame:after {
    transform: translate(0%, 0%) skewX(-22deg);
  }
  .cmshtml .p_about__img {
    transform: translate(50%, -50%);
    transition: all 1s;
  }
  .cmshtml .p_about__imgbox.scrollin .p_about__img {
    transform: translate(0%, 0%);
  }
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_about__imgbox {
    padding: 100px 0;
  }
  .cmshtml .p_about__img-frame {
    padding-bottom: 100px;
  }
  .cmshtml .p_about__img:before, .cmshtml .p_about__img:after {
    width: 15%;
  }
  .cmshtml .p_about__img:before, .cmshtml .p_about__img:after, .cmshtml .p_about__img-frame:after {
    transform: skewX(-11deg);
  }
}
@media screen and (max-width: 1500px) and (min-width: 1001px) {
  .cmshtml .p_about__img-frame:after {
    transform: translate(-50%, 105%) skewX(-11deg);
  }
  .cmshtml .p_about__imgbox.scrollin .p_about__img-frame:after {
    transform: translate(0%, 0%) skewX(-11deg);
  }
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_about__imgbox {
    padding: 60px 0;
  }
  .cmshtml .p_about__img-frame {
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_about__imgbox {
    padding: 0;
  }
}
/*--------------------------------*/
.cmshtml .p_about__content {
  max-width: 487px;
  padding: 30px 0;
  position: relative;
}
.cmshtml .p_about .c_title_box {
  justify-content: flex-start;
  margin-bottom: 35px;
}
.cmshtml .p_about__title.c_title-main {
  color: #293962;
}
@media screen and (min-width: 1451px) {
  .cmshtml .p_about__title.c_title-main {
    font-size: 40px;
  }
}
.cmshtml .p_about__title.c_title-sub {
  color: #293962;
}
.cmshtml .p_about__catch {
  color: #293962;
  font-size: 40px;
  font-weight: 600;
  margin-bottom: 20px;
}
.cmshtml .p_about__text {
  color: #293962;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 35px;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_about .c_title_box {
    margin-bottom: 20px;
  }
  .cmshtml .p_about__catch {
    font-size: 30px;
  }
  .cmshtml .p_about__text {
    font-size: 16px;
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_about__catch {
    font-size: 24px;
  }
  .cmshtml .p_about__text {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_about__content {
    padding: 0 0 30px;
  }
  .cmshtml .p_about__catch {
    font-size: 20px;
  }
  .cmshtml .p_about__text {
    font-size: 14px;
  }
  .cmshtml .p_about__link {
    text-align: right;
  }
}
/*------------------------------------------------------
service
------------------------------------------------------*/
.cmshtml .p_service {
  margin-bottom: 110px;
}
.cmshtml .p_service_catch {
  margin-bottom: 100px;
}
.cmshtml .p_service__inner {
  max-width: 1610px;
  width: 96%;
  margin-left: auto;
  align-items: flex-start;
  justify-content: space-between;
}
.cmshtml .p_service__inner > div:nth-child(1) {
  width: 45%;
}
.cmshtml .p_service__inner > div:nth-child(2) {
  width: 50%;
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_service_catch {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_service {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_service__inner {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .cmshtml .p_service__inner > div:nth-child(1), .cmshtml .p_service__inner > div:nth-child(2) {
    width: 100%;
  }
}
/*--------------------------------*/
.cmshtml .p_service__content {
  padding-top: 20px;
  max-width: 600px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .cmshtml .p_service__content {
    padding: 0 20px;
    margin: 0 auto 30px;
  }
}
/*--------------------------------*/
.cmshtml .p_service .c_title_box {
  justify-content: flex-start;
}
.cmshtml .p_service__link {
  color: #293962;
  font-size: 40px;
  font-weight: 600;
  margin-bottom: 35px;
}
.cmshtml .p_service__link a {
  display: inline-block;
  color: #293962;
  text-decoration: none;
  padding-right: 85px;
  position: relative;
  transition: all 0.3s;
}
.cmshtml .p_service__link a:hover {
  color: #EB1428;
}
.cmshtml .p_service__link a:before {
  border: 2px solid #00024B;
  border-radius: 50%;
  content: "";
  display: block;
  width: 45px;
  height: 45px;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: auto;
  transition: all 0.3s;
}
.cmshtml .p_service__link a:after {
  border-top: 2px solid #00024B;
  border-right: 2px solid #00024B;
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  z-index: auto;
  transition: all 0.3s;
  transform: rotate(45deg);
}
.cmshtml .p_service__link a:hover:before, .cmshtml .p_service__link a:hover:after {
  border-color: #EB1428;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_service__link {
    font-size: 30px;
  }
  .cmshtml .p_service__link a {
    padding-right: 50px;
  }
  .cmshtml .p_service__link a:before {
    width: 35px;
    height: 35px;
  }
  .cmshtml .p_service__link a:after {
    right: 15px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_service__link {
    font-size: 22px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .cmshtml .p_service__link a:before {
    width: 25px;
    height: 25px;
  }
  .cmshtml .p_service__link a:after {
    right: 10px;
    width: 7px;
    height: 7px;
  }
}
/*--------------------------------*/
.cmshtml .p_service__list {
  list-style: none;
  counter-reset: num;
  padding: 0;
  margin: 0;
}
.cmshtml .p_service__item {
  color: #293962;
  font-weight: 600;
  border-bottom: 1px solid #DCDCDC;
  font-size: 24px;
  position: relative;
  counter-increment: num;
}
.cmshtml .p_service__item::before {
  content: counter(num);
  color: #EB1428;
  font-size: 24px;
  font-weight: 600;
  display: flex;
  align-items: center;
  height: 100%;
  margin: auto;
  position: absolute;
  left: 20px;
  top: 0;
  z-index: 5;
}
.cmshtml .p_service__item a {
  display: block;
  color: #293962;
  text-decoration: none;
  padding: 20px 40px 20px 80px;
  position: relative;
  transition: all 0.3s;
}
.cmshtml .p_service__item a:hover {
  background: #FAFAFB;
  color: #EB1428;
}
.cmshtml .p_service__item a:after {
  border-top: 2px solid #00024B;
  border-right: 2px solid #00024B;
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  z-index: 5;
  transition: all 0.3s;
  transform: rotate(45deg);
}
.cmshtml .p_service__item a:hover:after {
  border-color: #EB1428;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_service__item {
    font-size: 18px;
  }
  .cmshtml .p_service__item::before {
    font-size: 18px;
    left: 20px;
  }
  .cmshtml .p_service__item a {
    padding: 15px 35px 15px 50px;
  }
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_service__item {
    font-size: 16px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_service__item a {
    padding: 10px 25px 10px 40px;
  }
  .cmshtml .p_service__item::before {
    left: 14px;
  }
  .cmshtml .p_service__item a:after {
    border-width: 1px;
    width: 7px;
    height: 7px;
    right: 12px;
  }
}
/*--------------------------------*/
.cmshtml .p_service__imgbox {
  padding: 33px 0 90px 33px;
  max-width: 762px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_service__imgbox {
    padding: 15px 0 30px 15px;
    max-width: 94%;
    margin-left: auto;
  }
}
/*--------------------------------*/
.cmshtml .p_service__img {
  height: 811px;
  overflow: hidden;
}
.cmshtml .p_service__img img {
  display: block;
}
@media screen and (min-width: 769px) {
  .cmshtml .p_service__img img {
    opacity: 0;
    transform: scale(1.05);
    animation-delay: .8s;
  }
  .cmshtml .scrollin .p_service__img img {
    animation: imgShow 2s ease forwards;
    animation-delay: 1s;
  }
}
@keyframes imgShow {
  0% {
    opacity: 0;
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_service__img {
    height: 550px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_service__img {
    height: 480px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_service__img {
    height: 250px;
  }
}
/*--------------------------------*/
.cmshtml .p_service__imgbox:before, .cmshtml .p_service__imgbox:after {
  background-color: #EB1428;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  z-index: 5;
  transform-origin: left bottom;
  transform: skewX(-22deg);
  transition-delay: 1s;
}
.cmshtml .p_service__imgbox:before {
  width: 13px;
  height: 308px;
  left: 0;
  top: 0;
}
.cmshtml .p_service__imgbox:after {
  width: 24px;
  height: 409px;
  right: 68px;
  bottom: 0;
}
@media screen and (min-width: 769px) {
  .cmshtml .p_service__imgbox:before, .cmshtml .p_service__imgbox:after {
    opacity: 0;
  }
  .cmshtml .p_service__imgbox.scrollin:before, .cmshtml .p_service__imgbox.scrollin:after {
    opacity: 1;
  }
}
.cmshtml .p_service__img:before, .cmshtml .p_service__img:after {
  background-color: #fff;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  z-index: 2;
  pointer-events: none;
  transform: skewX(-22deg);
}
.cmshtml .p_service__img:before {
  width: 92px;
  height: 300px;
  left: -20px;
  top: 0px;
}
.cmshtml .p_service__img:after {
  width: 92px;
  height: 242px;
  right: -60px;
  bottom: 0%;
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_service__imgbox:before {
    width: 8px;
    height: 160px;
  }
  .cmshtml .p_service__img:before {
    width: 58px;
    height: 160px;
  }
  .cmshtml .p_service__imgbox:after {
    width: 12px;
    height: 230px;
  }
  .cmshtml .p_service__img:after {
    height: 210px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_service_catch {
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_service_catch {
    margin: 20px auto 50px;
  }
}
/*--------------------------------*/
@media screen and (min-width: 769px) {
  .cmshtml .p_service__cover {
    background: #002C7B;
    inset: 0;
    position: absolute;
    z-index: 10;
    transform: scaleX(0);
    transform-origin: center;
  }
  .cmshtml .scrollin .p_service__cover {
    animation: bgReveal 2s ease forwards;
  }
}
@keyframes bgReveal {
  0% {
    transform: scaleX(0);
  }
  50% {
    transform: scaleX(1);
    opacity: 1;
  }
  100% {
    transform: scaleX(1);
    opacity: 0;
  }
}
/*------------------------------------------------------
product
------------------------------------------------------*/
.cmshtml .p_product {
  margin: 0 auto 130px;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_product {
    margin: 0 auto 100px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_product {
    margin: 0 auto 50px;
  }
}
/*--------------------------------*/
.cmshtml .p_product__inner {
  position: relative;
}
.cmshtml .p_product__inner:before {
  background: #002C7B;
  content: "";
  display: block;
  max-width: 1326px;
  width: 94%;
  height: 58%;
  margin: auto;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  transition: all 0.3s;
}
.cmshtml .p_product__content {
  max-width: 1300px;
  width: 70%;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_product__inner:before {
    width: 98%;
  }
  .cmshtml .p_product__content {
    width: 92%;
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_product__inner:before {
    width: 100%;
    height: 100%;
  }
  .cmshtml .p_product__content {
    display: flex;
    flex-direction: column-reverse;
    padding: 30px 0 0;
  }
  .cmshtml .p_product__content > div {
    width: 100%;
  }
}
/*--------------------------------*/
.cmshtml .p_product__image-list {
  position: relative;
}
.cmshtml .p_product__image-list > div {
  width: calc(25% - 10px);
  margin: 0 5px;
}
.cmshtml .p_product__img {
  height: 457px;
  position: relative;
  transform: skewX(-22deg);
  overflow: hidden;
}
.cmshtml .p_product__img:after {
  background: linear-gradient(to top, rgba(0, 43, 122, 0.8), transparent);
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  transition: all 0.3s;
  pointer-events: none;
}
.cmshtml .p_product__img img {
  transform: skewX(22deg) scale(1.7);
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_product__img {
    height: 350px;
    transform: skewX(-11deg);
  }
  .cmshtml .p_product__img img {
    transform: skewX(11deg) scale(1.7);
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_product__image-list {
    margin-bottom: 30px;
  }
  .cmshtml .p_product__img {
    height: 250px;
    transform: none;
  }
  .cmshtml .p_product__img img {
    transform: none;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_product__image-list > div {
    width: calc(50% - 10px);
    margin: 0 5px 10px;
  }
  .cmshtml .p_product__img {
    border: 1px solid #ccc;
    height: auto;
  }
}
/*--------------------------------*/
.cmshtml .p_product__body {
  align-items: flex-start;
  flex-flow: nowrap;
  max-width: 885px;
  width: 100%;
  margin-left: auto;
  position: relative;
  transform: translateY(-90px);
}
.cmshtml .p_product__body > div:nth-child(2) {
  width: calc(100% - 328px);
}
.cmshtml .p_product__body, .cmshtml .p_product__body a {
  color: #fff;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_product__body {
    transform: translateY(-40px);
  }
}
@media screen and (max-width: 1450px) {
  .cmshtml .p_product__body > div:nth-child(2) {
    width: calc(100% - 266px);
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_product__body {
    transform: none;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_product__body {
    display: block;
    margin-bottom: 30px;
  }
  .cmshtml .p_product__body > div:nth-child(2) {
    width: auto;
  }
}
/*--------------------------------*/
.cmshtml .p_product .c_title_box {
  max-width: 328px;
}
.cmshtml .p_product__title.c_title-main {
  color: #fff;
}
.cmshtml .p_product__title.c_title-sub {
  color: #fff;
}
@media screen and (max-width: 1450px) {
  .cmshtml .p_product .c_title_box {
    max-width: 266px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_product .c_title_box {
    width: auto;
    max-width: none;
    margin-bottom: 20px;
  }
}
/*--------------------------------*/
.cmshtml .p_product__layout {
  padding-left: 7%;
  max-width: 557px;
  position: relative;
  z-index: 5;
}
.cmshtml .p_product__text {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 35px;
  position: relative;
  z-index: 5;
}
.cmshtml .p_product__link {
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_product__text {
    font-size: 16px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_product__text {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_product__layout {
    padding-left: 0;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
  .cmshtml .p_product__link {
    text-align: right;
  }
}
/*--------------------------------*/
.cmshtml .p_product .p_catch-slider {
  margin-top: 130px;
  position: relative;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_product .p_catch-slider {
    margin-top: 100px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_product .p_catch-slider {
    margin-top: 50px;
  }
}
/*------------------------------------------------------
info
------------------------------------------------------*/
.cmshtml .p_info {
  padding: 120px 8%;
}
.cmshtml .p_info:before {
  background: linear-gradient(to bottom, #002C7B, transparent);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  content: "";
  display: block;
  width: 7%;
  height: 100%;
  margin: auto;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  transition: all 0.3s;
}
.cmshtml .p_info:after {
  background-color: #EB1428;
  content: "";
  display: block;
  width: 24px;
  height: 220px;
  margin: auto;
  position: absolute;
  right: 60px;
  bottom: 0;
  z-index: 0;
  transition: all 0.3s;
  transform-origin: left bottom;
  transform: skewX(-22deg);
}
@media screen and (max-width: 1450px) {
  .cmshtml .p_info {
    padding: 90px 8%;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_info {
    padding: 60px 4% 60px 8%;
  }
  .cmshtml .p_info:after {
    width: 10px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_info {
    padding: 60px 4%;
  }
  .cmshtml .p_info:before {
    width: 20%;
    height: 50%;
  }
  .cmshtml .p_info:after {
    width: 4px;
    height: 100px;
    right: 20px;
  }
}
@media screen and (max-width: 450px) {
  .cmshtml .p_info {
    padding: 40px 0;
  }
}
/*--------------------------------*/
.cmshtml .p_info__inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}
.cmshtml .p_info__inner > div:nth-child(1) {
  max-width: 244px;
}
.cmshtml .p_info__inner > div:nth-child(2) {
  width: calc(100% - 244px);
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_info__inner > div:nth-child(2) {
    width: calc(100% - 200px);
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_info__inner {
    display: block;
  }
  .cmshtml .p_info__inner > div:nth-child(1), .cmshtml .p_info__inner > div:nth-child(2) {
    width: auto;
    max-width: none;
  }
}
/*--------------------------------*/
.cmshtml .p_info__heading-title {
  margin-bottom: 35px;
}
.cmshtml .p_info__link {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .cmshtml .p_info__heading, .cmshtml .p_info__heading-title {
    margin-bottom: 20px;
  }
}
/*--------------------------------*/
.cmshtml .p_info__scnews {
  position: relative;
  overflow: auto;
  padding-left: 9%;
  padding-right: 15px;
}
.cmshtml .p_info__column {
  border-bottom: 1px solid #293962;
  flex-flow: nowrap;
  padding: 15px 40px;
  position: relative;
  transition: all 0.3s;
}
.cmshtml .p_info__column:hover {
  background: #fff;
}
.cmshtml .p_info__column:before {
  border-top: 2px solid #00024B;
  border-right: 2px solid #00024B;
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  z-index: auto;
  transition: all 0.3s;
  transform: rotate(45deg);
}
.cmshtml .p_info__date {
  color: #293962;
  font-size: 17px;
  font-weight: 500;
  max-width: 75px;
  min-width: 72px;
  transition: all 0.3s;
}
.cmshtml .p_info__txt {
  color: #293962;
  font-size: 17px;
  font-weight: 500;
  margin-left: 40px;
  transition: all 0.3s;
}
.cmshtml .p_info__column:hover:before {
  border-color: #EB1428;
}
.cmshtml .p_info__column:hover .p_info__date, .cmshtml .p_info__column:hover .p_info__txt {
  color: #EB1428;
}
@media screen and (max-width: 1450px) {
  .cmshtml .p_info__scnews {
    padding-left: 4%;
  }
  .cmshtml .p_info__column {
    padding-left: 20px;
  }
  .cmshtml .p_info__date, .cmshtml .p_info__txt {
    font-size: 16px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_info__column {
    padding: 10px 40px 10px 10px;
  }
  .cmshtml .p_info__column:before {
    border-width: 1px;
    width: 7px;
    height: 7px;
    right: 15px;
  }
  .cmshtml .p_info__date, .cmshtml .p_info__txt {
    font-size: 14px;
  }
  .cmshtml .p_info__txt {
    margin-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_info__scnews {
    padding-left: 15px;
  }
  .cmshtml .p_info__column {
    display: block;
    padding: 6px 24px 6px 10px;
  }
  .cmshtml .p_info__date {
    min-width: 1px;
    max-width: none;
  }
  .cmshtml .p_info__txt {
    margin-left: 0;
  }
}
/*------------------------------------------------------
recruit
------------------------------------------------------*/
.cmshtml .p_recruit {
  margin: 110px auto;
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_recruit {
    margin: 60px auto;
  }
}
/*--------------------------------*/
.cmshtml .p_recruit__inner {
  max-width: 1610px;
  width: 96%;
  align-items: flex-start;
  justify-content: space-between;
}
.cmshtml .p_recruit__inner > div:nth-child(1) {
  width: 50%;
}
.cmshtml .p_recruit__inner > div:nth-child(2) {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .cmshtml .p_recruit__inner {
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .cmshtml .p_recruit__inner > div:nth-child(1), .cmshtml .p_recruit__inner > div:nth-child(2) {
    width: 100%;
  }
}
/*--------------------------------*/
.cmshtml .p_recruit__imgbox {
  max-width: 757px;
  padding: 90px 30px 90px 0;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_recruit__imgbox {
    padding: 15px 30px 15px 0;
  }
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_recruit__imgbox {
    padding: 15px 30px 15px 0;
    max-width: 94%;
  }
}
/*--------------------------------*/
.cmshtml .p_recruit__img {
  /*height: 811px;*/
  overflow: hidden;
}
.cmshtml .p_recruit__img img {
  display: block;
}
@media screen and (min-width: 769px) {
  .cmshtml .p_recruit__img img {
    opacity: 0;
    transform: scale(1.05);
    animation-delay: .8s;
  }
  .cmshtml .scrollin .p_recruit__img img {
    animation: imgShow 2s ease forwards;
    animation-delay: 1s;
  }
}
/*
@media screen and (max-width: 1500px) {
  .cmshtml .p_recruit__img {
    height: 550px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_recruit__img {
    height: 480px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_recruit__img {
    height: 250px;
  }
}
*/

.cmshtml .p_recruit__img.height-full {
  height: 100%;
}

/*--------------------------------*/
.cmshtml .p_recruit__imgbox:before, .cmshtml .p_recruit__imgbox:after {
  background-color: #EB1428;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  z-index: 5;
  transform-origin: right top;
  transform: skewX(-22deg);
  transition-delay: 1s;
}
.cmshtml .p_recruit__imgbox:before {
  width: 21px;
  height: 379px;
  left: -57px;
  top: 0;
  transform-origin: left bottom;
}
.cmshtml .p_recruit__imgbox:after {
  width: 11px;
  height: 238px;
  right: 0;
  bottom: 0;
  transform-origin: right top;
}
@media screen and (min-width: 769px) {
  .cmshtml .p_recruit__imgbox:before, .cmshtml .p_recruit__imgbox:after {
    opacity: 0;
  }
  .cmshtml .p_recruit__imgbox.scrollin:before, .cmshtml .p_recruit__imgbox.scrollin:after {
    opacity: 1;
  }
}
.cmshtml .p_recruit__img:before, .cmshtml .p_recruit__img:after {
  background-color: #fff;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  z-index: 2;
  pointer-events: none;
  transform: skewX(-22deg);
}
.cmshtml .p_recruit__img:before {
  width: 151px;
  height: 297px;
  left: -103px;
  top: 0%;
}
.cmshtml .p_recruit__img:after {
  width: 76px;
  height: 238px;
  right: -25px;
  bottom: 0%;
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_recruit__imgbox:before {
    width: 10px;
    height: 200px;
    left: -10px;
  }
  .cmshtml .p_recruit__imgbox:after {
    width: 6px;
    height: 105px;
    right: 23px;
  }
  .cmshtml .p_recruit__img:before {
    width: 121px;
  }
  .cmshtml .p_recruit__img:after {
    height: 173px;
    right: -39px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_recruit__imgbox:before {
    width: 4px;
    height: 130px;
    left: -10px;
  }
  .cmshtml .p_recruit__img:before {
    width: 90px;
  }
}
/*--------------------------------*/
@media screen and (min-width: 769px) {
  .cmshtml .p_recruit__cover {
    background: #002C7B;
    inset: 0;
    position: absolute;
    z-index: 10;
    transform: scaleX(0);
    transform-origin: center;
  }
  .cmshtml .scrollin .p_recruit__cover {
    animation: bgReveal 2s ease forwards;
  }
}
/*--------------------------------*/
.cmshtml .p_recruit__content {
  padding-top: 60px;
  max-width: 600px;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_recruit__content {
    padding-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_recruit__content {
    padding: 0 20px;
    margin: 0 auto 30px;
  }
}
/*--------------------------------*/
.cmshtml .p_recruit__content .c_title_box {
  justify-content: flex-start;
}
.cmshtml .p_recruit__catch {
  color: #293962;
  font-size: 40px;
  font-weight: 600;
  margin-bottom: 20px;
}
.cmshtml .p_recruit__text {
  color: #293962;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 35px;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_recruit__catch {
    font-size: 30px;
  }
  .cmshtml .p_recruit__text {
    font-size: 16px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_recruit__catch {
    font-size: 22px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .cmshtml .p_recruit__text {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_recruit__catch, .cmshtml .p_recruit__text {
    padding-left: 5px;
  }
}
@media screen and (max-width: 450px) {
  .cmshtml .p_recruit__catch {
    font-size: 18px;
  }
}
/*--------------------------------*/
.cmshtml .p_recruit__list {
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: num;
}
.cmshtml .p_recruit__item {
  color: #293962;
  font-weight: 600;
  border-bottom: 1px solid #DCDCDC;
  font-size: 24px;
  position: relative;
  counter-increment: num;
}
.cmshtml .p_recruit__item::before {
  content: counter(num);
  color: #EB1428;
  font-size: 24px;
  font-weight: 600;
  display: flex;
  align-items: center;
  height: 100%;
  margin: auto;
  position: absolute;
  left: 20px;
  top: 0;
  z-index: 5;
}
.cmshtml .p_recruit__item a {
  display: block;
  color: #293962;
  text-decoration: none;
  position: relative;
  padding: 20px 40px 20px 80px;
  transition: all 0.3s;
}
.cmshtml .p_recruit__item a:hover {
  background: #FAFAFB;
  color: #EB1428;
}
.cmshtml .p_recruit__item a:before {
  border-top: 2px solid #00024B;
  border-right: 2px solid #00024B;
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  z-index: auto;
  transition: all 0.3s;
  transform: rotate(45deg);
}
.cmshtml .p_recruit__item a:hover:before {
  border-color: #EB1428;
}
@media screen and (max-width: 1500px) {
  .cmshtml .p_recruit__item {
    font-size: 18px;
  }
  .cmshtml .p_recruit__item::before {
    font-size: 18px;
    left: 20px;
  }
  .cmshtml .p_recruit__item a {
    padding: 15px 35px 15px 50px;
  }
}
@media screen and (max-width: 1200px) {
  .cmshtml .p_recruit__item {
    font-size: 16px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_recruit__item a {
    padding: 10px 25px 10px 40px;
  }
  .cmshtml .p_recruit__item::before {
    left: 14px;
  }
  .cmshtml .p_recruit__item a:before {
    border-width: 1px;
    width: 7px;
    height: 7px;
    right: 12px;
  }
}
/*------------------------------------------------------
banner
------------------------------------------------------*/
.cmshtml .p_banner {
  padding: 100px 4%;
}
.cmshtml .p_banner__inner {
  background: rgba(255, 255, 255, 0.5);
  padding: 70px 20px;
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
}
.cmshtml .p_banner__img-list {
  align-items: center;
  justify-content: center;
  margin: 0 auto 40px;
}
.cmshtml .p_banner__img {
  text-align: center;
  padding: 0 40px;
}
.cmshtml .p_banner__text {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 1450px) {
  .cmshtml .p_banner__img {
    padding: 0 20px;
  }
  .cmshtml .p_banner__text {
    font-size: 16px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_banner {
    padding: 60px 4%;
  }
  .cmshtml .p_banner__inner {
    padding: 40px 20px;
  }
  .cmshtml .p_banner__img-list {
    margin: 0 auto 20px;
  }
  .cmshtml .p_banner__img {
    max-width: 300px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_banner__inner {
    background: rgba(255, 255, 255, 0.8);
  }
  .cmshtml .p_banner__img-list {
    display: block;
    margin-bottom: 40px;
  }
  .cmshtml .p_banner__img {
    max-width: 300px;
    margin: 0 auto 20px;
  }
  .cmshtml .p_banner__text {
    font-size: 14px;
  }
}
@media screen and (max-width: 450px) {
  .cmshtml .p_banner {
    padding: 30px 4%;
  }
}
/*------------------------------------------------------
calendar
------------------------------------------------------*/
.cmshtml .p_calendar {
  padding: 80px 4% 95px;
}
.cmshtml .p_calendar .c_title_box {
  margin-bottom: 40px;
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_calendar {
    padding: 60px 4%;
  }
}
@media screen and (max-width: 450px) {
  .cmshtml .p_calendar {
    padding: 40px 4%;
  }
}
/*------------------------------------------------------
info custom
------------------------------------------------------*/
.cmshtml .p_info__scnews .rdnewArticle {
  padding: 0;
  border: none;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item + .rdnewArticle-item {
  border-top: none;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item {
  border-bottom: 1px solid #DCDCDC !important;
  flex-flow: nowrap;
  padding: 15px 40px !important;
  position: relative;
  transition: all 0.3s;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item:before {
  border-top: 2px solid #00024B;
  border-right: 2px solid #00024B;
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  z-index: auto;
  transition: all 0.3s;
  transform: rotate(45deg);
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item + .rdnewArticle-item {
  border: none;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-thumbnail {}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-contWrap {
  display: flex;
  flex-flow: nowrap;
  position: initial;
  transition: all 0.3s;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-ContDate {
  max-width: 75px !important;
  min-width: 72px !important;
  position: initial;
  color: #293962;
  font-size: 17px;
  font-weight: 500;
  transition: all 0.3s;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-ContDate {
  margin-right: 0 !important;
}
.cmshtml .p_info__scnews .rdnewArticle-ContTitle {
  color: #293962;
  font-size: 17px;
  font-weight: 500;
  margin-left: 40px;
  position: initial;
  transition: all 0.3s;
}
.cmshtml .p_info__scnews .category .rdnewArticle-ContTitle {
  margin-left: 75px;
}
.cmshtml .p_info__scnews .rdnewArticle-ContLink {
  color: #293962;
  text-decoration: none;
  position: initial;
  transition: all 0.3s;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item:has(a:hover):before {
  border-color: #EB1428;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item:has(a:hover) {
  background: #fff;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item:has(a:hover) .rdnewArticle-ContDate,
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item:has(a:hover) .rdnewArticle-ContLink,
.cmshtml .p_info__scnews  .rdnewArticle .rdnewArticle-item:has(a:hover) .rdnewArticle-ContTitle {
  color: #EB1428;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item .rdnewArticle-ContEx {
  display: none;
}
.cmshtml .p_info__scnews .category .rdnewArticle .rdnewArticle-item .rdnewArticle-ContEx {
  display: block !important;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-catlist {
  margin: auto;
  position: absolute;
  left: 130px;
  top: 0;
  bottom: 0;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-catlist .rdnewArticle-catitem {
  display: inline-block;
  margin: auto;
  font-size: 14px;
  text-align: center;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-catlist .rdnewArticle-catlink {
  border-radius: 0px;
  font-size: 14px;
  font-weight: 500;
  padding: 1px 12px;
  background: #c1d4ff;
  color: #334986;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-catlist > *:nth-child(n+2) {
  display: none !important;
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-taglist {
  display: none;
}
/*-------------------------*/
@media screen and (max-width: 1450px) {
  .cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item {
    padding-left: 20px !important;
  }
  .cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-ContDate, .cmshtml  .rdnewArticle-ContTitle {
    font-size: 16px;
  }
}
@media screen and (max-width: 1000px) {
  .cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item {
    padding: 10px 40px 10px 10px !important;
  }
  .cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item:before {
    border-width: 1px;
    width: 7px;
    height: 7px;
    right: 15px;
  }
  .cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-ContDate, .cmshtml .rdnewArticle-ContTitle {
    font-size: 14px;
  }
  .cmshtml .p_info__scnews .rdnewArticle-ContTitle {
    margin-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item {
    padding: 6px 24px 6px 10px !important;
  }
  .cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-contWrap {
    display: block;
  }
  .cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-ContDate {
    min-width: 1px;
    max-width: none;
  }
  .cmshtml .p_info__scnews .rdnewArticle-ContTitle {
    margin-left: 0;
  }
}
.cmshtml .p_info__scnews .rdnewArticle .rdnewArticle-item a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}
/*=======================================================================*/