:root {
  --font-notojp: 'Noto Sans JP', sans-serif;

  --primary-bg-color: #C1DD58;
  --secondary-bg-color: #F3FDE7;
  --third-bg-color: #C1DD58;
  --gourmet-hover-color: #76ba34;
}

#sizen-miyagi {
  main#summer {
    .bg-primary {
      background-color: var(--primary-bg-color);
    }
    .bg-secondary {
      background-color: var(--secondary-bg-color);
    }
    .bg-white {
      background-color: #fff;
    }
    .img-hp {
      width: 41px;
      position: absolute;
      right: 40px;
      top: 10px;
    }
    .img-insta {
      width: 41px !important;
      margin-top: 0px !important;
    }
    .img-gourmet {
      max-height: none !important;
    }
    .pos-relative {
      position: relative !important;
    }
    .mt-min90 {
      margin-top: -90px;
    }
    .mt-min75 {
      margin-top: -75px;
    }
    .mt-min15 {
      margin-top: -15px;
    }
    .two-columns-flex {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
    }
    .two-columns-flex > div {
      flex: 1;
      width: 50%;
    }
    /* Override theme color */
    div.container {
      background-color: var(--secondary-bg-color);
    }
    div.layer.layer-1,
    div.outdoor-wrap {
      background-color: var(--primary-bg-color);
    }
    div.main-miyagi-cuisine,
    div.top-section {
      &::before {
        background-color: var(--primary-bg-color);
      }
    }
    aside.aside-right,
    button.accordion-toggle,
    div.ship-tour {
      background-color: var(--primary-bg-color);
    }
    div.hot-air-balloon {
      border-color: var(--primary-bg-color);
    }
    h2.air-balloon-title {
      &::before {
        background-color: var(--primary-bg-color);
      }
    }
    div.gourmet-matsushima,
    div.gourmet-feature,
    div.modal-gourmet {
      background-color: var(--third-bg-color);
    }

    /* Common */
    .flex-content {
      display: flex;
    }
    .text-center {
      text-align: center;
    }
    .palt {
      font-feature-settings: 'palt';
    }
    .mt-32 {
      margin-top: 32px;
    }
    .mb-0 {
      margin-bottom: 0;
    }
    .mb-16 {
      margin-bottom: 16px;
    }
    .mb-24 {
      margin-bottom: 24px;
    }
    .mb-32 {
      margin-bottom: 32px;
    }
    .mb-40 {
      margin-bottom: 40px;
    }
    .mb-48 {
      margin-bottom: 48px;
    }
    .mb-56 {
      margin-bottom: 56px;
    }
    .mb-64 {
      margin-bottom: 64px;
    }
    .mb-72 {
      margin-bottom: 72px;
    }
    .mb-80 {
      margin-bottom: 80px;
    }
    .mt-102 {
      margin-top: 102px;
    }
    .plr-5 {
      padding-left: 5%;
      padding-right: 5%;
    }
    .plr-7 {
      padding-left: 7%;
      padding-right: 7%;
    }
    .pl-5 {
      padding-left: 5%;
    }
    .pr-5 {
      padding-right: 5%;
    }
    .pl-7 {
      padding-left: 7%;
    }
    .pr-7 {
      padding-right: 7%;
    }
    .fs-17 {
      font-size: 17px;
      line-height: 33px;
    }
    br.sp {
      display: none;
    }
     @media (max-width: 500px) {
      br.sp {
        display: block;
      }
    }
    /* end Common */
    /* paragraph */
    p.base-desc {
      font-size: 15px;
      line-height: 27px;
      letter-spacing: 0.01em;
    }
    p.font-12-sp {
        font-size: clamp(14px, 2.4vw, 15px);
    }
    p.modal-desc {
      font-family: var(--font-notojp);
      text-align: left;
      font-size: 15px;
      letter-spacing: -1.1px;
    }
    /* animation */
    .fukidashi {
      transform-origin: center;
      position: absolute;
      opacity: 0;
      &.animate {
        animation: fukidashi 2s ease-in-out forwards;
        animation-iteration-count: 1;
        opacity: 1;
      }
    }
    /* img */
    img {
      display: block;
      margin-inline: auto;
      height: auto;
      max-width: 100%;
      object-fit: cover;
    }
    .slider-image {
      height: 100%;
    }
    /* modal */
    .modal {
      h2 {
        font-size: 20px;
      }
    }
    /* button check-plus */
    .wrap-modal-p-1,
    .wrap-modal-p-2,
    .wrap-modal-p-3 {
      position: relative;
    }
    .modal-thumb-caption {
      position: absolute;
    }

    .check-plus {
      position: absolute;
      width: 60px;
      height: 60px;
      background-color: #fff;
      border: 1px solid #000;
      border-radius: 50px;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 0;
      transition: transform 0.3s ease;
      transform-origin: center center;
      cursor: pointer;
      @media (max-width: 384px) {
        &.shift-bottom-sp {
          transform: translateY(12px);
        }
      }
      a {
        font-family: var(--font-notojp);
        font-size: 12.64px;
        font-weight: 900;
        color: #000;
        text-decoration: none;
        text-transform: uppercase;
        margin-top: -10px;
        padding: 25px 10px;
        span {
          position: absolute;
          top: 30px;
          left: 26px;
          font-size: 14px;
          font-family: var(--font-notojp);
          font-weight: 900;
        }
      }
      &:hover {
        transform: scale(1.1);
      }
    }
    .check-plus.center {
      left: 0;
      right: 0;
      margin: auto;
    }
    /* image-wide */
    img.image-wide {
      width: 100%;
    }
    /* link buttons */
    /* pattern1 */
    div.readmore a {
      background-color: var(--primary-bg-color);
      &:hover {
        background-color: #000;
        color: #fff;
      }
    }
    /* pattern2 */
    div.group-link a,
    div.details-button {
      background-color: var(--primary-bg-color);
      border-color: var(--primary-bg-color);
      &:hover {
        background-color: #fff;
      }
    }
    /* pattern3 */
    div.modal-gourmet {
      div.group-link a {
        background-color: #fff;
        border-color: #fff;
        &:hover {
          background-color: var(--gourmet-hover-color);
          border-color: var(--gourmet-hover-color);
        }
      }
    }
    /* banner horizontal scroll */
    div.h-scroll-left__wrap {
      display: flex;
      overflow: hidden;
    }
    img.h-scroll-left__item {
      animation: hScrollLeft 30s linear infinite;
      padding-left: 16px;
      width: auto;
      height: 50px;
      max-width: initial;
    }
    /* tag-texts */
    .three-scenic-spots {
      margin-bottom: initial;
      h2.explore-title {
        font-size: 30px;
      }
    }
    ul.tag-texts {
      display: flex;
      flex-wrap: wrap;
      gap: clamp(3px, 1.6vw, 8px);
      justify-content: center;
      &.gap-3 {
        gap: 3px;
      }
      li {
        width: auto;
        min-width: calc(90 / 500 * 100%);
        min-height: calc(35 / 500 * 100%);
        list-style: none;
        :is(.tag-texts.minw-66 &) {
          min-width: calc(66 / 500 * 100%);
        }
        p {
          font-size: clamp(12px, 3vw, 14px);
          font-weight: 700;
          border: 1px solid #000;
          text-decoration: none;
          padding: 8px 16px 8px 16px;
          white-space: nowrap;
          border-radius: 20px;
          display: block;
          text-align: center;
          color: #000;
          font-family: var(--font-notojp);
          cursor: default;
        }
      }
    }
    /* modal-pettern-1 */
    .wrap-modal-p-1 {
      img.fukidashi {
        top: 16.543%;
        right: 9.297%;
        width: 23.583%;
        :is(.section03 &) {
          top: 15.543%;
          right: 12.297%;
        }
      }
      .check-plus {
        bottom: 17.778%;
        right: 13.379%;
        :is(.section03 &) {
          bottom: 17%;
          right: 18.2%;
        }
      }
    }
    /* modal-pettern-2 */
    .wrap-modal-p-2 {
      .modal-thumb {
        &.left {
          width: 76.463%;
          margin-left: 0;
          margin-right: auto;
        }
        &.right {
          width: 85.752%;
          margin-right: 0;
          margin-left: auto;
        }
      }
      .modal-thumb-caption {
        width: 19.501%;
        &.right {
          top: -8.846%;
          right: 10.431%;
        }
        &.left {
          top: 10.769%;
          left: 6.803%;
        }
      }
      .check-plus {
        &.right-1 {
          bottom: 3.846%;
          right: 29.025%;
        }
        &.right {
          bottom: 3.538%;
          right: 9.524%;
        }
        &.right2 {
          bottom: 3.538%;
          right: 29.524%;
        }
        &.left {
          bottom: 3.846%;
          left: 9.524%;
        }
      }
    }
    /* modal-pattern-3 */
    .wrap-modal-p-3 {
      img.modal-thumb {
        width: calc(460 / 500 * 100%);
        &.left {
          margin-left: 0;
          margin-right: auto;
        }
        &.right {
          margin-right: 0;
          margin-left: auto;
        }
      }
      .desc-thumb {
        font-size: clamp(12px, 3vw, 15px);
        position: absolute;
        font-weight: 600;
        line-height: 24px;
        &.right {
          bottom: calc(49 / 239 * 100%);
          right: calc(70 / 500 * 100%);
        }
        &.left {
          bottom: calc(49 / 239 * 100%);
          left: calc(70 / 500 * 100%);
        }
      }
      .check-plus {
        &.left {
          bottom: calc(21 / 239 * 100%);
          left: calc(48 / 500 * 100%);
        }
        &.right {
          bottom: calc(21 / 239 * 100%);
          right: calc(48 / 500 * 100%);
        }
      }
      .fukidashi {
        &.right {
          top: calc(-15 / 239 * 100%);
          right: calc(50.5 / 500 * 100%);
        }
        &.left {
          top: calc(-15 / 239 * 100%);
          left: calc(50.5 / 500 * 100%);
        }
      }
    }
    /* anim-block */
    .anim-block {
      margin-bottom: calc(92 / 500 * 100%);
    }
    img.train {
      bottom: calc(-57 / 290 * 100%);
    }
    /* activity-block */
    .activity-block {
      padding-top: 48px;
      padding-bottom: 48px;
      background-color: var(--primary-bg-color);
      border-radius: 48.5px;
    }
    /* .float-contents */
    .float-contents {
      position: relative;
      width: 100%;
      height: auto;
    }
    /* white block in gourmet */
    .wrap-gourmet.white-block {
      background-color: #fff;
      padding: 5.2%;
      margin-top: 40px;
      margin-inline: auto;
      .content {
        display: flex;
        gap: 16px;
        p {
          font-size: 13px;
          margin-bottom: 13px;
        }
        .readmore {
          a {
            padding: 12px;
            width: 168px;
          }
        }
      }
    }
    /* First View */
    div.text-banner {
      display: block;
      width: 100%;
      max-width: 500px;
      margin-top: 25px;
      img {
        object-fit: scale-down;
      }
    }
    img.title-logo {
      animation-delay: 0.5s;
      margin-left: 19.2%;
      width: calc(280 / 500 * 100%);
      min-height: 240px;
      opacity: 0;
      animation: outDoor 1s forwards cubic-bezier(0.17, 0.67, 0.48, 0.9);
      animation-delay: 1s;
    }
    ul.collection {
      img {
        margin-right: 10px;
      }
    }
    /* particle positions */
    div.wrap-particles {
      width: 100%;
      height: 100%;
      position: absolute;
      transform-origin: center;
      backface-visibility: hidden;
      opacity: 0;
      animation: outDoor 1.5s ease-in-out forwards;
      &:nth-child(1) {
        animation-delay: 0s;
      }
      &:nth-child(2) {
        animation-delay: 1.5s;
      }
      &:nth-child(3) {
        animation-delay: 3s;
      }
      &:nth-child(4) {
        animation-delay: 4.5s;
      }
      img {
        position: absolute;
        z-index: -1;
        width: auto;
        &.particle-move-1 {
          animation: fluffy 3s infinite;
          top: 0;
          right: 9.2%;
        }
        &.particle-move-2 {
          animation: fluffy3 4s infinite ease-in-out;
          bottom: -6.5%;
          left: 24%;
        }
        &.particle-1 {
          top: -6%;
          right: 2.8%;
        }
        &.particle-2 {
          bottom: -20%;
          left: 17.8%;
        }
        &.image-person {
          opacity: 0;
          animation: outDoor 1s forwards cubic-bezier(0.17, 0.67, 0.48, 0.9);
          animation-delay: 1s;
          top: 7%;
          right: 2%;
          width: calc(106/500 * 100%);
          max-height: 309.72px;
        }
      }
    }
    /* special01 and special02*/
    div.cuisine-feature {
      padding-top: 0;
      padding-left: initial;
      padding-right: initial;
      padding-bottom: initial;
      width: 93.578%;
      margin-left: auto;
      margin-right: 0;
    }
    div.top-section {
      padding-top: 0;
      padding-left: initial;
      padding-right: initial;
      padding-bottom: initial;
      width: 93.578%;
      margin-left: 0;
      margin-right: auto;
      &::before {
        display: none;
      }
    }

    img.special01 {
      width: 12.745%;
      top: -11.409%;
      left: -7.353%;
    }
    img.special02 {
      width: 12.874%;
      top: -15.6%;
      right: -1.069%;
    }
    img.special01-title {
      width: calc(110 / 408 * 100%);
      bottom: -10px;
      right: -7px;
      max-height: initial;
    }
    img.special02-title {
      width: calc(291 / 500 * 100%);
      bottom: -7.441%;
      left: 7%;
      max-height: initial;
    }
    img.special01-main {
      width: 100%;
    }
    img.special02-main {
      width: 87.201%;
    }
    img.ganbaranai-spot-text-2 {
      width: calc(334 / 500 * 100%);
      display: block;
      margin-left: 16.111%;
    }

    div.main-miyagi-cuisine {
      padding-top: 52px;
      padding-left: 0;
      padding-right: 0;
    }
    div.ship-tour {
      margin-top: -140px;
      padding-top: 231px;
      padding-bottom: 56px;
      border-radius: 30px 30px 0 0;
      h2 {
        font-weight: 500;
        font-size: 36px;
        margin-left: 8%;
      }
      p {
        font-size: 17px;
        line-height: 1.86em;
        letter-spacing: 0.03em;
      }
    }
    div.section01 {
      padding-left: 6.4%;
      padding-right: 6.4%;
      img.simulate-five-senses-indor {
        width: calc(365 / 500 * 100vw);
        max-width: 365px;
        margin-left: 12%;
      }
      .miyagi-summer-indoor-spot {
        background-color: #9CC951;
        margin-bottom: 20px;
        border-radius: 220px 220px 0 0;
        padding-bottom: 7%;
        img.image-indoor-spot-title {
          padding-top: 20px;
        }
        img.img-indoor-spot {
          margin-top: 42px;
          padding: 0 8px;
          max-width: 100%;
          width: auto;
          &.second {
            margin-top: 40px;
          }
          &.third {
            margin-top: 27px;
          }
        }
        .indoor-spot-desc {
          margin: 16px 7% 0;
          font-size: 15px;
        }
        .leaf-box {
          background-color: #bde28f;
          margin: 24px 7% 0;
          padding: 0px 7%;
          min-height: 127px;
          display: flex;
          border-top-right-radius: 36px;
          border-bottom-left-radius: 36px;
          align-items: center;
          column-gap: 15px;
          img {
            width: 90px;
            height: auto;
            object-fit: contain;
          }
          p {
            font-size: 13px;
          }
        }
      }
    }
    div.cuisine-block {
      width: 100%;
      h2 {
        font-size: 29px;
      }
      p {
        font-size: 17px;
      }
    }
    .main-miyagi-activity {
      overflow: visible;
    }
    /* preparation */
    div.wrapper-preparation {
      text-align: center;
      padding: 50px 0;
      h2 {
        font-size: 24px;
        line-height: 1.5em;
      }
      img {
        &.curve-line {
          width: 78.899%;
        }
      }
      img.preparation {
        width: calc(320 / 500 * 100vw);
        max-width: 320px;
      }
      p {
        font-size: 19px;
        font-weight: 500;
        line-height: 36px;
      }
    }
    /* card information */
    .card.infomation,
    .air-balloon-info {
      .col-left {
        min-width: 29px;
      }
    }
    /* section02 */
    div.section02 {
      width: 87.2%;
      padding: 0 0 40px 0;
      margin-inline: auto;
      p.remarks {
        position: absolute;
        font-family: var(--font-notojp);
        font-size: 12px;
        right: 9.333%;
        bottom: -1.333%;
        &.left {
          left: 6.7%;
          bottom: -14.333%;
        }
      }
      img {
        display: block;
        margin-inline: auto;
        height: fit-content;
      }
      div.block-card-content {
        margin-top: initial;
      }
      .card:last-child {
        margin-bottom: initial;
      }
      .card-image {
        img.caption {
          width: 201px;
          position: absolute;
          bottom: -7%;
          right: -11%;
          z-index: 3;
        }
      }
      .card.infomation {
        margin-top: initial;
      }
      img.activity-spot-text {
        width: 65.986%;
      }
      img.img-ice-making {
        max-width: 195px;
        width: calc(195 / 500 * 100vw);
        height: auto;
      }
      img.image-hoyabouya {
        width: calc(388 / 436 * 100%);
        overflow: visible;
      }
      img.image-kokeshi-ko-bo {
        width: calc(380 / 500 * 100vw);
        max-width: 380px;
        height: auto;
      }
      .float-contents {
        height: 376px;
        img,p {
          position: absolute;
        }
        img {
          height: auto;
        }
        img.image-people-carving {
          width: calc(139 / 500 * 100vw);
          max-width: 139px;
          top: calc(101 /376 * 100%);
          left: calc(297 /500 * 100%);
        }
        img.image-kokeshi {
          width: calc(214 / 500 * 100vw);
          max-width: 214px;
          top: calc(-95 /376 * 100%);
          left: calc(42 /500 * 100%);
        }
        img.image-kokeshi-message {
          width: calc(110 / 500 * 100vw);
          max-width: 110px;
          top: calc(9 /376 * 100%);
          left: calc(292 /500 * 100%);
        }
        p {
          width: calc(203 / 500 * 100vw);
          max-width: 203px;
          top: calc(150 /376 * 100%);
          left: calc(33 /500 * 100%);
        }
      }
    }
    /* section03 */
    div.section03 {
      .skayaking-spot {
        .bg-cat-island-maps {
          position: relative;
          .maps-check-1 {
            position: absolute;
            top: calc(277 / 695 * 100%);
            right: calc(185 / 500 * 100%);
            img {
              max-width: 90px;
              width: 18vw;
            }
          }
          .maps-check-2 {
            position: absolute;
            top: calc(361 / 695 * 100%);
            right: calc(159 / 500 * 100%);
            img {
              max-width: 90px;
              width: 18vw;
            }
          }
          .maps-check-3 {
            position: absolute;
            top: calc(433 / 695 * 100%);
            right: calc(68 / 500 * 100%);
            img {
              max-width: 90px;
              width: 18vw;
            }
          }
          .maps-check-4 {
            position: absolute;
            top: calc(496 / 695 * 100%);
            right: calc(140 / 500 * 100%);
            img {
              max-width: 143px;
              width: 28.68vw;
            }
          }
          img.people-cats {
            padding: 0 15px 0 15px;
            position: relative;
            top: -36px;
          }
        }
        .bg-white {
          background-color: #FFF;
        }
        .yacht-sailing {
          background-color: var(--third-bg-color);
          border-radius: 250px 250px 0px 0px;
          padding-top: 86px;
          padding-bottom: 52px;
          .cats-point {
            position: relative;
            p {
              position: absolute;
              bottom: 40%;
              transform: translateY(50%);
              left: 12%;
              right: 12%;
              max-width: 430px;
            }
          }
          a {
            background-color: #000000;
            color: #FFFFFF;
            text-decoration: none;
            display: block;
            text-align: center;
            margin: 0 auto;
            max-width: 300px;
            width: 240px;
            line-height: 1;
            font-size: 16px;
            padding: 24px 8px;
            border-radius: 36px;
          }
          a:hover {
            background-color: #58585A;
          }
          img.image-island-info-title {
            width: calc(348 / 500 * 100vw);
            max-width: 348px;
          }
        }
        .yacht-sailing.second {
          margin-top: -75px;
          position: relative;
          z-index: 1;
        }
        img.image-sanriku-recommend {
          max-width: 88%;
        }
        .uroto-island-maps {
          position: relative;
          .check-plus.point1 {
            position: absolute;
            bottom: 12px;
            left: 18%;
          }
          .check-plus.point2 {
            position: absolute;
            top: 43%;
            left: 25%;
          }
          .check-plus.point3 {
            position: absolute;
            bottom: 12px;
            right: 22%;
          }
          .check-plus.point4 {
            position: absolute;
            top: 12%;
            right: 25%;
          }
        }
        .ship-to-urato {
          background-color: #cee189;
          border-radius: 20px;
          margin-top: -14px;
          padding-top: 55px;
          padding-bottom: 32px;
          img.title {
            max-width: 72%;
          }
          .point-box {
            position: relative;
            h3 {
              display: block;
              text-align: left;
              margin-bottom: 8px;
              font-size: 1.25em;
              position: relative;
              padding-left: 1em;
              width: fit-content;
              left: calc(110 / 430 * 100%);
            }
            img.point {
              position: absolute;
              top: 8px;
            }
            .check-plus {
              bottom: 0;
              right: 30px;
            }
          }
        }
        .preparation-box {
          position: relative;
          background-color: #c1dd58;
          padding: 48px calc(139 / 500 * 100%) 24px 5.5%;
          margin: 63px 7% 68px;
          border-radius: 13px;
          .left-content {
            h3 {
              padding: 10px 40px;
              position: absolute;
              top: -1em;
              left: 10%;
              text-align: center;
              font-size: 20px;
              line-height: 1;
              border: 1px solid #000000;
              background-color: #FFFFFF;
              border-radius: 24px;
              width: fit-content;
            }
            .atention {
              display: flex;
              gap: 8px;
              justify-content: space-between;
              align-items: center;
              background-color: #FFFFFF;
              border-radius: 10px;
              padding: 12px;
              font-size: 15px;
              img {
                max-width: 42px;
                width: 20%;
                margin: 0;
              }
            }
          }
          img.image-person {
            overflow: visible;
            margin-top: -23px;
            margin-bottom: -23px;
            margin-right: -4px;
          }
          img.image-person-right {
            position: absolute;
            top: -6%;
            right: -5%;
            width: calc(161 / 430 * 100%);
            margin: 0;
          }
        }
        .shiogama-maps {
          position: relative;
          .step1 {
            top: calc(124 / 2888.5 * 100%);
            left: calc(189 / 500 * 100%);
          }
          .step2 {
            top: calc(212 / 2888.5 * 100%);
            left: calc(370 / 500 * 100%);
          }
          .step3 {
            top: 12.5%;
            left: 39.5%;
          }
          .step4 {
            top: 17%;
            right: 18.3%;
          }
          .step5 {
            top: 26.7%;
            right: 39%;
          }
          .step6 {
            top: 36.2%;
            right: 12.5%;
          }
          .step7 {
            top: 41.5%;
            left: 34.7%;
          }
          .step8 {
            top: 49.1%;
            right: 21.7%;
          }
          .step9 {
            top: 53.5%;
            left: 40.7%;
          }
          .step10 {
            top: 58.3%;
            right: 18%;
          }
          .step11 {
            bottom: 34.9%;
            left: 40%;
          }
          .step12 {
            bottom: 25.2%;
            right: 12%;
          }
          .step13 {
            bottom: 15.8%;
            right: 39%;
          }
          .step14 {
            bottom: 8.8%;
            right: 15%;
          }
          .fuki1 {
            top: 21.3%;
            left: 3.2%;
          }
          .fuki2 {
            top: 31%;
            right: 3%;
          }
          .fuki3 {
            bottom: 29.5%;
            right: 4%;
          }
          .fuki4 {
            bottom: 20.7%;
            left: 5%;
          }
          .modal-long .modal-content {
            max-height: 90vh;
            height: auto;
            padding: 36px 0 56px;
            overflow: hidden;
            .content {
              overflow-y: auto;
              max-height: calc(90vh - 92px);
              h2, p {
                width: 370px;
                margin: 0 auto;
                max-width: 88%;
              }
              p {
                margin-top:  15px;
                text-align: left;
              }
              p.first {
                padding-bottom: 24px;
                border-bottom: 1px solid #000000;
                margin-bottom: 30px;
              }
            }
          }
        }
      }
      .destination {
        padding: initial;
      }
      .air-balloon-contact {
        margin-top: initial;
      }
      .content {
        margin-top: initial;
        p {
          line-height: 1.9em;
          font-weight: 400;
          letter-spacing: 0.01em;
        }
        p.modal-desc {
          line-height: revert;
        }
      }
      .main-miyagi-travel {
        overflow: visible;
        margin-top: initial;
      }
      img.anim-parts-1 {
        width: calc(436 / 500 * 100%);
      }
      img.where-acutivity-title-1 {
        width: 76%;
      }
      img.where-acutivity-title-2 {
        width: calc(444 / 500 * 100%);
      }
      img.particles-1 {
        width: calc(377 / 500 * 100%);
      }
      img.image-sanriku-01-2 {
        width: 90%;
        margin-right: 0;
      }
      img.image-sanriku-02 {
        width: 90%;
      }
      .wrap-modal-p-1 {
        img.modal-thumb {
          /* width: calc(441 / 500 * 100%); */
          width: 100%;
        }
      }
      img.dontosai-title {
        width: calc(348 / 500 * 100%);
      }
      img.image-how-to-tashirojima-title {
        width: calc(348 / 430 * 100%);
      }
      img.img-lake {
        max-width: 221px;
        width: calc(221 / 500 * 100vw);
        object-position: right;
      }
    }
    /* miyagi-spots */
    div.miyagi-spots-container {
      .h-scroll-left__wrap {
        margin-top: 75px;
      }
      img.summer-spots-title {
        display: block;
        width: 94%;
        height: auto;
        margin: 0 auto;
        padding-top: 24px;
      }
      div.matsushima-section:last-child {
        padding-bottom: 75px;
      }
      .layout-feature:has(.no-articles) {
        justify-content: space-around;
      }
      .no-articles {
        background-color: #ebf1e4;
        border: 1px solid #000;
        border-radius: 12px;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        cursor: default;
        flex: 0 0 357.08px;
        max-width: 357.08px;
        height: 435px;
      }
    }
    /*END main#summer */
  }
}

