@charset 'utf-8';

.page-main__ttl:before {
  background: url(../img/main_ico.png) center / 100% no-repeat;
}
.page-ttl {
  margin-bottom: 15px;
  letter-spacing: 0;
}
.block__ttl {
  margin-bottom: 20px;
}
.block__txt {
  letter-spacing: 0;
}
/*------------------------------------------------
local common
------------------------------------------------*/

/*------------------------------------------------
lcl-box01
------------------------------------------------*/
.lcl-box01 {
  margin-top: 40px;
}
.lcl-top-sbs {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.lcl-top-sbs__txt {
  font-size: 1rem;
  line-height: 2;
  width: 330px;
}
.lcl-top-sbs__img {
  width: 360px;
}

/*------------------------------------------------
lcl-box02
------------------------------------------------*/
.lcl-box02 {
  margin-top: 40px;
}
.lcl-box02 .block__ttl02 {
  margin-bottom: 10px;
}
.lcl-box02-block:not(:last-child) {
  margin-bottom: 40px;
}
.lcl-box02-list {
  margin-top: 10px;
}

.lcl-box02-list__item-ttl {
  display: inline;
  color: #5678b0;
}
.lcl-box02-list__item-txt {
  display: inline;
}
.lcl-box02-list__item-txt--min {
  font-size: 0.85rem;
  line-height: 1.4;
  display: inline-block;
}

/*------------------------------------------------
lcl-box03
------------------------------------------------*/
.lcl-box03 {
  margin-top: 40px;
}
.lcl-box03-block {
  margin-top: 20px;
}
/*------------ lcl-box03-item ------------*/
.lcl-box03-item {
  background-color: #fbf9f0;
}

.lcl-box03 .fa-caret-down {
  font-size: 40px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  color: #5678b0;
}
.lcl-box03-item__ttl-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.lcl-box03-item__num {
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 45px;
  height: 45px;
  color: #fff;
  background-color: #5678b0;
}
.lcl-box03-item__ttl {
  font-size: 1.285rem;
  font-weight: bold;
  padding-left: 15px;
  color: #5678b0;
}
/*------------ lcl-box03-sbs ------------*/
.lcl-box03-sbs {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  padding: 20px;
}
.lcl-box03-sbs__item {
  padding: 15px;
  background-color: #fff;
  width: 28%;
}
.lcl-box03-sbs__item02 {
  text-align: center;
}
.lcl-box03-item__subttl {
  font-size: 1.071rem;
  font-weight: bold;
  color: #5678b0;
}
.lcl-box03-sbs .fa-plus {
  font-size: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  color: #5678b0;
}
.lcl-box03__circle {
  display: inline-block;
  margin-right: 3px;
  color: #5678b0;
}
/* lcl-box03-sbs__item-in ------------*/
.lcl-box03-sbs__item-in {
  text-align: center;
  margin-top: 10px;
}
.lcl-box03-sbs-item-in__icon {
  width: 35px;
  position: relative;
  top: 3px;
  display: block;
  margin: 0 auto 10px;
}
.lcl-box03-sbs__item-img {
  margin: auto;
  width: 120px;
}
.lcl-box03-sbs-item-in__txt02 {
  font-size: 1.1rem;
  text-decoration: underline;
  margin-bottom: 10px;
  display: inline-block;
}
.lcl-box03-sbs-item-in__link {
}
.lcl-box03-sbs-item-in__txt {
  text-decoration: underline;
}
.lcl-box03-sbs-item-in__link:hover .lcl-box03-sbs-item-in__txt {
  text-decoration: none;
}
.lcl-box03-sbs__item-img:not(:first-child) {
  margin: 10px auto 0;
}
.lcl-box03-sbs__item-img03 {
  margin: auto;
  width: 140px;
}
.lcl-box03-sbs__item-txt {
  margin-top: 10px;
}
.lcl-box03-sbs__item-txt02 {
  text-align: left;
}
/*------------ lcl-box03-main ------------*/
.lcl-box03-main {
  padding: 20px;
}
/*------------ lcl-box03-txtwrap ------------*/
.lcl-box03-txtwrap {
  padding: 15px;
  background: #fff;
}
.lcl-box03-item__comment {
  font-size: 1rem;
}
/*------------ lcl-box03-sbs02 ------------*/
.lcl-box03-sbs02 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 8px;
}
.lcl-box03-sbs02__img {
  width: 130px;
  margin-right: 15px;
  margin-top: 5px;
}
.lcl-box03-sbs02__img.lcl-box03-sbs02__img--illust02 {
  width: 76.5px;
  margin-left: 15px;
  margin-top: 0;
}
.lcl-box03-block__txt {
  padding: 0 30px 25px 30px;
}
.lcl-box03-sbs02__info {
}
.lcl-box03-sbs02-info-in__list {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 320px;
}
.lcl-box03-sbs02-info-in-list__item:nth-child(odd) {
  margin-right: 20px;
  width: 160px;
}
.lcl-box03-sbs02-info-in-list__item:nth-child(n + 3) {
  margin-top: 5px;
}
/*------------ lcl-box03__cnt ------------*/
.lcl-box03__cnt {
  margin-top: 25px;
  padding: 10px 15px;
  background-color: #fbf9f0;
}
.lcl-box03-cnt__ttl {
  font-size: 1.285rem;
  font-weight: bold;
  color: #5678b0;
}
.lcl-box03-cnt__in {
  padding: 15px 10px 10px;
}
/*------------ lcl-box03__list ------------*/
.lcl-box03__list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.lcl-box03-list__item {
  width: 300px;
}
.lcl-box03-list-item__link {
  display: block;
}
.lcl-box03-list__item:first-child {
  margin-right: 40px;
}
.lcl-box03-list__fig {
  margin-bottom: 10px;
}
/*------------ lcl-box03__list02 ------------*/
.lcl-box03__list02 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding-left: 4px;
}
.lcl-box03-list02-list__item {
  line-height: 0;
  width: 95px;
}
.lcl-box03-list02-list__item:not(:last-child) {
  margin-right: 5px;
}
/*------------ lcl-box03-list__txtarea ------------*/
.lcl-box03-list__txtarea {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.lcl-box03-list__txt {
  margin-right: 20px;
}
.lcl-box03-list__link {
  color: #5678b0;
}
.lcl-box03-list__link:hover {
  text-decoration: underline;
}
.lcl-box03-list__img {
  line-height: 1;
  width: 110px;
}

.lcl-box02-block-2col{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.lcl-box02-block-2col__fig{
  width: 360px;
}
.lcl-box02-block-2col__cnt{
  flex: 1;
  margin-left: 37px;
}


/*--------------------------------------------- SP ---------------------------------------------*/
@media screen and (max-width: 767px) {
  .page-ttl {
    margin-bottom: 15px;
    letter-spacing: 0;
  }
  .block__ttl {
    margin-bottom: 15px;
  }
  .block__txt {
    letter-spacing: 0;
  }
  /*------------------------------------------------
	local common
	------------------------------------------------*/
  .lcl-box__img .dn-w {
    width: 100%;
  }
  .lcl-box__img .dn-w img {
    width: 100%;
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
    display: block;
  }
  .lcl-bg {
    position: relative;
    z-index: 1;
  }
  .lcl-bg::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #faf8eb;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
  .lcl-bg--half::before {
    background: #fbf9f0;
    background: -moz-linear-gradient(
      left,
      #fbf9f0 50%,
      #f9e7bc 50%,
      #f9e7bc 99%
    );
    background: -webkit-linear-gradient(
      left,
      #fbf9f0 50%,
      #f9e7bc 50%,
      #f9e7bc 99%
    );
    background: linear-gradient(
      to right,
      #fbf9f0 50%,
      #f9e7bc 50%,
      #f9e7bc 99%
    );
  }
  .lcl-bg--half02::before {
    background: #f9e7bc;
    background: -moz-linear-gradient(
      left,
      #f9e7bc 50%,
      #fbf9f0 50%,
      #fbf9f0 99%
    );
    background: -webkit-linear-gradient(
      left,
      #f9e7bc 50%,
      #fbf9f0 50%,
      #fbf9f0 99%
    );
    background: linear-gradient(
      to right,
      #f9e7bc 50%,
      #fbf9f0 50%,
      #fbf9f0 99%
    );
  }
  /*------------------------------------------------
	lcl-box01
	------------------------------------------------*/
  .lcl-box01 {
    margin-top: 35px;
    padding: 0 15px;
  }
  .lcl-top-sbs {
    display: block;
    padding: 0 15px;
  }
  .lcl-top-sbs__txt {
    font-size: 1rem;
    line-height: 2;
    width: 100%;
  }
  .lcl-top-sbs__img {
    width: 100%;
    max-width: 360px;
    margin: 15px auto 0;
  }
  .lcl-btn {
    font-size: 14px;
    width: 250px;
    height: 50px;
    margin: 20px auto 0;
  }
  .lcl-btn span {
    font-size: 12px;
  }
  /*------------------------------------------------
	lcl-box02
	------------------------------------------------*/
  .lcl-box02 {
    margin-top: 35px;
    padding: 0 15px;
  }
  .lcl-box02 .block__ttl02 {
    margin-bottom: 10px;
  }
  .lcl-box02-block:not(:last-child) {
    margin-bottom: 35px;
  }
  .lcl-box02-list {
    margin-top: 10px;
  }
  .lcl-box02-list__item-ttl {
    display: block;
  }
  .lcl-box02-list__item-txt {
    display: block;
  }
  .lcl-box02-list__item-txt--min {
    font-size: 11px;
  }
  /*------------------------------------------------
	lcl-box03
	------------------------------------------------*/
  .lcl-box03 {
    margin-top: 35px;
    padding: 0 15px 40px;
  }
  .lcl-box03-block {
    margin-top: 20px;
  }
  /*------------ lcl-box03-item ------------*/
  .lcl-box03 .fa-caret-down {
    font-size: 30px;
    margin: 5px 0;
  }
  .lcl-box03-item__num {
    font-size: 17px;
    width: 40px;
    height: 40px;
  }
  .lcl-box03-item__ttl {
    font-size: 17px;
    padding-left: 10px;
  }
  /*------------ lcl-box03-sbs ------------*/
  .lcl-box03-sbs {
    padding: 15px;
    display: block;
  }
  .lcl-box03-sbs__item {
    padding: 15px;
    width: 100%;
  }
  .lcl-box03-sbs__item02 {
    width: 100%;
  }
  .lcl-box03-item__subttl {
    font-size: 15px;
  }
  .lcl-box03-item__subttl--center {
    text-align: center;
  }
  .lcl-box03-sbs .fa-plus {
    margin: 5px 0;
  }
  .lcl-box03__circle {
    display: inline-block;
    margin-right: 3px;
    color: #5678b0;
  }
  /* lcl-box03-sbs__item-in ------------*/
  .lcl-box03-sbs__item-in {
    flex-wrap: nowrap;
    margin-top: 10px;
  }
  /*------------ lcl-box03-txtwrap ------------*/
  .lcl-box03-txtwrap {
    padding: 15px;
  }
  .lcl-box03-txtwrap--bgnone {
    padding: 0;
    background: none;
  }
  .lcl-box03-item__comment {
    font-size: 12px;
  }
  /*------------ lcl-box03-sbs02 ------------*/
  .lcl-box03-sbs02 {
    margin-top: 10px;
  }
  .lcl-box03-sbs02__img {
    width: 130px;
    margin: 0 auto 10px;
  }
  .lcl-box03-block__txt {
    padding: 0 15px 15px 15px;
  }

  .block__txt--spcenter {
    text-align: center;
  }
  .lcl-box03-sbs02-info__in {
    display: block;
  }
  .lcl-box03-sbs02__info {
    text-align: center;
    width: 100%;
  }
  .lcl-box03-sbs02-info-in__list {
    display: block;
    margin: auto;
    width: 130px;
  }
  .lcl-box03-sbs02-info-in-list__item {
    text-align: left;
    margin-top: 5px;
  }

  /*------------ lcl-box03__cnt ------------*/
  .lcl-box03__cnt {
    margin-top: 25px;
    padding: 10px 15px;
    background-color: #fbf9f0;
  }
  .lcl-box03-cnt__ttl {
    font-size: 1.285rem;
    font-weight: bold;
    color: #5678b0;
  }
  .lcl-box03-cnt__in {
    padding: 15px 10px 10px;
  }
  /*------------ lcl-box03__list ------------*/
  .lcl-box03__list {
    display: block;
  }
  .lcl-box03-list__item {
    width: 100%;
    background: #fff;
    padding: 15px;
  }
  .lcl-box03-list__item:first-child {
    margin: 0 0 20px;
  }
  .lcl-box03-list__fig {
    margin-bottom: 10px;
  }
  /*------------ lcl-box03__list02 ------------*/
  .lcl-box03__list02 {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-left: 0;
    width: 240px;
    margin: auto;
  }
  .lcl-box03-list02-list__item {
    line-height: 0;
    width: 110px;
  }
  .lcl-box03-list02-list__item:not(:last-child) {
    margin: 0 10px 0 0;
  }
  /*------------ lcl-box03-list__txtarea ------------*/
  .lcl-box03-list__txtarea {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .lcl-box03-list__txt {
    margin-right: 20px;
  }
  .lcl-box03-list__link {
    color: #5678b0;
    font-size: 14px;
    padding-left: 10px;
  }
  .lcl-box03-list__link:hover {
    text-decoration: underline;
  }
  .lcl-box03-list__img {
    line-height: 1;
    width: 110px;
  }
  .lcl-box02-block-2col{
    align-items: center;
    flex-direction: column;
    margin-top: 15px;
  }
  .lcl-box02-block-2col__fig{
    width: 100%;
  }
  .lcl-box02-block-2col__cnt{
    margin-left: 0;
    margin-top: 10px;
  }
}
