/* swiper */
.swiper {
    width: 100%;
    height: 960px;
}
.swiper-slide img {
    width: 100%;
    height: 960px;
    object-fit: cover;
}
@media(max-width: 768px) {
    .swiper {
        height: 400px;
    }

    .swiper-slide img {
        height: 400px;
    }
}

.slide_txt{
    position: absolute; 
    top: 44%; left: 50%; z-index: 100;
    transform: translate(-50%,-50%);
    width: var(--min-width);
    margin: 0 auto;
}

.slide_txt h1{
    font-size: 70px; font-weight: 400;
    line-height: 1.2; letter-spacing: -2px;
    color: var(--font-white);
    text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.5);
}
@media(max-width: 768px) {
    .slide_txt{
        top: 34%;
        width: 90%;
        margin: 0;
    }

    .slide_txt h1{
        font-size: 28px;
        line-height: 1.3; letter-spacing: 0;
    }
}
/* end: swiper */

section {
    padding: 140px 0;
}
@media(max-width: 768px) {
    section {
        padding: 80px 0;
    }
}
section h2 {
    font-size: 3em;
    font-weight: 600;
    line-height: 1.4;
}

/* about */
.section-01 {
    position: relative;
}

@media(max-width: 768px) {
    .section-01 row > div:nth-child(2) {
        margin-top: 40px;
    }
}

.section-01 p {
    margin-top: 24px;
}

.main_about_bg {
    position: absolute;
    right: 0; top: 0; z-index: -1;
    width: 650px; height: 100%;
    background-color: var(--surface);
    background-image: linear-gradient(
        280deg,
        hsl(207, 69%, 85%) 0%,
        hsl(210, 36%, 96%) 60%,
        #ffffff 100%
    );
    clip-path: polygon(45% 0, 100% 0%, 100% 100%, 0% 100%);
}

.main_tit h2 span {
    position: relative;
}
.main_tit h2 span::after{
    content: '';
    width: 110%; height: 15px;
    background-color: var(--lightblue);
    position: absolute;
    bottom: 12px; left: 0; z-index: -1;
}

.read_btn{
    margin-top: 2rem;
}
.read_btn>a{
    font-size: 18px; font-weight: 300;
    color: var(--font-black);
    padding: 0.8em 1.6em; 
    border: 1px solid var(--lightgray);
    border-radius: 5px;
    overflow: hidden;
    display: inline-block;
    position: relative;
}
.read_btn>a>.read_btn_hover{
    width: 100%; height: 100%;
    position: absolute;
    top: 0; left: 0; z-index: -1;
    transform: translate(-100% , 0);
    transition: transform 0.6s;
    background-color: var(--mainColor);
}
.read_btn>a:hover{
    color: var(--font-white); 
}
.read_btn>a:hover .read_btn_hover{
    transform: translate(0 , 0);
}
/* end: about */

/* products */
.section-02 {
    background-color: var(--surface);
    background: url(/img/main/main_products_bg.jpg) center/cover no-repeat;
}

@media(max-width: 768px) {
    .section-02 .row > div {
        margin: 48px 0;
    }
}

.section-02 h2 {
    margin-bottom: 80px;
    text-align: center;
}
@media(max-width: 768px) {
    .section-02 h2 {
        margin-bottom: 0;
    }
}

.main_products_item {
    display: inline-block;
    width: 100%;
    position: relative;
    transition: transform 0.6s;
}

.main_products_item_bg {
  position: absolute;
  bottom: 0; 
  width: 100%; height: 341px;
  background-color: #fff;
  border-radius: 10px;
}

.main_products_item_bg > img {
    width: 100%;
    opacity: 0;
    transition: opacity 0.6s, visibility 0.6s;
}

.main_products_item_img {
    width: 75%; 
    margin: auto;
    position: relative;
    transition: transform 0.6s;
    transition-delay: 0.2s;
}

.main_products_item_img > img{
    width: 100%;
    object-fit: contain;
}

.main_products_item_txt{
  margin: 40px 0 20px 0;
  position: relative;
  font-size: 28px; font-weight: 600;
  color: var(--font-black);
  text-align: center;
}
.main_products_item_txt>p{
  font-size: 18px;
  color: var(--darkgray);
}
.main_products_item .arr_btn{
  margin: 0 auto 18px auto;
}
.main_products_item:hover .main_products_item_img{
  transform: translate( 0,-20px);
}
.main_products_item:hover .main_products_item_bg{
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.16);
}
.main_products_item:hover .main_products_item_bg>img{
  opacity: 1;
  visibility: visible;
}
.main_products_item:hover .main_products_item_txt{
  color: var(--font-white);
}
.main_products_item:hover .main_products_item_txt>p{
  color: var(--font-white);
}
.main_products_item:hover >.arr_btn path{
  animation: dash 2s linear forwards reverse ;
  stroke: #fff;
  stroke-width: 2px;  
}
@keyframes dash {
  to{
    stroke-dashoffset: 300;
  }
}
/* end: products */



/* cert */
.section-03 .item-wrapper {
    display: flex;
    color: white;
}
@media(max-width: 768px) {
    .section-03 .item-wrapper {
        flex-direction: column;
    }
}

.sub-item {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    position: relative;
    height: 240px;
    flex: 1;
    padding: 30px;
}

.sub-item:nth-child(1) {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.sub-item:nth-child(2) {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

@media(max-width: 768px) {
    .sub-item:nth-child(1) {
        border-top-right-radius: 6px;
        border-bottom-right-radius: 6px;
        margin-bottom: 16px;
    }

    .sub-item:nth-child(2) {
        border-top-left-radius: 6px;
        border-bottom-left-radius: 6px;
    }
}

.section-03 .arr_btn {
    position: absolute;
    bottom: 40px; left: 30px;
}

.section-03 .arr_btn path {
    stroke: #fff;
    stroke-width: 2px;
}