@charset "utf-8";
/* product CSS
---------------------------------- */
#product .pagettl {
  background-image: url(../img/product/pagetitle.jpg);
}
#product .pagettl:before {
  background: linear-gradient(180deg, rgba(247,247,247,1) 0%, rgba(75,89,160,1) 100%);
}
.sec-intro {
  background-color: #F7FAFF;
    padding-right: 90px;
}
@media (max-width: 1024px) {
    .sec-intro {
        padding-right: 0;
    }
}

/*---------------------------------------------
  sec-list
---------------------------------------------*/
/* 共通 ------------------------------------*/
.sec-list .cont-item {
  row-gap: 20px;
}
.sec-list .cont-item .area-txt {
  flex: 1;
}
.sec-list .cont-item .area-txt .box-ttl {
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
.sec-list .cont-item .area-txt .box-ttl .en {
  margin-bottom: 5px;
  margin-left: 0.15em;
}
@media (max-width: 480px) {
  .sec-list .cont-item .area-txt .box-ttl,
  .sec-list .cont-item .area-txt .box-desc {
    padding-left: 0;
    padding-right: 0;
  }
}

/* top-style ------------------------------------*/
/* 左右余白レイアウト */
.sec-list .top-style {
  padding-right: 90px;
}
.sec-list .top-style .cont-item:nth-of-type(odd) {
  margin-right: max(8% , 20px);
}
.sec-list .top-style .cont-item:nth-of-type(even) {
  margin-left: 8%;
}
@media (min-width: 1025px) {
  .sec-list .top-style .cont-item:nth-of-type(odd) {
    margin-left: 4%;
  }
}
@media (max-width: 1024px) {
  .sec-list .top-style {
    padding-right: 0;
  }
  .sec-list .top-style .cont-item:nth-of-type(odd) {
    margin-right: 5%;
  }
  .sec-list .top-style .cont-item:nth-of-type(even) {
    margin-left: 5%;
  }
}

/* コンテンツ内レイアウト */
.sec-list .top-style .area-img {
  width: 42%;
}
.sec-list .top-style .cont-item:nth-of-type(even) .area-img {
  order: 1;
}
.sec-list .top-style .cont-item:nth-child(1) .area-img img {
  object-position: 15%;
}
.sec-list .top-style .cont-item:nth-child(2) .area-img img {
  object-position: 66%;
}
.sec-list .top-style .area-txt {
    align-self: center;
}
.sec-list :where(.top-style .cont-item:nth-of-type(odd)) .area-txt .box-ttl,
.sec-list :where(.top-style .cont-item:nth-of-type(odd)) .area-txt .box-desc {
  padding-left: max(7.5% , 5vw);
}
.sec-list :where(.top-style .cont-item:nth-of-type(even)) .area-txt .box-ttl,
.sec-list :where(.top-style .cont-item:nth-of-type(even)) .area-txt .box-desc {
  padding-right: max(7.5% , 5vw);
}
.sec-list .top-style .area-txt .about {
  padding: 15px 20px;
  background-color: #F7FAFF;
}

@media (max-width: 1280px) {
  .sec-list .top-style .area-txt {
    padding-top: 0;
  }
  .sec-list .top-style .cont-item:nth-of-type(2) .area-txt .box-ttl .en {
    margin-bottom: 10px;
  }
}

@media (max-width: 767px) {
  .sec-list .top-style .area-img {
    width: 100%;
  }
  .sec-list .top-style .cont-item:nth-of-type(even) .area-img {
    order: 0;
  }
  .sec-list .top-style .cont-item:nth-of-type(odd) .area-txt {
    margin-left: 5%;
  }
  .sec-list .top-style .cont-item:nth-of-type(even) .area-txt {
    margin-right: 5%;
  }
  .sec-list :where(.top-style) .area-txt .box-ttl,
  .sec-list :where(.top-style) .area-txt .box-desc {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 480px) {
  .sec-list .top-style .area-txt .about {
    padding: 10px 15px;
  }
}

/* bottom-style ------------------------------------*/
.sec-list .bottom-style {
  padding-right: 90px;
}
.sec-list .bottom-style .area-img {
  width: max(30%, 220px);
  align-self: flex-start;
}
.sec-list :where(.bottom-style) .area-txt .box-ttl,
.sec-list :where(.bottom-style) .area-txt .box-desc {
  padding-left: min(6%, 50px);
}

@media (max-width: 1024px) {
  .sec-list .bottom-style {
    padding-right: 0;
  }
}
@media (max-width: 991px) {
  .sec-list .bottom-style .area-txt {
    padding-top: 0;
  }
}
@media (max-width: 640px) {
  .sec-list .bottom-style .area-img {
    width: 100%;
  }
  .sec-list .bottom-style .area-txt {
    width: 100%;
    flex: 0 1 auto;
  }
  .sec-list :where(.bottom-style) .area-txt .box-ttl,
  .sec-list :where(.bottom-style) .area-txt .box-desc {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* other-style ------------------------------------*/
.other-style {
  padding-right: 90px;
}
.other-style .btnarea {
  flex-wrap: wrap;
}
.other-style .btnarea .btn {
  flex: 1;
}
.other-style .btnarea .btn-cont {
  padding: 45px 90px 50px 40px;
}
@media (max-width: 1024px) {
  .other-style {
    padding-right: 0;
  }
}
@media (max-width: 767px) {
  .other-style .btnarea .btn {
    flex: none;
    width: 100%;
  }
}
@media (max-width: 480px) {
  .other-style .btnarea .btn-cont {
    padding: 25px 60px 25px 30px;
  }
  .other-style .btnarea .arrow {
    right: 15px;
  }
}

@media (min-width: 1281px) {
  .long-ttl-main {
    padding-left: 8px;
  }
}
