@charset "UTF-8";
/* CSS Document */
.about dl,
.description dl {
  display: block;
}
.about dl > div,
.description dl > div {
  border-bottom: var(--border);
  margin: 1em 0;
  padding: 0 0.5em;
}
.about dl dt{
  display: block;
  padding-right: 3em;
  padding-bottom: 1em;
}
.description dl dt {
  display: block;
  min-height: 4em;
  padding-right: 3em;
  margin-bottom: 1em;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  line-height: 1.5;
}
.description dt img {
  width: 60px;
  margin: 0 1em 0 0;
}
.description dt p {
  display: inline-block;
}
.about dl dt::before,
.description dl dt::before {
  position: absolute;
  content: "";
  display: block;
  width: 1em;
  height: 2px;
  background-color: #fff;
  background-color: var(--black);
  right: 1em;
  top: 45%;
  transform: translateY(-50%);
}
.about dl dt::after,
.description dl dt::after {
  position: absolute;
  content: "";
  display: block;
  width: 1em;
  height: 2px;
  background-color: var(--black);
  right: 1em;
  top: 45%;
  transform: translateY(-50%) rotate(90deg);
}
.about dl dt::before,.about dl dt::after{
  top: 35%;
}
.about dl dt.active::after,
.description dl dt.active::after {
  display: none;
}
.about dl dd,
.description dl dd {
  display: none;
  margin: 1em 0 2em 0;
}
.about dl dd{
  margin: 0 0 1em 0;
}
.description dl dd > div {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}
.description dl dd div img {
  width: 20%;
  margin-left: 2em;
}
/*============================================================
SP
============================================================*/
@media screen and (max-width: 768px) {
  .description dl dd {
    margin: 1em 0;
  }
  .description dl dd > div {
    display: block;
  }
  .about dl dd > div img,
  .description dl dd > div img {
    width: 100%;
    margin-left: 0;
    margin: 1em 0;
  }
}
