@charset "UTF-8";
@media screen and (min-width: 768px), print {
  main {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
  }

  .nagare-move-u {
    --nagare-w: 3840px;
    /* 背景画像の横幅 */
    --nagare-h: 320px;
    /* 背景画像の高さ */
    --nagare-speed: 100s;
    /* 1周する時間。長いほどゆっくり */
    background-image: url(../images/request/nagare.png);
    background-repeat: repeat-x;
    background-position: 0 0;
    background-size: auto var(--nagare-h);
    width: 100%;
    height: var(--nagare-h);
    animation: nagare-left var(--nagare-speed) linear infinite;
    will-change: background-position;
    margin-bottom: 78px;
    margin-top: 52px;
  }

  /* ← 左方向に流す */
  @keyframes nagare-left {
    from {
      background-position-x: 0;
    }

    to {
      background-position-x: calc(-1 * var(--nagare-w));
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .nagare-move-u {
      animation: none;
    }
  }

  /*============================
#lead
============================*/
  #lead {
    .inner {
      .ttl {
        font-family: 'Zen Old Mincho', serif;
        font-weight: normal;
        font-size: 42px;
        letter-spacing: 0.05em;
        line-height: 70px;
        text-align: center;
        color: #000;
        margin-bottom: 46px;
      }

      .ch-box {
        width: 1100px;
        margin: 0 auto;
        margin-bottom: 84px;
        background-color: #eeece7;
        display: flex;
        flex-wrap: wrap;
        padding: 48px 64px 40px 153px;

        li {
          font-weight: bold;
          font-size: 20px;
          letter-spacing: 0.05em;
          text-align: left;
          color: #2b2827;
          background-image: url(../images/request/ch.png);
          background-repeat: no-repeat;
          background-position: 2px 7px;
          background-size: 24px;
          padding-left: 37px;
          margin-bottom: 8px;
        }

        .list-l {
          width: 415px;
          margin-right: 25px;
        }

        .list-r {
          width: 379px;
        }
      }

      .ttl-box {
        width: 1100px;
        margin: 0 auto;
        margin-bottom: 26px;
        background-image: url(../images/request/en.png);
        background-repeat: no-repeat;
        background-position: 188px 58px;

        .s-ttl {
          font-family: 'Zen Old Mincho', serif;
          text-align: center;

          .ss1 {
            font-weight: normal;
            font-size: 32px;
            letter-spacing: 0.05em;
            line-height: 59px;
            text-align: center;
            color: #000;
            display: block;
            margin-bottom: 45px;
          }

          .ss2 {
            font-weight: normal;
            font-size: 64px;
            letter-spacing: 0.05em;
            line-height: 70px;
            text-align: center;
            color: #2b2827;
            display: block;
            margin-bottom: 2px;
            position: relative;
            left: 3px;
          }

          .ss3 {
            font-family: 'Zen Old Mincho', serif;
            font-weight: normal;
            font-size: 38px;
            letter-spacing: 0.05em;
            line-height: 70px;
            text-align: center;
            color: #000;
          }
        }
      }

      .bg-box {
        width: 1100px;
        margin: 0 auto;
        margin-bottom: 129px;
        padding: 50px 5px 50px 39px;
        background: #fff;
        box-shadow: 6px 6px 40px rgba(0, 0, 0, 0.1);

        .flex {
          display: flex;
          flex-wrap: wrap;

          .box-l {
            width: 560px;
            margin-right: 40px;
            padding-top: 14px;

            .mini-ttl {
              font-weight: bold;
              font-size: 22px;
              letter-spacing: 0.05em;
              line-height: 36px;
              text-align: left;
              color: #2b2827;
              margin-bottom: 20px;
            }

            .txt-box {
              font-weight: 500;
              font-size: 16px;
              letter-spacing: 0.05em;
              line-height: 32px;
              text-align: left;
              color: #2b2827;
            }
          }

          .box-r {
            width: 420px;
          }
        }
      }
    }
  }

  #form .form-Box-inner {
    background: url(../images/entry/form-bg01.jpg) no-repeat center top;
    padding-top: 72px;
  }

  #form .form-txt {
    color: #fff;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 44px;
    letter-spacing: 1.1px;
    position: relative;
    padding: 20px 0 34px;
    margin-bottom: 78px;
  }

  #form .form-txt::before {
    content: '';
    display: inline-block;
    width: 60px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  #form .form-area {
    width: 1200px;
    margin: 0 auto 80px;
    padding: 115px 100px 60px;
    background-color: #fff;
    position: relative;
    box-shadow: 10px 10px 18px #ccc;
  }

  #form .form-area .form-ttl {
    position: absolute;
    top: -63px;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-bottom: 0;
  }

  #form .form-area .form-list {
    font-size: 14px;
    line-height: 27px;
    letter-spacing: 0.7px;
    margin-bottom: 37px;
  }

  #form .bnr {
    text-align: center;
  }
}