/* Override screen.css */
@media (max-width: 500px) {
  #sizen-miyagi {
    main#summer {
      /* Common */
      .mt-32 {
        margin-top: 6.4vw;
      }
      .mb-0 {
        margin-bottom: 0;
      }
      .mb-16 {
        margin-bottom: 3.2vw;
      }
      .mb-24 {
        margin-bottom: 4.8vw;
      }
      .mb-32 {
        margin-bottom: 6.4vw;
      }
      .mb-40 {
        margin-bottom: 8vw;
      }
      .mb-48 {
        margin-bottom: 9.6vw;
      }
      .mb-56 {
        margin-bottom: 11.2vw;
      }
      .mb-64 {
        margin-bottom: 12.8vw;
      }
      .mb-72 {
        margin-bottom: 14.4vw;
      }
      .mb-80 {
        margin-bottom: 16vw;
      }
      .mt-102 {
        margin-top: 20.4vw;
      }
      .dis-flex-sp {
        display: initial;
      }
      .mt-16-sp {
        margin-top: 3.2vw;
      }
      .mb-24-sp {
        margin-bottom: 4.8vw;
      }
      div.wrap-particles {
        img {
          &.particle-move-1 {
            max-width: 24%;
          }
          &.particle-move-2 {
            max-width: 8%;
          }
          &.particle-1 {
            max-width: 26%;
          }
          &.particle-2 {
            max-width: 10%;
          }
        }
      }
      /* tag-texts */
      .tag-texts.mb-48 {
        margin-bottom: 4.8vw;
      }
      /* white block in gourmet */
      .wrap-gourmet.white-block {
        width: 90%;
        .content {
          flex-direction: column;
        }
      }
      .card-infomation,
            .air-balloon-info
            /* First View */
            div.text-banner {
        margin-bottom: 17%;
      }
      div.scroll-down {
        margin-top: 14%;
      }
      div.cuisine-block {
        h2 {
          font-size: 5.8vw;
        }
      }
      div.wrapper-preparation {
        p {
          font-size: 4.1vw;
        }
      }
      .three-scenic-spots {
        h2.explore-title {
          font-size: 24px;
        }
      }
      /* modal */
      .modal {
        h2 {
          margin-top: 0;
        }
        .hplink {
          top: -11px;
        }
      }
      /* section01 */
      .section01 {
        .mb-80 {
          margin-bottom: 18.349%;
        }
        .mb-40 {
          margin-bottom: 9.174%;
        }
      }
      /* section02 */
      div.section02 {
        img {
          width: 100%;
        }
        .card-image {
          img.caption {
            width: 61%;
            bottom: 5%;
            right: -7%;
          }
        }
        .block-card-content.mb-24 {
          margin-bottom: -12px;
        }
        p.remarks {
          bottom: 8.667%;
        }
        img.ganbaranai-spot-text-2 {
          margin-left: 19.111%;
        }
        img.img-ice-making {
          max-width: 222px;
          width: calc(222 / 500 * 100vw);
        }
        .float-contents {
          height: calc(392 / 500 * 100vw);
          min-height: 392px;
          img.image-people-carving {
            width: calc(139 / 500 * 100vw);
            max-width: 139px;
            top: calc(2 / 392 * 100%);
            left: calc(296 /500 * 100%);
          }
          img.image-kokeshi {
            width: calc(214 / 500 * 100vw);
            max-width: 214px;
            top: calc(63 / 392 * 100%);
            left: calc(41 /500 * 100%);
          }
          img.image-kokeshi-message {
            width: calc(110 / 500 * 100vw);
            max-width: 110px;
            top: 0;
            left: calc(147 /500 * 100%);
          }
          p {
            width: calc(387 / 500 * 100vw);
            max-width: 387px;
            top: calc(333 / 500 * 100vw);
            left: calc(34 / 500 * 100vw);
            line-height: 1.8;
          }
        }
      }
      /* ,section03 */
      div.section03 {
        div.skayaking-spot {
          picture {
            img.img-lake {
              max-width: 396px;
              width: calc(396 / 500 * 100vw);
              margin-left: 0;
            }
          }
          .bg-cat-island-maps {
            img.people-cats {
              object-fit: contain;
              max-width: 150px;
            }
          }
          .yacht-sailing {
            .cats-point {
              p {
                font-size: 13px;
                line-height: 23px;
              }
            }
          }
          .uroto-island-maps {
            .check-plus.point1 {
              bottom: 0;
              left: 15%;
            }
            .check-plus.point3 {
              bottom: 0px;
              right: 20%;
            }
            .check-plus.point4 {
              top: 10%;
            }
          }
          .ship-to-urato {
            padding-top: 36px;
            padding-bottom: 6.4vw;
            .point-box {
              h3 {
                font-size: 14px;
              }
              img.point {
                width: 60px;
              }
              .check-plus {
                bottom: 0;
                right: 30px;
              }
            }
          }
          .preparation-box {
            .left-content {
              h3 {
                font-size: 18px;
              }
              .atention {
                gap: 4px;
                font-size: 13px;
                padding: 12px 8px;
              }
            }
            img.image-person {
              margin-top: -22px;
              margin-bottom: -22px;
              margin-right: -4px;
            }
            img.image-person-right {
              margin: 0;
              top: 8%;
            }
          }
          .shiogama-maps {
            .check-plus{
              width: 45px;
              height: 45px;
              a {
                font-size: 10px;
                padding: 18px 8px;
                span {
                  top: 22px;
                  left: 18px;
                }
              }
            }
            .fukidashi {
              width: 23.583%;
            }
          }
        }
      }
      .main-miyagi-travel {
        margin-top: initial;
      }
      /* gourmet thmub images */
      .gourmet-view {
        img {
          object-fit: cover;
        }
      }
      /*END main#summer */
    }
  }
}

/* banner horizontal scroll */
@keyframes hScrollLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes fukidashi {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  5% {
    transform: scale(1.2);
    opacity: 1;
  }
  10% {
    transform: scale(1);
  }
  20% {
    transform: scale(1.1);
  }
  30% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
  to {
    opacity: 1;
  }
}
