@charset "utf-8";
/*
###################################################################################################################################

common

###################################################################################################################################
*/
.lato {
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 700;
}
@media (min-width:768px), print {
  /*common pc ------------------------------------------------------------------------------------*/
  #topicspath {
    position: absolute;
    left: 0;
    right: 0;
  }
  #topicspath > li, #topicspath > li > a {
    color: #FFFFFF;
  }
  #topicspath > li + li:before {
    border-top: solid 1px #FFFFFF;
    border-right: solid 1px #FFFFFF;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*common tab ------------------------------------------------------------------------------------*/
}
@media (max-width: 767px) {
  /*common sp ------------------------------------------------------------------------------------*/
}
/*
###################################################################################################################################

sec01

###################################################################################################################################
*/
#sec01 {
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  color: #FFFFFF;
  text-align: center;
}
#sec01 .secttl {
  letter-spacing: 0.3em;
  color: #FFFFFF;
}
#sec01 .secttl span {
  display: block;
}
#sec01 .subtxt {
  letter-spacing: 0.16em;
}
@media (min-width:768px), print {
  /*sec01 pc ------------------------------------------------------------------------------------*/
  #sec01 {
    padding: 80px 0 100px;
    background-image: url(../../images/about/bg_about_01_pc.png);
  }
  #sec01 .secttl {
    font-size: 3.8rem;
    margin-bottom: 90px;
  }
  #sec01 .secttl span {
    font-size: 1.6rem;
    margin-top: 5px;
  }
  #sec01 .logo {
    margin-bottom: 35px;
  }
  #sec01 .logo img {
    width: 317px;
    height: auto;
  }
  #sec01 .subtxt {
    font-size: 2rem;
    margin-bottom: 55px;
  }
  #sec01 .txt {
    font-size: 1.6rem;
    line-height: 2.5;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*sec01 tab ------------------------------------------------------------------------------------*/
  #sec01 {}
}
@media (max-width: 767px) {
  /*sec01 sp ------------------------------------------------------------------------------------*/
  #sec01 {
    padding: 9.72vw 0;
    background-image: url(../../images/about/bg_about_01_sp.png);
  }
  #sec01 .secttl {
    font-size: 6.67vw;
    margin-bottom: 13.89vw;
  }
  #sec01 .secttl span {
    font-size: 2.78vw;
  }
  #sec01 .logo {
    margin-bottom: 4.17vw;
  }
  #sec01 .logo img {
    width: 54.86vw;
    height: auto;
  }
  #sec01 .subtxt {
    font-size: 4.17vw;
    margin-bottom: 4.17vw;
  }
  #sec01 .txt {
    line-height: 2.3;
  }
}
/*
###################################################################################################################################

sec02

###################################################################################################################################
*/
#sec02 {}
#sec02 .secttl {
  letter-spacing: 0.3em;
}
#sec02 .subttl {}
#sec02 .txtbox {}
#sec02 .txtbox p {}
#sec02 .txtbox p + p {}
#sec02 .picbox {}
#sec02 .picbox ul li {}
@media (min-width:768px), print {
  /*sec02 pc ------------------------------------------------------------------------------------*/
  #sec02 {
    background-image: url(../../images/about/bg_about_02_pc.png);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
  }
  #sec02 .inner {
    padding: 45px 57.5% 490px 0;
  }
  #sec02 .secttl {
    text-align: left;
    font-size: 3.8rem;
  }
  #sec02 .subttl {
    font-size: 1.9rem;
    margin-bottom: 40px;
  }
  #sec02 .txtbox {}
  #sec02 .txtbox p {
    line-height: 2;
  }
  #sec02 .txtbox p + p {
    margin-top: 30px;
  }
  #sec02 .picbox {}
  #sec02 .picbox ul li {}
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*sec02 tab ------------------------------------------------------------------------------------*/
  #sec02 {}
}
@media (max-width: 767px) {
  /*sec02 sp ------------------------------------------------------------------------------------*/
  #sec02 .container {
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    margin: 0;
    padding: 9.72vw 6.25vw 65.28vw;
    background-image: url(../../images/about/bg_about_02_sp.png);
  }
  #sec02 .secttl {
    font-size: 6.67vw;
    margin-bottom: 5.56vw;
  }
  #sec02 .subttl {
    font-size: 3.89vw;
    margin-bottom: 5.56vw;
  }
  #sec02 .txtbox {}
  #sec02 .txtbox p {}
  #sec02 .txtbox p + p {
    margin-top: 5.56vw;
  }
  #sec02 .picbox {}
  #sec02 .picbox ul li {
    flex-basis: 33.333%;
  }
}