/*****************************************************************************
CSS only for Policy page
*****************************************************************************/

/* Set
-----------------------------------------*/
img {
  max-width: 100%;
  height: auto;
}
sup {
  font-size: max(10px, .6875em);
  line-height: 1;
  vertical-align: text-top;
}
.SideBnr {
  display: none;
}

/* Content
-----------------------------------------*/
.Content {
  padding-top: 100px;
}
@media screen and (max-width: 1200px) {
  .Content {
    padding-top: 136px;
  }
}
.Content__inner {
  width: 90%;
  max-width: 1200px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .Content__inner {
    width: auto;
    margin-inline: 20px;
  }
}
.Content__wrapper {
  margin-top: 45px;
  padding: 80px min(112px, 11.4754%);
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .Content__wrapper {
    padding: 56px 20px;
  }
}
.Content__intro + .Content__sec {
  padding-top: 100px;
}
@media screen and (max-width: 1200px) {
  .Content__intro + .Content__sec {
    padding-top: 60px;
  }
}
.Content__sec + .Content__sec {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .Content__sec + .Content__sec {
    padding-top: 48px;
  }
}
.Content__item + .Content__item {
  margin-top: 35px;
}
.Content__item > *:last-child {
  margin-bottom: 0;
}

/* PageLink
-----------------------------------------*/
.PageLink {
  padding-inline: 40px;
}
@media screen and (max-width: 767px) {
  .PageLink {
    padding-inline: 20px;
  }
}
.PageLink__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 20px;
}
@media screen and (max-width: 767px) {
  .PageLink__list {
    grid-template-columns: 1fr;
    gap: 10px 0;
  }
}
.PageLink__item {
  font-size: 16px;
  text-align: center;
}
.PageLink__item span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 16px 15px;
  border: 2px solid var(--color-primary02);
  background-color: var(--color-primary02);
  color: var(--color-primary03);
}
.PageLink__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 16px 15px;
  color: var(--color-primary02);
  border: 2px solid var(--color-primary02);
  transition: background-color .3s;
}

.PageLink__item a:link    { color: var(--color-primary02); text-decoration: none; }
.PageLink__item a:visited { color: var(--color-primary02); text-decoration: none; }
.PageLink__item a:hover   { background-color: var(--color-primary02); color: var(--color-primary03); text-decoration: none; }
.PageLink__item a:focus   { background-color: var(--color-primary02); color: var(--color-primary03); text-decoration: none; }
.PageLink__item a:active  { background-color: var(--color-primary02); color: var(--color-primary03); text-decoration: none; }

/* Title
-----------------------------------------*/
.Heading {
  margin-bottom: 2.03125em;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .Heading {
    font-size: 30px;
  }
}
.SecTitle {
  margin-bottom: .75em;
  font-size: 28px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .SecTitle {
    font-size: 24px;
  }
}
.SubTitle {
  margin-block: 1.5em .7em;
  font-size: 22px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .SubTitle {
    font-size: 20px;
  }
}
.CatTitle {
  margin-bottom: .5em;
  font-size: 20px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .CatTitle {
    font-size: 18px;
  }
}

/* TextArea
-----------------------------------------*/
.TextArea {
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .TextArea {
    font-size: 14px;
    line-height: 1.75;
  }
}
.TextArea > *:last-child {
  margin-bottom: 0;
}
.TextArea + .TextArea {
  margin-top: 30px;
}
.TextArea > p,
.TextArea > ul,
.TextArea > ol {
  margin-bottom: 1em;
}
.TextArea--right {
  text-align: right;
}
.TextArea--indent {
  padding-left: 1.7em;
}
.TextArea a:hover  { opacity: .8; }
.TextArea a:focus  { opacity: .8; }
.TextArea a:active { opacity: .8; }

.BoxArea01 {
  padding: 1.625em 1.75em;
  border: 1px solid #000;
}
.BoxArea02 {
  margin-block: 10px 28px;
  padding: 14px 35px;
  border: 1px solid #f6f6f6;
}
@media screen and (max-width: 767px) {
  .BoxArea02 {
    padding: 14px 20px;
  }
}

.BgGray {
  background-color: #f2f2f2;
}

/* List
-----------------------------------------*/
.DiscList > li {
  padding-left: 1em;
  text-indent: -1em;
}
.DiscList > li::before {
  content: "・";
}
.DiscList > li:nth-child(n+2) {
  margin-top: .3125em;
}

.NumList01 {
  list-style-type: decimal;
  list-style-position: inside;
}
.NumList01 > li {
  padding-left: 1em;
  text-indent: -1em;
}
.NumList01 > li:nth-child(n+2) {
  margin-top: .3125em;
}

.NumList02 {
  padding-left: 2.5em;
}
.NumList02 > li {
  position: relative;
  counter-increment: number;
}
.NumList02 > li:before {
  content: '（' counter(number) '）';
  position: absolute;
  right: 100%;
}
.NumList02 > li:nth-child(n+2) {
  margin-top: .3125em;
}

.NumList03 > li {
  padding-left: 1em;
  text-indent: -1em;
}
.NumList03 > li:nth-child(n+2) {
  margin-top: .3125em;
}

ul[class*="List"] li > *,
ol[class*="List"] li > * {
  margin-block: 5px 10px;
  text-indent: 0;
}
ul[class*="List"] li > *:last-child,
ol[class*="List"] li > *:last-child {
  margin-bottom: 0;
}

/* ImgArea
-----------------------------------------*/
.ImgArea {
  margin-block: 40px;
  text-align: center;
}

/* Contact
-----------------------------------------*/
.Contact {
  margin-top: 20px;
  width: 100%;
  font-size: 14px;
  line-height: 1.8;
}
.Contact tr:last-child th,
.Contact tr:last-child td {
  border-bottom: none;
}
.Contact__category {
  width: 23%;
  padding: 10px 15px;
  border-bottom: 2px solid #fff;
  background-color: #f0f0f0;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .Contact__category {
    display: block;
    width: 100%;
  }
}
.Contact__detail {
  padding: 10px 15px;
  border-bottom: 2px solid #fff;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .Contact__detail {
    display: block;
    width: 100%;
    border-bottom: none;
  }
}
.Contact__mail {
  margin-bottom: 1em;
}
.Contact__mail img {
  display: block;
  height: 17px;
}