@charset "UTF-8";
/**
 * Colors
==================== */
/**
 * Breakpoints
 ==================== */
/**
 * Design Sizes
==================== */
/**
 * Spacing Units
==================== */
/**
 * Font sizes
==================== */
/**
 * Font Families
==================== */
/**
 * vw変換
==================== */
/**
 * em変換
==================== */
/**
 * mixins
==================== */
.anchor-links {
  position: sticky;
  z-index: 1;
  top: 80px;
  flex: 0 0 262px;
  width: 262px;
}
@media (max-width: 1440px) {
  .anchor-links {
    top: 5.5555555556vw;
    flex-basis: 18.1944444444vw;
    width: 18.1944444444vw;
  }
}
@media (max-width: 1020px) {
  .anchor-links {
    position: static;
    width: 100%;
    flex-basis: auto;
  }
}
.anchor-links__list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.anchor-links__item {
  border-bottom: 1px solid var(--clr-kr-border-gray);
}
.anchor-links__item:last-child {
  border-bottom: unset;
}
.anchor-links__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  padding: 20px 0;
  color: var(--clr-kr-black);
  font-family: var(--ff-zen-mincho);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -1px;
  text-decoration: none;
}
.anchor-links__link span {
  background-image: linear-gradient(currentColor, currentColor);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size 0.5s ease;
}
@media (min-width: 1021px) {
  .anchor-links__link:hover span {
    background-size: 100% 1px;
  }
}
.anchor-links__link:focus-visible span {
  background-size: 100% 1px;
}
@media (max-width: 1440px) {
  .anchor-links__link {
    gap: 0.2777777778vw;
    padding: 1.3888888889vw 0;
    font-size: 1.25vw;
  }
}
@media (max-width: 1020px) {
  .anchor-links__link {
    gap: 1.0666666667vw;
    padding: 2.6666666667vw 0;
    font-size: 4.2666666667vw;
  }
}
.anchor-links__arrow {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  transform: rotate(90deg);
}
@media (max-width: 1440px) {
  .anchor-links__arrow {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
  }
}
@media (max-width: 1020px) {
  .anchor-links__arrow {
    width: 6.4vw;
    height: 6.4vw;
  }
}

