.policy_content {

}
@media screen and (max-width:767px) {
  .policy_content .inner1100 {
    padding-top: 0;
  }
}
.policy_lead {
  margin-bottom: 60px;
}
.policy_head {
  font-size: min(1.25em, 5vw);
  font-weight: 500;
  margin: 40px 0 10px 0;
  padding: 0 0 5px 10px;
  border-left: 2px solid #D80C24;
}
.policy_text {
  font-size: min(1.0em, 4vw);
  margin-left: 15px;
}
.policy_text-top {
  margin-bottom: 15px;
}
.policy_textind-0 {
  text-indent: 0!important;
  /* padding-left: 5px; */
}
.policy_textind-2 {
  padding-left: 2.5em!important;
  text-indent: -2em!important;
}
.mleft-45 {
  margin-left: 45px!important;
}
.ta_right {
  text-align: right;
}

.policy_link {
  color: #D80C24;
}

.policy_anno {
  margin: 20px 0 0 15px;
  font-size: min(0.9em, 4vw);
  padding-left: 1em;
  text-indent: -1em;
}

/* 規約ロゴ */
.policy_logo {

}
.policy_logo .policy_head .policy_anno {
  font-size: min(0.7em, 4vw);
}
.policy_logo_img {

}
.policy_logo_img a img {

}
.policy_logo_img li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3em;
  gap: 2em;
}
.policy_logo_img li p {
  width: calc(100% / 1.7);
}
@media screen and (max-width:767px) {
  .policy_logo_img li {
    flex-wrap: wrap;
    justify-content: center;
  }
  .policy_logo_img li p {
    width: 100%;
    word-break: break-word;
  }
  .policy_logo .inner1100 {
    padding-top: 20px;
  }
}

/* 規約-リスト */
.policy_content li {
  list-style: none;
  font-weight: normal;
  line-height: 1.6;
  font-size: min(1.0em, 4vw);
}

.policy_list {
  margin-left: 15px;
}
.policy_list > li {

}
.policy_list > li:not(:last-child) {
  margin-bottom: 20px;
}
/* 規約-リスト-黒丸 */
.policy_list-disc {
  margin-left: 40px;
}
.policy_list-disc > li {
  list-style-type: disc;
}
.policy_list-disc > li:not(:last-child) {
  margin-bottom: 5px;
}
.policy_list-disc--02 {
  margin-left: 25px;
  margin-top: 15px;
}
.policy_list-disc--02 > li{
  text-indent: 0;
}

/* 規約-リスト-後ろ括弧数字 */
.policy_list-num {
  counter-reset: count-num 0;
}
.policy_list-num > li {
  padding-left: 1.8em;
  text-indent: -1.8em;
}
.policy_list-num > li::before {
  content: counter(count-num) " ）";
  counter-increment: count-num 1;
}
/* 規約-リスト-前後括弧（外） */
.policy_list-brackets {
  counter-reset: count-num 0;
}
.policy_list-brackets > li {
  padding-left: 2em;
  text-indent: -3.2em;
}
.policy_list-brackets > li::before {
  content: "（ " counter(count-num) " ）";
  counter-increment: count-num 1;
}

/* 規約-リスト-前後括弧（内） */
.policy_list-innernum {
  counter-reset: count-innernum 0;
}
.policy_list-innernum > li {
  padding-left: 1em;
  text-indent: -3.3em;
  margin-top: 15px;
}
.policy_list-innernum > li::before {
  content: "（ " counter(count-innernum) " ）";
  counter-increment: count-innernum 1;
}

/* 規約-リスト-丸数字 */
.policy_list-indicesnum {
  counter-reset: count-indicesnum 0;
  margin-top: 10px;
}
.policy_list-indicesnum > li {
  margin-bottom: 10px;
  padding-left: 1.5em;
  position: relative;
  text-indent: 0em;
}
.policy_list-indicesnum > li::before {
  content: counter(count-indicesnum);
  counter-increment: count-indicesnum 1;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 18px;
  width: 18px;
  font-size: 85%;
  position: absolute;
  top: 4px;
  left: 0;
}

/* 規約-テーブル */
.policy_table {
  text-indent: 0;
}
.policy_table ul {
  display: flex;
  flex-wrap: wrap;

}
.policy_table ul li {
  width: calc(100% / 2);
  border-right: solid 2px var(--gray);
  padding: 10px;
}
.policy_table ul li:first-child,
.policy_table ul li:nth-child(2) {
  border-top: solid 2px var(--gray);
}
.policy_table ul li:nth-child(even) {
  border-bottom: solid 2px var(--gray);
}
.policy_table ul li:nth-child(odd) {
  border-left: solid 2px var(--gray);
  border-bottom: solid 2px #fff;
  background-color: var(--gray);
}
.policy_table ul li:nth-last-child(2) {
  border-bottom: none;
}
.policy_table-anno {
  font-size: min(0.9em, 4vw);
  text-indent: 0;
  margin-top: 1em;
}
.policy_table-title {
  text-indent: 0;
  margin-top: 1em;
  margin-bottom: 0.5em;
}
@media screen and (max-width:767px) {
  .policy_table ul li {
    width: 100%;
  }
  .policy_table ul li {
    border-left: solid 2px var(--gray);
  }
  .policy_table ul li:nth-child(odd) {
    border-bottom: none;
  }
}

 

/* ポリシーリンクリスト */
.policy_link_list {

}
.policy_link_list li {
  margin: 0 0 30px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.policy_link_list li::before {
  content: "";
  width: 2px;
  height: 35px;
  background-color: #D80C24;
}
.policy_link_list li a {
  color: var(--main_color);
  text-decoration: none;
  transition: color .3s;
}
.policy_link_list li a:hover {
  color: #D80C24;
}

/* 方針一覧 */
#philosophy {
  margin: 80px 0;
}
.philosophy_head {
  text-align: center;
  margin-bottom: 40px;
}
.philosophy_head h4 {
  font-size: 20px;
}
.philosophy_head::after {
  content: '';
  display: block;
  width: 2.75rem;
  height: 2px;
  background-color: var(--main_red);
  margin: .25em auto 1.25em;
}
.philosophy_list {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 20px;
}
.philosophy_list > li {
  width: calc((100% - 20px) / 2);
}
.philosophy_btn {
  display: inline-block;
  text-decoration: none;
  color: var(--main_color);
  border: 1px solid;
  border-color: #555;
  padding: min(1.25em, 3.3vw) min(4em, 6vw);
  font-size: .85em;
  text-align: center;
  position: relative;
  background-color: rgba(255, 255, 255, .7);
  transition: all .3s;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.philosophy_btn:hover {
  color: var(--main_red);
  border-color: var(--main_red);
}

@media screen and (max-width:767px) {
  .philosophy_list > li {
    width: 100%;
  }
}