@charset "utf-8";

.header {
  background: #000;
  justify-content: center;
}

.footer {
  background: #000;
}

.itakura2-progress-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;

  & li {
    display: flex;
    align-items: center;
    gap: 0.5rem;

    &+&:before {
      content: "";
      min-inline-size: min(4vw, 3rem);
      block-size: 1px;
      background: #333;
      translate: 0 -0.25rem;
    }

    &>a {
      display: flex;
      flex-flow: column;
      align-items: center;
      justify-content: center;
      gap: 0.75rem;
      font-family: var(--font_serif);
      color: #ccc;
      line-height: 0;
      pointer-events: none;

      &:before {
        content: "";
        background: #ccc;
        inline-size: min(6vw, 3rem);
        aspect-ratio: 1/1;
        border-radius: 50%;
      }
    }
  }

  @media(width <=640px) {

    & li {
      &+&:before {
        translate: unset;
      }
    }

    & span {
      display: none;
    }
  }

}


.itakura2-progress-list li a:is(.i2-series [href*="i2-series"],
  .i2-price [href*="i2-price"],
  .i2-item [href*="i2-item"],
  .i2-material [href*="i2-material"],
  .i2-proc [href*="i2-proc"],
  .i2-leg [href*="i2-leg"],
  .i2-selected [href*="i2-selected"],
  .single-item [href*="i2-item"],
),
.itakura2-progress-list li a:hover {
  opacity: 1;

  &::before {
    background: #333;
  }
}

.itakura2-select-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(40%, 299px), max-content));
  gap: 1em;
  justify-content: center;
}

.itakura2-select-list__link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 8rem;
  background: #333;
  color: #fff;
  font-size: min(3.5vw, 20px);
  font-weight: 600;
  outline-offset: -1px;
}

[data-button] {}

body:not(.i2-series) [data-button] {
  display: block;
  font-weight: 600;
  color: #fff;
  text-align: center;
  padding: 1em;
  background: #000;
  border: 2px solid #000;
}

[data-button][data-checked],
[data-button]:hover {
  color: #000 !important;
  background: #fff !important;
}

/*
[data-button="table"] {
  background: #3dacff!important;
  border: 2px solid #3dacff;
}
[data-button="table"][data-checked],
[data-button="table"]:hover {
  color: #3dacff;
}
[data-button="cabinet"] {
  background: #f24821!important;
  border: 2px solid #f24821;
}
[data-button="cabinet"][data-checked],
[data-button="cabinet"]:hover {
  color: #f24821;
}
[data-button="counter"] {
  background: #874fff!important;
  border: 2px solid #874fff;
}
[data-button="counter"][data-checked],
[data-button="counter"]:hover {
  color: #874fff;
}
*/
[data-button="table"][data-checked],
[data-button="cabinet"][data-checked],
[data-button="counter"][data-checked] {
  pointer-events: none;
  cursor: default;
}

/* 樹種入力欄の表示・非表示制御 */
.tree-kind-input-wrap {
  display: none;
}

.tree-kind-input-wrap.tree-kind-input--visible {
  display: block;
}

.btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: fit-content;
  font-weight: 600;
  color: #000;
  padding: 0.5em 1em;
  line-height: 1.5;
  background: #fff;
  border: 1px solid #000;
  letter-spacing: 0;
}

.btn:hover {
  color: #fff !important;
  background: #000 !important;
  opacity: 1 !important;
}


.i2-item-checked {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  line-height: 1.2;
  font-weight: 600;
  text-indent: -1.25rem;
  padding-left: 1.25rem;
  font-size: min(3.5vw, 14px);
  text-align: initial;

  &:before {
    margin-right: 0.3em;
    content: "";
    width: 14px;
    height: 14px;
    display: inline-block;
    border: 1px solid #cccccc;
    background: #fff;
    position: relative;
    top: 2px;
  }

  &[data-checked]:after {
    content: "";
    width: 14px;
    height: 10px;
    display: inline-block;
    position: absolute;
    left: 1px;
    top: 0px;
    border-bottom: 3px solid #b71a35;
    border-left: 3px solid #b71a35;
    transform: rotate(-45deg);
  }
}



/* Snow Monkey Formsのスタイル */

.smf-action .smf-button-control+.smf-button-control {
  margin-inline-start: unset;
}