@media screen and (max-width: 767px) {
  .nagare-move-u {
    --nagare-w: 592.512vw;
    /* 背景画像の横幅 */
    --nagare-h: 49.517vw;
    /* 背景画像の高さ */
    --nagare-speed: 100s;
    /* 1周する時間。長いほどゆっくり */
    background-image: url(../images/request/sp-nagare.png);
    background-repeat: repeat-x;
    background-position: 0 0;
    background-size: auto var(--nagare-h);
    width: 100%;
    height: var(--nagare-h);
    animation: nagare-left var(--nagare-speed) linear infinite;
    will-change: background-position;
    margin-bottom: 7.971vw;
    margin-top: 12.077vw;
  }

  /* ← 左方向に流す */
  @keyframes nagare-left {
    from {
      background-position-x: 0;
    }

    to {
      background-position-x: calc(-1 * var(--nagare-w));
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .nagare-move-u {
      animation: none;
    }
  }

  /*============================
#lead
============================*/
  #lead {
    .inner {
      .ttl {
        font-family: 'Zen Old Mincho', serif;
        font-weight: normal;
        color: #000;
        margin-bottom: 7.971vw;
        font-size: 6.522vw;
        letter-spacing: 0.05em;
        line-height: 10.386vw;
        text-align: center;
      }

      .ch-box {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 12.802vw;
        background-color: #eeece7;
        display: flex;
        flex-wrap: wrap;
        padding: 7.971vw 4.831vw 5.072vw 4.831vw;

        li {
          font-weight: bold;
          font-size: 4.831vw;
          letter-spacing: 0.05em;
          text-align: left;
          color: #2b2827;
          background-image: url(../images/request/sp-ch.png);
          background-repeat: no-repeat;
          background-position: 0.483vw 0.483vw;
          background-size: 5.556vw;
          padding-left: 8.937vw;
          margin-bottom: 3.623vw;
          font-size: 4.348vw;
          letter-spacing: 0.05em;
        }

        .list-l {
          /* width: 100.242vw; */
        }

        .list-r {
          width: 91.546vw;
        }
      }

      .ttl-box {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 7.729vw;
        background-image: url(../images/request/sp-en.png);
        background-repeat: no-repeat;
        background-position: center 50px;
        background-size: 87.44vw;

        .s-ttl {
          font-family: 'Zen Old Mincho', serif;
          text-align: center;

          .ss1 {
            font-weight: normal;
            font-size: 7.729vw;
            letter-spacing: 0.05em;
            line-height: 14.251vw;
            text-align: center;
            color: #000;
            display: block;
            margin-bottom: 3.865vw;
            font-size: 5.797vw;
            letter-spacing: 0.05em;
          }

          .ss2 {
            font-weight: normal;
            font-size: 15.459vw;
            letter-spacing: 0.05em;
            line-height: 16.908vw;
            text-align: center;
            color: #2b2827;
            display: block;
            margin-bottom: 0.966vw;
            position: relative;
            /* left: 0.725vw; */
            font-size: 9.662vw;
            letter-spacing: 0.05em;
            line-height: 10.628vw;
          }

          .ss3 {
            font-family: 'Zen Old Mincho', serif;
            font-weight: normal;
            text-align: center;
            color: #000;
            font-size: 7.729vw;
            letter-spacing: 0.05em;
            line-height: 12.56vw;
          }
        }
      }

      .bg-box {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 17.874vw;
        padding: 8.213vw 5.314vw 6.039vw 5.314vw;
        background: #fff;
        box-shadow: 6px 6px 40px rgba(0, 0, 0, 0.1);

        .flex {
          display: flex;
          flex-wrap: wrap;

          .box-l {
            width: 135.266vw;
            margin-right: 9.662vw;
            padding-top: 3.382vw;
            display: contents;
            .mini-ttl {
              font-weight: bold;
              text-align: left;
              color: #2b2827;
              margin-bottom: 4.831vw;
              font-size: 5.314vw;
              letter-spacing: 0.05em;
              line-height: 8.696vw;
              order: -3;
            }

            .txt-box {
              font-weight: 500;
              font-size: 3.865vw;
              letter-spacing: 0.05em;
              line-height: 7.729vw;
              text-align: left;
              color: #2b2827;
              order: -1;
            }
          }

          .box-r {
            width: 100%;
            order: -2;
            margin-bottom: 4.589vw;
          }
        }
      }
    }
  }

  #con01 {
    margin: 14.4vw auto 23.2vw;
  }

  #con01 .pic {
    margin-bottom: 12.9vw;
  }

  #con01 .ttl {
    text-align: center;
    font-size: 6.28vw;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.6vw;
    margin-bottom: 25.9vw;
    position: relative;
  }

  #con01 .ttl::before {
    content: url(../images/entry/sp-con01-line01.jpg);
    position: absolute;
    top: 17vw;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  #con01 .txt {
    text-align: center;
    font-size: 3.865vw;
    font-weight: 700;
    line-height: 2.35;
    letter-spacing: 0.2vw;
    margin-bottom: 17.5vw;
  }

  #con01 .pic1 {
    margin-bottom: 17.9vw;
  }

  #con01 .txt1 {
    text-align: center;
    font-size: 3.865vw;
    font-weight: 700;
    line-height: 2.35;
    letter-spacing: 0.2vw;
    margin-bottom: 17.5vw;
  }

  .form-Box {
    padding: 4% 0;
  }

  #form .form-Box-inner {
    background: url(../images/entry/form-bg01.jpg) no-repeat center top;
    padding-top: 5vw;
  }

  #form .form-txt {
    color: #fff;
    text-align: center;
    font-size: 4.831vw;
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: 0.242vw;
    position: relative;
    padding: 4vw 0 5vw;
    margin-bottom: 14.5vw;
  }

  #form .form-txt::before {
    content: '';
    display: inline-block;
    width: 14.493vw;
    height: 0.483vw;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  #form .form-area {
    margin: 0 auto 16vw;
    padding: 13vw 5vw 8vw;
    background-color: #fff;
    position: relative;
    box-shadow: 10px 10px 18px #ccc;
  }

  #form .form-area .form-ttl {
    position: absolute;
    top: -7vw;
    left: 10.5vw;
    width: 73vw;
    border-bottom: 0;
  }

  #form .form-area .form-list {
    font-size: 3.382vw;
    line-height: 6.522vw;
    letter-spacing: 0.169vw;
    margin-bottom: 8.937vw;
  }

  #form .bnr {
    text-align: center;
    padding: 0 4vw;
  }
}
