@charset "utf-8";
/* ----------------------------------------
 mv
------------------------------------------- */
#mv {
  background: url("../images/index-images/mv.jpg") 50% 50% no-repeat;
  background-size: cover;
  height: 700px;
}
/* ----------------------------------------
 topic
------------------------------------------- */
#topic .box {
  width: 100%;
  max-width: 900px;
  margin: 0 auto -30px auto;
}
#topic .box ul li {
  margin-bottom: 30px;
}
#topic .box ul li a {
  display: block;
  position: relative;
  border: 1px solid #e2e2e2;
  background: linear-gradient(#ffffff, #f2f2f1);
  border-radius: 10px;
  font-weight: bold;
  padding: 18px 30px 18px 80px;
}
#topic .box ul li a span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
#topic .box ul li a::after {
  position: absolute;
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  content: "\f0da";
  color: #69cb2d;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
}
.topic01 a::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 44px;
  height: 39px;
  background: url("../images/cmn-images/icon01.png") 0 0 no-repeat;
  background-size: 100% auto;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
}
.topic02 a::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 34px;
  height: 46px;
  background: url("../images/cmn-images/icon02.png") 0 0 no-repeat;
  background-size: 100% auto;
  top: 50%;
  left: 25px;
  transform: translate(0, -50%);
}
/* ----------------------------------------
 blog
------------------------------------------- */
#blog {
  background: url("../images/cmn-images/bg01.jpg") 50% 50% no-repeat;
  background-size: cover;
}
#blog .wrap01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#blog .box01 {
  width: 46.5%
}
#blog .box02 {
  width: 46.5%
}
#blog .box01 h2 {
  position: relative;
  font-size: 3.6rem;
  line-height: 1;
  text-align: center;
  margin-bottom: 40px;
}
#blog .box01 h2::before {
  position: relative;
  display: inline-block;
  content: "";
  width: 55px;
  height: 56px;
  background: url("../images/cmn-images/icon03.png") 0 0 no-repeat;
  background-size: 100% auto;
  transform: translate(0, 13px);
  margin-right: 10px;
}
#blog .box02 h2 {
  position: relative;
  font-size: 3.6rem;
  line-height: 1;
  text-align: center;
  margin-bottom: 40px;
}
#blog .box02 h2::before {
  position: relative;
  display: inline-block;
  content: "";
  width: 55px;
  height: 56px;
  background: url("../images/cmn-images/icon04.png") 0 0 no-repeat;
  background-size: 100% auto;
  transform: translate(0, 13px);
  margin-right: 10px;
}
#blog ul {
  background-color: #fff;
  box-shadow: 0 0 5px #555;
  border-radius: 15px;
  padding: 50px;
  margin-bottom: 40px;
}
#blog ul li {
  border-bottom: 2px dotted #bfbfbf;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
#blog ul li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
#blog ul li dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#blog ul li dl dt {
  width: 25%;
}
#blog ul li dl dd {
  width: 75%;
}
/* ----------------------------------------
 case
------------------------------------------- */
#case {
  background: url("../images/cmn-images/bg02.jpg") 50% 50% no-repeat;
  background-size: cover;
}
#case ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
}
#case ul li {
  width: 23%;
  margin: 0 1%;
}
#case ul li:first-child {
  margin-left: 13.5%;
}
/* ----------------------------------------
 features
------------------------------------------- */
#features ul {
  display: flex;
  flex-wrap: wrap;
}
#features ul li {
  position: relative;
  width: 31%;
  margin-right: 3.5%;
  padding-top: 65px;
}
#features ul li:nth-child(3n) {
  margin-right: 0;
}
#features ul li::before {
  position: absolute;
  content: "";
  display: block;
  width: 90px;
  height: 90px;
  top: 0;
  left: 0;
}
#features ul li::after {
  position: absolute;
  content: "";
  display: block;
  width: calc(100% - 100px);
  height: 1px;
  background-color: #1eae36;
  top: 45px;
  right: 0;
}
#features ul li img {
  margin-bottom: 10px;
}
#features ul li h3 {
  color: #1eae36;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid #1eae36;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
