html {
  scroll-behavior: smooth; }

/* js-scroll-up
------------------------------*/
.js-scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0; }

.js-scroll_up.on {
  transform: translateY(0);
  opacity: 1; }

.fadeUp {
  opacity: 1; }

nav.clone-nav {
  display: none; }

#logo-area {
  display: none; }

.floating-button {
  display: none !important; }

.btn_area.float-bnt {
  display: none !important; }

.modal {
  display: none; }

body {
  background-color: #fff; }

main .sp {
  display: none; }
main .pc {
  display: block; }

footer {
  display: none; }

#top {
  opacity: 0;
  transition: .2s;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  height: 60px;
  width: 60px;
  bottom: 20px;
  right: 20px;
  z-index: 100000;
  background-color: #e73562;
  border-radius: 50%; }
  #top::before {
    content: '';
    display: block;
    position: relative;
    top: 3px;
    height: 20px;
    width: 20px;
    border-top: solid 3px #fff;
    border-left: solid 3px #fff;
    transform: rotate(45deg);
    border-top-left-radius: 3px; }

#marutto-kengaku {
  font-family: "Noto Sans JP", sans-serif; }
  #marutto-kengaku .visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0; }
  #marutto-kengaku header {
    background: linear-gradient(to bottom, #00afec 0%, #00afec 80%, #ffffff 80%, #ffffff 100%); }
    #marutto-kengaku header nav ul {
      display: flex;
      width: 100%;
      max-width: 800px;
      margin: 0 auto;
      justify-content: center;
      align-items: flex-end;
      list-style: none;
      padding: 0;
      transform: rotate(0deg); }
      #marutto-kengaku header nav ul li {
        background-color: #00000000;
        color: white;
        text-align: center;
        position: relative;
        font-size: clamp(10px, 4vw, 16px);
        font-weight: 700; }
        #marutto-kengaku header nav ul li a {
          color: #fff;
          padding: 16px 0; }
          #marutto-kengaku header nav ul li a::after {
            content: "";
            border: none; }
          #marutto-kengaku header nav ul li a:hover {
            box-shadow: none !important;
            scale: 1.1; }
        #marutto-kengaku header nav ul li:first-child {
          display: block; }
    #marutto-kengaku header .mv {
      max-height: 1000px;
      min-height: 800px;
      height: 80vh;
      position: relative;
      z-index: 10000;
      clip-path: ellipse(100% 100% at 50% 0%); }
      #marutto-kengaku header .mv .img-flex {
        display: flex;
        position: relative;
        width: 90%;
        max-width: 1000px;
        gap: 40px;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        z-index: 1; }
        #marutto-kengaku header .mv .img-flex h1 {
          width: 80%;
          margin-left: auto;
          flex-shrink: 0; }
        #marutto-kengaku header .mv .img-flex .img-wrap {
          position: absolute;
          left: 0;
          width: 25%;
          flex-shrink: 0; }
      #marutto-kengaku header .mv > .img-wrap {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%; }
        #marutto-kengaku header .mv > .img-wrap img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: bottom;
          z-index: -1; }
  #marutto-kengaku .block-1 .contents {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    padding: 100px 0 50px 0; }
    #marutto-kengaku .block-1 .contents h2 {
      font-size: clamp(24px, 5vw, 36px);
      font-weight: 700;
      color: #e73562;
      text-decoration: underline;
      text-decoration-thickness: 15px;
      text-underline-offset: -10px;
      text-decoration-color: #f4d923;
      margin-bottom: 30px; }
    #marutto-kengaku .block-1 .contents p {
      font-size: 24px;
      font-weight: 500;
      line-height: 45px;
      color: #333333;
      margin-bottom: 30px; }
      #marutto-kengaku .block-1 .contents p span {
        color: #e73562;
        font-size: 24px;
        font-weight: 900; }
  #marutto-kengaku .block-2 {
    background-image: url("../imgs/marutto-kengaku/b2-bg.svg");
    background-size: 150%;
    background-position: center top;
    background-repeat: no-repeat; }
    #marutto-kengaku .block-2 .contents {
      width: 90%;
      max-width: 1000px;
      margin: 0 auto;
      text-align: center;
      padding: 100px 0 200px; }
      #marutto-kengaku .block-2 .contents h2 {
        width: 90%;
        max-width: 350px;
        margin: 0 auto;
        margin-bottom: 80px; }
      #marutto-kengaku .block-2 .contents .features {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px; }
        #marutto-kengaku .block-2 .contents .features .feature {
          position: relative;
          background-color: #fff;
          padding: 30px 20px;
          border-radius: 20px;
          box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.3); }
          #marutto-kengaku .block-2 .contents .features .feature .img-wrap {
            margin-bottom: 10px; }
            #marutto-kengaku .block-2 .contents .features .feature .img-wrap img {
              height: 150px;
              object-fit: contain; }
          #marutto-kengaku .block-2 .contents .features .feature h3 {
            font-size: clamp(24px, 5vw, 28px);
            font-weight: 700;
            line-height: 1em;
            color: #0d75b5;
            text-decoration: underline;
            text-decoration-thickness: 15px;
            text-underline-offset: -10px;
            text-decoration-color: #f4d923;
            margin-bottom: 1em; }
          #marutto-kengaku .block-2 .contents .features .feature p {
            font-size: 16px;
            line-height: 23px;
            font-weight: 500;
            color: #333333; }
            #marutto-kengaku .block-2 .contents .features .feature p small {
              display: block;
              margin-top: 1em;
              font-size: 14px;
              line-height: 20px; }
          #marutto-kengaku .block-2 .contents .features .feature::before {
            content: "";
            display: block;
            position: absolute;
            top: -30px;
            left: 20px;
            z-index: 10;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            color: #fff;
            font-family: 'Noto Sans JP', sans-serif;
            font-weight: 700;
            font-size: 40px;
            line-height: 55px; }
          #marutto-kengaku .block-2 .contents .features .feature.n1::before {
            content: "1";
            background-color: #e73562; }
          #marutto-kengaku .block-2 .contents .features .feature.n2::before {
            content: "2";
            background-color: #42b8e4; }
          #marutto-kengaku .block-2 .contents .features .feature.n3::before {
            content: "3";
            background-color: #fabe00; }
  #marutto-kengaku .block-3 {
    background-image: repeating-linear-gradient(-45deg, #54a4d8, #54a4d8 10px, #75aed8 10px, #75aed8 20px);
    animation: stripe-move 5s linear infinite;
    background-size: 100% 56.57px;
    clip-path: ellipse(180% 100% at 50% 100%);
    padding: 200px 0 200px;
    margin-top: -130px; }