[data-series] .smf-form--simple-table .smf-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem 2rem;

  @media(width <=640px) {
    flex-flow: wrap;

    &>* {
      flex: 1 100% !important;
    }
  }

}

[data-series] .smf-form--simple-table .smf-item__col--label {
  display: flex;
  flex-flow: column;
  align-items: baseline;
  line-height: 1.5;
  font-weight: 700;
  flex: 0 min(240px, 40%);
  padding: unset;

  & .smf-item__description {
    font-size: min(3.5vw, 14px);
    color: #aaa;
    margin: unset;

  }
}

[data-series] .smf-form .smf-radio-button-control__control {
  display: none;
}



.smf-form--simple-table .smf-item.logo-band {
  display: none;
}

[data-series="table"] .smf-form--simple-table .smf-item.logo-band {
  display: flex;
}

[data-series="table"] .smf-form--simple-table .smf-item.size {
  display: none;
}




:root {
  --main_color: #000000;
  --font_serif: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


body {
  color: #333;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: min(16px, 3.5vw);
  letter-spacing: 0;
  font-weight: 500;
  text-align: initial !important;
  font-feature-settings: "palt";
  text-rendering: optimizeLegibility;
}

body :is(p, li, dt, dd) {
  line-height: 1.75;
  font-size: min(16px, 3.5vw);
}


:is(.main-visual:not(:has(picture)), :not(.main-visual))+.wrap {
  margin-block-start: min(10vw, 5rem);

  &:has(.breadcrumb) {
    margin-block-start: unset;
  }

  @media print {
    margin-block: unset;
  }

}

.wrap {
  &:not(:has(.contents)) {
    container: gap / inline-size;
  }

  /*
    & .section-common {
      padding: min(20vw, 140px) 0;
      position: relative;

      &.no-space {
        padding-block: unset;
      }

      &.no_space-top {
        padding-block-start: unset;
      }

      &.no_space-bottom {
        padding-block-end: unset;
      }

      @media(width <=640px) {

        &:last-of-type {
          padding-block-end: calc(min(20vw, 140px) + 4rem);
        }
      }
    }
*/
  & .contents {
    container: gap / inline-size;
  }
}

.section {

  &+.section {
    margin-block-start: min(30vw, 160px);

  }
}

.section_ex {

  &+.section {
    margin-block-start: min(36vw, 240px);

  }
}

.section_in {
  &+.section_in {
    margin-block-start: min(20vw, 80px);

  }
}


:is(.interval5rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval5rem > div > *:not(:first-child)) {
  margin-top: 0.5rem;
}

:is(.interval10rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval10rem > div > *:not(:first-child)) {
  margin-top: min(3vw, 1rem);
}

:is(.interval15rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval15rem > div > *:not(:first-child)) {
  margin-top: min(4vw, 1.5rem);
}

:is(.interval20rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval20rem > div > *:not(:first-child)) {
  margin-top: min(4vw, 2rem);
}

:is(.interval25rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval25rem > div > *:not(:first-child)) {
  margin-top: 2.5rem;
}

:is(.interval30rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval30rem > div > *:not(:first-child)) {
  margin-top: min(8vw, 3rem);
}

:is(.interval35rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval35rem > div > *:not(:first-child)) {
  margin-top: 3.5rem;
}

:is(.interval40rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval40rem > div > *:not(:first-child)) {
  margin-top: min(16vw, 4rem);
}

:is(.interval45rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval45rem > div > *:not(:first-child)) {
  margin-top: 4.5rem;
}

:is(.interval50rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval50rem > div > *:not(:first-child)) {
  margin-top: min(12vw, 5rem);
}

:is(.interval60rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval60rem > div > *:not(:first-child)) {
  margin-top: min(16vw, 6rem);
}



.self-top {
  align-self: flex-start;
}

.self-center {
  align-self: center;
}

.self-end {
  align-self: flex-end;
}



:is([class*="grid-"]:not(.wp-block-group), [class*="grid-"].wp-block-group >div) {
  display: grid;

  &>* {
    margin: unset;
  }

  &.list-member {
    gap: min(8vw, 0.5rem) min(6vw, 1rem);
    /* font-weight: 700; */
  }


  &:is(.no-gap:not(.wp-block-group), .no-gap.wp-block-group >div) {
    gap: unset !important;
  }
}

:is(.grid-2:not(.wp-block-group), .grid-2.wp-block-group >div) {
  grid-template: auto / repeat(auto-fill, minmax(min(40%, 600px), 1fr));
  gap: min(8vw, 6rem) min(6vw, 6rem);

  @container gap (width <=1280px) {
    grid-template: auto / repeat(auto-fill, minmax(min(40%, 420px), 1fr));
    gap: min(8vw, 4rem) min(4vw, 4rem);
  }

  @container gap (width <=840px) {
    grid-template: auto / repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: min(6vw, 3rem) min(4vw, 2rem);
  }

  :is(&.container-small, .container-small >&) {
    grid-template: auto / repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: min(8vw, 3rem) min(4vw, 2rem);
  }

  @media (width <=800px) {
    :is(&.shape-keep, .shape-keep >&) {
      grid-template: auto / repeat(auto-fill, minmax(min(40%, 300px), 1fr));
      gap: min(4vw, 4rem) min(4vw, 3rem);
    }
  }


}

:is(.grid-3:not(.wp-block-group), .grid-3.wp-block-group >div) {
  grid-template: auto / repeat(auto-fill, minmax(min(40%, 480px), 1fr));
  gap: min(8vw, 3rem) min(6vw, 4rem);

  @container gap (width <=1480px) {
    grid-template: auto / repeat(auto-fill, minmax(min(100%, 400px), 1fr));
    gap: min(6vw, 2rem) min(4vw, 3rem);
  }

  @container gap (width <=1280px) {
    grid-template: auto / repeat(auto-fill, minmax(min(100%, 280px), 1fr));
    gap: min(6vw, 2rem) min(4vw, 3rem);
  }

  @container gap (width <=1080px) {
    grid-template: auto / repeat(auto-fill, minmax(min(100%, 260px), 1fr));
    gap: min(6vw, 2rem) min(4vw, 2rem);
  }

  :is(&.container-small, .container-small >&) {
    grid-template: auto / repeat(auto-fill, minmax(min(100%, 200px), 1fr));
    gap: min(10vw, 3rem) min(4vw, 2rem);
  }

  .wpcf7-form-control-wrap & {
    grid-template: auto / repeat(auto-fill, minmax(min(100%, 160px), 1fr));
    gap: min(8vw, 2rem) min(4vw, 1rem);
  }

  @media (width <=800px) {
    :is(&.shape-keep, .shape-keep >&) {
      grid-template: auto / repeat(auto-fill, minmax(min(40%, 280px), 1fr));
    }
  }
}

:is(.grid-4:not(.wp-block-group), .grid-4.wp-block-group >div) {
  grid-template: auto / repeat(auto-fill, minmax(min(40%, 400px), 1fr));
  gap: min(8vw, 3rem) min(6vw, 3rem);

  @container gap (width <=1280px) {
    grid-template: auto / repeat(auto-fill, minmax(min(40%, 240px), 1fr));
    gap: min(8vw, 4rem) min(4vw, 2rem);
  }

  @container gap (width <=840px) {
    grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
    gap: min(8vw, 3rem) min(4vw, 1rem);
  }

  :is(&.container-small, .container-small >&) {
    grid-template: auto / repeat(auto-fill, minmax(min(40%, 120px), 1fr));
    gap: min(8vw, 2rem) min(4vw, 1rem);
  }

  @media (width <=800px) {
    :is(&.shape-keep, .shape-keep >&) {
      grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
    }
  }

}

:is(.grid-5:not(.wp-block-group), .grid-5.wp-block-group >div) {
  grid-template: auto / repeat(auto-fill, minmax(min(40%, 400px), 1fr));
  gap: min(8vw, 3rem) min(6vw, 3rem);

  @container gap (width <=1280px) {
    grid-template: auto / repeat(auto-fill, minmax(min(15%, 180px), 1fr));
    gap: min(2vw, 2rem) min(2vw, 2rem);
  }

  @container gap (width <=840px) {
    grid-template: auto / repeat(auto-fill, minmax(min(15%, 180px), 1fr));
    gap: min(2vw, 2rem) min(2vw, 2rem);
  }

  :is(&.container-small, .container-small >&) {
    grid-template: auto / repeat(auto-fill, minmax(min(40%, 150px), 1fr));
    gap: min(2vw, 1rem) min(2vw, 1rem);
  }

  @media (width <=800px) {

    :is(&.container-small, .container-small >&) {
      grid-template: auto / repeat(auto-fill, minmax(min(15%, 180px), 1fr));
      gap: min(2vw, 1rem) min(2vw, 1rem);
    }

    :is(&.shape-keep, .shape-keep >&) {
      grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
    }
  }

}

/*gap*/

[class*="gap-"] {

  :is(&:not(.wp-block-group),
    &.wp-block-group >div),
  &.is-layout-grid {
    gap: var(--row_gap, min(6vw, 6rem)) var(--column_gap, min(4vw, 4rem)) !important;

  }

  &[class*="-0rem"] {
    --row_gap: 0rem;
    --column_gap: 0rem;
  }

  &[class*="-10rem"] {
    --row_gap: 1rem;
    --column_gap: 1rem;
  }

  &[class*="-15rem"] {
    --row_gap: 1.5rem;
    --column_gap: 1.5rem;
  }

  &[class*="-20rem"] {
    --row_gap: 2rem;
    --column_gap: 2rem;
  }

  &[class*="-30rem"] {
    --row_gap: 3rem;
    --column_gap: 3rem;
  }

  &[class*="-40rem"] {
    --row_gap: 4rem;
    --column_gap: 4rem;
  }

  &[class*="-50rem"] {
    --row_gap: 5rem;
    --column_gap: 5rem;
  }

  &[class*="-60rem"] {
    --row_gap: 6rem;
    --column_gap: 6rem;
  }

  &[class*="_0rem"] {
    --column_gap: 0rem;
  }

  &[class*="_10rem"] {
    --column_gap: 1rem;
  }

  &[class*="_20rem"] {
    --column_gap: 2rem;
  }

  &[class*="_30rem"] {
    --column_gap: 3rem;
  }

  &[class*="_40rem"] {
    --column_gap: 4rem;
  }

  &[class*="_50rem"] {
    --column_gap: 5rem;
  }

  &[class*="_60rem"] {
    --column_gap: 6rem;
  }
}


.btn-archive {
  display: flex;
  align-items: center;
  z-index: 1;
  position: relative;
  padding: 1rem 1.5rem;
  text-align: center;
  font-weight: 700;
  transition: 0.5s;
  border: 1px solid currentColor;
  gap: 1rem;
  min-inline-size: 300px;
  color: #333;

  & ruby {
    display: flex;
    flex-flow: column;
    align-items: baseline;
    font-weight: 700;
    line-height: 1;

    & rt {
      font-size: min(3.5vw, 12px);
      line-height: 1;
      margin-block-start: 0.2rem;
    }
  }

  &:has(img) {
    min-inline-size: unset;
  }

  & img {
    block-size: 3rem;
    max-inline-size: 70%;
  }

  &:hover {
    backdrop-filter: brightness(0.9);
    opacity: 1;
  }

  &.text_color-white:hover {
    color: #333 !important;
    background: #fff;
  }

  &:after {
    content: "";
    aspect-ratio: 1/1;
    border-radius: 50%;
    width: 1.25rem;
    background: currentColor;
    mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
    -webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
    margin-inline-start: auto;
  }

  &[target]:after {
    border-radius: unset;
    width: 1.25rem;
    mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMwMDA7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMTQgMSAyMyAxIDIzIDEwIi8+CiAgPHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxOSAxNSAxOSAyMyAxIDIzIDEgNSA5IDUiLz4KICA8bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIxMSIgeTE9IjEzIiB4Mj0iMjIiIHkyPSIyIi8+Cjwvc3ZnPg==') center / contain no-repeat;
    -webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMwMDA7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMTQgMSAyMyAxIDIzIDEwIi8+CiAgPHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxOSAxNSAxOSAyMyAxIDIzIDEgNSA5IDUiLz4KICA8bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIxMSIgeTE9IjEzIiB4Mj0iMjIiIHkyPSIyIi8+Cjwvc3ZnPg==') center / contain no-repeat;
  }

  &+.wpcf7-spinner {
    display: none !important;
  }

  .flexCenter:has(.wpcf7-form-control-wrap + &) {
    flex-flow: column;
    align-items: center;
  }

  .main-column .has-text-align-center & {
    margin: 0 auto;
  }

  @media(width <=640px) {
    min-inline-size: unset;
    inline-size: min(100%, 340px);
    justify-content: center;

    /*
    &:after {
      margin: unset !important;
    }
      */
  }

  &.reverse {
    flex-flow: row-reverse;

    &:after {
      scale: -1;
      margin-inline: 0 auto;
    }
  }
}


.btn-simple {
  border-block-end: 1px solid currentColor;
  padding: 0 2.5rem 0.5rem;

  & ruby {
    display: flex;
    flex- align-items: baseline;
    gap: 1rem;
    font-weight: 700;
    line-height: 1;

    & rt {
      font-size: min(3.5vw, 12px);
      line-height: 1;
      margin-block-start: 0.2rem;
    }
  }
}

.flexCenter {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  gap: 1rem 2rem;
}

.flexLeft {
  display: flex;
  flex-flow: row;
  justify-content: flex-start;
}

.flexRight {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
}

:is(.flexCenter, .flexLeft, .flexRight):has(.btn-archive),
:is(.flexCenter, .flexLeft, .flexRight).btn-archive:has(>*) {
  margin-block-start: min(8vw, 3rem);
  position: relative;

  .sidebar & {
    margin-block-start: min(8vw, 1.5rem);
  }
}

[class*="title-"] {

  &[class*="-large"] {
    font-size: min(6vw, 32px);
    font-weight: 700;
    line-height: 1.25;
    display: flex;
    flex-flow: column;
    gap: min(2vw, 0.5rem);
    font-family: var(--font_serif);
    letter-spacing: 0;

    & img {
      max-inline-size: 60vw;
    }

    &:has(+*) {
      margin-block-end: min(10vw, 4rem);
    }

    &:has(+p) {
      margin-block-end: min(6vw, 4rem);
    }

    &+ :is(p, ul, ol, dd) {
      margin-block-start: -0.5rem;
    }

    &+p {
      margin-block-start: -0.5rem;
      line-height: 1.75;
      font-size: min(16px, 3.5vw);

      & ruby {
        display: flex;
        flex-flow: column;
        gap: min(4vw, 1rem);
      }
    }

    &[data-text]:after {
      content: attr(data-text);
      font-size: min(3.5vw, 16px);
      line-height: 1;
      color: #aaa;
    }

  }

  &[class*="-middle"] {
    font-size: min(4.5vw, 18px);
    font-weight: 700;
    line-height: 1.5;
    font-family: var(--font_serif);
    text-align: initial;
    letter-spacing: 0;

    & ruby {
      display: flex;
      flex-flow: column;
      align-items: center;
      text-align: center;
      gap: 0.5rem;
      line-height: 1;

      & rt {
        font-size: initial;
        text-align: center;
        font-weight: initial;
      }
    }

    &:has(+*) {
      margin-block-end: min(6vw, 1.5rem);
    }


    &+ :is(p, ul, ol, dd) {
      margin-block-start: -0.5rem;
    }

    &[data-text] {
      display: flex;
      flex-flow: column;
      gap: 0.5rem;

      &:after {
        content: attr(data-text);
        font-size: min(3.5vw, 16px);
        line-height: 1;
        color: #aaa;
      }

      .text_color-white &:after {
        color: #fff;
      }

      [class*="mat-"][class*="-sub"] &:after {
        color: #888;
      }
    }
  }

  &[class*="-min"] {
    font-size: min(4vw, 18px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;

    &:has(+*) {
      margin-block-end: 1rem;
    }

    &+ :is(p, ul, ol, dd) {
      margin-block-start: -0.5rem;
    }

    &[data-text] {
      display: flex;
      flex-flow: column;
      gap: 0.25rem;

      &:after {
        content: attr(data-text);
        font-size: min(3.5vw, 13px);
        color: #aaa;
      }
    }

  }

  &[class*="-border_right"] {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-flow: row;

    &:after {
      content: "";
      flex: 1;
      background: var(--border_color);
      height: 1px;
    }
  }

  &[class*="-border_side"] {
    display: flex;
    gap: min(4vw, 2rem);
    align-items: center;
    flex-flow: row;

    &:before,
    &:after {
      content: "";
      flex: 1;
      background: var(--border_color);
      height: 1px;
    }

    & img {
      max-inline-size: 60vw;
    }
  }

  &[class*="-border_left"] {
    border-left: 5px solid var(--main_color);
    padding-inline-start: 1rem;
  }

  &[class*="-border_bottom"] {
    padding-block-end: 0.75rem;
    border-bottom: 1px solid var(--main_color);
  }

  &[class*="-color"] {
    color: var(--main_color);
  }

  &[class*="-mat"] {
    padding: 0.5rem;
    background: var(--sub_color);

    &[class*="-mat_white"] {
      background: #fff;
    }

    &[class*="-mat_border"] {
      background: unset;
      border: 1px solid var(--border_color);
    }
  }

  &[class*="-icon"] {
    display: flex;
    gap: 0.5rem;

    &:before {
      content: "";
      background: var(--main_color);
      aspect-ratio: 1/1;
      inline-size: 1rem;
    }

    &[class*="-icon_service"]:before {
      aspect-ratio: 87/77;
      mask: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODciIGhlaWdodD0iNzciIHZpZXdCb3g9IjAgMCA4NyA3NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuNjkwOTIgM1Y3NEg4Mi4wNDM5IiBzdHJva2U9IiM1NUFGQkIiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik00Ljc3OTMgNTcuMjk0MUwzNi4xMDI4IDI1Ljk3MDZMNDguNjMyMiAzOC41TDg0LjEzMjIgMyIgc3Ryb2tlPSIjNTVBRkJCIiBzdHJva2Utd2lkdGg9IjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNODQuMTMyMyAzVjIxLjc5NDEiIHN0cm9rZT0iIzU1QUZCQiIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTYzLjI0OTUgM0g4NC4xMzE5IiBzdHJva2U9IiM1NUFGQkIiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==') center /contain no-repeat;
    }
  }

  :is(&[class*="-center"], &.has-text-align-center) {
    display: flex;
    flex-flow: column;
    text-align: center;
    align-items: center;

    &+p:not(.textLeft, .has-text-align-left) {
      text-align: center;

      & ruby {
        align-items: center;
        text-align: center;

        & rt {
          text-align: center;
        }
      }
    }
  }

  :is(&[class*="-right"], &.has-text-align-right) {
    text-align: right;
    align-items: flex-end;

    &+p {
      text-align: right;
    }
  }

  :is(&[class*="-left"], &.has-text-align-left) {
    text-align: left;
    flex-flow: wrap;
    align-items: baseline;
  }

}


.scale-min {
  font-size: 90%;
  color: #aaa;

  & li {
    font-size: 90%;

  }

  & a {
    color: #aaa;
  }

  [class*="mat-"][class*="-sub"] & {
    color: #888;
  }

}

ul.list-caution li {
  font-size: min(13px, 3vw);
  line-height: 1.5;
  text-indent: max(-6vw, -1rem);
  padding-inline-start: min(6vw, 1rem);

  &+li {
    margin-block-start: 0.25rem;
  }

  &:before {
    content: "*";
    height: initial;
    width: initial;
    background: none;
  }

  .scale-min &:before {
    content: "※";
  }
}

.table-list {
  margin: unset !important;

  & tr {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem 2rem;

    &+tr {
      margin-block-start: 2rem;
    }

    & :is(th, td) {
      padding: unset;
      letter-spacing: 0;

      & ruby {
        display: flex;
        flex-flow: column;
        line-height: 1.5;

        & rt {
          font-size: min(3.5vw, 14px);
          color: #aaa;
        }
      }
    }

    & th {
      flex: 0 min(240px, 40%);
      background: unset;

    }

    & td {
      flex: 1;
    }

    @media screen and (width <=640px) {
      flex-flow: wrap;

      & th {
        flex: 1 100%;
      }
    }
  }

  & .required {
    color: #990000;
  }
}


/*板*/
.item-images:after {
  content: none !important;

}


@media print {

  .scale-min,
  [class*="title-"][data-text]:after {
    color: #888 !important;
  }

  .main-column-section:has(.title-large-center),
  .flexCenter:has(.btn-simple) {
    display: none;
  }
}


.card-image_icon {

  &>[class*="card-image"] {
    width: min(13vw, 3.2rem);
    aspect-ratio: 1/1;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: min(2vw, 0.4rem);
    gap: 0.25rem;

    &[class$="_place"] {
      background: #fff;
    }

    &[data-text]:before {
      content: "";
      background: #a92a33;
      inline-size: 1.25rem;
      aspect-ratio: 1/1;
      border-radius: 50%;
    }

    &[data-text]:after {
      color: currentcolor;
    }

    @media (width <=640px) {

      .card-image &[data-text]:after {
        content: "JP";
      }
    }
  }
}