    /* ========================================
       Responsive br control
       ======================================== */
    .sp-only { display: none; }
    .pc-only { display: inline; }
    @media (max-width: 527px) {
      .sp-only { display: inline; }
      .pc-only { display: none; }
    }

    /* ========================================
       Logo Slider
       ======================================== */
    .LogoSlider {
      padding: 40px 0;
      background: #fff;
      overflow: hidden;
    }
    .LogoSlider__track {
      display: flex;
      gap: 0;
      animation: logoScroll 30s linear infinite;
      width: max-content;
    }
    .LogoSlider__item {
      flex-shrink: 0;
      height: 40px;
      display: flex;
      align-items: center;
    }
    .LogoSlider__item img {
      height: 100%;
      width: auto;
      object-fit: contain;
    }
    @keyframes logoScroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    @media (min-width: 528px) {
      .LogoSlider__item {
        height: 48px;
      }
      .LogoSlider__track {
        gap: 0;
      }
    }

    /* ========================================
       Introduction Section (Figma準拠)
       ======================================== */
    .Intro {
      padding: 40px 20px;
      background: linear-gradient(180deg, #FFFFFF 0%, #F2F6FD 10.95%, #F2F6FD 78.28%, #F2F6FD 109.52%);
    }
    .Intro__inner {
      max-width: 528px;
      margin: 0 auto;
    }
    .Intro__lead {
      display: none;
    }
    .Intro__ttl {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 24px;
      font-weight: 700;
      line-height: 29px;
      text-align: center;
      letter-spacing: 0.04em;
      color: #424C5B;
      padding: 16px 0;
      margin-bottom: 0;
    }
    .Intro__card {
      background: #FFFFFF;
      border-radius: 4px;
      padding: 24px 20px 48px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .Intro__card-header {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 18px;
      font-weight: 700;
      line-height: 22px;
      text-align: center;
      letter-spacing: 0.04em;
      color: #424C5B;
    }
    .Intro__card-img {
      width: 100%;
    }
    .Intro__card-img img {
      width: 100%;
      height: auto;
      display: block;
    }
    .Intro__card-body {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      font-weight: 500;
      line-height: 180%;
      letter-spacing: 0.04em;
      color: #424C5B;
    }
    /* Hide old list items */
    .Intro__list,
    .Intro__img {
      display: none;
    }
    @media (min-width: 528px) {
      .Intro {
        padding: 40px 120px;
      }
    }

    /* ========================================
       Solution Section (Figma準拠)
       ======================================== */
    .Solution {
      padding: 40px 20px;
      position: relative;
      background: url('../img/solution-bg-photo.jpg') center/cover no-repeat;
    }
    .Solution__inner {
      max-width: 528px;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }
    .Solution__head {
      text-align: center;
      padding: 16px 0;
    }
    .Solution__sub {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 12px;
      font-weight: 700;
      line-height: 14px;
      text-align: center;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #02902A;
      margin-bottom: 4px;
    }
    .Solution__ttl {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 24px;
      font-weight: 700;
      line-height: 29px;
      text-align: center;
      letter-spacing: 0.04em;
      background: linear-gradient(269.76deg, #39C86A 13.41%, #1B995C 86.59%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .Solution__card {
      background: #FFFFFF;
      border-radius: 4px;
      padding: 24px 20px 48px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .Solution__card-header {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 18px;
      font-weight: 700;
      line-height: 22px;
      text-align: center;
      letter-spacing: 0.04em;
      color: #424C5B;
    }
    .Solution__card-img {
      width: 100%;
      height: 140px;
      overflow: hidden;
      border-radius: 4px;
    }
    .Solution__card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .Solution__card-body {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      font-weight: 500;
      line-height: 180%;
      text-align: center;
      letter-spacing: 0.04em;
      color: #424C5B;
    }
    @media (min-width: 528px) {
      .Solution {
        padding: 40px 120px;
      }
    }

    /* ========================================
       About / Points (Figma準拠)
       ======================================== */
    .About {
      padding: 40px 20px;
      background: linear-gradient(0deg, rgba(223, 244, 230, 0.5) 84.33%, #FFFFFF 97.68%);
    }
    .About__inner {
      max-width: 528px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 18px;
    }
    .About__head {
      text-align: center;
      padding: 16px 0;
    }
    .About__sub {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 12px;
      font-weight: 700;
      line-height: 14px;
      text-align: center;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #38C76A;
      margin-bottom: 4px;
    }
    .About__ttl {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 24px;
      font-weight: 700;
      line-height: 29px;
      text-align: center;
      letter-spacing: 0.04em;
      color: #424C5B;
    }
    .Point {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 24px 16px;
      gap: 16px;
      background: #FFFFFF;
      border-radius: 8px;
    }
    .Point__img {
      width: 100%;
      border-radius: 4px;
      overflow: hidden;
      order: 0;
      aspect-ratio: 496 / 262;
    }
    .Point__img img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }
    .Point__header {
      display: flex;
      flex-direction: row;
      align-items: center;
      padding: 0;
      gap: 16px;
      width: 100%;
      height: 48px;
      order: 1;
    }
    .Point__label {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      color: #38C76A;
    }
    .Point__label-text {
      font-family: 'Roboto', sans-serif;
      font-weight: 700;
      font-size: 14px;
      line-height: 1;
      text-transform: uppercase;
    }
    .Point__label-num {
      font-family: 'Roboto', sans-serif;
      font-weight: 700;
      font-size: 42px;
      line-height: 1;
    }
    .Point__ttl {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 18px;
      font-weight: 700;
      line-height: 22px;
      letter-spacing: 0.04em;
      color: #424C5B;
      flex: 1;
    }
    .Point__txt {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      font-weight: 500;
      line-height: 180%;
      letter-spacing: 0.04em;
      color: #424C5B;
      width: 100%;
      order: 2;
    }
    @media (min-width: 528px) {
      .About {
        padding: 40px 120px;
      }
    }

    /* ========================================
       CTA Button Section
       ======================================== */
    .Cta {
      padding: 40px 20px;
      background: linear-gradient(135deg, #e8f5ec 0%, #d4edda 100%);
      text-align: center;
    }
    .Cta__inner {
      max-width: 500px;
      margin: 0 auto;
    }
    .Cta__label {
      display: inline-block;
      background: #fff;
      color: var(--primary-color);
      font-size: 14px;
      font-weight: 700;
      padding: 6px 20px;
      border-radius: 20px;
      margin-bottom: 16px;
    }
    .Cta__btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
      max-width: 400px;
      margin: 0 auto;
      padding: 18px 32px;
      background: var(--form-btn-color);
      color: #fff;
      font-size: 18px;
      font-weight: 700;
      border: none;
      border-radius: 60px;
      cursor: pointer;
      text-decoration: none;
      transition: opacity 0.3s;
      box-shadow: 0 4px 16px rgba(255,107,53,0.3);
    }
    .Cta__btn:hover {
      opacity: 0.85;
    }
    .Cta__btn .arrow {
      display: flex;
    }

    /* ========================================
       Voice Section (Figma準拠 - 横スライド)
       ======================================== */
    .Voice {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 40px 0;
      position: relative;
    }
    .Voice__head {
      text-align: center;
      padding: 16px 0;
      margin-bottom: 0;
    }
    .Voice__sub {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 12px;
      font-weight: 700;
      line-height: 14px;
      text-align: center;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #38C76A;
      margin-bottom: 4px;
    }
    .Voice__ttl {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 24px;
      font-weight: 700;
      line-height: 29px;
      text-align: center;
      letter-spacing: 0.04em;
      color: #424C5B;
    }
    .Voice__slider-wrap {
      width: 100%;
      background: #38C76A;
      padding: 16px 0 32px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 24px;
      position: relative;
    }
    .Voice__list {
      display: flex;
      flex-direction: row;
      gap: 24px;
      padding: 0 calc(50% - 140px);
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      max-width: 100%;
    }
    .Voice__list::-webkit-scrollbar {
      display: none;
    }
    .Voice__item {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 24px 16px;
      gap: 16px;
      min-width: 280px;
      width: 280px;
      background: #FFFFFF;
      box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
      border-radius: 8px;
      flex-shrink: 0;
      scroll-snap-align: center;
    }
    .Voice__item-top {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 8px;
      width: 100%;
    }
    .Voice__item-avatar {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      width: 72px;
      flex-shrink: 0;
    }
    .Voice__item-avatar img {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      object-fit: cover;
      background: #F2F6FD;
    }
    .Voice__item-avatar span {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      font-weight: 700;
      line-height: 130%;
      text-align: center;
      color: #999999;
    }
    .Voice__item-career {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      flex: 1;
    }
    .Voice__career-box {
      display: flex;
      flex-direction: row;
      align-items: stretch;
      width: 100%;
    }
    .Voice__career-label {
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 3px 8px;
      width: 46px;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 10px;
      font-weight: 700;
      line-height: 130%;
      text-align: center;
      flex-shrink: 0;
      white-space: nowrap;
    }
    .Voice__career-label.-before {
      background: #999999;
      color: #FFFFFF;
      border-radius: 4px 0 0 4px;
    }
    .Voice__career-label.-after {
      background: #FFFFFF;
      border: 1.5px solid #424C5B;
      color: #424C5B;
      border-radius: 4px 0 0 4px;
    }
    .Voice__career-info {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 6px 10px;
      gap: 2px;
      flex: 1;
    }
    .Voice__career-info.-before {
      border: 1px solid #424C5B;
      border-radius: 0 4px 4px 0;
    }
    .Voice__career-info.-after {
      background: #38C76A;
      border-radius: 0 4px 4px 0;
    }
    .Voice__career-info.-before .Voice__career-role,
    .Voice__career-info.-before .Voice__career-salary {
      color: #999999;
    }
    .Voice__career-info.-after .Voice__career-role,
    .Voice__career-info.-after .Voice__career-salary {
      color: #FFFFFF;
    }
    .Voice__career-role {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      font-weight: 700;
      line-height: 130%;
      text-align: center;
      width: 100%;
    }
    .Voice__career-salary {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 10px;
      font-weight: 700;
      line-height: 130%;
      text-align: center;
    }
    .Voice__career-arrow {
      width: 6px;
      height: 14px;
      color: #424C5B;
      display: flex;
      justify-content: center;
      align-items: center;
      align-self: center;
    }
    .Voice__item-txt {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 13px;
      font-weight: 400;
      line-height: 180%;
      letter-spacing: 0.04em;
      color: #999999;
      width: 100%;
    }
    .Voice__dots {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 8px;
    }
    .Voice__dot {
      width: 32px;
      height: 8px;
      background: #D9D9D9;
      border-radius: 8px;
      border: none;
      padding: 0;
      cursor: pointer;
    }
    .Voice__dot.-active {
      width: 33px;
      background: #FFFFFF;
    }
    .Voice__nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: absolute;
      top: 50%;
      left: 20px;
      right: 20px;
      transform: translateY(-50%);
      pointer-events: none;
      z-index: 2;
    }
    .Voice__nav-btn {
      width: 40px;
      height: 40px;
      background: #02902A;
      border-radius: 50%;
      border: none;
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer;
      pointer-events: auto;
    }
    .Voice__nav-btn svg {
      width: 8px;
      height: 10px;
      fill: none;
      stroke: #FFFFFF;
      stroke-width: 3px;
    }

    /* ========================================
       Flow Section (Figma準拠)
       ======================================== */
    .Flow {
      padding: 40px 20px;
      background: #F2F6FD;
    }
    .Flow__inner {
      max-width: 528px;
      margin: 0 auto;
    }
    .Flow__head {
      text-align: center;
      padding: 16px 0;
      margin-bottom: 0;
    }
    .Flow__ttl {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 24px;
      font-weight: 700;
      line-height: 29px;
      text-align: center;
      letter-spacing: 0.04em;
      color: #424C5B;
      margin-bottom: 4px;
    }
    .Flow__sub {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 12px;
      font-weight: 500;
      line-height: 160%;
      text-align: center;
      letter-spacing: 0.04em;
      color: #424C5B;
    }
    .Flow__list {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .Flow__item {
      display: flex;
      flex-direction: row;
      align-items: stretch;
      background: #FFFFFF;
      border: 1px solid #38C76A;
      border-radius: 8px;
      overflow: hidden;
    }
    .Flow .Flow__item .Flow__item-num {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 10px;
      width: 64px;
      background: #38C76A;
      border-radius: 7px 0 0 7px;
      flex-shrink: 0;
      font-family: 'Roboto', sans-serif;
      font-weight: 700;
      text-align: center;
      color: #F2F6FD;
    }
    .Flow .Flow__item .Flow__item-num .Flow__step-label {
      display: block;
      font-size: 13px;
      line-height: 100%;
    }
    .Flow .Flow__item .Flow__item-num .Flow__step-number {
      display: block;
      font-size: 23px;
      line-height: 100%;
    }
    .Flow__item-body {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      padding: 16px 24px;
      gap: 8px;
      flex: 1;
      box-sizing: border-box;
    }
    .Flow__item-ttl {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 16px;
      font-weight: 700;
      line-height: 19px;
      letter-spacing: 0.04em;
      color: #424C5B;
    }
    .Flow__item-txt {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 13px;
      font-weight: 500;
      line-height: 140%;
      color: #424C5B;
    }
    @media (max-width: 527px) {
      /* SP: Flow */
      .Flow__item-num {
        width: 48px;
        min-width: 48px;
        font-size: 13px;
        padding: 8px;
      }
      .Flow__item-body {
        padding: 12px 16px;
      }
      .Flow__item-ttl {
        font-size: 14px;
        line-height: 17px;
      }
      .Flow__item-txt {
        font-size: 12px;
        line-height: 150%;
      }
      /* SP: Intro card text */
      .Intro__card-body ul li {
        font-size: 13px;
      }
      /* SP: Solution */
      .Solution__ttl {
        font-size: 20px;
        line-height: 26px;
      }
      .Solution__card-header {
        font-size: 14px;
        line-height: 20px;
      }
      .Solution__card-img {
        height: auto;
        aspect-ratio: auto;
      }
      .Solution__card-img img {
        height: auto;
      }
      .Solution__card-body {
        font-size: 13px;
        text-align: left;
      }
      /* SP: About */
      .About {
        padding: 40px 16px;
      }
      /* SP: About title */
      .About__ttl {
        font-size: 20px;
        line-height: 26px;
      }
      /* SP: Point header fix */
      .Point__header {
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
      }
      .Point__label {
        min-width: 49px;
        font-size: 12px;
      }
      .Point {
        padding: 16px 12px;
      }
      .Point__ttl {
        font-size: 16px;
        line-height: 20px;
      }
      /* SP: Intro/Solution */
      .Intro, .Solution {
        padding: 32px 16px;
      }
      .Intro__card, .Solution__card {
        padding: 16px 12px 32px;
      }
      .Intro__card-header, .Solution__card-header {
        font-size: 16px;
        line-height: 20px;
      }
      /* SP: Voice */
      .Voice__item {
        min-width: 280px;
        width: 280px;
        padding: 24px 16px;
      }
      .Voice__list {
        padding: 0 calc(50% - 140px);
      }
    }
    @media (min-width: 528px) {
      .Flow {
        padding: 40px 120px;
      }
    }

    /* ========================================
       Form override (Figma準拠)
       ======================================== */
    .Form {
      padding: 16px 20px !important;
    }
    .Form__container {
      max-width: 528px !important;
      margin: 0 auto;
    }
    .Form__head {
      display: flex !important;
      flex-direction: row !important;
      justify-content: center !important;
      align-items: center !important;
      padding: 8px 0 !important;
      gap: 10px !important;
      background: #38C76A !important;
      border-radius: 4px 4px 0 0 !important;
    }
    .Form__head-label {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      padding: 8px !important;
      background: #FFFFFF !important;
      border-radius: 4px !important;
      font-family: 'Noto Sans JP', sans-serif !important;
      font-weight: 700 !important;
      font-size: 16px !important;
      line-height: 19px !important;
      letter-spacing: 0.04em !important;
      color: #02902A !important;
    }
    .Form__head-ttl {
      font-family: 'Noto Sans JP', sans-serif !important;
      font-weight: 700 !important;
      font-size: 16px !important;
      line-height: 19px !important;
      letter-spacing: 0.04em !important;
      color: #FFFFFF !important;
    }
    .Form__body {
      background: #FFFFFF !important;
      border: 2px solid #38C76A !important;
      border-top: none !important;
      border-radius: 0 0 4px 4px !important;
      padding: 16px 16px 24px !important;
    }
    .Form__body-ttl {
      font-family: 'Noto Sans JP', sans-serif !important;
      font-weight: 700 !important;
      font-size: 16px !important;
      line-height: 19px !important;
      letter-spacing: 0.04em !important;
      color: #424C5B !important;
      text-align: center !important;
      margin-bottom: 16px !important;
    }
    .Form__select {
      gap: 8px !important;
      border: none !important;
      padding: 0 !important;
    }
    .Form__select-item {
      background: transparent !important;
      border: none !important;
      border-radius: 0 !important;
      padding: 0 !important;
    }
    .Form__select-item .txt {
      font-family: 'Noto Sans JP', sans-serif !important;
      font-weight: 700 !important;
      font-size: 14px !important;
      line-height: 17px !important;
      letter-spacing: 0.04em !important;
      color: #424C5B !important;
    }
    .Form__btn {
      background: linear-gradient(180deg, #39C86A 0%, #1B995C 100%) !important;
      box-shadow: 0px 4px 4px rgba(208, 150, 123, 0.3) !important;
      border-radius: 24px !important;
      padding: 0 32px !important;
      height: 48px !important;
      width: 240px !important;
      max-width: 240px !important;
      font-family: 'Noto Sans JP', sans-serif !important;
      font-weight: 700 !important;
      font-size: 16px !important;
      line-height: 24px !important;
      letter-spacing: 0.04em !important;
      color: #FFFFFF !important;
    }
    .Form__btn-box {
      display: flex !important;
      justify-content: center !important;
      margin-top: 16px !important;
    }

    /* ========================================
       Footer override (Figma準拠 - 白背景)
       ======================================== */
    .Footer {
      background-color: #FFFFFF !important;
    }
    .Footer__nav-link {
      color: #424C5B !important;
      font-size: 14px !important;
      font-weight: 400 !important;
    }
    .Footer__copy {
      color: #424C5B !important;
      font-size: 10px !important;
    }
    .Footer__logo img {
      filter: none !important;
    }
    .Header__txt {
      color: #424C5B;
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 900;
      font-size: 12px;
      line-height: 14px;
      text-align: center;
      letter-spacing: 0.04em;
    }
    .Header__txt-accent {
      color: #FE6C01;
    }

/* ======================================== */
/* Entry Form Styles */
/* ======================================== */
    /* ========================================
       Entry Form Figma準拠
       ======================================== */
    /* 次へ進む・送信ボタン */
    .Entry__btn {
      background: linear-gradient(180deg, #39C86A 0%, #1B995C 100%) !important;
      box-shadow: 0px 4px 4px rgba(208, 150, 123, 0.3) !important;
      border-radius: 24px !important;
      font-family: 'Noto Sans JP', sans-serif !important;
      font-weight: 700 !important;
      font-size: 16px !important;
      line-height: 24px !important;
      letter-spacing: 0.04em !important;
      color: #FFFFFF !important;
    }
    .Entry__btn.-submit {
      background: linear-gradient(180deg, #39C86A 0%, #1B995C 100%) !important;
      box-shadow: 0px 4px 4px rgba(153, 153, 153, 0.25) !important;
      border-radius: 54px !important;
    }
    /* 戻るボタン */
    .Entry__btn.-back {
      background: transparent !important;
      box-shadow: none !important;
      color: #424C5B !important;
      font-size: 14px !important;
    }
    /* フォーム入力欄 */
    .Entry__input,
    .Entry__textarea {
      background: #FFFFFF !important;
      border: 1px solid #D9D9D9 !important;
      border-radius: 6px !important;
      padding: 16px !important;
      font-family: 'Noto Sans JP', sans-serif !important;
      font-size: 16px !important;
      line-height: 19px !important;
      letter-spacing: 0.04em !important;
      color: #424C5B !important;
    }
    .Entry__input::placeholder,
    .Entry__textarea::placeholder {
      color: #D9D9D9 !important;
    }
    /* セレクトボックス - 外枠のボーダーを消して中のselectだけにする */
    .Entry__select {
      border: none !important;
      background: transparent !important;
      padding: 0 !important;
    }
    .Entry__select-item {
      background: #FFFFFF !important;
      border: none !important;
      border-radius: 6px !important;
      padding: 0 !important;
    }
    .Entry__select-item select {
      width: 100% !important;
      background: #FFFFFF !important;
      border: 1px solid #D9D9D9 !important;
      border-radius: 6px !important;
      padding: 16px !important;
      padding-right: 40px !important;
      font-family: 'Noto Sans JP', sans-serif !important;
      font-weight: 500 !important;
      font-size: 16px !important;
      line-height: 19px !important;
      letter-spacing: 0.04em !important;
      color: #424C5B !important;
      -webkit-appearance: none !important;
      appearance: none !important;
    }
    /* 親wrapperのborder削除 */
    .Entry__radio,
    .Entry__check,
    .Entry__input-wrap,
    .Entry__field,
    .Entry__item,
    .Entry__block {
      border: none !important;
    }
    /* ステップ数表示 */
    .Entry__step-num {
      color: #424C5B !important;
    }
    /* 項目タイトル */
    .Entry__ttl {
      font-family: 'Noto Sans JP', sans-serif !important;
      font-weight: 700 !important;
      font-size: 16px !important;
      color: #424C5B !important;
    }
    /* 必須バッジ */
    .required.en {
      background: #E6530F !important;
      color: #FFFFFF !important;
      font-family: 'Roboto', sans-serif !important;
      font-weight: 600 !important;
      font-size: 12px !important;
      letter-spacing: 0.1em !important;
      padding: 2px 4px !important;
      border-radius: 2px !important;
    }
    /* プライバシー同意チェックボックス */
    .Container .Entry__privacy input[name="privacy_agree"][type="checkbox"] {
      display: inline-block !important;
      width: 18px !important;
      height: 18px !important;
      min-width: 18px !important;
      margin-right: 8px !important;
      vertical-align: middle !important;
      accent-color: #38C76A !important;
      cursor: pointer !important;
      -webkit-appearance: checkbox !important;
      appearance: checkbox !important;
      opacity: 1 !important;
      position: static !important;
      transform: none !important;
      pointer-events: auto !important;
      visibility: visible !important;
      clip: auto !important;
      clip-path: none !important;
      overflow: visible !important;
    }
    .Entry__privacy {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }
    .Entry__privacy label.Entry__privacy {
      display: flex !important;
      align-items: center !important;
      cursor: pointer !important;
      white-space: nowrap !important;
    }
    @media (max-width: 527px) {
      .Entry__privacy label.Entry__privacy .txt {
        font-size: 12px !important;
      }
    }
    /* 送信ボタンの>はみ出し修正 */
    .Entry__btn.-submit {
      overflow: hidden !important;
      position: relative !important;
    }
    .Entry__btn.-submit .arrow {
      position: absolute !important;
      right: 24px !important;
      top: 50% !important;
      transform: translateY(-50%) !important;
    }
    .Entry__btn .arrow {
      flex-shrink: 0 !important;
    }
    /* 任意バッジ */
    .optional.en {
      background: #999999 !important;
      color: #FFFFFF !important;
      padding: 2px 4px !important;
      border-radius: 2px !important;
    }
    /* フッター */
    .Footer {
      background-color: #FFFFFF !important;
    }
    .Footer__nav-link {
      color: #424C5B !important;
    }
    .Footer__copy {
      color: #424C5B !important;
    }
    .Footer__logo img {
      filter: none !important;
    }

/* ======================================== */
/* Thanks Page Styles */
/* ======================================== */
.Footer { background-color: #FFFFFF !important; }
.Footer__nav-link { color: #424C5B !important; }
.Footer__copy { color: #424C5B !important; }
.Footer__logo img { filter: none !important; }

/* Header/Footer logo alignment fix for SP */
.Header__logo img,
.Footer__logo img {
  object-fit: contain;
  object-position: left center;
}