#features ul li:nth-child(1)::before {
  background: url("../images/cmn-images/features-icon01.png") 0 0 no-repeat;
  background-size: cover;
}
#features ul li:nth-child(2)::before {
  background: url("../images/cmn-images/features-icon02.png") 0 0 no-repeat;
  background-size: cover;
}
#features ul li:nth-child(3)::before {
  background: url("../images/cmn-images/features-icon03.png") 0 0 no-repeat;
  background-size: cover;
}
/* ----------------------------------------
 bn
------------------------------------------- */
#bn {
  background: url("../images/cmn-images/bg03.jpg") 0 0;
}
#bn ul {
  display: flex;
  flex-wrap: wrap;
}
#bn ul li {
  width: 31%;
  margin-right: 3.5%;
}
#bn ul li:nth-child(3n) {
  margin-right: 0;
}
/* =======================
  PC
======================== */
@media screen and (min-width: 1350px) {}
/* =======================
  TABLET
======================== */
@media screen and (max-width:1349px) {
  /* ----------------------------------------

------------------------------------------- */
}
@media screen and (max-width:1200px) {
  /* ----------------------------------------

------------------------------------------- */
  #blog ul li dl dt {
    width: 100%;
    font-weight: bold;
  }
  #blog ul li dl dd {
    width: 100%;
  }
}
/* =======================
  SP
======================== */
@media screen and (max-width: 799px) {
  /* ----------------------------------------
 mv
------------------------------------------- */
  #mv {
    background: url("../images/index-images/mv-sp.jpg") 50% 50% no-repeat;
    background-size: cover;
    height: 0;
    padding-top: 100%;
  }
  /* ----------------------------------------
 topic
------------------------------------------- */
  #topic .box {
    margin: 0 auto -20px auto;
  }
  #topic .box ul li {
    margin-bottom: 20px;
  }
  /* ----------------------------------------
 blog
------------------------------------------- */
  #blog {
  background: url("../images/cmn-images/bg01.jpg") 0 50% no-repeat;
  background-size: 300% auto;
}
  #blog .box01 {
    width: 100%;
	padding-bottom: 30px;
}
  #blog .box02 {
    width: 100%;
}
  #blog .box01 h2 {
    font-size: 2.6rem;
    margin-bottom: 30px;
  }
  #blog .box01 h2::before {
    width: 35px;
    height: 36px;
    transform: translate(0, 7px);
  }
  #blog .box02 h2 {
    font-size: 2.6rem;
    margin-bottom: 30px;
  }
  #blog .box02 h2::before {
    width: 35px;
    height: 36px;
    transform: translate(0, 7px);
  }
  #blog ul li dl dt {
    width: 100%;
    font-weight: bold;
  }
  #blog ul li dl dd {
    width: 100%;
  }
  /* ----------------------------------------
 case
------------------------------------------- */
  #case ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #case ul li {
    width: 48%;
    margin: 0 1%;
  }
  #case ul li:first-child {
    margin-left: 0;
  }
  /* ----------------------------------------
 features
------------------------------------------- */
  #features ul li {
    width: 100%;
    margin: 0 0 15px 0;
    padding-top: 45px;
  }
  #features ul li:nth-child(3n) {
    margin-right: 0;
  }
  #features ul li::before {
    width: 70px;
    height: 70px;
  }
  #features ul li::after {
    width: calc(100% - 80px);
    top: 35px;
  }
  #features ul li h3 {
    font-size: 1.6rem;
  }
  /* ----------------------------------------
 bn
------------------------------------------- */
  #bn ul li {
    width: 80%;
    margin: 0 auto 15px auto;
  }
  #bn ul li:last-child {
    margin: 0 auto;
  }
}