@charset "utf-8";
/* ABOUT CSS
---------------------------------- */

/* --------------------------------------
sec-about
-------------------------------------- */
.sec-about .container {
  display: flex;
  padding-right: 5%;
}
.sec-about .img-area {
  width: 40%;
  background-image: url('../img/about/about_top.jpg');
  background-size: 130% auto;
  background-position: right 50%;
    position: relative;
}
.sec-about .img-area .img-square{
	width: 180px;
    height: 180px;
    position: absolute;
    top: 80%;
    right: 18%;
    display: inline-block;
}
.sec-about .img-area .img-square::before {
	content: "";
	display: block;
	width: 70px;
    height: 70px;
	background-color: #c1e4f7;
    position: absolute;
    top: 0;
    right:0;
    mix-blend-mode: multiply;
}
.sec-about .img-area .img-square::after {
	content: "";
	display: block;
	width: 120px;
    height: 120px;
	background-color: #e1e4f3;
    position: absolute;
    bottom: 0;
    left: 0;
    mix-blend-mode: multiply;
}
.sec-about .cont-wrap {
  flex: 1;
  display: flex;
}
.sec-about .common-txt-line {
  width: clamp(50px, 17.3%, 170px);
}
.sec-about .cont-area {
  flex: 1;
}
.sec-about .cont-txt {
  line-height: 2.389;
}
@media (max-width: 991px) {
  .sec-about .container {
    padding-right: 0;
  }
  .sec-about .container {
    flex-direction: column-reverse;
  }
  .sec-about .cont-area {
    padding-top: 20px;
  }
   .sec-about .img-area {
    width: 100%;
    height: 100%;
    /*min-height: 300px;*/
    background-image: url('../img/about/about_top.jpg');
    background-position: bottom left;
    background-size: contain;
    aspect-ratio: 2 / 1;
  }

    .sec-about .img-area .img-square{
        width: 120px;
        height: 120px;
        top: -70px;
        right: 0;
    }
    .sec-about .img-area .img-square::before {
        width: 40px;
        height: 40px;
    }
    .sec-about .img-area .img-square::after {
        width: 90px;
        height: 90px;
    }
  .sec-about .cont-wrap {
    width: 90%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .sec-about .common-txt-line {
    width: 30px;
    margin-right: 25px;
  }   
}
@media (max-width: 767px) {


}

@media (max-width: 1200px) {
  .sec-about .pc-only-about {
    display: none;
  }
}

@media (max-width: 374px) {
  .sec-about .txt-head {
    font-size: 6.5vw;
  }
}

/* --------------------------------------
sec-point
-------------------------------------- */
.point-ttl{
    line-height: 1.4;
}
.point-list{
    position: relative;
    padding-left: 30px;
}

.point-list .point-txt-line {
	position: absolute;
    color: #011e59;
    background-color: #fff;
    top: 0;
    left: -10px;
    z-index: 1;
    /*padding-top: 5px;*/
    padding-bottom: 5px;
    transition: all ease 0.3s;
    visibility: hidden;
    opacity: 0;
    transform: translate(0,10px);
}

.point-list::after {
	content: "";
	display: block;
	width: 1px;
	background-color: #cdcdcd;
    position: absolute;
    height: 0;
    top: 0;
    left: 0;
    transition: all ease 0.38s;
}
.point-list-ttl{
    line-height: 1.4;
    visibility: hidden;
    opacity: 0;
    transition: all ease 0.28s;
    transform: translate(0,15px);
}
.point-list-txt{
    line-height: 2.2;
    background-color: rgba(0,125,212,0.08);
    padding-left: min(5vw,55px);
    padding-right: min(5vw,55px);
    visibility: hidden;
    opacity: 0;
    transition: all ease 0.28s;
    transform: translate(0,15px);
}
.js-point.point-list.is-active .point-txt-line {
    transition-delay: 0.05s;
    visibility: visible;
    opacity: 1;
    transform: translate(0,0);
}
.js-point.point-list.is-active::after {
    height: 100%;
    transition-delay: 0.3s;
}
.js-point.point-list.is-active .point-list-ttl {
    visibility: visible;
    opacity: 1;
    transform: translate(0,0);
    transition-delay: 0.15s;
}
.js-point.point-list.is-active .js-txtpoint.point-list-txt {
    visibility: visible;
    opacity: 1;
    transform: translate(0,0);
    transition-delay: 0.25s;
}

@media (max-width: 767px) {
  .point-list .point-txt-line {
    padding-top: 2px;
    }
}

@media(max-width: 480px) {
    .point-list .point-txt-line {
        transform: scale(0.8);
        padding-top: 0;
        transform-origin: top;
    }
    .point-list-ttl .f-medium {
        padding-bottom: 3px;
        font-size: 1.7rem;
    }
}

/* --------------------------------------
sec-concept
-------------------------------------- */

.sec-concept .cont-txt {
  line-height: 2.2;
}
  .sec-concept .container{
position: relative;
}
  .sec-concept .container .cont-area{
position: relative;
}
  .sec-concept .container::before{
content: "";
position: absolute;
  background-image: url('../img/about/about_con.jpg');
  background-size: contain;
background-position: right;
  height: 100%;
  opacity: 1;
  width: 100%;
  right: 0;
  z-index: 0;
}
@media (max-width: 1200px) {
  .sec-concept .container::before{
  opacity: 0.2;
}
}
@media (min-width: 768px) {
  .sec-concept .img-area {
  display: none;
}
}
@media (max-width: 767px) {
  .sec-concept .container::before{
  display: none;
}
  .sec-concept{
        padding-top: 30px;
    }
  .sec-concept .container {
    padding-right: 0;
  }
  .sec-concept .container {
    flex-direction: column-reverse;
  }
  .sec-concept .cont-area {
    padding-top: 20px;
  }
  .sec-concept .img-area {
    width: 100%;
    /*height: 350px;
    background-image: url('../img/about/about_con.jpg');
    background-position: top right;
    background-size: 80% auto;*/
  }
  .sec-concept .cont-wrap {
    width: 90%;
    margin: 0 auto;
    box-sizing: border-box;
  }
}
@media (max-width: 480px) {
    .sec-concept .img-area {
      width: 100%;
    /*height: 350px;
    background-image: url('../img/about/about_con.jpg');
    background-position: top right;
    background-size: 100% auto;*/
  }
}

@media (max-width: 1200px) {
  .sec-concept .pc-only-about {
    display: none;
  }
}

@media (max-width: 374px) {
  .sec-concept .txt-head {
    font-size: 6.5vw;
  }
}
