    .page img {
      image-rendering: -webkit-optimize-contrast;
      width: 100%;
      /* max-width: 100%; */
      height: auto;
      object-fit: contain;
    }

    .main {
      padding-inline: 3%;
    }

    .page {
      max-width: 1140px;
      margin-inline: auto;
      padding-inline: 3vw;
      padding-bottom: 6vw;
      width: 100%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      color: #323232;
      box-sizing: border-box;
      font-family: "Noto Sans Japanese-r", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
      font-weight: 400;
      font-size: 1rem;
      line-height: 1.5;
      letter-spacing: .05em;
      position: relative;
    }

    .page .page-title {
      font-size: 1.4rem;
      padding: 0 1% .25rem;
      margin-bottom: 1.5rem;
      line-height: 1.3;
      border-bottom: 3px solid #d3bf9a;
      font-family: Noto Sans Japanese-sb;
    }

    @media screen and (min-width: 768px) {
      .page .page-title {
        font-size: 1.75rem;
      }
    }


    .section {
      margin-bottom: 2rem;
    }

    .section-title {
      font-size: 1.25rem;
      font-weight: bold;
    }

    .flex-parent{
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
    }
    @media screen and (min-width: 768px) {
      .flex-parent{
        gap: 2%;
        align-items: flex-end;
        flex-wrap: nowrap;
      }
    }
    @media screen and (max-width: 767px) {

    .flex-child{
      display: flex;
      width: 45%;
      justify-content: center;
      flex-direction: column;
      margin:0 auto 10%;
      text-align: left;
      font-size: 3vw;
    }
  }
    @media screen and (min-width: 768px) {
      .flex-child:not(:last-child){
        width: auto;
        border-right: 1px #CCC solid;
      }
    }
    .flex-item{
      width: 80%;
      margin-bottom: 2em;
    }

    @media screen and (min-width: 768px) {
      .flex-item{
        width: 50%;
        margin-bottom: inherit;
      }
    }

    .other{
      width: 80%;
      height: min-content;
      padding: 1%;
      margin: 0 auto;
    }

    @media screen and (min-width: 768px) {
      .other{
        width: 30%;
        padding: 1%;
      }
    }

    .kome {
      font-size: 0.85rem;
    }

    .paragraph {
      margin-bottom: 0.5rem;
    }

    .paragraph-break {
        margin-bottom: 1rem;
    }

    .indent1em{
        text-indent: 1em;
    }

    a.link {
        color: #0000ff;
        text-decoration: underline;
        word-break: break-word;
    }

    .thumb-image {
      min-width: 160px;
      max-width: 350px;
    }

\    .contact {
      margin-top: 3rem;
      margin-inline: auto;
      padding: 3%;
      background-color: #ececec;
    }

    @media (width>=768px) {
      .contact {
        width: 80%;
      }
    }

    .contact__item {
      margin-bottom: 1rem;
    }

    .contact-item__title {
      font-weight: bold;
      font-size: 1.15rem;
      margin-bottom: 0.5rem;
    }

    .contact-item__form,
    .contact-item__form:link,
    .contact-item__form:visited {
      font-size: 1.5rem;
      font-weight: bold;
      color: #007bff;
      text-decoration: underline;
    }

    .contact-item__accept {
      font-size: 0.85rem;
      margin-top: 0.5rem;
    }

    .contact-item-accept__title {
      margin-bottom: 0;
    }

    .contact-item-tel__name,
    .contact-item-tel-number__link:link,
    .contact-item-tel-number__link:visited {
      font-size: 1rem;
      font-weight: bold;
      color: #555;
      margin-bottom: 0;
    }

    .contact-item-tel__number {
      font-size: 1rem;
      font-weight: bold;
      color: #555;
    }

    .contact-item-tel-number__link,
    .contact-item-tel-number__link:link,
    .contact-item-tel-number__link:visited {
      font-size: 1rem;
      font-weight: bold;
      color: #555;
    }

    .contact-item-tel__attention {
      margin-top: 0.5rem;
      padding: 0.85rem;
      border: 1px solid #fda4af;
      background-color: #fff1f2;
      font-size: 0.75rem;
    }

    .contact-item-tel__attention a {
      font-weight: bold;
      color: #007bff;
      text-decoration: underline;
    }

    .flows {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
      margin-top: 0.5rem;
    }

    .flows * {
      box-sizing: border-box;
    }


    @media (min-width: 768px) {
      .flows {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
      }
    }

    .flow {
      position: relative;
      border: 2px solid #434343;
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: .5rem;
      font-size: 0.8rem;
      min-height: 77px;
    }

    @media (min-width: 768px) {
      .flow {
        width: calc(100% / 4 - 1.25rem + 1.25rem / 4);
        min-height: 60px;
      }
    }

    @media (min-width: 1024px) {
      .flow {
        width: calc(100% / 4 - 1.25rem + 1.25rem / 4);
      }
    }

    .flow:not(:first-child)::before {
      position: absolute;
      top: -1.15rem;
      left: 50%;
      transform: translateX(-50%);
      font-weight: bold;
      font-family: "Font Awesome 5 Free";
      content: '\f063';
    }

    @media (min-width: 768px) {
      .flow:not(:first-child)::before {
        top: 50%;
        left: -1.15rem;
        transform: translateY(-50%);
        content: '\f061';
      }
    }

    .scroll-table {
        overflow-x: scroll;
        white-space: nowrap;
    }
    .item_table{
        margin: 0 auto 3rem;
        table-layout: fixed;
        border-collapse: collapse;
        -webkit-text-size-adjust: 100%
    }
    @media (min-width: 768px) {
        .item_table{
            max-width: 990px;
        }
    }
    @media (max-width: 767px) {
        .item_table{
            min-width: 180%;
        }
    }
    .item_table td {
        text-indent: 0.5em;
        padding-right: 0.5em;
        font-size: 1em;
    }
    .item_table th {
        text-align: center;
        padding: 0.25em 0.5em;
    }
    .item_table th.frame-red{
      border-top: 2px solid red;
      border-left: 2px solid red;
      border-right: 2px solid red;
    }

    .item_table td.frame-red{
      border-left: 2px solid red;
      border-right: 2px solid red;
    }
    .item_table tr:last-child td.frame-red{
      border-bottom: 2px solid red;
    }


    .item_table,
    .item_table td,
    .item_table th {
        border: 1px solid #CCCCCC;
        vertical-align: middle;
    }