@keyframes stripe-move {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 -56.57px; } }
    #marutto-kengaku .block-3 .contents {
      position: relative;
      width: 90%;
      max-width: 1000px;
      margin: 0 auto;
      text-align: center;
      background-color: #fff;
      padding-top: 100px;
      border-radius: 50px; }
      #marutto-kengaku .block-3 .contents h2 {
        position: absolute;
        top: -50px;
        right: 50%;
        transform: translate(50%, -50%);
        width: 90%;
        max-width: 500px;
        margin: 0 auto; }
        #marutto-kengaku .block-3 .contents h2 img {
          height: 100%;
          object-fit: contain; }
      #marutto-kengaku .block-3 .contents .box {
        width: 90%;
        margin: 0 auto;
        padding-bottom: 80px; }
        #marutto-kengaku .block-3 .contents .box h3 {
          border-bottom: solid 2px #0d75b5;
          padding-bottom: 15px;
          margin-bottom: 30px; }
          #marutto-kengaku .block-3 .contents .box h3 img {
            height: 40px;
            width: auto;
            margin: 0 auto; }
        #marutto-kengaku .block-3 .contents .box > p {
          font-size: 24px;
          letter-spacing: 1px;
          line-height: 36px;
          margin-bottom: 60px;
          font-weight: 500; }
          #marutto-kengaku .block-3 .contents .box > p span {
            color: #e73562;
            font-size: 30px;
            font-weight: 900;
            position: relative;
            top: 3px; }
        #marutto-kengaku .block-3 .contents .box .flow {
          display: grid;
          width: 95%;
          margin: 0 auto;
          grid-template-columns: repeat(3, 1fr);
          gap: 30px; }
          #marutto-kengaku .block-3 .contents .box .flow .card {
            position: relative;
            border: solid 5px #e73562;
            box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.3);
            border-radius: 10px;
            padding: 60px 20px 15px 20px; }
            #marutto-kengaku .block-3 .contents .box .flow .card > p {
              font-size: 18px;
              line-height: 1.25;
              font-weight: 500; }
            #marutto-kengaku .block-3 .contents .box .flow .card .img-wrap {
              margin-bottom: 20px; }
              #marutto-kengaku .block-3 .contents .box .flow .card .img-wrap img {
                width: 100%;
                height: 150px;
                object-fit: contain;
                border-radius: 5px 5px 0 0; }
            #marutto-kengaku .block-3 .contents .box .flow .card::before {
              content: "";
              background-image: url("../imgs/marutto-kengaku/flow-num-1.webp");
              background-size: 100% 100%;
              background-position: center;
              background-repeat: no-repeat;
              display: block;
              position: absolute;
              top: -40px;
              left: 50%;
              transform: translateX(-50%);
              width: 80px;
              height: 80px;
              border-radius: 50%; }
            #marutto-kengaku .block-3 .contents .box .flow .card.n2::before {
              background-image: url("../imgs/marutto-kengaku/flow-num-2.webp"); }
            #marutto-kengaku .block-3 .contents .box .flow .card.n3::before {
              background-image: url("../imgs/marutto-kengaku/flow-num-3.webp"); }
        #marutto-kengaku .block-3 .contents .box .green-box {
          padding: 20px 40px;
          margin-bottom: 50px;
          border-radius: 20px;
          background-color: #b8d200;
          background-image: url(../imgs/page-shortened-tour-day/green-box-bg.png);
          background-size: 80%;
          background-position: center;
          background-repeat: no-repeat; }
          #marutto-kengaku .block-3 .contents .box .green-box > p {
            font-size: 18px;
            line-height: 26px;
            margin-bottom: 50px;
            color: #000000; }
            #marutto-kengaku .block-3 .contents .box .green-box > p.flex-text {
              display: flex;
              flex-wrap: wrap;
              justify-content: center;
              align-items: center;
              margin-bottom: 0px; }
          #marutto-kengaku .block-3 .contents .box .green-box .flow {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 5px; }
            #marutto-kengaku .block-3 .contents .box .green-box .flow .card {
              flex-shrink: 0;
              background-color: #fffbcb;
              box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
              width: calc(100% / 3 - 20px);
              row-gap: 20px;
              height: 100%;
              padding: 20px;
              display: flex;
              flex-direction: column;
              align-items: center;
              justify-content: center;
              border-radius: 30px;
              min-height: 350px; }
              #marutto-kengaku .block-3 .contents .box .green-box .flow .card p {
                font-size: 16px;
                line-height: 23px;
                color: #000000; }
          #marutto-kengaku .block-3 .contents .box .green-box .graphs {
            display: flex;
            justify-content: center; }
            #marutto-kengaku .block-3 .contents .box .green-box .graphs .graph {
              width: 50%;
              flex-shrink: 0; }
              #marutto-kengaku .block-3 .contents .box .green-box .graphs .graph h5 {
                text-align: center;
                margin: 0 auto;
                margin-bottom: 30px;
                font-size: 22px;
                font-weight: 700; }
              #marutto-kengaku .block-3 .contents .box .green-box .graphs .graph .img-wrap {
                width: 80%;
                margin: 0 auto;
                position: relative; }
                #marutto-kengaku .block-3 .contents .box .green-box .graphs .graph .img-wrap .ab-img {
                  position: absolute;
                  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
                  width: 50%;
                  right: -40%;
                  top: 50%;
                  transform: translate(-50%, -50%); }
          #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text {
            width: 90%;
            margin: 0 auto;
            margin-top: 30px; }
            #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p {
              font-size: 12px;
              line-height: 23px;
              color: #333;
              text-align: left; }
              #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span {
                margin-right: 10px;
                display: inline-flex;
                gap: 2px;
                align-items: center; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span::before {
                  content: "";
                  display: inline-block;
                  height: 10px;
                  width: 10px; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span.color-1::before {
                  background-color: #f9be00; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span.color-2::before {
                  background-color: #ef8200; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span.color-3::before {
                  background-color: #ea6d8d; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span.color-4::before {
                  background-color: #e63556; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span.color-5::before {
                  background-color: #00aecb; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span.color-6::before {
                  background-color: #6fb92c; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span.color-7::before {
                  background-color: #009844; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span.color-8::before {
                  background-color: #008068; }
                #marutto-kengaku .block-3 .contents .box .green-box .graph-under-text p span.color-9::before {
                  background-color: #bf783d; }
        #marutto-kengaku .block-3 .contents .box .bubbles {
          display: flex;
          flex-direction: column;
          row-gap: 40px; }
          #marutto-kengaku .block-3 .contents .box .bubbles .bubble {
            display: flex;
            width: 90%;
            margin: 0 auto; }
            #marutto-kengaku .block-3 .contents .box .bubbles .bubble .img-wrap {
              flex: 1;
              flex-shrink: 0; }
              #marutto-kengaku .block-3 .contents .box .bubbles .bubble .img-wrap p {
                font-weight: 500; }
            #marutto-kengaku .block-3 .contents .box .bubbles .bubble .speechBubble {
              flex: 5;
              position: relative;
              display: inline-block;
              margin-left: 16px;
              padding: 16px;
              border-radius: 12px;
              background-color: #cfe7f4;
              text-align: left;
              font-size: 16px;
              font-weight: 400;
              line-height: 32px;
              color: #333333; }
              #marutto-kengaku .block-3 .contents .box .bubbles .bubble .speechBubble h4 {
                font-size: clamp(20px, 5vw, 24px);
                font-weight: 700;
                color: #333333;
                text-decoration: underline;
                text-decoration-thickness: 15px;
                text-underline-offset: -10px;
                text-decoration-color: #f4d923;
                margin-bottom: 10px; }
              #marutto-kengaku .block-3 .contents .box .bubbles .bubble .speechBubble p {
                font-weight: 500; }
            #marutto-kengaku .block-3 .contents .box .bubbles .bubble .speechBubble::after {
              content: "";
              position: absolute;
              top: 20%;
              left: 0;
              border-style: solid;
              border-width: 20px 30px 0 0;
              border-color: transparent #cfe7f4 transparent transparent;
              translate: -100% calc(-50% + 0.4px); }
            #marutto-kengaku .block-3 .contents .box .bubbles .bubble.reverse {
              flex-direction: row-reverse; }
              #marutto-kengaku .block-3 .contents .box .bubbles .bubble.reverse .speechBubble {
                margin-left: 0;
                margin-right: 16px;
                background-color: #fcf2d5; }
              #marutto-kengaku .block-3 .contents .box .bubbles .bubble.reverse .speechBubble::after {
                left: auto;
                right: 0;
                border-width: 20px 0 0 30px;
                border-color: transparent transparent transparent #fcf2d5;
                translate: 100% calc(-50% + 0.4px); }
  #marutto-kengaku .block-4 {
    background-color: #fdd108;
    clip-path: ellipse(95% 100% at 50% 100%);
    margin-top: -140px;
    padding: 100px 0 0 0; }
    #marutto-kengaku .block-4 .contents {
      position: relative;
      z-index: 2;
      display: flex;
      width: 90%;
      margin: 0 auto; }
      #marutto-kengaku .block-4 .contents .img-wrap {
        flex: 3;
        flex-shrink: 0;
        position: relative;
        top: 40px; }
        #marutto-kengaku .block-4 .contents .img-wrap img {
          width: 90%;
          height: 100%;
          object-fit: contain; }
      #marutto-kengaku .block-4 .contents .text {
        flex: 4;
        flex-shrink: 0;
        color: #333333; }
        #marutto-kengaku .block-4 .contents .text h2 {
          font-size: clamp(18px, 4.5vw, 28px);
          color: #333333;
          font-weight: 700;
          margin-bottom: 30px; }
          #marutto-kengaku .block-4 .contents .text h2 span {
            position: relative;
            display: flex;
            align-items: center;
            font-size: 18px;
            margin-bottom: 18px; }
            #marutto-kengaku .block-4 .contents .text h2 span::before, #marutto-kengaku .block-4 .contents .text h2 span::after {
              content: "";
              position: relative;
              top: 5px;
              display: inline-block;
              width: 18px;
              height: 2px;
              background: #333;
              transform-origin: center; }
            #marutto-kengaku .block-4 .contents .text h2 span::before {
              transform: rotate(60deg); }
            #marutto-kengaku .block-4 .contents .text h2 span::after {
              transform: rotate(-60deg); }
        #marutto-kengaku .block-4 .contents .text p {
          font-size: 18px;
          padding-bottom: 4em;
          font-weight: 500; }
    #marutto-kengaku .block-4 .arch {
      position: relative;
      z-index: 1;
      width: 100%;
      height: 200px;
      background-color: #fff;
      clip-path: ellipse(60% 100% at 50% 150%);
      margin-top: -100px; }
  #marutto-kengaku .block-5 {
    margin-top: -80px; }
    #marutto-kengaku .block-5 .contents {
      width: 90%;
      max-width: 1000px;
      margin: 0 auto;
      text-align: center;
      padding: 100px 0 100px 0; }
      #marutto-kengaku .block-5 .contents .map {
        margin-bottom: 50px; }
        #marutto-kengaku .block-5 .contents .map iframe {
          width: 100%;
          height: auto;
          aspect-ratio: 9/4; }
      #marutto-kengaku .block-5 .contents .banners {
        display: flex;
        flex-direction: column;
        row-gap: 50px; }
        #marutto-kengaku .block-5 .contents .banners a {
          display: block;
          width: 580px;
          max-width: 100%;
          margin: 0 auto; }
    #marutto-kengaku .block-5 .copyright {
      font-size: 12px;
      font-weight: 500;
      background-color: #fbf9da;
      text-align: center;
      padding: 20px 5%; }