@media (prefers-reduced-motion: reduce) {
  .anchor-links__link span {
    transition: none;
  }
}
.data-table {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  width: 100%;
}
@media (max-width: 1440px) {
  .data-table {
    gap: 1.1111111111vw;
  }
}
@media (max-width: 1020px) {
  .data-table {
    gap: 3.2vw;
  }
}
.data-table__title {
  color: var(--clr-kr-black);
  font-family: var(--ff-zen-mincho);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0.5px;
}
@media (max-width: 1440px) {
  .data-table__title {
    font-size: 1.9444444444vw;
    letter-spacing: 0.0347222222vw;
  }
}
@media (max-width: 1020px) {
  .data-table__title {
    font-size: 5.8666666667vw;
    letter-spacing: 0.1333333333vw;
  }
}
.data-table__scroll {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.data-table__scroll:focus-visible {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: 2px;
}
@media (max-width: 1020px) {
  .data-table__scroll {
    overflow-x: auto;
  }
}
.data-table__scroll-supply {
  display: none;
}
@media (max-width: 1020px) {
  .data-table__scroll-supply {
    align-items: center;
    gap: 1.0666666667vw;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1333333333vw;
  }
  .data-table__scroll-supply img {
    width: 6.4vw;
    align-self: 1/1;
  }
}
.data-table__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: var(--clr-kr-black);
  font-size: 18px;
  line-height: 1.5;
}
@media (max-width: 1440px) {
  .data-table__table {
    font-size: 1.25vw;
  }
}
@media (max-width: 1020px) {
  .data-table__table {
    width: 100%;
    min-width: 0;
    font-size: 4.2666666667vw;
  }
}
.data-table__table th,
.data-table__table td {
  padding: 16px 8px;
  border: 1px solid var(--clr-kr-border-gray);
  text-align: left;
  vertical-align: middle;
}
@media (max-width: 1440px) {
  .data-table__table th,
  .data-table__table td {
    padding: 1.1111111111vw 0.5555555556vw;
  }
}
@media (max-width: 1020px) {
  .data-table__table th,
  .data-table__table td {
    padding: 3.2vw 2.1333333333vw;
  }
}
.data-table__table th sup,
.data-table__table td sup {
  vertical-align: super;
  font-size: smaller;
}
.data-table__table thead th {
  padding-top: 8px;
  padding-bottom: 8px;
  background-color: var(--clr-bg-gray-7);
  font-family: var(--ff-zen-mincho);
  font-weight: 400;
}
@media (max-width: 1440px) {
  .data-table__table thead th {
    padding-top: 0.5555555556vw;
    padding-bottom: 0.5555555556vw;
  }
}
@media (max-width: 1020px) {
  .data-table__table thead th {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.data-table__table thead th.-sacred-area {
  width: 130px;
}
@media (max-width: 1440px) {
  .data-table__table thead th.-sacred-area {
    width: 9.0277777778vw;
  }
}
@media (max-width: 1020px) {
  .data-table__table thead th.-sacred-area {
    width: 34.6666666667vw;
  }
}
.data-table__table thead th.-area {
  width: 90px;
}
@media (max-width: 1440px) {
  .data-table__table thead th.-area {
    width: 6.25vw;
  }
}
@media (max-width: 1020px) {
  .data-table__table thead th.-area {
    width: 24vw;
  }
}
.data-table__table tbody th,
.data-table__table tbody td {
  background-color: var(--clr-text-white);
}
.data-table__table tbody th {
  font-weight: 400;
}
.data-table__table tbody td {
  font-weight: 700;
}
.data-table__label-column {
  width: 31.167%;
}
.data-table.-label-wide .data-table__label-column {
  width: 64.483%;
}

@media (max-width: 1020px) {
  .data-table:not(:has(.data-table__table tr > :nth-child(3))) .data-table__label-column,
  .data-table:not(:has(.data-table__table tr > :nth-child(3))) col {
    width: auto;
  }
  .data-table:not(:has(.data-table__table tr > :nth-child(3))) tr > :only-child {
    width: 100%;
  }
  .data-table:not(:has(.data-table__table tr > :nth-child(3))) tr > :first-child:nth-last-child(2),
  .data-table:not(:has(.data-table__table tr > :nth-child(3))) tr > :first-child:nth-last-child(2) ~ * {
    width: 50%;
  }
  .data-table:has(.data-table__table tr > :nth-child(3)) .data-table__table {
    width: max(100%, 176vw);
    min-width: 176vw;
  }
  .data-table:has(.data-table__table tr > :nth-child(3)) .data-table__scroll-supply {
    display: flex;
  }
}
.policy {
  /**
   * Layout（サイドナビ無し・単一カラム）: harassment / coverageページで使用
  ==================== */
  /**
   * Content
  ==================== */
  /**
   * 条文・箇条（第N条 / 1〜8）
  ==================== */
  /**
   * 箇条書き（ul / ol）
  ==================== */
  /**
   * 協力石材店 / 関係寺院ボックス（privacy）
  ==================== */
  /**
   * 一覧表（privacy）: components/_data-table.scss を利用
  ==================== */
  /**
   * お問い合わせ窓口ボックス（harassment / coverage）
  ==================== */
}
.policy__wrapper {
  position: relative;
  width: 100%;
  display: flex;
  gap: 120px;
  flex-direction: column;
  padding: 40px 0 80px;
}
@media (max-width: 1440px) {
  .policy__wrapper {
    gap: 8.3333333333vw;
    padding: 2.7777777778vw 0 5.5555555556vw;
  }
}
@media (max-width: 1020px) {
  .policy__wrapper {
    gap: 10.6666666667vw;
    padding: 10.6666666667vw 5.3333333333vw 0;
  }
}
.policy__wrapper::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: 40px;
  background: linear-gradient(to bottom, var(--clr-kr-information-bg), transparent);
  pointer-events: none;
}
@media (max-width: 1440px) {
  .policy__wrapper::before {
    height: 2.7777777778vw;
  }
}
@media (max-width: 1020px) {
  .policy__wrapper::before {
    height: 10.6666666667vw;
  }
}
.policy__layout {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
@media (max-width: 1440px) {
  .policy__layout {
    gap: 2.7777777778vw;
  }
}
@media (max-width: 1020px) {
  .policy__layout {
    flex-direction: column;
    gap: 6.4vw;
  }
}
.policy__single-wrapper {
  position: relative;
  padding: 40px 0 120px;
}
@media (max-width: 1440px) {
  .policy__single-wrapper {
    padding: 2.7777777778vw 0 8.3333333333vw;
  }
}
@media (max-width: 1020px) {
  .policy__single-wrapper {
    padding: 10.6666666667vw 5.3333333333vw;
  }
}
.policy__single-wrapper::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: 40px;
  background: linear-gradient(to bottom, var(--clr-kr-information-bg), transparent);
  pointer-events: none;
}
@media (max-width: 1440px) {
  .policy__single-wrapper::before {
    height: 2.7777777778vw;
  }
}
@media (max-width: 1020px) {
  .policy__single-wrapper::before {
    height: 10.6666666667vw;
  }
}
.policy__single {
  position: relative;
  isolation: isolate;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 80px 200px;
  background: var(--clr-text-white);
}
@media (max-width: 1440px) {
  .policy__single {
    gap: 2.7777777778vw;
    padding: 5.5555555556vw 13.8888888889vw;
  }
}
@media (max-width: 1020px) {
  .policy__single {
    max-width: 100%;
    gap: 6.4vw;
    padding: 10.6666666667vw 5.3333333333vw;
  }
}
.policy__content {
  width: 100%;
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  gap: 80px;
  min-width: 0;
}
@media (max-width: 1440px) {
  .policy__content {
    gap: 5.5555555556vw;
  }
}
@media (max-width: 1020px) {
  .policy__content {
    gap: 12.8vw;
  }
}
.policy__section {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (max-width: 1440px) {
  .policy__section {
    gap: 2.2222222222vw;
  }
}
@media (max-width: 1020px) {
  .policy__section {
    gap: 5.3333333333vw;
  }
}
.policy__section-title {
  width: 100%;
  color: var(--clr-kr-black-secondary);
  font-family: var(--ff-zen-mincho);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.6;
}
@media (max-width: 1440px) {
  .policy__section-title {
    font-size: 2.2222222222vw;
  }
}
@media (max-width: 1020px) {
  .policy__section-title {
    font-size: 6.4vw;
  }
}
.policy__lead {
  width: 100%;
  color: var(--clr-kr-black);
  font-size: 18px;
  line-height: 1.8;
}
@media (max-width: 1440px) {
  .policy__lead {
    font-size: 1.25vw;
  }
}
@media (max-width: 1020px) {
  .policy__lead {
    font-size: 4.2666666667vw;
    line-height: 1.7;
  }
}
.policy__articles {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (max-width: 1440px) {
  .policy__articles {
    gap: 2.2222222222vw;
  }
}
@media (max-width: 1020px) {
  .policy__articles {
    gap: 6.4vw;
  }
}
.policy__article {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  color: var(--clr-kr-black);
  font-size: 18px;
  letter-spacing: 0.16px;
}
@media (max-width: 1440px) {
  .policy__article {
    gap: 1.1111111111vw;
    font-size: 1.25vw;
  }
}
@media (max-width: 1020px) {
  .policy__article {
    gap: 3.2vw;
    font-size: 4.2666666667vw;
  }
}
.policy__article-title {
  font-weight: 700;
  line-height: 2;
}
.policy__article-text {
  font-weight: 400;
  line-height: 1.8;
}
.policy__revisions {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.policy__revision {
  color: var(--clr-kr-black);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  text-align: right;
}
@media (max-width: 1440px) {
  .policy__revision {
    font-size: 1.25vw;
  }
}
@media (max-width: 1020px) {
  .policy__revision {
    font-size: 4.2666666667vw;
  }
}
.policy__paragraph {
  width: 100%;
  color: var(--clr-kr-black);
  font-size: 18px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.18px;
}
@media (max-width: 1440px) {
  .policy__paragraph {
    font-size: 1.25vw;
  }
}
@media (max-width: 1020px) {
  .policy__paragraph {
    font-size: 4.2666666667vw;
  }
}
.policy__paragraph-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 1440px) {
  .policy__paragraph-group {
    gap: 1.1111111111vw;
  }
}
@media (max-width: 1020px) {
  .policy__paragraph-group {
    gap: 3.2vw;
  }
}
.policy__note {
  width: 100%;
  color: var(--clr-kr-black-secondary);
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.16px;
}
@media (max-width: 1440px) {
  .policy__note {
    font-size: 1.1111111111vw;
  }
}
@media (max-width: 1020px) {
  .policy__note {
    font-size: 3.7333333333vw;
  }
}
.policy__placeholder {
  color: var(--clr-kr-error, #ab2200);
}
.policy__list, .policy__sublist {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding-left: 24px;
  color: var(--clr-kr-black);
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 1440px) {
  .policy__list, .policy__sublist {
    gap: 1.1111111111vw;
    padding-left: 1.6666666667vw;
    font-size: 1.1111111111vw;
  }
}
@media (max-width: 1020px) {
  .policy__list, .policy__sublist {
    gap: 3.2vw;
    padding-left: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.policy__list li strong, .policy__sublist li strong {
  font-weight: 700;
}
.policy__list {
  list-style: disc;
}
.policy__list.-numbered {
  list-style: decimal;
}
.policy__sublist {
  list-style: decimal;
}
.policy__sublist.-alpha {
  list-style: lower-alpha;
}
.policy__sublist.-parenthesized {
  padding-left: 0;
  list-style: none;
  counter-reset: parenthesized-list;
}
.policy__sublist.-parenthesized > li {
  position: relative;
  padding-left: 2em;
  counter-increment: parenthesized-list;
}
.policy__sublist.-parenthesized > li::before {
  content: "(" counter(parenthesized-list) ")";
  position: absolute;
  top: 0;
  left: 0;
}
.policy__box-note {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 16px 0;
  color: var(--clr-kr-black);
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 1440px) {
  .policy__box-note {
    padding: 1.1111111111vw 0;
    font-size: 1.1111111111vw;
  }
}
@media (max-width: 1020px) {
  .policy__box-note {
    font-size: 3.7333333333vw;
  }
}
.policy__boxes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}
@media (max-width: 1440px) {
  .policy__boxes {
    gap: 1.6666666667vw;
  }
}
@media (max-width: 1020px) {
  .policy__boxes {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw;
  }
}
.policy__box {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--clr-kr-border-gray);
}
@media (max-width: 1440px) {
  .policy__box {
    gap: 1.1111111111vw;
    padding: 1.1111111111vw;
  }
}
@media (max-width: 1020px) {
  .policy__box {
    gap: 3.2vw;
    padding: 4.2666666667vw;
  }
}
.policy__box-title {
  width: 100%;
  color: var(--clr-kr-black);
  font-family: var(--ff-zen-mincho);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 1440px) {
  .policy__box-title {
    font-size: 1.25vw;
  }
}
@media (max-width: 1020px) {
  .policy__box-title {
    font-size: 4.2666666667vw;
  }
}
.policy__box-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding-left: 1.5em;
  list-style: disc;
  color: var(--clr-kr-black);
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 1440px) {
  .policy__box-list {
    gap: 0.5555555556vw;
    font-size: 1.1111111111vw;
  }
}
@media (max-width: 1020px) {
  .policy__box-list {
    font-size: 3.7333333333vw;
  }
}
@media (min-width: 1021px) {
  .policy__box-list.-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
  }
}
.policy__table {
  width: 100%;
}
.policy__contact-box {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  padding: 34px 35px;
  border: 1px solid var(--clr-kr-border-gray);
  color: var(--clr-kr-black);
}
@media (max-width: 1440px) {
  .policy__contact-box {
    gap: 1.1111111111vw;
    padding: 2.3611111111vw 2.4305555556vw;
  }
}
@media (max-width: 1020px) {
  .policy__contact-box {
    gap: 3.2vw;
    padding: 6.4vw 5.3333333333vw;
  }
}
.policy__contact-box-title {
  width: 100%;
  font-family: var(--ff-zen-mincho);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.6;
}
@media (max-width: 1440px) {
  .policy__contact-box-title {
    font-size: 1.6666666667vw;
  }
}
@media (max-width: 1020px) {
  .policy__contact-box-title {
    font-size: 5.3333333333vw;
  }
}
.policy__contact-box-text {
  font-size: 18px;
  line-height: 1.6;
}
.policy__contact-box-text a {
  color: var(--clr-kr-black);
  text-decoration: underline;
}
@media (max-width: 1440px) {
  .policy__contact-box-text {
    font-size: 1.25vw;
  }
}
@media (max-width: 1020px) {
  .policy__contact-box-text {
    font-size: 4.2666666667vw;
  }
}
.policy__date {
  width: 100%;
  color: var(--clr-kr-black);
  font-size: 14px;
  line-height: 1.5;
  text-align: right;
}
@media (max-width: 1440px) {
  .policy__date {
    font-size: 0.9722222222vw;
  }
}
@media (max-width: 1020px) {
  .policy__date {
    font-size: 3.2vw;
  }
}
.policy__table .data-table__table th,
.policy__table .data-table__table td {
  color: var(--clr-kr-black);
  text-align: center;
}
.policy__table .data-table__table th {
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}
@media (max-width: 1440px) {
  .policy__table .data-table__table th {
    font-size: 1.1111111111vw;
  }
}
@media (max-width: 1020px) {
  .policy__table .data-table__table th {
    font-size: 3.7333333333vw;
  }
}
.policy__table .data-table__table td {
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
}
@media (max-width: 1440px) {
  .policy__table .data-table__table td {
    font-size: 0.9722222222vw;
  }
}
@media (max-width: 1020px) {
  .policy__table .data-table__table td {
    font-size: 3.4666666667vw;
  }
}
.policy__table-col.-no {
  width: 6%;
}
.policy__table-col.-document {
  width: 23%;
}
.policy__table-col.-purpose {
  width: 18%;
}
.policy__table-col.-content {
  width: 18%;
}
.policy__table-col.-recipient {
  width: 35%;
}

/*# sourceMappingURL=policy.css.map */
