@charset "UTF-8";

/* ----------------------------------------------------
 * 共通パーツ
 * ---------------------------------------------------- */
/* 改行：PC向け */
@media (width >= 769px) {
  .parts-pc-none {
    display: none;
  }
}
/* 改行：SP向け */
@media (width < 769px) {
  .parts-sp-none {
    display: none;
  }
}

/* 上に丸装飾 */
.parts-dot-decoration {
  background-image: radial-gradient(circle at center, var(--ctm-color-aa) 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.2em;
  padding-top: 0.3em;
}

/* line marker */
.parts-marker-line {
  background: linear-gradient(transparent 50%, rgba(255,249,180,1.0) 50%);
  display: inline;
}

/* parts-a-link */
/* PC向け */
@media (width >= 769px) {
  .parts-a-link[target="_blank"] {
    transform: none;
    transition: none;
    word-break: break-word;
    color: var(--ctm-color-aa);
    text-decoration: underline;
    display: inline;
    &::after {
      content: "";
      margin-left: 0.313em/* 5.0px */;
      background: url(../img/icon_external.png) 50% 50% / contain no-repeat;
      height: 10px;
      width: 10px;
      display: inline-block;
      position: relative;
      top: 1px;
    }
    &:hover {
      opacity: 0.6;
    }
  }
}
/* SP向け */
@media (width < 769px) {
  .parts-a-link[target="_blank"] {
    transform: none;
    transition: none;
    word-break: break-word;
    color: var(--ctm-color-aa);
    text-decoration: underline;
    display: inline;
    &::after {
      content: "";
      margin-left: 5px;
      background: url(../img/icon_external.png) 50% 50% / contain no-repeat;
      height: 10px;
      width: 10px;
      display: inline-block;
      position: relative;
      top: 0px;
    }
  }
}

/* parts-caption */
.parts-caption {
  &[data-symbol] {
    display: inline-block;
    position: relative;
    padding: 0 0 0 1.3em;
    &::before {
      content: attr(data-symbol);
      left: 0;
      position: absolute;
    }
    &[data-symbol-len="2"] {
      padding: 0 0 0 2.6em;
    }
  }
}



/* --------------------------------------------------
 * 共通パーツ：グリッドレイアウト用 ※共通パーツでは左右端の空きは調整しない。
 * -------------------------------------------------- */
/* even */
[class*="has-"][class*="__even"] > [class*="__item"]:nth-child(even) {
  background: #eee;
}

/* border */
[class*="has-"][class*="__border"] > [class*="__item"] {
  border: 1px solid var(--ctm-border-color);
}

/* グリッド(flex) */
.has-flex {
  /*letter-spacing: -0.5em;*/
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
  /* 変更したい箇所のみ--ctm-has-flex-gap変更で変更箇所のみ変わる。rem vwもOK。 */
  --ctm-has-flex-gap: 20px;
  gap: var(--ctm-has-flex-gap) var(--ctm-has-flex-gap);
}
.has-flex > .has-flex__item {
  /*display: inline-block;*/
  /*vertical-align: top;*/
  position: relative;
  /*width: 100%;*/
  /*order: 0;*/
  /*flex-grow: 0;*/
  /*flex-shrink: 0;*/
  /*flex-basis: auto;*/
  /*align-self: auto;*/
}
.has-flex[data-col] {
  --ctm-has-flex-col: 1;
}
.has-flex[data-col] > .has-flex__item {
  --ctm-has-flex-formula: calc(100% / var(--ctm-has-flex-col) - ( var(--ctm-has-flex-col) - 1 ) * var(--ctm-has-flex-gap) / var(--ctm-has-flex-col));
  flex-basis: var(--ctm-has-flex-formula);
  width: var(--ctm-has-flex-formula);
  max-width: var(--ctm-has-flex-formula);
}
/* グリッド(flex)：PC向け */
@media (width >= 830px) {
  .has-flex[data-col*="pc2"] {--ctm-has-flex-col: 2;}
  .has-flex[data-col*="pc3"] {--ctm-has-flex-col: 3;}
  .has-flex[data-col*="pc4"] {--ctm-has-flex-col: 4;}
  .has-flex[data-col*="pc5"] {--ctm-has-flex-col: 5;}
  .has-flex[data-col*="pc6"] {--ctm-has-flex-col: 6;}
  .has-flex[data-col*="pc7"] {--ctm-has-flex-col: 7;}
}
/* グリッド(flex)：SP向け */
@media (width < 830px) {
  .has-flex[data-col*="sp2"] {--ctm-has-flex-col: 2;}
  .has-flex[data-col*="sp3"] {--ctm-has-flex-col: 3;}
  .has-flex[data-col*="sp4"] {--ctm-has-flex-col: 4;}
  .has-flex[data-col*="sp5"] {--ctm-has-flex-col: 5;}
  .has-flex[data-col*="sp6"] {--ctm-has-flex-col: 6;}
  .has-flex[data-col*="sp7"] {--ctm-has-flex-col: 7;}
}

/* グリッド(table) */
.has-table {
  display: table;
  width: 100%;
  &>.has-table__item {
    display: table-cell;
    word-wrap : break-word;
    overflow-wrap : break-word;
    vertical-align: middle;
  }
}

/* グリッド(grid) */
.has-grid {
  width: 100%;
  display: grid;
  --ctm-has-grid-col: 1;
  --ctm-grid-len: calc(100% / var(--ctm-has-grid-col) - ( var(--ctm-has-grid-col) - 1 ) * var(--ctm-has-grid-gap) / var(--ctm-has-grid-col));
  grid-template-columns: repeat(var(--ctm-has-grid-col),var(--ctm-grid-len));
  /* 変更したい箇所のみ--ctm-has-grid-gap変更で変更箇所のみ変わる。rem vwもOK。 */
  --ctm-has-grid-gap: 20px;
  gap: var(--ctm-has-grid-gap) var(--ctm-has-grid-gap);
}
.has-grid > .has-grid__item {
  position: relative;
}
/* グリッド(grid)：1個目のみ大きくする */
.has-grid[data-col].has-grid__first-large > .has-grid__item:first-child {
  grid-column: 1 / calc(var(--ctm-has-grid-col) + 1);
}  
/* グリッド(grid)：n行の横位置を揃える */
.has-grid[data-row] {
  --ctm-has-grid-sub-row: 1;
  --ctm-has-grid-gap-sub: 10px;
}
.has-grid[data-row] > .has-grid__item {
  display: grid;
  grid-row: span var(--ctm-has-grid-sub-row);
  grid-template-rows: subgrid;
  gap: var(--ctm-has-grid-gap-sub);
}  
.has-grid[data-row="2"] {--ctm-has-grid-sub-row: 2;}
.has-grid[data-row="3"] {--ctm-has-grid-sub-row: 3;}
.has-grid[data-row="4"] {--ctm-has-grid-sub-row: 4;}
.has-grid[data-row="5"] {--ctm-has-grid-sub-row: 5;}
.has-grid[data-row="6"] {--ctm-has-grid-sub-row: 6;}
.has-grid[data-row="7"] {--ctm-has-grid-sub-row: 7;}
.has-grid[data-row="8"] {--ctm-has-grid-sub-row: 8;}
.has-grid[data-row="9"] {--ctm-has-grid-sub-row: 9;}
.has-grid[data-row="10"] {--ctm-has-grid-sub-row: 10;}

/* グリッド(flex)：PC向け */
@media (width >= 830px) {
  .has-grid[data-col*="pc2"] {--ctm-has-grid-col: 2;}
  .has-grid[data-col*="pc3"] {--ctm-has-grid-col: 3;}
  .has-grid[data-col*="pc4"] {--ctm-has-grid-col: 4;}
  .has-grid[data-col*="pc5"] {--ctm-has-grid-col: 5;}
  .has-grid[data-col*="pc6"] {--ctm-has-grid-col: 6;}
  .has-grid[data-col*="pc7"] {--ctm-has-grid-col: 7;}
}
/* グリッド(flex)：SP向け */
@media (width < 830px) {
  .has-grid[data-col*="sp2"] {--ctm-has-grid-col: 2;}
  .has-grid[data-col*="sp3"] {--ctm-has-grid-col: 3;}
  .has-grid[data-col*="sp4"] {--ctm-has-grid-col: 4;}
  .has-grid[data-col*="sp5"] {--ctm-has-grid-col: 5;}
  .has-grid[data-col*="sp6"] {--ctm-has-grid-col: 6;}
  .has-grid[data-col*="sp7"] {--ctm-has-grid-col: 7;}
}


/*- ---------------------------------------------------
 * parts-header-simple
 * ---------------------------------------------------- */
.parts-header-simple {
  background-color: #fffdf4;
  picture {
    display: block;
  }
}
.parts-header-simple + .parts-section-article {
  margin-top: 40px;
}



/*- ---------------------------------------------------
 * parts-header-nav
 * ---------------------------------------------------- */
/* PC向け */
@media (width >= 769px) {
  .parts-header-nav {
    --ctm-parts-header-nav-height: 2.75em/* 44.0px */;
    --ctm-parts-header-nav-height-margin: 1.875em/* 30.0px */;
    --ctm-parts-header-nav-height-max: calc(var(--ctm-parts-header-nav-height) + var(--ctm-parts-header-nav-height-margin) * 2);
    font-size: 0.83vw;
    padding: 0 3.125em/* 50.0px */;
    height: var(--ctm-parts-header-nav-height-max);
    .parts-header-nav__inner {
      display: flex;
      justify-content: space-between;
      picture {
        display: flex;
        align-items: center;
        height: var(--ctm-parts-header-nav-height-max);
        img {
          height: var(--ctm-parts-header-nav-height);
        }
      }
    }
    &.parts-nav-menu__open {
      background-color: #f7f5ec;
      position: fixed;
      width: 100%;
      z-index: 10;
      top: 0;
      left: 0;
      .parts-nav-menu__content-inner {
        background-color: #f7f5ec;
      }
    }
  }
}
/* SP向け */
@media (width < 769px) {
  .parts-header-nav {
    --ctm-parts-header-nav-height: 22px;
    --ctm-parts-header-nav-height-margin: 15px;
    --ctm-parts-header-nav-height-max: calc(var(--ctm-parts-header-nav-height) + var(--ctm-parts-header-nav-height-margin) * 2);
    padding: 0 20px;
    height: var(--ctm-parts-header-nav-height-max);
    .parts-header-nav__inner {
      display: flex;
      justify-content: space-between;
      picture {
        display: flex;
        align-items: center;
        height: var(--ctm-parts-header-nav-height-max);
        img {
          height: var(--ctm-parts-header-nav-height);
        }
      }
    }
    &.parts-nav-menu__open {
      background-color: #f7f5ec;
      position: fixed;
      width: 100%;
      z-index: 10;
      top: 0;
      left: 0;
      .parts-nav-menu__content-inner {
        background-color: #f7f5ec;
      }
    }
  }
}


/*- ---------------------------------------------------
 * parts-nav-menu
 * ---------------------------------------------------- */
@keyframes anime-parts-nav-menu-open {
  0% {display: block;top: calc(0rem + var(--ctm-parts-header-nav-height-max)); opacity: 0;}
  100% {top: calc(0rem + var(--ctm-parts-header-nav-height-max)); opacity: 1;}
}
.parts-nav-menu.parts-nav-menu__close .parts-nav-menu__content {
  animation-name: anime-parts-nav-menu-close;
}
@keyframes anime-parts-nav-menu-close {
  0% {display: block;top: calc(0rem + var(--ctm-parts-header-nav-height-max)); opacity: 1;}
  100% {top: calc(0rem + var(--ctm-parts-header-nav-height-max)); display: none; opacity: 0;}
}
/* PC向け */
@media (width >= 769px) {
  .parts-nav-menu {
    font-size: 0.83vw;
    display: flex;
    .parts-nav-menu__icon {
      cursor: pointer;
      text-align: center;
      -moz-user-select: none;
      -webkit-user-select: none;
      -ms-user-select: none;
      user-select: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.938em/* 15.0px */;
      position: relative;
      &::before {
        content: "";
        display: block;
        width: 120%;
        height: 100%;
        position: absolute;
        right: 0;
        top: 0;
        z-index: 11;
      }
      &:hover {
        .parts-nav-menu__text,
        &::after {
          opacity: 0.6;
        }
      }
      &::after {
        margin: 0;
        content: "";
        background-image: url(../img/hamburger_menu_open_pc.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 100% 50%;
        height: 1.188em/* 19.0px */;
        width: 3.125em/* 50.0px */;
      }
    }
    .parts-nav-menu__text {
      margin: 0;
      display: block;
      line-height: 1;
      font-weight: bold;
      &::before {
        content: "MENU";
        white-space: nowrap;
        font-size: clamp(var(--ctm-base-font-size-min), 1em, 16.0px);
        line-height: inherit;
      }
    }
    &.parts-nav-menu__open {
      .parts-nav-menu__icon::after {
        content: "";
        background-image: url(../img/hamburger_menu_close_pc.png);
        height: 1.625em/* 26.0px */;
      }
      .parts-nav-menu__text {
        &::before {
          content: "MENU";
        }
      }
      .parts-nav-menu__content {
        display: block;
        animation-name: anime-parts-nav-menu-open;
      }
    }
    .parts-nav-menu__content {
      --ctm-parts-header-nav-height-max: calc(var(--ctm-parts-header-nav-height) + var(--ctm-parts-header-nav-height-margin));
      display: none;
      z-index: 10;
      position: absolute;
      background: rgba(0, 0, 0, 0.2);
      text-align: left;
      left: 0;
      top: var(--ctm-parts-header-nav-height-max);
      width: 100%;
      height: calc(100vh - var(--ctm-parts-header-nav-height-max));

      animation-duration: 0.1s;
      animation-timing-function: linear;
      animation-delay: 0s;
      animation-fill-mode: forwards;
      .parts-nav-menu__content-inner {
        padding: 1.875em 3.125em 2.5em/* 40.0px */ 3.125em;/*30px 50px 40px 50px*/
      }
      .parts-footer-link {
        padding: 1.5em 4.875em 2.5em 4.875em;/*40px 78px*/
        border: none;
        border-radius: 0.625em/* 10.0px */;
        box-shadow: 0px 0px 1.25em/* 20px */ rgba(194, 188, 161, 0.1);
        .parts-footer-link__inner {
          --ctm-has-flex-gap: 1.875em/* 30.0px */;
          .parts-footer-link__item-link {
            border: none;
            border-bottom: 1px dashed #dbd5b7;
            &>div,
            &>a {
              padding: 1em 1.563em;/*16px 25px*/
              line-height: 1.8;
              .item-font {
                font-size: clamp(var(--ctm-base-font-size-min), 0.938em, 15.0px);
                font-weight: bold;
              }
              &::before {
                display: none;
              }
            }
          }
        }
      }
    }
  }
}
/* SP向け */
@media (width < 769px) {
  .parts-nav-menu {
    display: flex;
    .parts-nav-menu__icon {
      cursor: pointer;
      text-align: center;
      -moz-user-select: none;
      -webkit-user-select: none;
      -ms-user-select: none;
      user-select: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      position: relative;
      &::before {
        content: "";
        display: block;
        width: 120%;
        height: 100%;
        position: absolute;
        right: 0;
        top: 0;
        z-index: 11;
      }
      &::after {
        margin: 0;
        content: "";
        background-image: url(../img/hamburger_menu_open_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 100% 50%;
        height: 10px;
        width: 30px;
      }
    }
    .parts-nav-menu__text {
      margin: 0;
      display: block;
      line-height: 1;
      font-weight: bold;
      transform: translateY(-1px);
      &::before {
        content: "MENU";
        white-space: nowrap;
        font-size: 12px;
        line-height: inherit;
      }
    }
    &.parts-nav-menu__open {
      .parts-nav-menu__icon::after {
        content: "";
        background-image: url(../img/hamburger_menu_close_sp.png);
        height: 16px;
      }
      .parts-nav-menu__text {
        &::before {
          content: "MENU";
        }
      }
      .parts-nav-menu__content {
        display: block;
        animation-name: anime-parts-nav-menu-open;
      }
    }
    .parts-nav-menu__content {
      --ctm-parts-header-nav-height-max: calc(var(--ctm-parts-header-nav-height) + var(--ctm-parts-header-nav-height-margin));
      display: none;
      z-index: 10;
      position: absolute;
      background: rgba(0, 0, 0, 0.2);
      text-align: left;
      left: 0;
      top: var(--ctm-parts-header-nav-height-max);
      width: 100%;
      height: calc(100vh - var(--ctm-parts-header-nav-height-max));

      animation-duration: 0.1s;
      animation-timing-function: linear;
      animation-delay: 0s;
      animation-fill-mode: forwards;
      .parts-nav-menu__content-inner {
        padding: 15px 20px 20px 20px;
      }
      .parts-footer-link {
        padding: 8px 15px 20px 15px;
        border: none;
        border-radius: 10px;
        box-shadow: 0px 0px 10px rgba(194, 188, 161, 0.25);
        .parts-footer-link__inner {
          .parts-footer-link__item-link {
            border: none;
            border-bottom: 1px dashed #ece8d4;
            &>div,
            &>a {
              padding: 12px 10px;
              line-height: 1.35;
              .item-font {
                font-size: 14px;
                font-weight: bold;
              }
              &::before {
                display: none;
              }
            }
          }
        }
      }
    }
  }
}



/*- ---------------------------------------------------
 * parts-footer-link
 * ---------------------------------------------------- */
/* PC向け */
@media (width >= 769px) {
  .parts-footer-link {
    font-size: 0.83vw;
    background-color: #fff;
    .parts-footer-link__inner {
      width: 100%;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: stretch;
      align-content: stretch;
      --ctm-has-flex-col: 2;
      --ctm-has-flex-gap: 0px;
      gap: 0 var(--ctm-has-flex-gap);
      .parts-footer-link__item-link {
        --ctm-has-flex-formula: calc(100% / var(--ctm-has-flex-col) - ( var(--ctm-has-flex-col) - 1 ) * var(--ctm-has-flex-gap) / var(--ctm-has-flex-col));
        flex-basis: var(--ctm-has-flex-formula);
        width: var(--ctm-has-flex-formula);
        max-width: var(--ctm-has-flex-formula);
        position: relative;
        display: flex;
        &:hover {
          background-color: #f7f5ec;
          > div,
          > a {
            &::before {
              border-color: #f7f5ec;
              height: calc(100% + 1px);
              z-index: 1;
            }
          }
        }        
        > div,
        > a {
          width: 100%;
          display: flex;
          justify-content: space-between;
          align-items: center;
          gap: 16px;
          min-height: 4.75em/* 76.0px */;
          line-height: 1.35;
          color: inherit;
          padding: 0.938em/* 15.0px */;
          transition: none;
          text-decoration: none;
          &::before {
            content: "";
            display: block;
            height: calc(100% + 1px);
            width: calc(100% + 1px);
            position: absolute;
            top: 0;
            left: 0;
            border: 1px solid #e7e7e7;
          }
          .item-font {
            font-size: clamp(var(--ctm-base-font-size-min), 1em, 16.0px);
          }
          &::after {
            content: "";
            background: url(../img/icon_arrow_link.png) 50% 50% / contain no-repeat;
            height: 14px;
            width: 8px;
            display: block;
          }
        }
      }
    }
  }
}
/* SP向け */
@media (width < 769px) {
  .parts-footer-link {
    background-color: #fff;
    .parts-footer-link__inner {
      width: 100%;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: stretch;
      align-content: stretch;
      --ctm-has-flex-col: 1;
      --ctm-has-flex-gap: 30px;
      gap: 0 var(--ctm-has-flex-gap);
      .parts-footer-link__item-link {
        --ctm-has-flex-formula: calc(100% / var(--ctm-has-flex-col) - ( var(--ctm-has-flex-col) - 1 ) * var(--ctm-has-flex-gap) / var(--ctm-has-flex-col));
        flex-basis: var(--ctm-has-flex-formula);
        width: var(--ctm-has-flex-formula);
        max-width: var(--ctm-has-flex-formula);
        display: flex;
        position: relative;
        > div,
        > a {
          width: 100%;
          display: flex;
          justify-content: space-between;
          align-items: center;
          gap: 7px;
          min-height: calc(40px + (12px * 2));
          line-height: 1.35;
          color: inherit;
          padding: 12px 16px;
          transition: none;
          text-decoration: none;
          .item-font {
            width: calc(100% - 8px);
            font-size: 15px;
          }
          &::before {
            content: "";
            display: block;
            height: calc(100% + 1px);
            width: 100%;
            position: absolute;
            top: 0;
            left: 0;
            border: 1px solid #e7e7e7;
          }
          &::after {
            content: "";
            background: url(../img/icon_arrow_link.png) 50% 50% / contain no-repeat;
            height: 14px;
            width: 8px;
            display: block;
          }
        }
      }
    }
  }
}


/*- ---------------------------------------------------
 * parts-footer-link-simple
 * ---------------------------------------------------- */
/* PC向け */
@media (width >= 769px) {
  .parts-footer-link-simple {
    max-inline-size: max-content;
    margin-inline: auto;
    margin-top: 1.75em/* 28.0px */;
    font-size: 0.83vw;
    .parts-footer-link-simple__inner {
      .parts-footer-link-simple__item-link {
        a[target="_blank"] {
          transform: none;
          transition: none;
          word-break: break-word;
          color: var(--ctm-color-aa);
          text-decoration: underline;
          display: inline;
          line-height: 2;
          .item-font {
            font-size: clamp(var(--ctm-base-font-size-min), 1em, 16.0px);
          }
          &::after {
            content: "";
            background: url(../img/icon_external.png) 50% 50% / contain no-repeat;
            height: 10px;
            width: 10px;
            display: inline-block;
            position: relative;
            top: 1px;
            margin-left: 0.313em /* 5.0px */;
          }
          &:hover {
            opacity: 0.6;
          }
        }
      }
    }
  }
}
/* SP向け */
@media (width < 769px) {
  .parts-footer-link-simple {
    max-inline-size: max-content;
    margin-inline: auto;
    margin-top: 28px;
    .parts-footer-link-simple__inner {
      .parts-footer-link-simple__item-link {
        a[target="_blank"] {
          transform: none;
          transition: none;
          word-break: break-word;
          color: var(--ctm-color-aa);
          text-decoration: underline;
          display: inline;
          line-height: 2;
          .item-font {
            font-size: 16px;
          }
          &::after {
            content: "";
            background: url(../img/icon_external.png) 50% 50% / contain no-repeat;
            height: 10px;
            width: 10px;
            display: inline-block;
            position: relative;
            top: 0px;
            margin-left: 5px;
          }
        }
      }
    }
  }
}


/*- ---------------------------------------------------
 * parts-footer-v2
 * ---------------------------------------------------- */
/* PC向け */
@media (width >= 769px) {
  .parts-footer-v2 {
    padding-bottom: 6.25em;/*100px*/
    .parts-inner {
      max-width: calc(1024px + 0.938em * 2);
      .parts-footer-link {
        margin-top: 5em/* 80.0px */;
        margin-bottom: 5em/* 80.0px */;
      }
      /* privacymark有り */
      .parts-footer-v2__bottom-privacymark {
        margin-top: 1.75em/* 28.0px */;
        border-top: var(--ctm-border-width) solid var(--ctm-color-aa);
        position: relative;
        padding: 2.313em 1.25em 0 1.25em;/*37px 20px 0 20px*/
        .parts-footer-v2__logo {
          width: 13em/* 208.0px */;
          display: block;
          text-align: center;
          margin-bottom: 1.25em/* 20.0px */;
          .parts-footer-v2__img {
            margin: auto;
            color: inherit;
            text-decoration: none;
            img {
              width: 171px;
            }
          }
        }
        .parts-footer-v2__privacymark {
          width: 4.375em/* 70.0px */;
          height: 4.375em/* 70.0px */;
          position: absolute;
          top: 2.313em/* 37.0px */;
          right: 1.25em/* 20.0px */;
        }
        .parts-footer-v2__copyright {
          max-inline-size: max-content;
          line-height: 1.35;
          .item-font {
            font-size: clamp(var(--ctm-base-font-size-min), 0.75em, 12.0px);
          }

        }
      }
      /* privacymark無し */
      .parts-footer-v2__bottom {
        margin-top: 1.75em/* 28.0px */;
        border-top: var(--ctm-border-width) solid var(--ctm-color-aa);
        position: relative;
        padding: 2.313em 1.25em 0 1.25em;/*37px 20px 0 20px*/
        .parts-footer-v2__logo {
          max-inline-size: max-content;
          margin-inline: auto;
          text-align: center;
          margin-bottom: 1.25em/* 20.0px */;
          .parts-footer-v2__img {
            margin: auto;
            color: inherit;
            text-decoration: none;
            img {
              width: 171px;
            }
          }
        }
        .parts-footer-v2__copyright {
          max-inline-size: max-content;
          margin-inline: auto;
          line-height: 1.35;
          .item-font {
            font-size: clamp(var(--ctm-base-font-size-min), 0.75em, 12.0px);
          }

        }
      }
    }
  }
}
/* SP向け */
@media (width < 769px) {
  .parts-footer-v2 {
    padding-bottom: 100px;
    .parts-inner {
      padding-left: 20px;
      padding-right: 20px;
      .parts-footer-link {
        margin-top: 30px;
        margin-bottom: 30px;
      }
      /* privacymark有り */
      .parts-footer-v2__bottom-privacymark {
        margin-top: 28px;
        border-top: var(--ctm-border-width) solid var(--ctm-color-aa);
        position: relative;
        padding: 37px 20px 0 20px;
        text-align: center;
        .parts-footer-v2__logo {
          display: block;
          margin-bottom: 20px;
          .parts-footer-v2__img {
            img {
              width: 100px;
              height: 20px;
              display: block;
              margin: auto;
            }
          }
        }
        .parts-footer-v2__privacymark {
          width: 70px;
          height: 70px;
          margin: 15px auto;
        }
        .parts-footer-v2__copyright {
          line-height: 1.35;
          .item-font {
            font-size: 11px;
          }
        }
      }
      /* privacymark無し */
      .parts-footer-v2__bottom {
        margin-top: 28px;
        border-top: var(--ctm-border-width) solid var(--ctm-color-aa);
        position: relative;
        padding: 37px 20px 0 20px;
        text-align: center;
        .parts-footer-v2__logo {
          display: block;
          margin-bottom: 20px;
          .parts-footer-v2__img {
            img {
              width: 100px;
              height: 20px;
              display: block;
              margin: auto;
            }
          }
        }
        .parts-footer-v2__copyright {
          line-height: 1.35;
          .item-font {
            font-size: 11px;
          }
        }
      }
    }
  }
}



/*- ---------------------------------------------------
 * parts-section-article
 * ---------------------------------------------------- */
/* PC向け */
@media (width >= 769px) {
  .parts-section-article {
    font-size: 0.83vw;
    line-height: 2;
    .parts-inner {
      max-width: calc(1024px + 0.938em * 2);
      /* 見出し */
      .parts-article__priority1 {
        margin-top: 3.75em/* 60.0px */;
        margin-bottom: 3.75em/* 60.0px */;
        text-align: center;
        font-weight: bold;
        font-size: inherit;
        line-height: 1.35;
        padding-bottom: calc(1.875em/* 30.0px */ + var(--ctm-border-width));
        position: relative;
        .item-font {
          font-size: clamp(var(--ctm-base-font-size-min), 2em, 32.0px);
        }
        &::after {
          --ctm-line-width: 12.5em/* 200.0px */;
          content: "";
          background-color: var(--ctm-color-aa);
          display: block;
          height: var(--ctm-border-width);
          width: var(--ctm-line-width);
          position: absolute;
          bottom: 0;
          left: calc(50% - var(--ctm-line-width) / 2);
        }
      }
      .parts-article__priority2 {
        margin-top: 3.75em/* 60.0px */;
        margin-bottom: 0.938em/* 15.0px */;
        padding-left: 1.25em/* 20.0px */;
        font-weight: bold;
        font-size: inherit;
        line-height: 2;
        position: relative;
        &::before {
          content: "";
          display: inline-block;
          background: url(../img/icon_priority_vertical.png) 50% 50% / contain no-repeat;
          width: 0.313em/* 5.0px */;
          height: 1.875em/* 30.0px */;
          position: absolute;
          top: 0.438em/* 7.0px */;
          left: 0;
        }
        .item-font {
          font-size: clamp(var(--ctm-base-font-size-min), 1.375em, 22.0px);
        }
      }
      .parts-article__priority3 {
        margin-top: 3.75em/* 60.0px */;
        margin-bottom: 0.938em/* 15.0px */;
        font-weight: bold;
        font-size: inherit;
        line-height: 2;
        .item-font {
          font-size: clamp(var(--ctm-base-font-size-min), 1.25em, 20.0px);
        }
      }
      .parts-article__priority4 {
        margin-bottom: 0.313em/* 5.0px */;
        font-weight: bold;
        .item-font {
          font-size: clamp(var(--ctm-base-font-size-min), 1em, 16.0px);
        }
      }
      /* 通常テキスト */
      .parts-article__item-font {
        font-size: clamp(var(--ctm-base-font-size-min), 1em, 16.0px);
      }
      /* 箱 ※リストと並べる場合、通常テキストを入れたりリストを入れたりする。pタグは入れ子に制限があるので使わない。 */
      .parts-article__box {
        margin-top: 0.625em/* 10.0px */;
        margin-bottom: 0.625em/* 10.0px */;
        .parts-article__list {
          margin-top: 0.313em/* 5.0px */;
          margin-bottom: 0.313em/* 5.0px */;
        }
        >.parts-article__box {
          margin-top: 0.313em/* 5.0px */;
          margin-bottom: 0;
        }
      }
      /* caption調整 */
      .parts-caption {
        &[data-symbol] {
          display: inline-block;
          position: relative;
          padding-left: calc(12.0px + 0.625em/* 10.0px */);
          &::before {
            content: attr(data-symbol);
            left: 0;
            position: absolute;
          }
          &[data-symbol-len="2"] {
            padding-left: calc(clamp(10px, 1.688em, 27.0px) + 0.625em/* 10.0px */);
          }
        }
      }
      /* 共通リスト */
      .parts-article__list {
        line-height: 2;
        margin-top: 0.625em/* 10.0px */;
        margin-bottom: 0.625em/* 10.0px */;
        &.has-flex {
          --ctm-has-flex-gap: 0.313em/* 5.0px */;
          >li {
            margin-top: 0;
          }
        }
        >li {
          --ctm-icon-len: 12.0px;
          position: relative;
          padding-left: calc(var(--ctm-icon-len) + 0.625em/* 10.0px */);
          &+li {
            margin-top: 0.313em/* 5.0px */;
          }
          >.item-font {
            font-size: clamp(var(--ctm-base-font-size-min), 1em, 16.0px);
          }
          >.parts-article__list,
          >.parts-article__box {
            margin-top: 0.313em/* 5.0px */;
            margin-bottom: 0;
          }
          &::before {
            content: "";
            border-radius: 50%;
            background-color: var(--ctm-color-aa);
            width: var(--ctm-icon-len);
            height: var(--ctm-icon-len);
            display: block;
            position: absolute;
            left: 0;
            top: 6px;
          }
        }
        /* リスト -> ヘッダー */
        &[data-type="header"] {
          >li {
            &::before {
              border-radius: 0;
            }
            >.item-font {
              display: block;
              font-weight: bold;
            }
          }
        }
        /* リスト -> 番号 */
        &[data-type="num"] {
          counter-reset: counter-parts-article-list-num;
          --ctm-icon-len: 15.0px;
          >li {
            position: relative;
            padding-left: calc(var(--ctm-icon-len) + 0.625em/* 10.0px */);
            &::before {
              display: inline;
              counter-increment: counter-parts-article-list-num;
              content: counters(counter-parts-article-list-num,".")".";
              border-radius: 0;
              background-color: transparent;
              width: auto;
              height: auto;
              position: absolute;
              left: 0;
              top: auto;
              font-size: clamp(var(--ctm-base-font-size-min), 1em, 16.0px);
            }
          }
        }
        /* リスト -> none ※makerなし、caption等 */
        &[data-type="none"] {
          >li {
            padding-left: 0;
            &::before {
              display: none;
            }
          }
        }
      }
      /* about */
      .parts-article__about {
        .parts-article__about-variable {
          .parts-article__about-variable-inner {
            --ctm-head-width: 22%;
            border-bottom: 0.125em/* 2.0px */ dashed #ece8d4;
            padding: 0.938em/* 15.0px */ 0;

            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;
            align-items: baseline;

            &:first-child {
              padding-top: 0;
            }
            .parts-article__about-variable-head {
              font-weight: bold;
              width: calc(var(--ctm-head-width));
              font-size: clamp(var(--ctm-base-font-size-min), 1.125em, 18.0px);
            }
            .parts-article__about-variable-body {
              width: calc(100% - var(--ctm-head-width));
              .parts-article__list {
                margin-top: 0;
                margin-bottom: 0;
              }
            }
          }
        }
      }
      /* contact-us */
      .parts-article__contact-us {
        margin-top: 25px;
        .parts-article__contact-us-title {
          background-color: var(--ctm-color-font);
          color: #fff;
          text-align: center;
          font-weight: bold;
          line-height: 1.8;
          padding: 0.625em/* 10.0px */;
          .item-font {
            font-size: clamp(var(--ctm-base-font-size-min), 1em, 16.0px);
          }
        }
        /* headの一番長い文字列の横幅に合わせる調整。文字数に合わせて随時追加調整。pcのみ。 */
        &[data-head-len="6"] {
          .parts-article__contact-us-variable {
            .parts-article__contact-us-variable-inner {
              --ctm-head-width: clamp(75px, 6.313em, 101.0px);
            }
          }
        }
        &[data-head-len="9"] {
          .parts-article__contact-us-variable {
            .parts-article__contact-us-variable-inner {
              --ctm-head-width: clamp(115px, 9.313em, 149.0px);
            }
          }
        }
        .parts-article__contact-us-variable {
          border: 1px solid var(--ctm-color-font);
          border-top: none;
          padding: 1.25em/* 20.0px */;
          .parts-article__contact-us-variable-inner {
            --ctm-head-width: 50%;
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;
            align-items: baseline;

            &:first-child {
              padding-top: 0;
            }
            .parts-article__contact-us-variable-head {
              font-weight: bold;
              white-space: nowrap;
              min-width: var(--ctm-head-width);
            }
            .parts-article__contact-us-variable-body {
              width: auto;
            }
          }
        }
      }
      /* content-first */
      .parts-article__content-first {
        margin-bottom: 2.5em/* 40.0px */;
        &[data-type="txt-right"] {
          text-align: right;
        }
      }
      /* content-end */
      .parts-article__content-end {
        margin-top: 3.75em/* 60.0px */;
        &[data-type="txt-right"] {
          text-align: right;
        }
      }
      /* map */
      .parts-article__map {
        margin-top: 2.5em/* 40.0px */;
        iframe {
          display: block;
          width: 100%;
          height: 36em/* 576.0px */;
          border-radius: 2.5em/* 40.0px */;
        }
      }

    }
  }

  /* windows対応 */
  .browser-windows {
    .parts-section-article .parts-article__priority2::before {
      top: 0.313em/* 5.0px */;
    }
    .parts-section-article .parts-article__list > li::before {
      top: 5px;
    }
  }

}
/* parts-section-article：SP向け */
@media (width < 769px) {
  .parts-section-article {
    line-height: 1.8;
    font-size: 15px;
    
    .parts-inner {
      padding-left: 20px;
      padding-right: 20px;
      /* 見出し */
      .parts-article__priority1 {
        margin-top: 25px;
        margin-bottom: 35px;
        text-align: center;
        font-weight: bold;
        font-size: inherit;
        line-height: 1.35;
        padding-bottom: calc(20px + 2px);
        position: relative;
        .item-font {
          font-size: 18px;
        }
        &::after {
          --ctm-line-width: 100px;
          content: "";
          background-color: var(--ctm-color-aa);
          display: block;
          height: 2px;
          width: var(--ctm-line-width);
          position: absolute;
          bottom: 0;
          left: calc(50% - var(--ctm-line-width) / 2);
        }
      }
      .parts-article__priority2 {
        margin-top: 30px;
        margin-bottom: 15px;
        padding-left: 13px;
        font-weight: bold;
        font-size: inherit;
        line-height: 1.8;
        position: relative;
        &::before {
          content: "";
          display: inline-block;
          background: url(../img/icon_priority_vertical.png) 50% 50% / contain no-repeat;
          width: 3px;
          height: 24px;
          position: absolute;
          top: 4px;
          left: 0;
        }
        .item-font {
          font-size: 18px;
        }
      }
      .parts-article__priority3 {
        margin-top: 30px;
        margin-bottom: 15px;
        font-weight: bold;
        font-size: inherit;
        line-height: 1.8;
        .item-font {
          font-weight: 18px;
        }
      }
      .parts-article__priority4 {
        margin-bottom: 5px;
        font-weight: bold;
        .item-font {
          font-size: 15px;
        }
      }
      /* 箱 ※リストと並べる場合、通常テキストを入れたりリストを入れたりする。pタグは入れ子に制限があるので使わない。 */
      .parts-article__box {
        margin-top: 10px;
        margin-bottom: 10px;
        .parts-article__list {
          margin-top: 5px;
          margin-bottom: 5px;
        }
        >.parts-article__box {
          margin-top: 5px;
          margin-bottom: 0;
        }
      }
      /* caption調整 */
      .parts-caption {
        &[data-symbol] {
          display: inline-block;
          position: relative;
          padding-left: calc(12.0px + 10.0px);
          &::before {
            content: attr(data-symbol);
            left: 0;
            position: absolute;
          }
          &[data-symbol-len="2"] {
            padding-left: calc(25.0px + 10.0px);
          }
        }
      }
      /* 共通リスト */
      .parts-article__list {
        line-height: 1.8;
        margin-top: 10px;
        margin-bottom: 10px;
        &.has-flex {
          --ctm-has-flex-gap: 5px;
          >li {
            margin-top: 0;
          }
        }
        >li {
          --ctm-icon-len: 12px;
          position: relative;
          padding-left: calc(var(--ctm-icon-len) + 10px);
          &+li {
            margin-top: 5px;
          }
          >.item-font {
            font-size: 15px;
          }
          >.parts-article__list,
          >.parts-article__box {
            margin-top: 5px;
            margin-bottom: 0;
          }
          &::before {
            content: "";
            border-radius: 50%;
            background-color: var(--ctm-color-aa);
            width: var(--ctm-icon-len);
            height: var(--ctm-icon-len);
            display: block;
            position: absolute;
            left: 0;
            top: 7px;
          }
        }
        /* リスト -> ヘッダー */
        &[data-type="header"] {
          >li {
            &::before {
              border-radius: 0;
            }
            >.item-font {
              display: block;
              font-weight: bold;
            }
          }
        }
        /* リスト -> 番号 */
        &[data-type="num"] {
          counter-reset: counter-parts-article-list-num;
          --ctm-icon-len: 14.0px;
          >li {
            position: relative;
            padding-left: calc(var(--ctm-icon-len) + 10.0px);
            &::before {
              display: inline;
              counter-increment: counter-parts-article-list-num;
              content: counters(counter-parts-article-list-num,".")".";
              border-radius: 0;
              background-color: transparent;
              width: auto;
              height: auto;
              position: absolute;
              left: 0;
              top: auto;
              font-size: 15px;
            }
          }
        }
        /* リスト -> none ※makerなし、caption等 */
        &[data-type="none"] {
          >li {
            padding-left: 0;
            &::before {
              display: none;
            }
          }
        }        
      }
      /* about */
      .parts-article__about {
        .parts-article__about-variable {
          .parts-article__about-variable-inner {
            border-bottom: 1px dashed #ece8d4;
            padding: 10px 0;

            &:first-child {
              padding-top: 0;
            }
            .parts-article__about-variable-head {
              font-weight: bold;
              font-size: 15px;
            }
            .parts-article__about-variable-body {
              .parts-article__list {
                margin-top: 0;
                margin-bottom: 0;
              }
            }
          }
        }
      }
      /* contact-us */
      .parts-article__contact-us {
        margin-top: 15px;
        .parts-article__contact-us-title {
          background-color: var(--ctm-color-font);
          color: #fff;
          text-align: center;
          font-weight: bold;
          line-height: 1.8;
          padding: 5px;
          .item-font {
            font-size: 15px;
          }
        }
        .parts-article__contact-us-variable {
          border: 1px solid var(--ctm-color-font);
          border-top: none;
          padding: 12px;
          .parts-article__contact-us-variable-inner {
            &+.parts-article__contact-us-variable-inner {
              margin-top: 10px;
            }
            .parts-article__contact-us-variable-head {
              font-weight: bold;
            }
            .parts-article__contact-us-variable-body {
              width: auto;
            }
          }
        }
      }
      /* content-first */
      .parts-article__content-first {
        margin-bottom: 20px;
        &[data-type="txt-right"] {
          text-align: right;
        }
      }
      /* content-end */
      .parts-article__content-end {
        margin-top: 30px;
        &[data-type="txt-right"] {
          text-align: right;
        }
      }
      /* map */
      .parts-article__map {
        margin-top: 20px;
        iframe {
          display: block;
          width: 100%;
          height: 188px;
          border-radius: 10px;
        }
      }

    }

  }

  /* windows対応 */
  .browser-windows {
    .parts-section-article .parts-article__priority2::before {
      top: 3px;
    }
    .parts-section-article .parts-article__list > li::before {
      top: 5px;
    }
  }

}







































