.policy__item > .policy__item__detail > p:first-child span,
.policy__item__sns > h2,
.policy__item__contact > h2,
.policy__item__sns > h3,
.policy__item__contact > h3 {
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .policy__item > .policy__item__detail > p:first-child span,
  .policy__item__sns > h2,
  .policy__item__contact > h2,
  .policy__item__sns > h3,
  .policy__item__contact > h3 {
    font-size: 16px;
  }
}
.policy__item__sns > h2,
.policy__item__contact > h2 {
  margin-bottom: 20px;
}
.policy__item__sns > h3,
.policy__item__contact > h3 {
  margin-bottom: 10px;
}

.policy__lists,
.policy__secondary__lists,
.policy__tertiary__lists {
  counter-reset: number 0;
}
.policy__item::before {
  content: counter(number) ".";
  counter-increment: number 1;
  flex-shrink: 0;
  width: 35px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .policy__item::before {
    width: 30px;
  }
}
ul.policy__lists .policy__item::before {
  display: none;
}
.policy__secondary__item::before {
  content: "(" counter(number) ") ";
  counter-increment: number 1;
  flex-shrink: 0;
  width: 35px;
}
@media screen and (max-width: 768px) {
  .policy__secondary__item::before {
    width: 30px;
  }
}
.policy__tertiary__item::before {
  content: "[" counter(number) "]";
  counter-increment: number 1;
  flex-shrink: 0;
  width: 35px;
}
@media screen and (max-width: 768px) {
  .policy__tertiary__item::before {
    width: 30px;
  }
}
.policy__item {
  flex-wrap: wrap;
}
.policy__item,
.policy__secondary__item,
.policy__tertiary__item {
  display: flex;
  align-items: baseline;
}
.policy__item__detail {
  width: calc(100% - 35px);
}
@media screen and (max-width: 768px) {
  .policy__item__detail {
    width: calc(100% - 30px);
  }
}
.policy__item .policy__item__detail span {
  display: block;
  margin-bottom: 10px;
}
.policy__lists .policy__item:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .policy__lists .policy__item:not(:last-child) {
    margin-bottom: 20px;
  }
}

.policy__item__sns,
.policy__item__contact {
  margin-top: 25px;
}
.policy__item__snsList dl,
.policy__item__contactList dl {
  display: flex;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #c8c8c8;
  background: linear-gradient(
    to right,
    #f8f5ee 0,
    #f8f5ee 300px,
    #fff 300px,
    #fff 100%
  );
  overflow-wrap: anywhere;
}
@media screen and (max-width: 768px) {
  .policy__item__snsList dl,
  .policy__item__contactList dl {
    flex-direction: column;
    padding-top: 0;
    padding-bottom: 0;
    background: none;
  }
}
.policy__item__snsList dl:first-of-type,
.policy__item__contactList dl:first-of-type {
  border-top: 1px solid #c8c8c8;
}
.policy__item__snsList dl dt,
.policy__item__contactList dl dt {
  width: 270px;
  padding-left: 15px;
  padding-right: 15px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .policy__item__snsList dl dt,
  .policy__item__contactList dl dt {
    width: auto;
    background-color: #f8f5ee;
    padding: 8px 15px;
  }
}
.policy__item__snsList dl dd,
.policy__item__contactList dl dd {
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (max-width: 768px) {
  .policy__item__snsList dl dd,
  .policy__item__contactList dl dd {
    padding: 10px 15px;
  }
}
.policy__item__sns .policy__item__snsList:first-of-type {
  margin-bottom: 20px;
}
.policy__author {
  width: 100%;
  font-size: 15px;
  text-align: right;
  margin-top: 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .policy__author {
    font-size: 14px;
  }
}