  /* ===== CSS Variables ===== */
  :root {
      --header-height: 80px;
      --brand: black;
      --border: #e5e7eb;
      --accent: #FF7803;
      --underline-h: 1px;
      --underline-start: 20px;
  }

  * {
      box-sizing: border-box;
  }

  html,
  body,
  p {
      margin: 0;
      padding: 0;
  }

  html {
      scroll-behavior: smooth;
  }

  body,
  p,
  a {
      font-family: "Zen Old Mincho", serif;
  }

  a {
      color: inherit;
      text-decoration: none;
  }


  ul {
      list-style: none;
  }

  .sp-only {
      display: none;
  }

  .pc-only {
      display: flex;
  }


  /* ===== Header ===== */
  .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: white;
      height: var(--header-height);
      transition: transform .35s ease, box-shadow .35s ease;
      will-change: transform;
  }

  .site-header.is-hidden {
      transform: translateY(calc(-1 * var(--header-height)));
  }

  .site-header.scrolled {
      box-shadow: 0 4px 16px rgba(0, 0, 0, .06);
  }

  .header-inner {
      max-width: 1280px;
      height: 100%;
      margin: 0 auto;
      padding: 0px clamp(20px, 5vw, 35px);
      display: grid;
      grid-template-columns: 2fr auto 1fr;
      align-items: center;
      gap: 40px;
  }

  /* Logo */
  .brand {
      display: inline-flex;
      align-items: center;
  }

  .brand__mark {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      background: #FF7803;
      position: relative;
  }

  .brand__text {
      font-size: 28px;
      line-height: 1;
  }

  /* Desktop Nav */
  .nav {
      justify-self: center;
      display: flex;
      gap: clamp(28px, 5.2vw, 40px);
  }

  .nav a,
  .footer-links a {
      position: relative;
      display: inline-block;
      font-size: 15px;
      text-transform: uppercase;
      padding: 5px 0;
      font-weight: bold;
  }

  .nav a::after,
  .footer-links a::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0px;
      height: var(--underline-h);
      width: var(--underline-start);
      background: var(--accent);
      transition: width .28s ease;
  }

  @media (hover: hover) and (pointer: fine) {

      .nav a:hover::after,
      .nav a:focus-visible::after,
      .footer-links a:hover::after,
      .footer-links a:focus-visible {
          width: 100%;
      }
  }

  /* CTA (資料請求) */
  .cta-wrap {
      justify-self: end;
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .cta {
      --shadow-offset: 4px;
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-weight: 700;
      font-size: 15px;
      border-radius: 10px;
      padding: 10px 20px;
      background: yellow;
      cursor: pointer;
      transition: all .18s ease;
      max-height: 40px;
      box-sizing: content-box;
      width: 160px;
      color: black;
  }

  .cta {
      box-shadow: var(--shadow-offset) var(--shadow-offset) 0 var(--brand);
      transition: box-shadow .2s ease, transform .2s ease;
  }

  header .cta {
      background: yellow;
      border: none;
      color: black;
      border-radius: 0;
      border-radius: 10px;
  }

  header .cta {
      box-shadow: var(--shadow-offset) var(--shadow-offset) 0 var(--brand);
      transition: box-shadow .2s ease, transform .2s ease;
  }

  @media (hover: hover) and (pointer: fine) {
      .cta:hover {
          box-shadow: 0 0 0 var(--accent);
          transform: translate(var(--shadow-offset), var(--shadow-offset));
      }
  }

  .cta .tri {
      width: 0;
      height: 0;
      border-top: 8px solid transparent;
      border-bottom: 8px solid transparent;
      border-left: 12px solid white;
  }

  /* ===== Hamburger & Overlay ===== */
  .hamburger {
      display: none;
      width: 40px;
      height: 35px;
      position: relative;
      border: 0;
      background: transparent;
      cursor: pointer;
  }

  .hamburger span {
      position: absolute;
      left: 0;
      right: 0;
      height: 2px;
      background: black;
      transform-origin: center;
      transition: transform .25s ease, opacity .2s ease, top .25s ease;
  }

  .hamburger span:nth-child(1) {
      top: 6px;
  }

  .hamburger span:nth-child(2) {
      top: 17px;
  }

  .hamburger span:nth-child(3) {
      top: 28px;
  }

  .hamburger.is-active span:nth-child(1) {
      top: 17px;
      transform: rotate(45deg);
  }

  .hamburger.is-active span:nth-child(2) {
      opacity: 0;
  }

  .hamburger.is-active span:nth-child(3) {
      top: 17px;
      transform: rotate(-45deg);
  }

  .overlay {
      position: fixed;
      inset: 0;
      background: black;
      color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity .25s ease, transform .25s ease, visibility 0s .25s;
      z-index: 999;
  }

  .overlay.is-open {
      opacity: 1;
      visibility: visible;
      transform: none;
      transition: opacity .25s ease, transform .25s ease;
  }

  .overlay__inner {
      max-width: 1000px;
      margin: 0 auto;
      padding: 24px clamp(20px, 5vw, 40px) 40px;
      width: 100%;
  }

  .overlay-nav {
      display: grid;
      gap: 18px;
      margin-top: 24px;
  }

  .overlay-nav a {
      display: inline-block;
      font-size: clamp(15px, 4vw, 25px);
      letter-spacing: .08em;
      text-transform: uppercase;
      position: relative;
      padding: 6px 0;
      text-align: center;
  }

  .overlay-nav a::after {
      content: "";
      position: absolute;
      left: 50%;
      transform: translate(-50%);
      bottom: 0px;
      height: var(--underline-h);
      width: var(--underline-start);
      background: var(--accent);
      transition: width .28s ease;
  }



  @media (hover: hover) and (pointer: fine) {

      .overlay-nav a:hover::after,
      .overlay-nav a:focus-visible::after {
          width: 100%;
      }
  }

  /* ===== Responsive ===== */
  @media (min-width: 768px) and (max-width: 1023px) {
      .header-inner {
          grid-template-columns: 1fr 1fr;
      }

      .nav {
          display: none;
      }

      .hamburger {
          display: inline-block;
      }

      .cta-wrap {
          gap: 10px;
      }

      header .cta {
          font-size: 16px;
          padding: 10px 15px;
          margin-right: 20px;
      }

      .overlay-nav {
          gap: 30px;
          justify-content: center;
      }
  }

  @media (max-width: 767px) {

      .header-inner {
          grid-template-columns: 1fr 1fr;
      }

      .nav {
          display: none;
      }

      .hamburger {
          display: inline-block;
      }

      .cta-wrap {
          gap: 10px;
      }

      .overlay-nav {
          gap: 30px;
          justify-content: center;
      }

      :root {
          --header-height: 60px;
      }


      .brand img {
          height: 30px;
      }

      header .cta {
          font-size: 13px;
          padding: 7px 0px;
          margin-right: 10px;
          --shadow-offset: 3px;
      }

      .cta .tri {
          border-top-width: 7px;
          border-bottom-width: 7px;
          border-left-width: 10px;
      }

      .hamburger {
          width: 30px;
          height: 32px;
      }

      .hamburger span:nth-child(1) {
          top: 5px;
      }

      .hamburger span:nth-child(2) {
          top: 15px;
      }

      .hamburger span:nth-child(3) {
          top: 25px;
      }

      .hamburger.is-active span:nth-child(1),
      .hamburger.is-active span:nth-child(3) {
          top: 15px;
      }

      .sp-only {
          display: flex;
      }

      .pc-only {
          display: none;
      }
  }

  .no-scroll {
      overflow: hidden;
  }

  main {
      font-family: ui-sans-serif, system-ui;
      overflow-x: hidden;
  }


  .inner-wrap {
      max-width: 850px;
      margin: 0 auto;
      padding: 120px 20px;
  }



  /* ===== First View ===== */

  .fv {
      position: relative;
      height: 95vh;
      margin-top: -80px;
      max-height: 1000px;
  }

  .fv__inner {
      position: absolute;
      top: 40%;
      left: 50%;
      transform: translate(-50%, -50%);
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 100px;
      width: 100%;
      height: auto;
      max-width: 1200px;
      padding: 0 30px;
  }

  .fv__inner h1 {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      font-family: "Zen Old Mincho";
      font-weight: normal;
      gap: 5px;
  }

  .fv .cta {
      width: 200px;
      font-size: 20px
  }

  #canvas {
      position: absolute;
      bottom: -20%;
      left: 0;
      width: 100%;
  }

  .boxes img {
      max-height: 320px;
      height: 32vh;
  }

  .subtit-small {
      font-size: clamp(12px, 2vw, 22px);
      border-top: 0.5px solid black;
      border-bottom: 0.5px solid black;
      padding: 2px 0;
  }

  .subtit-mid {
      font-size: clamp(17px, 3vw, 34px);
      margin-top: 10px;
  }

  .big-letters {
      font-size: clamp(19px, 3.5vw, 39px);
      font-weight: bold;
  }

  .subtit-big {
      font-size: clamp(23px, 6vw, 44px);
  }

  .bigger-letters {
      font-size: clamp(27px, 7vw, 58px);
      font-weight: bold;
  }

  .subtit-logo {
      margin-top: 5%;
      height: 55px;
  }


  .cta_sec {
      height: 250px;
      background: url(./images/cta-bg.png) center center / cover no-repeat;
      width: 100vw;
      position: absolute;
      bottom: 0;
      left: 0;
      /* border-top: 1px solid black;
      border-bottom: 1px solid black; */
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      font-family: "Zen Old Mincho";
      font-weight: bold;
  }

  .fv-cta-cont {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      margin-top: -20px;
      color: white;
      font-style: italic;
  }

  .maker-note {
      font-size: clamp(14px, 3vw, 22px);
  }

  .maker-small {
      font-size: clamp(9px, 3vw, 22px);
      margin-left: -15px;
  }

  .item-number {
      font-size: clamp(40px, 10vw, 65px);
      margin-top: 5px;
      font-family: "minion-pro", serif;
      font-weight: 700;
      line-height: 1;
  }

  .price {
      font-size: clamp(50px, 13vw, 85px);
      font-family: "minion-pro", serif;
      font-weight: 700;
      line-height: 1;
      display: flex;
      justify-content: center;
      align-items: baseline;
      gap: 15px;
  }

  .yen {
      font-size: clamp(35px, 9vw, 52px);
  }

  .price-small {
      font-size: clamp(20px, 5vw, 30px);
      font-style: italic;
      font-family: "Zen Old Mincho";
      margin-left: -15px;
      margin-right: 5px;
  }

  .price-small:first-child {
      margin-right: 10px;
  }

  .price-small:last-child {
      margin-left: 10px;
  }

  .price-note {
      font-size: clamp(10px, 3vw, 18px);
  }

  .orange-bg {
      background-color: #fbf2eb;
  }

  .grey-bg {
      background-color: #f3f3f3;
  }

  .grey-bg .section-title__bg {
      color: #ff78033d;
  }

  .cta-btn-wrap {
      position: absolute;
      bottom: -20px;
      z-index: 3;
  }


  .hand {
      height: 100%;
      max-height: 3vh;
      max-height: 25px;
  }

  .cta_sec .cta {
      width: 200px;
      font-size: 20px;
  }

  @media (min-width: 768px) and (max-width: 1023px) {

      .inner-wrap {
          padding: 100px 20px;
      }

      #canvas {
          bottom: -15%;
      }

      .fv {
          position: relative;
          height: 103vh;
          max-height: 100%;
      }

      .fv__inner {
          flex-direction: column;
          gap: 50px;
      }

      .fv__inner h1 {
          align-items: center;
      }

      .boxes img {
          max-height: 280px;
      }

      .subtit-logo {
          margin-top: 3%;
          height: 45px;
      }

      .fv a.cta,
      .cta_sec .cta {
          font-size: 22px !important;
          width: 220px !important;
      }

  }


  @media (min-width: 390px) and (max-width: 767px) {
      .fv {
          height: 80vh;
          margin-top: -20px;
      }

      .fv__inner {
          flex-direction: column;
          gap: 3vh;
          top: 40%;
          padding: 0 20px;
      }

      .fv__inner h1 {
          align-items: center;
      }

      .cta_sec {
          height: 150px;
          background: url(./images/cta-bg.png) center right 60% / cover no-repeat;
      }

      .subtit-logo {
          height: 32px;
          margin-top: 3%;
      }


      .boxes img {
          max-height: 21vh;
      }

      .fv a.cta,
      .cta_sec .cta {
          font-size: 16px !important;
          width: 180px !important;
          padding: 10px 10px;
      }

      #canvas {
          bottom: -30%;
      }



  }

  @media (max-width: 389px) {
      .fv {
          height: 95vh;
          margin-top: -30px;
      }

      .fv__inner {
          flex-direction: column;
          gap: 4vh;
          top: 40%;
          padding: 0 20px;
      }

      .fv__inner h1 {
          align-items: center;
      }

      .cta_sec {
          height: 150px;
      }

      .subtit-logo {
          height: 28px;
          margin-top: 3%;
      }

      .fv a.cta,
      .cta_sec .cta {
          font-size: 15px !important;
          width: 160px !important;
          padding: 10px 10px
      }

      #canvas {
          bottom: -20%;
      }

  }


  /* ===== BENEFITS ===== */

  #benefits {
      z-index: 2;
      position: relative;
  }

  .section-title {
      text-align: center;
      width: fit-content;
      font-family: "Zen Old Mincho";
      margin: 0 auto;
      margin-bottom: 40px;
  }

  .title-wrap {
      display: grid;
      place-items: center;
      margin: 0 auto;
      position: relative;
  }

  .section-title__bg {
      grid-area: 1 / 1;
      font-size: clamp(32px, 3vw + 25px, 55px);
      color: rgba(0, 0, 0, 0.1);
      line-height: 1;
      white-space: nowrap;
  }

  .section-title__main {
      margin: -18px 0 0 0;
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      font-size: clamp(18px, 2.5vw, 22px);
      font-weight: bold;
      color: #FF7803;
      z-index: 1;
      font-family: "Zen Old Mincho";
  }

  .colored-text {
      color: #FF7803;
  }

  .section-title__main .line {
      height: 1px;
      background: #111;
      flex: 1 1 0;
      opacity: .95;
      margin-top: 10px;
  }


  .sec-expl {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 10px;
  }

  .sec-expl p {
      font-family: "Zen Old Mincho";
      text-align: center;
  }

  .sec-expl-first,
  .sec-first-small {
      line-height: 1.5;
      font-size: 22px;
      font-weight: 500;
      text-align: center;
      font-style: italic;
  }

  /* .sec-first-small {
      font-size: 23px;
      font-weight: normal;
  } */

  .sec-expl-second,
  .sec-sec-small {
      font-size: 28px;
      font-weight: 700;
      font-style: italic;
  }

  /* .sec-sec-small {
      font-size: 26px;
  } */

  .benefits-grid {
      margin-top: 110px;
      display: flex;
      justify-content: space-around;
  }

  #benefits .sec-expl-first,
  #benefits .sec-first-small {
      line-height: 1.5;
      font-size: 28px;
      font-weight: bold;
  }

  /* Card Container */
  .benefit-card {
      position: relative;
      width: 180px;
      height: 180px;
      background: #fff;
      padding: 20px;
      box-shadow: 2px 2px 0 #FF7803;
      display: flex;
      flex-direction: column;
      align-items: center;
  }



  /* dashed border: dash 200, gap 20, thickness 10, color #111 */
  /* .benefit-card::before {
      --dash: 130px;
      --gap: 25px;
      --thick: 1px;
      --col: black;
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;


      background:
          linear-gradient(var(--col) 0 0) top left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          linear-gradient(var(--col) 0 0) bottom left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          linear-gradient(var(--col) 0 0) top left / var(--thick) calc(100% - 2*var(--thick)) no-repeat,
          linear-gradient(var(--col) 0 0) top right / var(--thick) calc(100% - 2*var(--thick)) no-repeat;


      -webkit-mask:
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) bottom left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / var(--thick) calc(100% - 2*var(--thick)) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top right / var(--thick) calc(100% - 2*var(--thick)) no-repeat;
      mask:
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) bottom left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / var(--thick) calc(100% - 2*var(--thick)) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top right / var(--thick) calc(100% - 2*var(--thick)) no-repeat;
  } */

  /* Benefit Label - Absolute Top Left */
  .benefit-label {
      position: absolute;
      top: -22.5px;
      left: 10px;
      font-size: 20px;
      font-weight: 700;
      font-family: 'Zen Old Mincho';
  }

  /* Number - Absolute Top Right */
  .benefit-number {
      position: absolute;
      top: -45px;
      right: 40px;
      font-size: 65px;
      color: #FF7803;
      line-height: 1;
      font-family: 'Georgia', serif;
      z-index: 10;
      font-weight: normal;
      font-family: 'Zen Old Mincho';
      /* text-shadow: 2px 2px 0 black; */
  }

  /* Icon Container */
  .benefit-icon {
      display: flex;
      height: 90px;
      width: auto;
      object-fit: cover;
      margin-top: 10px;
  }


  .benefit-icon img {
      height: 70px;
  }

  /* Text Content */
  .benefit-text {
      text-align: center;
      font-size: 18px;
      font-family: 'Zen Old Mincho';
      font-weight: bolder;
  }

  .solution {
      position: relative;
      background: url(./images/sol-bg.svg) bottom center / cover no-repeat;
      padding: 55px 55px 55px 100px;
      box-shadow: 2px 2px 0 #FF7803;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin: 120px auto 0 auto;
      width: 90%;
  }

  /* .solution::before {
      --dash: 250px;
      --gap: 25px;
      --thick: 1px;
      --col: black;
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;

      background:
          linear-gradient(var(--col) 0 0) top left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          linear-gradient(var(--col) 0 0) bottom left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          linear-gradient(var(--col) 0 0) top left / var(--thick) calc(100% - 2*var(--thick)) no-repeat,
          linear-gradient(var(--col) 0 0) top right / var(--thick) calc(100% - 2*var(--thick)) no-repeat;


      -webkit-mask:
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) bottom left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / var(--thick) calc(100% - 2*var(--thick)) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top right / var(--thick) calc(100% - 2*var(--thick)) no-repeat;
      mask:
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) bottom left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / var(--thick) calc(100% - 2*var(--thick)) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top right / var(--thick) calc(100% - 2*var(--thick)) no-repeat;
  } */

  .sol-tit {
      position: absolute;
      top: -55px;
      display: flex;
      flex-direction: row;
      justify-content: center;
      left: 50%;
      transform: translate(-50%);
      width: 100%;
  }

  .sol-tit p {
      font-size: 20px;
      margin: 18px 0 0 10px;
      font-weight: bolder;
  }

  .sol-text {
      font-size: 20px;
      font-weight: bold;
      display: flex;
      flex-direction: column;
      gap: 10px;
  }

  .sol-text p {
      line-height: 2;
  }

  .sol-tit-small {
      font-size: 22px;
  }

  .one-box {
      position: absolute;
      max-height: 180px;
      left: -40px;
      bottom: -30px;
  }

  .benefits-grid.circles {
      margin-top: 80px;
  }

  .benefit-card.circle {
      border-radius: 150px;
      height: 180px;
      width: 180px;
  }

  .benefit-card.circle::before {
      display: none;
  }

  .benefit-card__dash {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
  }

  .benefit-card__dash-rect {
      vector-effect: non-scaling-stroke;
  }

  .sol-sec-wrap {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100%;
      gap: 5px;
  }

  .sol-sec-wrap p:first-child,
  .sol-sec-wrap:last-child {
      font-size: 20px;
  }

  .sol-sec-wrap p:nth-child(2) {
      font-size: 42px;
      font-family: "minion-pro", serif;
      color: #FF7803;
          display: flex
;
    justify-content: center;
    align-items: baseline;
    gap: 3px;

  }

  .sol-sec-wrap p span {
      font-size: 25px;
      color: black;
  }

  .notes {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      margin-top: 20px;
      font-size: 13px;
      gap: 5px;
  }

  .sol-sec-wrap p .kome {
      text-shadow: none;
      font-family: 'Noto Sans JP';
      font-size: 15px;
  }

  .cta-page .cta_sec {
      position: relative;
  }

  .cta-page .fv.cta_sec {
      margin-top: 0px;
  }



  .about-structure,
  .market-value,
  .market-img,
  .image-img,
  .jada-img,
  .step-card {
      position: relative;
      padding: 30px;
      box-shadow: 2px 2px 0 #FF7803;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: 60px;
  }

  /* .about-structure::before,
  .prize3-img-wrap::before,
  .market-value::before,
  .market-img::before,
  .image-img::before,
  .jada-img::before,
  .step-card::before {
      --dash: 250px;
      --gap: 25px;
      --thick: 1px;
      --col: black;
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;

      background:
          linear-gradient(var(--col) 0 0) top left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          linear-gradient(var(--col) 0 0) bottom left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          linear-gradient(var(--col) 0 0) top left / var(--thick) calc(100% - 2*var(--thick)) no-repeat,
          linear-gradient(var(--col) 0 0) top right / var(--thick) calc(100% - 2*var(--thick)) no-repeat;

      -webkit-mask:
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) bottom left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / var(--thick) calc(100% - 2*var(--thick)) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top right / var(--thick) calc(100% - 2*var(--thick)) no-repeat;
      mask:
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(90deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) bottom left / calc(100% - 2*var(--thick)) var(--thick) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top left / var(--thick) calc(100% - 2*var(--thick)) no-repeat,
          repeating-linear-gradient(0deg, #000 0 var(--dash), transparent var(--dash) calc(var(--dash) + var(--gap))) top right / var(--thick) calc(100% - 2*var(--thick)) no-repeat;
  } */



  @media (min-width: 768px) and (max-width: 1023px) {
      .section-title__main {
          margin-top: -15px;
      }

      .benefits-grid {
          margin-top: 90px;
      }

      .solution {
          margin: 110px auto 80px auto;
          width: 90%;
          padding: 40px 30px 30px 90px
      }

      .sol-text p {
          line-height: 1.8;
          font-size: 20px;
      }

      .one-box {
          position: absolute;
          max-height: 150px;
          left: -25px;
          bottom: -25px;
      }

  }

  @media (max-width: 767px) {

      #benefits .sec-expl-first,
      #benefits .sec-first-small {
          line-height: 1.5;
          font-size: 20px;
          font-weight: bold;
      }


      .sec-expl-first,
      .sec-first-small {
          font-size: 18px;
      }

      .sec-expl-second,
      .sec-sec-small {
          font-size: 20px;
      }

      .benefits-grid {
          flex-direction: column;
          align-items: center;
          gap: 50px;
          margin-top: 80px;
      }

      .benefit-card {
          width: 80%;
          flex-direction: row;
          height: fit-content;
          gap: 10px;
          justify-content: space-around;
          padding: 10px;
          box-shadow: 2px 2px 0 #FF7803;
      }

      .benefit-text {
          text-align: left;
          font-size: 17px;
          width: 55%;
      }

      .benefit-icon img {
          height: 75px;
      }

      .benefit-number {
          right: 20px;
      }


      .benefit-label {
          top: -20.5px;
          font-size: 18px;
      }

      .benefit-number {
          top: -35px;
          font-size: 60px;
      }

      .benefit-card::before {
          --dash: 120px;
          --gap: 25px;
      }

      .sol-tit {
          top: -35px;
      }

      .sol-tit img {
          height: 29px;
      }

      .sol-tit p {
          font-size: 20px;
          margin: 0px 0 0 5px;

      }

      .solution {
          padding: 30px 30px 30px 30px;
          gap: 30px;
          background: url(./images/sol-bg.svg) center center / 470% no-repeat;
          box-shadow: 2px 2px 0 #FF7803;
      }

      .one-box {
          position: static;
          order: 1;
          height: 160px;
      }

      .sol-text {
          order: 2;
      }

      .sol-text p {
          font-size: 17px;
          line-height: 1.5;
          text-align: justify;
      }

      .sol-tit-small {
          font-size: 17px;
      }


      .benefits-grid.circles {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          grid-template-rows: auto auto;
          justify-items: center;
          align-items: center;
          gap: 10px;
          margin-top: 60px;
      }

      /* first circle centered on top */
      .benefits-grid.circles .benefit-card:first-child {
          grid-column: 1 / 3;
          /* span both columns */
          justify-self: center;
      }


      .benefit-card.circle {
          height: 160px;
          width: 160px;
      }

      .sol-sec-wrap p:first-child,
      .sol-sec-wrap:last-child {
          font-size: 17px;
      }

      .sol-sec-wrap p:nth-child(2) {
          font-size: 40px;
      }

      .notes p {
          font-size: 12px;
      }

      .sol-sec-wrap p span {
          font-size: 20px;
      }

  }

  @media (min-width: 391px) and (max-width: 767px) {
      .section-title__main {
          margin-top: -15px;
      }

      .inner-wrap {
          padding: 80px 20px;

      }

      .section-title {
          margin-bottom: 20px;
      }
  }

  @media (max-width: 390px) {
      .section-title__main {
          margin-top: -15px;
      }

      .section-title {
          margin-bottom: 20px;
      }

      .solution {
          padding: 30px 30px 30px 30px;
          gap: 30px;
          background: url(./images/sol-bg.svg) center center / 660% no-repeat;
      }

      .inner-wrap {
          padding: 80px 20px;
      }

      .plus-padding {
          padding-top: 100px;
      }
  }



  /* ===== About  ===== */


  .about-structure img {
      width: 100%;
  }

  .web3-link-text {
      width: 100%;
      text-align: center;
      margin-top: 3%;
  }

  .web3-link-wrap {
      justify-self: center;
      display: flex;
      align-items: center;
      gap: 12px;
      margin-top: 5%;
  }

  .web3-link {
      --shadow-offset: 4px;
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-weight: 700;
      font-size: 17px;
      padding: 10px 20px;
      background: yellow;
      cursor: pointer;
      transition: all .18s ease;
      max-height: 40px;
      box-sizing: content-box;
      width: auto;
      color: black;
      border-radius: 10px;
  }

  .web3-link {
      box-shadow: var(--shadow-offset) var(--shadow-offset) 0 var(--brand);
      transition: box-shadow .2s ease, transform .2s ease;
  }

  .wp-link {
      color: #e6792f;
      transition: all 0.4s ease;
      border-bottom: 1px solid white;
  }

  @media (hover: hover) and (pointer: fine) {

      .web3-link:hover {
          box-shadow: 0 0 0 var(--accent);
          transform: translate(var(--shadow-offset), var(--shadow-offset));
      }

      .wp-link:hover {
          border-bottom: 1px solid #e6792f;

      }
  }

  .web3-link .tri {
      width: 0;
      height: 0;
      border-top: 8px solid transparent;
      border-bottom: 8px solid transparent;
      border-left: 12px solid white;
  }



  @media (min-width: 768px) and (max-width: 1023px) {

      .about-structure,
      .market-value,
      .market-img,
      .image-img,
      .jada-img,
      .step-card {
          margin-top: 70px;
      }

      .about-structure {
          width: 90%;
          margin: 40px auto 0 auto;
      }
  }

  @media (max-width: 767px) {

      .about-structure,
      .market-value,
      .market-img,
      .image-img,
      .jada-img,
      .step-card {
          padding: 10px;
          margin-top: 50px;
          box-shadow: 2px 2px 0 #FF7803;
      }

      .web3-link-text {
          font-size: 13px;
          margin: 20px 0 15px 0;
      }

      .web3-link {
          font-size: 14px;
          padding: 8px 10px;
          --shadow-offset: 4px;
      }
  }



  /* ===== RESULTS ===== */

  .exp-img {
      height: 38px;
  }

  .result-cont {
      margin-top: 10%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      max-width: 900px;
      margin: 0 auto;
      margin-top: 80px;
  }

  .prize3-img-wrap {
      position: relative;
      box-shadow: 2px 2px 0 #FF7803;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* margin-top: 100px; */
  }

  .prize3-img-wrap .prize3-img {
      width: fit-content;
      height: 300px;
      object-fit: cover;
  }

  .star {
      top: -30px;
      right: -30px;
      position: absolute;
      width: auto;
      height: 90px;
  }

  .exp-img {
      margin-bottom: -9px;
  }



  .result-text {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      gap: 15px;
      width: 40%;
  }

  .result-text p:first-child {
      font-size: 28px;
      font-weight: bolder;
      position: relative;
  }

  .result-text p:nth-child(2) {
      font-size: 25px;
      border-bottom: 2px dashed #FF7803;
      display: inline-flex;
  }

  .result-text p:nth-child(3) {
      font-size: 30px;
  }

  .result-text p:nth-child(3) span {
      font-size: 70px;
      font-family: 'minion pro';
      font-weight: 600;
      color: #FF7803;
  }

  .result-text p:nth-child(3) span {
      font-size: 70px;
      font-family: 'minion pro', serif;
      font-weight: 600;
      color: #FF7803;
      display: inline-block;
  }


  .result-text p:last-child {
      font-size: 23px;
      text-align: center;
      position: relative;
  }


  .result-text p:first-child::before {
      content: url(./images/small-star.svg);
      position: absolute;
      top: 5px;
      left: -35px;
      width: 30px;
      height: 30px;
  }

  .result-text p:last-child::before {
      content: url(./images/small-star.svg);
      position: absolute;
      top: 5px;
      left: 0px;
      width: 30px;
      height: 30px;
      font-weight: bold;
  }



  @media (min-width: 768px) and (max-width: 1023px) {
      .exp-img {
          height: 35px;
          margin-bottom: -9px;
      }

      .prize3-img-wrap .prize3-img {
          height: 250px;
      }

      .result-text p:first-child {
          font-size: 25px;
          font-weight: bolder;
          position: relative;
      }

      .result-text p:nth-child(2) {
          font-size: 22px;
          border-bottom: 2px dashed #FF7803;
          display: inline-flex;
      }

      .result-text p:nth-child(3) {
          font-size: 27px;

      }

      .result-text p:nth-child(3) span {
          font-size: 65px;
          font-family: 'minion pro';
          font-weight: 600;
          color: #FF7803;

      }

      .result-text p:last-child {
          font-size: 20px;
          text-align: center;
          position: relative;
      }


      .result-text p:first-child::before {
          content: url(./images/small-star.svg);
          position: absolute;
          top: 5px;
          left: -35px;
          width: 30px;
          height: 30px;
      }

      .result-text p:last-child::before {
          content: url(./images/small-star.svg);
          position: absolute;
          top: 5px;
          left: 0px;
          width: 30px;
          height: 30px;
          font-weight: bold;
      }

  }


  @media (max-width: 767px) {
      .exp-img {
          height: 24px;
          margin-bottom: -5px;
      }

      .results .sec-expl-second {
          font-size: 20px;
      }

      .results .sec-sec-small {
          font-size: 20px;
      }

      .result-cont {
          flex-direction: column;
          margin-top: 50px;
          gap: 40px;
      }

      .prize3-img-wrap .prize3-img {
          width: 100%;
          height: auto;
      }

      .prize3-img-wrap {
          box-shadow: 2px 2px 0 #FF7803;
      }

      .star {
          top: -30px;
          right: -20px;
          height: 70px;
      }

      .result-text {
          width: 100%;
          gap: 10px;
      }

      .result-text p:first-child {
          font-size: 22px;
      }

      .result-text p:nth-child(2) {
          font-size: 18px;
      }

      .result-text p:nth-child(3) {
          font-size: 23px;
      }

      .result-text p:nth-child(3) span {
          font-size: 55px;
      }

      .result-text p:last-child {
          font-size: 20px;
          font-weight: bold;
      }


      .result-text p:last-child::before {
          top: 0px;
          left: -6px;
      }

      .result-text p:first-child::before {
          top: 2px;
      }

      .results .web3-link-text {
          margin-top: 40px;
      }

      .results .web3-link-wrap {
          width: 100%;
          width: 100%;
          display: flex;
          justify-content: center;
      }

      .results .web3-link-wrap a.web3-link {
          width: 100%;
          margin-top: 5%;
      }

  }


  /* ===== ACTION ===== */

  .action-content {
      max-width: fit-content;
      margin: 50px auto 0 auto;
      display: flex;
      flex-direction: column;
      row-gap: 40px;
      text-align: left;
  }

  .actions {
      display: flex;
      align-items: flex-start;
      column-gap: 24px;
      align-items: center;
  }

  .actions .benefit-card {
      flex-shrink: 0;
      width: 90px;
      height: 90px;
      border: 1px solid #000;
      box-shadow: 2px 2px 0 #e6792f;
      background: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .sol-sec-wrap img {
      height: 60px;
  }

  img.worry {
      height: 80px;
  }

  .action-text {
      display: flex;
      flex-direction: column;
      row-gap: 10px;
      align-items: flex-start;
      justify-content: center;
  }

  .action-text p:first-child {
      font-size: 23px;
      width: fit-content;
      color: black;
      padding: 0px 5px;
      line-height: 1.5;
      /* box-shadow: 2px 2px 0 #FF7803; */
      font-weight: bolder;
      border-bottom: 2px solid #FF7803;
  }

  #action .sec-sec-small,
  .results .sec-expl-second,
  .results .sec-expl-second span {
      font-style: normal !important;
  }

  .action-text p:last-child {
      font-size: 18px;
  }

  .bulb-wrap {
      width: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 15px;
      margin-top: 20px;
  }

  .bulb {
      max-height: 60px;
  }

  .bulb-wrap p {
      font-size: 22px;
      border-bottom: 2px dashed #FF7803;

  }

  #action .sec-expl {
      gap: 10px;
  }

  @media (max-width: 767px) {
      .actions .circle {
          width: 90px;
          height: 90px;
      }

      .sol-sec-wrap img {
          height: 100%;
      }

      img.worry {
          height: 130%;
      }

      .actions .benefit-card {
          width: 80px;
          height: 80px;
          box-shadow: 2px 2px 0 #e6792f;
          border: 0.5px solid #000;
      }

      .actions .benefit-card .sol-sec-wrap {
          height: 90%;
      }

      .action-text p:first-child,
      .action-text p:last-child {
          font-size: 16px;
      }


      .bulb-wrap p {
          text-align: center;
          border-bottom: none;
          color: #e6792f;
          text-shadow: 2px 2px 0 #f6ede3;
      }


  }

  /* ===== COMPARE ===== */

  #compare {
      padding: 140px 30px 160px 30px;
  }

  :root {
      --grid: #f6ede3;
      --blk: #000000;
      --red: #FF7803;
      --bg: #fbf2eb;
  }

  .spec-table-wrap {
      background: var(--bg);
      padding: 24px 0;
  }

  .spec-table {
      margin: 0 auto;
      border-collapse: collapse;
      table-layout: auto;
      font-size: 16px;
      line-height: 1.6;
      font-family: 'Zen Old Mincho';
      text-align: center;
      max-width: 1000px;
  }

  .spec-table th,
  .spec-table td {
      padding: 15px;
      vertical-align: middle;
      border: 2px solid var(--grid);
      background: #fff;
      font-size: 15px;
  }

  .spec-table td {
      font-size: 18px;
      font-weight: bold;
      line-height: 1.5;
      min-width: 160px;
  }

  .spec-table td p,
  .spec-table td span {
      font-size: 13px;
      font-weight: normal;
      line-height: 1.5;
      margin-top: 5px;
  }

  .spec-table thead th {
      text-align: center;
      font-weight: 700;
      padding: 10px 10px 10px 30px;
      line-height: 1.2;
      text-align: center;
  }

  .spec-table .blk {
      background: var(--blk);
      color: #fff;
      position: relative;
  }

  .spec-table .blk img,
  .spec-table .red img {
      height: 50px;
      width: auto;
      left: 10px;
      top: 5px;
      position: absolute;
  }

  .spec-table .red {
      background: #fdbd8b;
      color: black;
      position: relative;
  }


  .spec-table tbody>tr>th.blk {
      white-space: nowrap;
  }

  /* .spec-table tbody>tr>td.red {

  } */

  .spec-table thead tr th:first-child {
      position: sticky;
      position: sticky !important;
      left: 0;
      z-index: 4;
  }

  .spec-table tbody tr:last-child td {
      text-align: justify;
      font-size: 13px;
      font-weight: normal;
      line-height: 1.5;
      vertical-align: top;
  }

  .spec-table tbody tr:nth-child(3) td {

      vertical-align: top;
  }


  @media (max-width: 1023px) {
      #compare {
          padding: 70px 20px;
      }

      .spec-table-wrap {
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
      }

      .spec-table {

          font-size: 14px;
      }

      .spec-table th,
      .spec-table td {
          padding: 12px;

      }

      .spec-table tbody>tr>th.blk {
          position: sticky;
          left: 0;
          z-index: 2;
          /* above cells */
          background: var(--blk);
          color: #fff;
          white-space: wrap;
          min-width: 105px;
      }

      .spec-table thead th {
          position: sticky;
          top: 0;
          z-index: 3;
      }

      .spec-table tr td {
          min-width: 180px;
      }


  }




  /* ===== OPTION ===== */

  #option {
      display: none;
  }

  #option .sec-expl-second {
      margin-bottom: 10px;
      border-bottom: 1px solid #FF7803;
  }

  #option .exp-img {
      height: 25px;
      margin-bottom: -5px;
  }

  #option .sec-expl-first {
      font-size: 20px;
  }

  #option .sec-expl-first .sec-first-small {
      font-size: 20px;
  }

  #option .sec-expl {
      gap: 0;
  }

  #option .sec-expl p:nth-child(3) {
      margin-top: 25px;
  }

  #option .sec-expl p:nth-child(4) {
      font-size: 25px;
      font-weight: bold;
      /* background: #fdbd8b; */
      padding: 3px 5px;
      margin-top: 5px;
      /* box-shadow: 2px 2px 0 #FF7803; */
  }

  .market-value {
      display: flex;
      flex-direction: row;
      justify-content: space-around;
      align-items: center;
      width: 90%;
      margin: 50px auto 30px auto;
      background: #fbf2eb;
  }

  .market-time p:first-child,
  .market-price p:first-child {
      font-size: 17px;
      border-bottom: 2px dashed #FF7803;
      padding: 5px 0px;
      text-align: center;
      margin-bottom: 10px;
      font-weight: bolder;
  }

  .market-time p:last-child,
  .market-price p:last-child {
      font-size: 30px;
      text-align: right;
  }

  .market-time p:last-child span,
  .market-price p:last-child span {
      font-size: 60px;
      color: #FF7803;
      font-weight: bold;
      font-family: "minion pro";
  }

  .market-img {
      display: flex;
      flex-direction: row;
      justify-content: space-around;
      align-items: center;
      width: 90%;
      margin: 0 auto;
      background: #fbf2eb;

  }

  .market-img:last-child {
      padding: 30px 30px 0 30px;
  }

  .market-img div {
      display: flex;
      flex-direction: column;
      gap: 20px;
      align-items: center;
  }

  .market-img div p {
      font-size: 17px;
      font-weight: bold;
      padding: 5px 10px;
      text-align: center;
      border-bottom: 2px dashed #FF7803;
  }

  .market-img div p.kaite {
      border: none;
      position: relative;
  }

  .market-img div p.kaite::before {
      content: "";
      position: absolute;
      left: 0;
      top: 95%;
      width: 100%;
      height: 26px;
      background: url('./images/vector.svg') no-repeat center / contain;

  }

  .market-img div img {
      max-height: 150px;
      object-fit: cover
  }



  @media (min-width: 768px) and (max-width: 1023px) {


      .market-img div img {
          max-height: 120px;
      }

      .market-time p:last-child span,
      .market-price p:last-child span {
          font-size: 55px;
          ;
      }
  }

  @media (max-width: 767px) {

      #option .sec-expl-second,
      #option .sec-expl-second .sec-sec-small {
          margin-bottom: 20px;
          font-size: 20px;
      }

      #option .sec-expl-first {
          font-size: 18px;
          font-weight: bolder;
      }

      #option .sec-expl p:nth-child(4) {
          font-size: 19px;
      }

      .market-value {

          width: 100%;
          flex-direction: column;
          gap: 20px;
      }

      .market-img {
          width: 100%;
          flex-direction: column;
          gap: 30px;
      }

      .market-img div p.kaite::before {
          display: none;
      }

      .kaite span {
          display: contents;
      }

      .market-img div img {
          max-height: 120px;
      }


      .market-time p:last-child span,
      .market-price p:last-child span {
          font-size: 55px;
      }

      .market-time p:last-child,
      .market-price p:last-child {
          font-size: 27px;
          text-align: center;
      }
  }

  /* ===== IMAGE ===== */

  .image-img {
      background-color: white;
      position: relative;
  }

  .revenue-line {
      position: absolute;
      width: 2px;
      background-color: black;
      z-index: 2;
      height: 55%;
      left: 7.6%;
      top: 54%;
  }

  .image-img img {
      width: 100%;
  }

  #image .spec-title {
      font-family: "Zen Old Mincho";
      font-weight: bold;
  }

  #image .spec-title::before {
      content: "•";
      color: #FF7803;
  }

  .spec-title.image {
      margin: 40px 0 10px 0;
  }

  .image-table {
      width: 100%;
      margin: 0 auto;
      border-collapse: collapse;
      table-layout: auto;
      font-size: 16px;
      line-height: 1.6;
      font-family: 'Zen Old Mincho';
      text-align: center;
  }

  .image-table th,
  .image-table td {
      padding: 15px;
      vertical-align: top;
      border: 1px solid #f3f3f3;
      background: #fff;
  }

  .image-table thead th {
      text-align: center;
      font-weight: 700;
  }

  .image-table .blk {
      background: var(--blk);
      color: #fff;
  }

  .image-table .red {
      background: pink;
      color: black;
      font-weight: bold;
  }

  .image-table tbody>tr>th.blk {
      width: 160px;
      white-space: nowrap;
  }

  .image-table tbody>tr>td.red {
      width: 160px;
  }


  .image-table tbody tr:last-child td {
      text-align: center;
  }

  .spec-note {
      font-size: 13px;
      margin-top: 10px;
      text-align: right;
  }

  @media (max-width: 767px) {

      .revenue-line {
          height: 90%;
          top: 15%;
          width: 30%;
          background: transparent;
          border-left: 2px solid black;
          border-top: 2px solid black;
      }

      .image-table-wrap {
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
      }

      .spec-title.image {
          margin: 25px 0 0px 0;
      }

      .spec-title.image.margin-is {
          margin-top: 40px;
      }

      .image-table {
          min-width: 520px;
          font-size: 14px;
      }

      .image-table th,
      .image-table td {
          padding: 10px;
          white-space: nowrap;
          font-size: 14px;
      }

      .image-table .small {
          font-size: 12px;
      }

      .image-table thead th {
          position: sticky;
          top: 0;
          z-index: 2;
          background: var(--blk);
          color: #fff;
      }

      #image .spec-title {
          position: sticky;
          left: 0;
          font-size: 16px;
      }

      #image .spec-note {
          font-size: 12px;
          position: sticky;
          left: 0;
      }

      .image-table tbody>tr>td.red {
          width: auto;
      }

      .image-table-wrap {
          padding: 10px 0;
      }

      .image-img {
          margin: 30px 0 20px 0;
      }

  }

  /* ===== FLOW ===== */

  .jada-img {
      width: 80%;
      height: 300px;
      padding: 0;
      position: relative;
  }

  .jada-img .guideline {
      width: 100%;
      height: 100%;
      object-fit: cover;
  }

  .jada-logo-wrap {
      position: absolute;
      bottom: 0;
      right: 0;
      background: white;
      padding: 15px 20px;
  }

  .jada-logo-wrap .jada-logo {
      height: 50px;
  }

  .jada-text {
      text-align: justify;
      margin: 5% auto 0 auto;
      line-height: 1.8;
      width: 80%;
  }

  h3.flow-title {
      text-align: center;
      margin: 70px 0;
      font-family: "Zen Old Mincho";
      font-weight: bold;
      font-size: 23px;
      border-bottom: 2px dashed #FF7803;
      display: inline-block;
      position: relative;
      left: 50%;
      transform: translate(-50%);
  }

  .flow-chart {
      display: flex;
      flex-direction: row;
      justify-content: center;
      margin-top: 10%;
  }

  .timeline {
      display: flex;
      height: auto;
      width: 60px;
      flex-direction: column;
      margin-right: 20px;
  }

  .timeline-section {
      flex: 1;
      display: flex;
      justify-content: center;
      align-items: center;
      color: white;
      font-weight: 500;
      font-size: 18px;
      line-height: 160%;
      writing-mode: vertical-rl;
      text-orientation: upright;
      font-size: 15px;
      max-width: 26px;
  }

  .timeline-section.yellow {
      background-color: #FBEC61;
      color: black;
      clip-path: polygon(0% 0%, 50% 0%, 100% 0%, 100% 410px, 50% 100%, 0% 410px);
  }

  .timeline-section.orange {
      background-color: #FF7803;
      color: black;
      clip-path: polygon(0% 0%, 50% 20px, 100% 0%, 100% 385px, 50% 100%, 0% 385px);
  }

  .timeline-section.red {
      background-color: red;
      clip-path: polygon(0% 0%, 50% 20px, 100% 0%, 100% 90%, 50% 100%, 0% 90%);
  }


  .steps {
      margin-top: 10px;
      display: flex;
      flex-direction: column;
      max-width: 600px;
      margin: 0 auto;
  }

  .step-card {
      margin: 0;
      padding: 0;
      position: relative;
      box-shadow: 2px 2px 0 #FF7803;
      padding: 20px;
      background-color: #fbf2eb;
      margin: 40px 0;
  }

  .step-header {
      position: absolute;
      top: -22.5px;
      right: 60px;
      font-size: 20px;
      font-weight: 700;
      font-family: 'Zen Old Mincho';
  }

  .step-number-accent {
      position: absolute;
      top: -20px;
      left: 60px;
      font-size: 55px;
      color: #FF7803;
      line-height: 1;
      font-family: 'Georgia', serif;
      z-index: 10;
      font-weight: normal;
      font-family: 'Zen Old Mincho';
  }


  .step-content {
      display: flex;
      flex-direction: row;
      width: 100%;
      gap: 30px;
      justify-content: flex-start;
      align-items: center;
  }

  .step-content h3 {
      margin: 0;
      font-family: "Zen Old Mincho";
      font-weight: bold;
      font-size: 20px;
      text-shadow: 1px 1px 1px #e6782f89;
  }

  .step-img {
      height: 80px;
  }

  .time-step {
      display: flex;
      flex-direction: row;
      width: 100%;
  }

  .steps .step-card:last-child {
      margin: 50px 0 50px 0;
  }

  .steps .step-card:first-child {
      margin: 0px 0 0px 0;
  }

  .step-text p {
      margin-top: 5px;
  }


  .step-one {
      margin: 40px 0 50px 0 !important;
  }

  .step-two {
      margin: 40px 0 30px 0 !important;
  }

  .step-three {
      margin: 30px 0 0 0 !important;
  }

  .step-four {
      margin: 50px 0 40px 0 !important;
  }

  .step-five {
      margin: 20px 0 20px 0 !important;

  }


  @media (min-width: 768px) and (max-width: 1023px) {
      .timeline-section.yellow {
          background-color: #FBEC61;
          color: black;
          clip-path: polygon(0% 0%, 50% 0%, 100% 0%, 100% 410px, 50% 100%, 0% 410px);
      }
  }

  @media (max-width: 767px) {
      .jada-img {
          height: 220px;
          width: 100%;
      }

      .jada-logo-wrap .jada-logo {
          height: 30px;
      }

      .jada-text {
          width: 100%;
          font-size: 13px;
      }

      h3.flow-title {

          font-size: 18px;
      }

      .step-content {
          flex-direction: column;
          justify-content: center;
          align-items: center;
          gap: 10px;
      }

      .step-content h3 {
          text-align: center;
          font-size: 20px;
          margin-bottom: 10px;
      }

      .step-text p {
          font-size: 13px;
      }


      .step-header {
          left: 10px;
      }

      .timeline-section.yellow {
          clip-path: polygon(0% 0%, 50% 0%, 100% 0%, 100% 595px, 50% 100%, 0% 595px);

      }

      .timeline-section.orange {
          clip-path: polygon(0% 0%, 50% 15px, 100% 0%, 100% 575px, 50% 100%, 0% 575px);
      }

      .timeline-section.red {
          background-color: red;
          clip-path: polygon(0% 0%, 50% 15px, 100% 0%, 100% 90%, 50% 100%, 0% 90%);
      }

  }


  /* ===== SPECS ===== */


  .specs-table-wrap {
      background: var(--bg);
      padding: 24px 0;
  }

  .specs-table {
      width: 100%;
      margin: 0 auto;
      border-collapse: collapse;
      table-layout: auto;
      font-size: 16px;
      line-height: 1.6;
      font-family: 'Zen Old Mincho';
      text-align: center;
  }

  .specs-table td {
      padding: 10px;
      vertical-align: top;
      border: 2px solid var(--grid);
      background: #fff;
  }

  .specs-table tr td:first-child {
      background-color: black;
      color: white;
  }

  @media (max-width: 767px) {


      .specs-table td {
          font-size: 13px;
      }

      .spec-note {
          font-size: 12px;
          text-align: left;
      }

  }




  /* ===== Q&A ===== */

  .qa-section {
      font-family: "Zen Old Mincho";
  }


  .qa-item {
      border-bottom: 1px solid #e5e7eb;
  }

  .qa-section .sub__heading {
      margin-bottom: 30px;
  }


  .qa-question {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0;
      text-align: left;
      transition: all 0.4s ease;
  }

  @media (hover: hover) and (pointer: fine) {
      .qa-question:hover {
          opacity: 0.8;
      }
  }

  .qa-label {
      display: flex;
      align-items: center;
      gap: 30px;
      flex: 1;
      padding: 10px 0;
  }

  .qa-q,
  .qa-a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: black;
      color: #fff;
      font-weight: 800;
      width: 42px;
      height: 42px;
      font-size: 20px;
      flex-shrink: 0;
      font-family: "Zen Old Mincho";
  }

  .qa-text,
  .qa-answer p {
      font-size: 15px;
      font-weight: 500;
      line-height: 1.8;
      padding-right: 30px;
      text-align: justify;
      font-family: "Zen Old Mincho";
  }

  .qa-icon {
      position: relative;
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
  }

  .qa-icon .line {
      position: absolute;
      width: 20px;
      height: 2px;
      background: #FF7803;
      border-radius: 2px;
      transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .qa-icon .line.h {
      transform: rotate(0deg);
  }

  .qa-icon .line.v {
      transform: rotate(90deg);
  }

  .qa-item.active .qa-icon .line.h {
      transform: rotate(0deg);
  }

  .qa-item.active .qa-icon .line.v {
      transform: rotate(0deg);
      opacity: 0;
  }

  .qa-answer {
      overflow: hidden;
      max-height: 0;
      transition: max-height 0.4s ease-in-out;
      display: flex;
      align-items: flex-start;
      gap: 30px;
      font-family: "Zen Old Mincho";
  }

  .qa-answer.open {
      padding: 10px 0 25px 0;
      display: flex;
      align-items: flex-start;
      box-sizing: content-box;
  }

  .qa-a-label {
      background: #FF7803;
      font-weight: 800;
      font-size: 20px;
      flex-shrink: 0;
      font-family: 'Avenir';
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
  }

  .no-qa {
      text-align: center;
      padding: 40px;
      color: #999;
      font-size: 16px;
  }


  .dot {
      width: 8px;
      height: 8px;
      background: #6a6bff;
      border-radius: 50%;
  }

  .qa-category {
      text-align: center;
      margin-top: 5%;
      justify-self: center;
      color: #FF7803;
      font-size: 22px;
      font-weight: bolder;
  }



  @media (max-width: 767px) {

      .qa-category {
          font-size: 15px;
          margin-top: 10%;
      }


      .qa-q,
      .qa-a {
          width: 35px;
          height: 35px;
          font-size: 18px;
          line-height: 1;
      }


      .qa-a-label {
          width: 35px;
          height: 35px;
          font-size: 18px;
      }

      .qa-text,
      .qa-answer p {
          font-size: 13px;
          line-height: 1.5;
      }


      .qa-answer,
      .qa-label {
          gap: 15px;
      }

      .qa-icon .line {
          width: 15px;
          height: 1.5px;
      }





  }



  /* === Footer ====== */

  .site-footer {
      background: black;
      color: #fff;
      font-family: "Noto Sans JP", sans-serif;
      padding: 50px 30px;
      margin-top: -1px;
  }


  .footer-wrap {
      max-width: 900px;
      margin: 0 auto;
  }

  .footer-content {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
  }

  .footer-company-info {
      display: flex;
      flex-direction: column;
      gap: 40px;
  }

  .footer-logo {
      margin-bottom: 30px;
      height: 50px;

  }

  .company-details {
      display: flex;
      flex-direction: column;
      gap: 30px;
  }

  .company-row {
      display: flex;
      gap: 15px;
      align-items: flex-start;
      font-size: 14px;
      line-height: 1.8;
  }

  .company-row .label {
      min-width: 60px;
      font-weight: 700;
  }


  .company-row .value {
      border-left: 1px solid #ffffff4d;
      padding-left: 20px;
      font-weight: 400;
  }

  .company-row .value p {
      margin: 0 0 4px 0;
  }

  footer-links {
      display: flex;
      gap: 80px;
      flex: 1;
  }


  .footer-links {
      list-style: none;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      align-self: start;
  }

  .footer-links ul {
      display: flex;
      flex-direction: column;
      gap: 30px;
  }

  .footer-links li {
      position: relative;
      max-width: 230px;
  }

  .copyright {
      width: 900px;
      margin: 0 auto;
      display: flex;
      text-align: right;
      margin-top: 30px;
      justify-content: flex-end;
      font-family: 'Zen Old Mincho';
      font-size: 13px;
  }

  @media (min-width: 768px) and (max-width: 1023px) {


      .footer-links {
          align-self: flex-start;
          margin-left: 50px;
      }


      .site-footer {
          padding: 60px 20px 40px 20px;
      }

      .footer-company {
          width: auto;
      }

      .footer-content {
          gap: 20%;
          justify-content: center;
      }

      .footer-logo {
          height: 35px;
      }

      .company-row .label,
      .company-row .value {
          font-size: 12px;
      }

      .company-details {
          margin-left: 30px;
      }

      .copyright {
          width: 100%;
          justify-content: center;
          font-size: 12px;
      }
  }

  @media (max-width: 767px) {

      .site-footer {
          padding: 40px 20px;
      }

      .footer-company {
          width: auto;
          order: 2;
      }

      .footer-content {
          gap: 20%;
          justify-content: center;
          flex-direction: column;
          gap: 40px;
      }

      .footer-links {
          display: flex;
          flex-direction: row;
          justify-content: space-around;
          align-items: flex-start;
          width: 100%;
      }

      .footer-links ul {
          padding: 0;
      }

      .footer-logo {
          height: 35px;
          display: flex;
          justify-content: center;
      }

      .company-row .label,
      .company-row .value {
          font-size: 12px;
      }

      .company-details {
          margin-left: 30px;
      }

      .copyright {
          width: 100%;
          justify-content: center;
          font-size: 12px;
      }
  }


  /* CONTACT FORM */


  .contact-wrapper {
      max-width: 700px;
      margin: 60px auto;
      padding: 0 20px;
      font-family: sans-serif;
      line-height: 1.6;
      color: black;
      font-family: "Zen Old Mincho";
  }

  .form-text {
      font-size: 14px;
      margin: 5% 0;
  }

  .contact-wrapper h1 {
      font-size: 24px;
      font-weight: 600;
      margin-bottom: 40px;
  }

  .contact-block {
      padding-top: 10px;
      margin-top: 20px;
  }

  .contact-label-row {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      font-size: 15px;
      font-weight: 600;
      margin-bottom: 10px;
      column-gap: 10px;
  }

  .badge-required {
      font-size: 12px;
      background-color: #FF7803;
      color: #fff;
      padding: 4px 6px;
      line-height: 1;
      border-radius: 2px;
  }

  .badge-optional {
      font-size: 12px;
      background-color: #6e6e6e;
      color: #fff;
      padding: 4px 6px;
      line-height: 1;
      border-radius: 2px;
  }

  .contact-input {
      width: 100%;
      border: 1px solid #dcdcdc;
      background-color: #fafafa;
      font-size: 16px;
      padding: 12px;
  }

  .contact-textarea {
      width: 100%;
      min-height: 160px;
      border: 1px solid #dcdcdc;
      background-color: #fafafa;
      font-size: 16px;
      padding: 12px;
      resize: vertical;
      max-width: 100%;
  }

  .policy-row {
      margin-top: 20px;
      font-size: 14px;
      line-height: 1.6;
      text-align: center;
      align-items: center;
      justify-content: center;
      display: flex;

  }

  .policy-row label {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      cursor: pointer;
  }

  .policy-row input[type="checkbox"] {
      margin-top: 4px;
  }

  .policy-row a {
      color: #FF7803;
      border-bottom: 1px solid white;
      transition: all 0.4s ease;
  }

  .policy-row a:hover {
      border-bottom: 1px solid #FF7803;
  }

  .submit-row {
      margin-top: 40px;
      text-align: center;
  }

  .cta-submit-btn,
  .thanks-box .back-to-top {
      --shadow-offset: 4px;
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-weight: 700;
      font-size: 15px;
      padding: 10px 20px;
      background: #FF7803;
      cursor: pointer;
      transition: all .18s ease;
      max-height: 40px;
      box-sizing: content-box;
      width: 150px;
      color: white;
      border: none;
      font-family: "Zen Old Mincho";
  }

  .thanks-box,
  .thanks-box h2 {
      font-family: "Zen Old Mincho";
  }

  .thanks-box .back-to-top {
      margin-top: 10%;

  }

  .thanks-box .back-to-top a {
      text-decoration: none;
  }


  /* CTA (資料請求) */
  .cta-wrap {
      justify-self: end;
      display: flex;
      align-items: center;
      gap: 12px;
  }


  .cta-submit-btn,
  .cta,
  .thanks-box .back-to-top {
      box-shadow: var(--shadow-offset) var(--shadow-offset) 0 var(--brand);
      transition: box-shadow .2s ease, transform .2s ease;
  }

  .contact-errors {
      background: #ffefef;
      border: 1px solid #ffa8a8;
      color: #b00000;
      padding: 16px;
      font-size: 14px;
      margin: 30px 0;
      border-radius: 4px;
  }

  .thanks-box {
      max-width: 700px;
      margin: 80px auto;
      padding: 0 20px;
      text-align: center;
      font-family: sans-serif;
  }

  .thanks-box h2 {
      font-size: 22px;
      font-weight: 600;
      margin-bottom: 20px;
  }

  .thanks-box p a {
      font-size: 16px;
      line-height: 1.7;
      color: white;
      text-decoration: none;
  }

  @media (max-width: 767px) {
      .thanks-box h2 {
          font-size: 19px;
      }

      .thanks-box {
          margin: 50px auto;
      }
  }