@charset "UTF-8";
/*==================================================
アコーディオン
===================================*/
/*アコーディオン全体*/
.accordion-area {
  list-style: none;
  width: 95%;
  margin: 0 auto;
}
.accordion-area li {
  margin: 10px 0;
  display: flex;
}
.accordion-area section {
  width: 74%;
  margin: 0 1rem;
  align-items: center;
}
/*アコーディオンタイトル*/
.title {
  position: relative;
  cursor: pointer;
  display: flex;
  padding: 2rem 2rem;
  transition: all .5s ease;
  align-items: center;
  width: 100%;
  font-size: 18px;
  font-weight: 500;
  background: #f1f1f1;
}
.title:not(:first-of-type) {
  margin-top: 1em;
}
/*アイコン*/
.title::after {
  content: '';
  display: block;
  width: 26px;
  height: 18px;
  background: url(../images/icon_arrow.png) no-repeat 0 0;
  position: absolute;
  right: 20px;
  top: 25px;
}
/*　形状変化　*/
.title.close::after {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
}
/*アコーディオンエリア*/
.box {
  display: none;
  background: #f3f3f3;
  padding: 0 3rem 2rem 3rem;
  line-height: 180%;
}
.box span {
  font-weight: 600;
}
.box p {
  margin-bottom: 10px;
}
.box_cap {
  border: solid 1px #D8D8D8;
  line-height: 150%;
  background: #fdfdfd;
  padding: 8px;
  font-size: 15px;
}
/*強調下線*/
.underline {
  text-decoration: underline;
  font-weight: 500;
  /*background: linear-gradient(0deg, #0590d350 0%, #0590d350 28%, #0590d300 28%);*/
}
/*リンクボタン*/
.btn-link {
  display: inline-block;
  width: 100%;
  margin-top: 1em;
  padding: 4px 8px;
  text-align: center;
  line-height: 2;
  color: #FFF;
  background-color: #535353;
}
.btn-link:hover {
  color: #FFF;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .accordion-area {
    width: 100%;
  }
  .accordion-area li {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    margin: 0;
  }
  .accordion-area section {
    width: 100%;
    margin: 1rem 0;
  }
  .title {
    padding: 1rem 3rem 1rem 1rem;
    font-size: 15px;
    flex-wrap: wrap;
  }
  .title::after {
    width: 16px;
    height: 10px;
    background-size: 90%;
    right: 8px;
    top: 40%;
  }
  .box {
    padding: 0 2rem 1rem 2rem;
    line-height: 170%;
    font-size: 13px;
  }
  .box_cap {
    font-size: 13px;
  }
}
/*========= レイアウト ===============*/
h2 {
  text-align: center;
  margin: 30px 0;
}
h3 {
  font-size: 25px;
  font-weight: 600;
  padding: 2rem 1rem 0 1rem;
  margin: 3rem 0 0 0;
  border-top: solid 2px #d9d9d9;
}
.title span {
  font-weight: 400;
}
.title span::before {
  content: "｜"
}
.story-photo {
  width: 25%;
}
.story-photo p {
  font-size: 14px;
  line-height: 130%;
  padding: 0.5rem 0;
}
.story-photo span {
  font-weight: 600;
}
.none_ac {
  justify-content: end;
}
.overview {
  display: block;
  padding: 1rem;
  font-size: 15px;
  font-weight: 400;
  line-height: 140%;
}
.overview_line {
  display: block;
  padding: 1.5rem 0 1rem 0;
  font-size: 16px;
  font-weight: 400;
  margin: 1rem;
  border-top: dashed 1px #d9d9d9;
}
@media only screen and (max-width: 767px) {
  h3 {
    font-size: 20px;
    padding: 1rem 0 1rem 0;
  }
  .title span::before {
    display: none;
  }
  .story-box span {
    margin: 0;
    font-size: 14px;
    width: 100%;
  }
  .story-photo {
    width: 100%;
    margin: 1rem 0;
  }
  .overview {
    padding: 0 0 0.5rem 0;
  }
  .overview_line {
    padding: 1rem 0;
    margin: 1rem 0;
  }
}