@media screen and (max-width: 1200px) {
  .page-shortend-tour-day nav {
    background-image: url("../imgs/page-shortened-tour-day/menu-bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 120px;
    opacity: 1; } }
@media screen and (max-width: 767px) {
  main .sp {
    display: block; }
  main .pc {
    display: none; }

  #marutto-kengaku header {
    background: linear-gradient(to bottom, #00afec 0%, #00afec 80%, #ffffff 80%, #ffffff 100%); }
    #marutto-kengaku header nav ul {
      display: none; }
    #marutto-kengaku header .sp nav {
      position: fixed;
      z-index: 10001;
      width: 80%;
      height: 100vh;
      top: 0px;
      right: -120%;
      background-color: #00afec;
      box-shadow: -5px 0 15px rgba(0, 0, 0, 0.2);
      padding: 50px 0;
      transition: all 0.5s; }
      #marutto-kengaku header .sp nav ul {
        display: block;
        background-color: #00afec; }
        #marutto-kengaku header .sp nav ul li {
          border-bottom: solid 1px #fff;
          transform: rotate(0);
          width: 100%;
          margin-bottom: 0;
          top: 0; }
          #marutto-kengaku header .sp nav ul li a {
            display: block;
            text-align: left;
            font-size: 20px;
            color: #fff;
            text-decoration: none;
            padding: 20px 0 20px 50px;
            text-transform: uppercase; }
            #marutto-kengaku header .sp nav ul li a:hover {
              color: #00afec;
              background-color: #fff; }
      #marutto-kengaku header .sp nav.open {
        right: 0; }
    #marutto-kengaku header .sp .hamburger {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      position: relative;
      z-index: 10001;
      appearance: none;
      border: 0;
      padding: 0;
      margin: 0;
      background-color: #ffffff;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      top: 10px;
      left: 10px; }
    #marutto-kengaku header .sp .hamburger span,
    #marutto-kengaku header .sp .hamburger span::after,
    #marutto-kengaku header .sp .hamburger span::before {
      position: absolute;
      display: block;
      content: "";
      width: 30px;
      margin: 0 auto;
      height: 3px;
      background-color: #00afec;
      border-radius: 10px;
      transition: all 0.5s; }
    #marutto-kengaku header .sp .hamburger span::before {
      top: -10px; }
    #marutto-kengaku header .sp .hamburger span::after {
      bottom: -10px; }
    #marutto-kengaku header .sp .hamburger.open span {
      background-color: transparent; }
    #marutto-kengaku header .sp .hamburger.open span::before {
      top: 0;
      transform: rotate(45deg); }
    #marutto-kengaku header .sp .hamburger.open span::after {
      bottom: 0;
      transform: rotate(-45deg); }
    #marutto-kengaku header .mv {
      height: 75vh;
      max-height: 600px;
      min-height: 400px;
      clip-path: ellipse(130% 100% at 50% 0%);
      margin-top: 20px; }
      #marutto-kengaku header .mv .img-flex {
        display: flex;
        flex-direction: column;
        gap: 0; }
        #marutto-kengaku header .mv .img-flex h1 {
          position: relative;
          left: 2%;
          width: 100%;
          margin-left: auto;
          flex-shrink: 0;
          margin-top: 90px; }
        #marutto-kengaku header .mv .img-flex .img-wrap {
          top: 0;
          width: 60%;
          max-width: 320px; }
      #marutto-kengaku header .mv > .img-wrap {
        display: flex;
        align-items: end; }
        #marutto-kengaku header .mv > .img-wrap img {
          height: 70%; }
  #marutto-kengaku .block-1 .contents {
    padding: 50px 0 50px 0; }
    #marutto-kengaku .block-1 .contents p {
      font-size: 18px;
      line-height: 1.8;
      margin-bottom: 30px; }
      #marutto-kengaku .block-1 .contents p span {
        font-size: 18px; }
  #marutto-kengaku .block-2 {
    background-size: cover; }
    #marutto-kengaku .block-2 .contents .features {
      grid-template-columns: repeat(1, 1fr);
      gap: 40px; }
  #marutto-kengaku .block-3 {
    clip-path: ellipse(400% 100% at 50% 100%); }
    #marutto-kengaku .block-3 .contents .box h3 img {
      object-fit: contain; }
      #marutto-kengaku .block-3 .contents .box h3 img.sp {
        height: 80px;
        width: auto;
        margin: 0 auto; }
    #marutto-kengaku .block-3 .contents .box > p {
      font-size: 16px;
      line-height: 1.6;
      margin-bottom: 50px;
      letter-spacing: 0.5px; }
      #marutto-kengaku .block-3 .contents .box > p span {
        font-size: 24px; }
    #marutto-kengaku .block-3 .contents .box .flow {
      grid-template-columns: repeat(1, 1fr);
      gap: 50px; }
    #marutto-kengaku .block-3 .contents .box .green-box {
      padding: 20px 3%;
      margin-bottom: 0; }
      #marutto-kengaku .block-3 .contents .box .green-box .graphs {
        flex-direction: column;
        row-gap: 30px; }
        #marutto-kengaku .block-3 .contents .box .green-box .graphs .graph {
          width: 100%; }
          #marutto-kengaku .block-3 .contents .box .green-box .graphs .graph h5 {
            margin-bottom: 0; }
    #marutto-kengaku .block-3 .contents .box .bubbles {
      flex-direction: column !important;
      row-gap: 30px; }
      #marutto-kengaku .block-3 .contents .box .bubbles .bubble {
        flex-direction: column !important;
        align-items: flex-start;
        width: 100%;
        margin: 0 auto; }
        #marutto-kengaku .block-3 .contents .box .bubbles .bubble .img-wrap img {
          height: 100px;
          width: auto;
          object-fit: contain; }
        #marutto-kengaku .block-3 .contents .box .bubbles .bubble .speechBubble {
          margin-left: 0;
          margin-right: 0;
          width: 100%;
          font-size: 15px;
          line-height: 1.6;
          padding: 12px; }
          #marutto-kengaku .block-3 .contents .box .bubbles .bubble .speechBubble::after {
            display: none; }
      #marutto-kengaku .block-3 .contents .box .bubbles .bubble.reverse {
        flex-direction: column !important;
        align-items: flex-start; }
        #marutto-kengaku .block-3 .contents .box .bubbles .bubble.reverse .speechBubble {
          margin-right: 0;
          margin-left: 0; }
  #marutto-kengaku .block-4 {
    clip-path: ellipse(170% 100% at 50% 100%); }
    #marutto-kengaku .block-4 .contents {
      flex-direction: column; }
      #marutto-kengaku .block-4 .contents .img-wrap {
        top: 0;
        margin-bottom: 30px; }
        #marutto-kengaku .block-4 .contents .img-wrap img {
          width: 100%; }
      #marutto-kengaku .block-4 .contents .text {
        padding: 24px 6% 40px 6%;
        border-radius: 18px;
        margin-bottom: 30px; }
        #marutto-kengaku .block-4 .contents .text h2 {
          font-size: 22px;
          line-height: 1.5em;
          margin-bottom: 18px;
          text-align: center; }
          #marutto-kengaku .block-4 .contents .text h2 span {
            font-size: 16px;
            margin-bottom: 10px;
            justify-content: center; }
        #marutto-kengaku .block-4 .contents .text p {
          font-size: 16px;
          line-height: 1.8;
          color: #333;
          text-align: center;
          padding-bottom: 2em;
          font-weight: 500; }
    #marutto-kengaku .block-4 .arch {
      height: 120px; } }

/*# sourceMappingURL=style.css.map */
