body.home {
  main {
    section.mv {
      .slide1 {
        background-image: url('../../../image/index/mv/1@2x.jpg');
        @media only screen and (max-width: 767px) {
          background-image: url('../../../image/index/mv/1-sp@2x.jpg');
        }
      }
      .slide2 {
        background-image: url('../../../image/index/mv/2@2x.jpg');
        @media only screen and (max-width: 767px) {
          background-image: url('../../../image/index/mv/2-sp@2x.jpg');
        }
      }
      .slide3 {
        background-image: url('../../../image/index/mv/3@2x.jpg');
        @media only screen and (max-width: 767px) {
          background-image: url('../../../image/index/mv/3-sp@2x.jpg');
        }
      }
      .slide4 {
        background-image: url('../../../image/index/mv/4@2x.jpg');
        @media only screen and (max-width: 767px) {
          background-image: url('../../../image/index/mv/4-sp@2x.jpg');
        }
      }
      /* トップページだけ画面いっぱい */
      @media only screen and (max-width: 767px) {
        height: var(--vh-initial, 100vh);
        background-image: url('../../../image/index/mv/1-sp@2x.jpg');
      }
      .contents {
        .lead {
          font-size: 2.3rem;
          font-weight: normal;
          line-height: calc(44 / 23);
          letter-spacing: 0.14em;
          left: 48px;
          bottom: 30px;
          @media only screen and (max-width: 767px) {
            font-size: 1.867rem;
            line-height: 1.9;
            letter-spacing: 0.14em;
            left: var(--outer-margin);
            bottom: 15px;
          }
        }
      }
    }
    section.news {
      margin-top: 10px;
      margin-bottom: 50px;
      @media only screen and (max-width: 767px) {
        margin-top: 0;
      }
      h2 {
        font-size: 1.4rem;
        line-height: 1;
        text-align: center;
        padding: 36px 0;
        @media only screen and (max-width: 767px) {
          padding: 40px 0;
          font-size: 1.6rem;
        }
      }
      ul {
        margin-top: 3px;
        @media only screen and (max-width: 767px) {
          margin-top: 0;
        }
        li {
          border-top: 1px solid var(--black15);
          &:last-child {
            border-bottom: 1px solid var(--black15);
          }
          a {
            display: flex;
            align-items: center;
            --padding: 17px;
            --height: 28px;
            padding: var(--padding) 0;
            height: calc(var(--height) + var(--padding) * 2);
            @media only screen and (max-width: 767px) {
              --padding: 8px;
              height: auto;
              display: block;
              position: relative;
            }
            > * {
              height: 100%;
              display: flex;
              align-items: center;
              @media only screen and (max-width: 767px) {
                height: auto;
                display: block;
              }
            }
            &:hover {
              .more {
                opacity: 0.8;
              }
            }
          }
          .date {
            width: 128px;
            border-right: 1px solid var(--black15);
            font-family: var(--font-palatino-l);
            font-weight: normal;
            font-size: 1.5rem;
            letter-spacing: 0.09em;
            @media only screen and (max-width: 767px) {
              font-size: 1.4rem;
              border-right: 0;
            }
          }
          .title {
            font-family: var(--font-matis-m);
            font-weight: normal;
            font-size: 1.4rem;
            margin-left: 35px;
            br {
              display: none;
            }
            @media only screen and (max-width: 767px) {
              font-size: 1.3rem;
              margin-top: -4px;
              margin-left: 0;
              width: calc(100% - 110px);
            }
          }
          .more {
            display: flex;
            align-items: center;
            margin-left: auto;
            margin-right: 0;
            font-family: var(--font-palatino-l);
            font-weight: normal;
            font-size: 1.4rem;
            letter-spacing: 0.05em;
            opacity: 0.4;
            transition-duration: 0.4s;
            @media only screen and (max-width: 767px) {
              position: absolute;
              top: 8px;
              right: 0;
            }
            > img {
              align-self: center;
              margin-right: 14px;
              @media only screen and (max-width: 767px) {
                margin-right: 7px;
              }
            }
          }
        }
      }
    }
    section.shops,
    section.menu,
    section.about {
      padding-top: 115px;
      padding-bottom: 115px;
      @media only screen and (max-width: 767px) {
        padding-top: 67px;
        padding-bottom: 67px;
      }
    }
    section.shops {
      padding-top: 51px;
      @media only screen and (max-width: 767px) {
        padding-top: 39px;
      }
      .welcome {
        font-family: var(--font-matis-m);
        font-weight: normal;
        font-size: 1.5rem;
        line-height: calc(34 / 15);
        text-align: center;
        margin-bottom: 97px;
        @media only screen and (max-width: 767px) {
          font-size: 1.4rem;
          margin-bottom: 37px;
        }
        p:first-child {
          @media only screen and (max-width: 767px) {
            font-size: 1.6rem;
          }
        }
        p + p {
          margin-top: 17px;
          @media only screen and (max-width: 767px) {
            text-align: left;
          }
        }
      }
      .col2 {
        > div + div {
          @media only screen and (max-width: 767px) {
            margin-top: 70px;
          }
        }
        img {
          width: 100%;
          height: auto;
        }
        h3 {
          margin-top: 45px;
          margin-bottom: 25px;
          font-family: var(--font-matis-m);
          font-weight: normal;
          font-size: 2.2rem;
          display: flex;
          flex-direction: column;
          font-feature-settings: 'palt';
          letter-spacing: 0.1em;
          @media only screen and (max-width: 767px) {
            margin-top: 25px;
            margin-bottom: 15px;
            text-align: center;
            font-size: 1.8rem;
            letter-spacing: 0.14em;
            gap: 2px;
          }
          small {
            display: block;
            @media only screen and (max-width: 767px) {
              margin: 0;
            }
          }
        }
        small {
          font-size: 1.3rem;
          letter-spacing: 0.04em;
          opacity: 0.6;
          @media only screen and (max-width: 767px) {
            display: block;
            margin-top: 18px;
            font-feature-settings: 'palt';
            letter-spacing: 0.07em;
          }
        }
        p {
          @media only screen and (max-width: 767px) {
            text-align: left;
            letter-spacing: 0.05em;
          }
        }
        .buttonArrow {
          margin-top: 34px;
          @media only screen and (max-width: 767px) {
            margin-top: 21px;
          }
        }
      }
    }
    section.menu {
      border-top: 1px solid var(--black8);
      /* 写真撮テキストの組み合わせ ※ 例外的なレイアウト */
      padding-top: 27px;
      @media only screen and (max-width: 767px) {
        padding-top: 0;
      }
      .photoTextUnit {
        display: flex;
        justify-content: space-between;
        --margin: 68px;
        margin-top: 88px;
        @media only screen and (max-width: 767px) {
          margin-top: 60px;
          flex-direction: column-reverse !important;
        }
        &:nth-of-type(2n - 1) {
          .text {
            margin-right: var(--margin);
            @media only screen and (max-width: 767px) {
              margin-right: 0;
            }
          }
        }
        &:nth-of-type(2n) {
          flex-direction: row-reverse;
          .text {
            margin-left: var(--margin);
            @media only screen and (max-width: 767px) {
              margin-left: 0;
            }
          }
        }
        .text {
          width: calc((100% - var(--margin)) / 3);
          display: flex;
          flex-direction: column;
          @media only screen and (max-width: 767px) {
            width: 100%;
          }
        }
        .photo {
          width: calc((100% - var(--margin)) / 3 * 2);
          @media only screen and (max-width: 767px) {
            width: 100%;
          }
        }
        h4 {
          font-size: 1.4rem;
          margin-top: -0.6em;
          margin-bottom: auto;
          @media only screen and (max-width: 767px) {
            margin-top: 21px;
            text-align: center;
            font-size: 1.2rem;
          }
        }
        h3 {
          font-size: 2.2rem;
          letter-spacing: 0.08em;
          margin-top: auto;
          margin-bottom: auto;
          @media only screen and (max-width: 767px) {
            text-align: center;
            font-size: 1.8rem;
          }
        }
        p {
          margin-top: auto;
          margin-bottom: auto;
          @media only screen and (max-width: 767px) {
            margin-top: 12px;
            margin-bottom: 23px;
            font-size: 1.4rem;
            line-height: 2;
          }
        }
        .buttonArrow {
          margin-top: auto;
          margin-bottom: 0;
        }
      }
    }
    section.about {
      padding-top: 183px;
      padding-bottom: 188px;
      border-top: 1px solid var(--black8);
      @media only screen and (max-width: 767px) {
        padding-top: 90px;
        padding-bottom: 0;
      }
      .col2 {
        --margin: 68px;
        .text {
          display: flex;
          flex-direction: column;
          @media only screen and (max-width: 767px) {
            margin-top: 56px;
          }
        }
        h4 {
          font-size: 1.4rem;
          margin-bottom: auto;
          @media only screen and (max-width: 767px) {
            text-align: center;
            font-size: 1.2rem;
          }
        }
        h3 {
          font-size: 2.2rem;
          letter-spacing: 0.08em;
          margin-top: auto;
          margin-bottom: auto;
          font-feature-settings: 'palt';
          letter-spacing: 0.15em;
          @media only screen and (max-width: 767px) {
            text-align: center;
            font-size: 1.8rem;
          }
        }
        p {
          margin-top: auto;
          margin-bottom: auto;
          @media only screen and (max-width: 767px) {
            margin-top: 12px;
            margin-bottom: 18px;
          }
        }
        .buttonArrow {
          margin-top: auto;
          margin-bottom: 0;
        }
        .photo {
          position: relative;
          > img {
            position: absolute;
            width: 89%;
            height: auto;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            &:nth-of-type(1) {
              transform: translate(-50%, -50%) rotate(-10deg);
            }
          }
          .dummy {
            height: 0;
            padding-top: calc(0.6 * 100%);
            position: relative;
          }
        }
      }
    }
  }
}
