/*============================
#pageTtl2
============================*/
#pageTtl2 {
  background-image: url("img/hm_pagettl_bg.jpg");
}

/*============================
#sec01
============================*/
#sec01 {
  padding: 100px 30px 60px;
}
@media screen and (max-width: 768px) {
  #sec01 {
    padding: 50px 20px 40px;
  }
}
#sec01 .w940 .flex figure figcaption, #sec01 .w940 .flex div + div figcaption {
  margin-bottom: 20px;
}

/*============================
#sec02
============================*/
@media screen and (max-width: 768px) {
  #sec02 {
    padding: 0 20px 50px;
  }
}
#sec02 .w940 dl {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #sec02 .w940 dl {
    display: block;
  }
}
#sec02 .w940 dl dt {
  flex: 0 0 250px;
  position: relative;
}
#sec02 .w940 dl dt h4 {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  #sec02 .w940 dl dt h4 br {
    display: none;
  }
}
#sec02 .w940 dl dt::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: #000;
  position: absolute;
  right: -60px;
  top: 50%;
}
@media screen and (max-width: 768px) {
  #sec02 .w940 dl dt::after {
    display: none;
  }
}
#sec02 .w940 dl dd {
  flex: 0 0 540px;
}
@media screen and (max-width: 768px) {
  #sec02 .w940 dl dd .flex {
    display: block;
  }
}
#sec02 .w940 dl dd .flex .box {
  flex: 0 0 48%;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  #sec02 .w940 dl dd .flex .box {
    margin-bottom: 10px;
    padding: 20px;
  }
}
#sec02 .w940 dl dd .flex .box h5 {
  font-weight: bold;
}
#sec02 .w940 dl dd .flex .box h5 span {
  color: #e86a9e;
}
#sec02 .w940 dl dd .flex .box p {
  margin-bottom: 0;
  font-size: 13px;
  letter-spacing: 0.03em;
  line-height: 1.84;
  padding-left: 1em;
  padding-top: 0.5em;
}

/*============================
#sec03
============================*/
#sec03 {
  background: #fff;
  padding: 100px 30px 100px;
}
@media screen and (max-width: 768px) {
  #sec03 {
    padding: 50px 20px;
  }
}
#sec03 .w940 {
  max-width: 1087px;
}
#sec03 .w940 h3 {
  border: none;
  text-align: center;
}
#sec03 .w940 h3 + p {
  max-width: 650px;
  margin: 0 auto 60px;
}
#sec03 .w940 figure {
  background: #FAF8F0;
  text-align: center;
  padding: 60px 60px 80px;
}
@media screen and (max-width: 768px) {
  #sec03 .w940 figure {
    padding: 30px 20px 40px;
  }
}
#sec03 .w940 figure h3 {
  line-height: 1;
  margin-bottom: 30px;
  padding: 0;
}
