@charset "UTF-8";

/* =================================================================
   【cssはこのファイルを編集してください】
   ================================================================= */

html {
  font-size: 100%;
  scroll-behavior: smooth;
}
body {
  -webkit-font-smoothing: antialiased;
}
/* 375px - 414px */
/* 414px - 767px */

/* 769px - 1399px */

em {
  font-style: normal;
}
li {
  list-style: none;
}

/* リンクホバー調整 */
a {
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  opacity: 0.6;
}

img {
  width: 100%;
  height: auto;
}

/* スマホではpcクラスは非表示 */
/* PCではspクラスは非表示 */

/* この下からcssを記述して下さい */

.noin-header {
  width: 100%;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 8px 6px 26.5px;
  padding: 0.375rem 0.5rem 0.375rem 1.65625rem;
}
.noin-header__logo {
  width: 30%;
  max-width: 279.37px;
}
.noin-header__logo-img {
}
.noin-header__actions {
  display: flex;
  gap: 18.4px;
  gap: 1.15rem;
  justify-content: flex-end;
}
.noin-header__tel-link {
  max-width: 238.64px;
  width: 51%;
}
.noin-header__tel-img {
}
.noin-header__cta-link {
  max-width: 212.4px;
  width: 46%;
  transition: 0.3s;
  display: inline-block;
}
.noin-header__cta-link:hover {
  transform: scale(1.03);
  opacity: 1;
}
.noin-header__cta-img {
}

.noin-fv {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.noin-fv__main-img {
  display: block;
  width: 100%;
  height: auto;
}

.noin-fv-megane {
  position: absolute;
  width: 9.7619047619vw;
  height: 6.8452380952vw;
  top: 56.2%;
  left: 42.4%;
  transform-origin: right center;
  transform: rotateZ(30deg);
  opacity: 0;
  transition:
    transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
    opacity 0.3s ease;
}

.noin-fv-megane.is-visible {
  transform: rotateZ(0deg);
  opacity: 1;
}

.noin-fv__cta-wrap {
  position: absolute;
  z-index: 3;
  display: flex;
  bottom: 0;
  max-width: 864.89px;
  width: 61%;
  margin-inline: auto;
  align-items: flex-end;
  gap: 12.87px;
  gap: 0.804375rem;
  left: 50%;
  transform: translateX(-50%);
}
.noin-fv__cta-btn {
  transition: 0.3s;
  display: inline-block;
}
.noin-fv__cta-btn:hover {
  transform: scale(1.03);
  opacity: 1;
}
.noin-fv__cta-btn img {
}
.noin-fv__cta-tel {
  transition: 0.3s;
  display: inline-block;
}
.noin-fv__cta-tel:hover {
  transform: scale(1.03);
  opacity: 1;
}
.noin-fv__cta-tel img {
}

.noin-profit {
  position: relative;
  width: 100%;
  background-color: #1151bf;
  padding: 44.68px 0 48.78px;
  padding: 3.3925rem 0 3.04875rem;
  z-index: 2;
}
.noin-profit__inner {
  position: relative;
  margin: 0 auto;
  width: 90%;
}
.noin-profit__inner::before {
  content: "";
  position: absolute;
  top: -9%;
  left: 49%;
  width: 95.810119vw;
  transform: translateX(-50%);
  height: 435px;
  height: 27.1875rem;
  background: url("../img/profit-deco-bg.png") no-repeat center / contain;
  pointer-events: none;
  z-index: 0;
}
.noin-profit__ttl {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #f4f4f4;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 23px;
  margin-bottom: 1.4375rem;
}
.noin-profit__ttl-sub {
  display: block;
  color: #f4f4f4;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 27.6px;
  font-size: 1.725rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 44.16px */
  letter-spacing: 4.416px;
  letter-spacing: 0.276rem;
}
.noin-profit__ttl-main {
  margin-top: 8px;
  margin-top: 0.5rem;
  color: #f4f4f4;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 54px;
  font-size: 3.375rem;
  font-size: min(5.2vw, 3.375rem);
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 86.4px */
  letter-spacing: 7.02px;
  letter-spacing: 0.43875rem;
}
.noin-profit__ttl-main::before,
.noin-profit__ttl-main::after {
  content: "";
  display: inline-block;
  width: 33.35px;
  width: 2.084375rem;
  height: 54px;
  height: 3.375rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  position: absolute;
}
.noin-profit__ttl-main::before {
  background-image: url("../img/profit-bracket-left.png");
  left: -5%;
  bottom: 10%;
}
.noin-profit__ttl-main::after {
  background-image: url("../img/profit-bracket-right.png");
  right: -5%;
  bottom: 10%;
}
.noin-profit__ttl-main em {
  color: #fdf22b;
  font-style: normal;
}
.noin-profit__cards {
  display: flex;
  justify-content: center;
  gap: 36px;
  gap: 2.25rem;
  max-width: 1343px;
  margin-inline: auto;
  position: relative;
}
.noin-profit__card {
  flex: 1;
  position: relative;
}
.noin-profit__card img {
  display: block;
  width: 100%;
  height: auto;
}

.noin-profit__card-megane {
  position: absolute;
  width: 6.9047619048vw !important;
  height: 5.4761904762vw;
  top: 50%;
  right: 0;
  transform-origin: right center;
  transform: rotateZ(90deg);
  opacity: 0;
  transition:
    transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
    opacity 0.3s ease;
}

.noin-profit__card:nth-child(3) .noin-profit__card-megane {
  top: 49%;
  right: -2%;
}

.noin-profit__card-megane.is-visible {
  transform: rotateZ(0deg);
  opacity: 1;
}

.noin-intro {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 190px 0 60px;
  padding: 11.875rem 0 2.75rem;
}

.noin-intro::before {
  content: "";
  background: url(../img/noin-intro-bg.webp) no-repeat;
  background-size: contain;
  width: 100%;
  height: 52.7976190476vw;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.noin-intro__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  width: 90%;
}

/* ── ヘッダー ── */
.noin-intro__header {
  text-align: left;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
  width: 100%;
  max-width: 960px;
  margin-inline: auto;
}
.noin-intro__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  gap: 0.375rem;
  background: #1151bf;
  padding: 6px 24px;
  padding: 0.375rem 1.5rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 21.47px;
  font-size: 1.341875rem;
  color: #fff;
  letter-spacing: 1.93px;
  letter-spacing: 0.120625rem;
  line-height: 1.6;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}
.noin-intro__label-icon {
  width: 25px;
  width: 1.5625rem;
  height: 25px;
  height: 1.5625rem;
  flex-shrink: 0;
  object-fit: contain;
}
.noin-intro__ttl {
  margin: 0;
}
.noin-intro__ttl-main {
  display: block;
  transform: skewX(-4.26deg);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 48.59px;
  font-size: 3.036875rem;
  line-height: 1.5;
  color: #1151bf;
  letter-spacing: 2.43px;
  letter-spacing: 0.151875rem;
}
.noin-intro__ttl-sub {
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 48.59px;
  font-size: 3.036875rem;
  line-height: 1.5;
  color: #1151bf;
  letter-spacing: 1.94px;
  letter-spacing: 0.12125rem;
  margin-top: 4px;
  margin-top: 0.25rem;
  transform: skewX(-4.26deg);
}

/* ── PC カード比較 ── */
.noin-intro__compare {
  margin-bottom: 48px;
  margin-bottom: 3rem;
}
.noin-intro__compare-pc {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  gap: 1.375rem;
}
.noin-intro__card--before {
  max-width: 474px;
  flex: 1;
}
.noin-intro__card--after {
  max-width: 468px;
  flex: 1;
  filter: drop-shadow(0 0 11.12px rgba(73, 73, 73, 0.25));
  filter: drop-shadow(0 0 0.695rem rgba(73, 73, 73, 0.25));
  position: relative;
}
.noin-intro__card img {
}

.noin-intro__card-megane {
  position: absolute;
  width: 107px;
  height: 70px;
  top: 42%;
  right: 18.1%;
  transform-origin: right center;
  transform: rotateZ(90deg);
  opacity: 0;
  transition:
    transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
    opacity 0.3s ease;
}

@media screen and (min-width: 768px) and (max-width: 1062px) {
  .noin-intro__card-megane {
    width: 10.0260416667vw;
    height: 6.5104166667vw;
  }
}
.noin-intro__card-megane.is-visible {
  transform: rotateZ(0deg);
  opacity: 1;
}
/* ── SP カード ── */
.noin-intro__compare-sp img {
  display: block;
  width: 386px;
  width: 24.125rem;
  height: auto;
  margin: 0 auto;
}

/* ── サービス説明 ── */
.noin-intro__desc {
  text-align: center;
}
.noin-intro__desc-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.7;
  color: #0c4cba;
  letter-spacing: 2.4px;
  letter-spacing: 0.15rem;
  margin: 0 0 12px;
  margin: 0 0 0.75rem;
}
.noin-intro__desc-kern--comma {
  letter-spacing: -18.4px;
  letter-spacing: -1.15rem;
}
.noin-intro__desc-kern--jun {
  letter-spacing: -5.4px;
  letter-spacing: -0.3375rem;
}
.noin-intro__desc-kern--paren {
  letter-spacing: -4.4px;
  letter-spacing: -0.275rem;
}
.noin-intro__desc-kern--bracket-to {
  letter-spacing: -3px;
  letter-spacing: -0.1875rem;
}
.noin-intro__desc-kern--bracket {
  letter-spacing: -4.6px;
  letter-spacing: -0.2875rem;
}
.noin-intro__service {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.noin-intro__service-label {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1.7;
  color: #0c4cba;
  letter-spacing: 4.08px;
  letter-spacing: 0.255rem;
}
.noin-intro__tags {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  gap: 0.3125rem;
}
.noin-intro__tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  gap: 0.3125rem;
  padding: 8px 16px;
  padding: 0.5rem 1rem;
  border-radius: 2px;
  border-radius: 0.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 21.45px;
  font-size: 1.340625rem;
  line-height: 1.7;
  color: #fff;
  letter-spacing: 2.57px;
  letter-spacing: 0.160625rem;
  white-space: nowrap;
}
.noin-intro__tag--blue {
  background: #1151bf;
}
.noin-intro__tag--gold {
  background: #cba300;
}
.noin-intro__tag-icon {
  width: 23.33px;
  width: 1.458125rem;
  height: 23.33px;
  height: 1.458125rem;
  flex-shrink: 0;
}

.noin-reason {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 130px 0 0px;
  padding: 8.125rem 0 0rem;
}

/* 背景の楕円（上部丸みを作る装飾） */
.noin-reason::before {
  content: "";
  position: absolute;
  top: 27px;
  top: 1.6875rem;
  left: 50%;
  transform: translateX(-50%);
  width: 7914px;
  width: 494.625rem;
  height: 7914px;
  height: 494.625rem;
  border-radius: 7913.181px;
  border-radius: 494.5738125rem;
  background:
    linear-gradient(
      0deg,
      rgba(28, 86, 148, 0.1) 0%,
      rgba(28, 86, 148, 0.1) 100%
    ),
    linear-gradient(169deg, #002662 6.84%, #001841 12.6%),
    linear-gradient(171deg, #003991 5.46%, #002058 11.26%);
  background-blend-mode: color-dodge, normal, normal;
  pointer-events: none;
}

.noin-reason__inner {
  position: relative;
  z-index: 1;
  max-width: 951.5px;
  width: 90%;
  margin: 0 auto;
}

/* ---- ヘッダー部分 ---- */
.noin-reason__header {
  margin-bottom: 29px;
  margin-bottom: 1.8125rem;
}

.noin-reason__label {
  display: flex;
  align-items: center;
  gap: 10px;
  gap: 0.625rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 17px;
  font-size: 1.0625rem;
  letter-spacing: 3.06px;
  letter-spacing: 0.19125rem;
  color: #ffffff;
  margin-bottom: 3px;
  margin-bottom: 0.1875rem;
  line-height: 1.65;
}

.noin-reason__label-dot {
  display: inline-block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  flex-shrink: 0;
}

.noin-reason__ttl {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 36px;
  font-size: 2.25rem;
  letter-spacing: 3.6px;
  letter-spacing: 0.225rem;
  color: #ffffff;
  line-height: 1.65;
  margin: 0;
  /* 59.4px */
}

/* ---- バッジ群 ---- */
.noin-reason__badges {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  gap: 1.25rem;
}

.noin-reason__badge {
  flex: 1;
}

.noin-badge__img {
}

/* ---- Section ---- */
.noin-problem {
  position: relative;
  width: 100%;
  background-color: #dedede;
  overflow: hidden;
  padding: 154px 0 0;
  padding: 9.625rem 0 0;
  margin-bottom: -171px;
  margin-bottom: -10.6875rem;
}

.noin-problem::before {
  content: "";
  background: url(../img/noin-problem-bg-01.webp) no-repeat;
  background-size: contain;
  width: 100%;
  height: 12.4404761905vw;
  top: 0;
  left: 0;
  position: absolute;
}

/* ---- Inner ---- */
.noin-problem__inner {
  position: relative;
  margin: 0 auto;
  z-index: 3;
  display: grid;
  grid-template-columns: 460px 1fr;
  grid-template-areas:
    "heading worries"
    "illust  worries";
  gap: 0 70px;
  gap: 0 4.375rem;
  max-width: 1161px;
  margin-inline: auto;
  width: 90%;
}

/* ---- 見出しグループ ---- */
.noin-problem__heading-group {
  grid-area: heading;
  display: flex;
  flex-direction: column;
  gap: 17px;
  gap: 1.0625rem;
  z-index: 2;
  padding-top: 31px;
  padding-top: 1.9375rem;
}

.noin-problem__heading-line {
  background-color: #ffffff;
  padding: 7px 25px;
  padding: 0.4375rem 1.5625rem;
  display: inline-block;
}

.noin-problem__heading-line--1 {
  width: 328px;
  width: 20.5rem;
}

.noin-problem__heading-line--2 {
  width: 516px;
  width: 32.25rem;
}

.noin-problem__heading-line--3 {
  width: 396px;
  width: 24.75rem;
}

.noin-problem__heading-txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 35px;
  font-size: 2.1875rem;
  letter-spacing: 4.9px;
  letter-spacing: 0.30625rem;
  color: #1151bf;
  line-height: 1.6;
  white-space: nowrap;
}

/* ---- イラスト ---- */
.noin-problem__illust {
  width: 460px;
  width: 28.75rem;
  width: 27.380952381vw;
  height: 518px;
  height: 32.375rem;
  height: 30.8333333333vw;
  z-index: 2;
  margin-top: 2px;
  margin-top: 0.125rem;
  margin-left: 162px;
  margin-left: 10.125rem;
}

/* ---- Worryリスト ---- */
.noin-problem__worry-list {
  grid-area: worries;
  display: flex;
  flex-direction: column;
  gap: 0;
  z-index: 2;
  margin-top: 221px;
  margin-top: 13.8125rem;
  margin-left: -69px;
  margin-left: -4.3125rem;
}

.noin-problem__worry {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  gap: 0.75rem;
  position: relative;
}

.noin-problem__worry--1 {
  margin-bottom: 37px;
  margin-bottom: 2.3125rem;
}

.noin-problem__worry--2 {
  margin-bottom: 41px;
  margin-bottom: 2.5625rem;
  margin-left: 50px;
  margin-left: 3.125rem;
}

.noin-problem__worry--3 {
  margin-left: 100px;
  margin-left: 6.25rem;
}

/* ---- Worryアイコン ---- */
.noin-problem__worry-icon {
  flex-shrink: 0;
  width: 94px;
  width: 5.875rem;
  padding-top: 26px;
  padding-top: 1.625rem;
}

.noin-problem__worry-icon-img {
  width: 94px;
  width: 5.875rem;
  height: 38px;
  height: 2.375rem;
  object-fit: contain;
}

/* ---- Worry本文 ---- */
.noin-problem__worry-body {
  padding-top: 0;
  width: fit-content;
}

.noin-problem__worry-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 2.24px;
  letter-spacing: 0.14rem;
  color: #001841;
  line-height: 1.6;
  margin-bottom: 2px;
  margin-bottom: 0.125rem;
}

.noin-problem__worry-main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 25px;
  font-size: 1.5625rem;
  letter-spacing: 2.25px;
  letter-spacing: 0.140625rem;
  color: #001841;
  line-height: 1.6;
  margin-bottom: 8px;
  margin-bottom: 0.5rem;
}

.noin-problem__worry-main strong {
  font-weight: 900;
}

.noin-problem__worry-dots {
}

.noin-problem__worry-line {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000000;
}

/* ===== セクション全体 ===== */
.noin-solution {
  background-color: #1151bf;
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 190px 0 0;
  padding: 11.875rem 0 0;
}

.noin-solution::before {
  content: "";
  background: url(../img/noin-solution-bg.webp) no-repeat;
  background-size: contain;
  width: 100%;
  height: 35.4166666667vw;
  position: absolute;
  top: 0;
  left: 0;
}

.noin-solution::after {
  display: none;
}

.noin-solution-deco {
  position: relative;
  z-index: 1;
  pointer-events: none;
  height: 0;
}

.noin-solution-deco::before {
  content: "";
  background: url(../img/noin-problem-bg-02.webp) no-repeat;
  background-size: contain;
  width: 38.330952vw;
  height: 541px;
  height: 32.2023809524vw;
  position: absolute;
  left: 0;
  bottom: -18.511905vw;
}

.noin-solution__inner {
  max-width: 100%;
  margin: 0 auto;
  position: relative;
}

/* ===== タグライン ===== */
.noin-solution__tagline {
  position: relative;
  z-index: 2;
  margin-top: 38px;
  margin-top: 2.375rem;
  margin-bottom: 32px;
  margin-bottom: 2rem;
}

.noin-solution__tagline-img {
  display: block;
  width: 676px;
  width: 42.25rem;
  height: auto;
  margin: 0 auto;
}

/* ===== サブヘッダー ===== */
.noin-solution__sub-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  gap: 0.75rem;
  margin-bottom: 3px;
  margin-bottom: 0.1875rem;
  justify-content: center;
}

.noin-solution__sub-header-group {
  border: 1.4px solid #ffffff;
  border: 0.0875rem solid #ffffff;
  padding: 10px 10px;
  padding: 0.625rem 0.625rem;
}

.noin-solution__nist-label {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  white-space: nowrap;
  letter-spacing: 0.08em;
}

.noin-solution__nist-label span {
  letter-spacing: -5.98px;
  letter-spacing: -0.37375rem;
}

.noin-solution__pc-label {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  white-space: nowrap;
  letter-spacing: 0.08em;
}

.noin-solution__cross {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.6;
}

.noin-solution__de {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
}

/* ===== メインタイトル ===== */
.noin-solution__ttl {
  position: relative;
  z-index: 2;
  color: #f4f4f4;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 63px;
  font-size: 3.9375rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.13em;
  text-align: center;
  margin-bottom: 0;
  white-space: nowrap;
}

.noin-solution__ttl-em {
  color: #fdf22b;
  font-style: normal;
}

/* ===== 円形ビジュアル ===== */
.noin-solution__visual {
  max-width: 1035px;
  margin: -230px auto 0;
  margin: -14.375rem auto 0;
  position: relative;
}

.noin-solution__visual-img {
}

.noin-solution__visual-megane {
  position: absolute;
  width: 119px;
  height: 89px;
  top: 33.6%;
  right: 16.4%;
  transform-origin: right center;
  transform: rotateZ(90deg);
  opacity: 0;
  transition:
    transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
    opacity 0.3s ease;
}

.noin-solution__visual-megane.is-visible {
  transform: rotateZ(0deg);
  opacity: 1;
}

@media screen and (min-width: 768px) and (max-width: 959px) {
  .noin-solution__visual-megane {
    width: 12.890625vw;
    height: 8.984375vw;
  }
}

/* ===== ベネフィット ===== */
.noin-solution__benefit {
  position: relative;
  z-index: 2;
  text-align: center;
  margin-top: -200px;
  margin-top: -12.5rem;
  margin-bottom: 48px;
  margin-bottom: 3rem;
}

/* benefit follows visual in flow */

.noin-solution__benefit-lead {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  white-space: nowrap;
}

.noin-solution__benefit-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  gap: 0.7rem;
  flex-wrap: wrap;
}

.noin-solution__benefit-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  gap: 0.625rem;
  background-color: #ffffff;
  border-radius: 3px;
  border-radius: 0.1875rem;
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  height: 65px;
  height: 4.0625rem;
  box-sizing: border-box;
}

.noin-solution__benefit-badge-icon {
  width: 36px;
  width: 2.25rem;
  height: 36px;
  height: 2.25rem;
  flex-shrink: 0;
}

.noin-solution__benefit-badge-txt {
  color: #1151bf;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 33px;
  font-size: 2.0625rem;
  font-weight: 700;
  line-height: 1.7;
  white-space: nowrap;
  letter-spacing: 0.1633125rem;
}

.noin-solution__benefit-to {
  color: #ffffff;
  font-family: "Zen Kaku Gothic New";
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.6;
}

.noin-solution__benefit-suffix {
  color: #ffffff;
  font-family: "Zen Kaku Gothic New";
  white-space: nowrap;
  font-size: 39.505px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 63.207px */
  letter-spacing: 3.16px;
}

/* ===== CTA ===== */
.noin-solution__cta {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: end;
  gap: 16px;
  gap: 1rem;
  justify-content: center;
  max-width: 868px;
  margin-inline: auto;
  width: 90%;
}
.noin-solution__cta a {
  transition: 0.3s;
}
.noin-solution__cta a:hover {
  transform: scale(1.03);
  opacity: 1;
}

.noin-solution__btn {
  flex: 1;
}

.noin-solution__btn--phone {
  max-width: 385.98px;
}

.noin-solution__btn-img {
  display: block;
  height: auto;
}

.noin-solution__btn .noin-solution__btn-img {
}

.noin-solution__btn--phone .noin-solution__btn-img {
}

.noin-strengths {
  position: relative;
  background-color: #1151bf;
  width: 100%;
  overflow: hidden;
  font-family: "Noto Sans JP", sans-serif;
  box-sizing: border-box;
}

/* 左側の装飾画像（疑似要素化） */
.noin-strengths::before {
  display: none;
}

.noin-strengths-deco {
  position: relative;
  z-index: 1;
  pointer-events: none;
  height: 0;
}

.noin-strengths-deco::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -387px;
  bottom: -23.0357142857vw;
  width: 39.4047619048vw;
  height: 80.119047619vw;
  background: url("../img/strengths-bg-left.webp") no-repeat center / contain;
}

/* Inner */
.noin-strengths__inner {
  position: relative;
  z-index: 2;
  padding: 86px 0 80px;
  padding: 5.375rem 0 5rem;
  max-width: 1556.74px;
  width: 94%;
  margin-inline: auto;
}

.noin-strengths__card {
  position: relative;
  z-index: 1;
  background: #ffffff;
  border-radius: 100px;
  border-radius: 6.25rem;
  padding: 97px 60px 116px;
  padding: 6.0625rem 3.75rem 5.85rem;
  overflow: hidden;
}

/* 右上の装飾画像（疑似要素化） */
.noin-strengths__card::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 562px;
  width: 35.125rem;
  height: 557px;
  height: 34.8125rem;
  background: url("../img/strengths-bg-right.webp") no-repeat center / contain;
  pointer-events: none;
  z-index: 0;
}

.noin-strengths__header {
  position: relative;
  margin-bottom: 10.5px;
  margin-bottom: 0.65625rem;
  margin-inline: auto;
  width: 100%;
  max-width: 944px;
}

.noin-strengths__label {
  display: flex;
  align-items: center;
  gap: 5px;
  gap: 0.3125rem;
  margin-bottom: 21px;
  margin-bottom: 1.3125rem;
}

.noin-strengths__label-dot {
  display: inline-block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  flex-shrink: 0;
}

.noin-strengths__label-text {
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 500;
  color: #1151bf;
  letter-spacing: 0.16em;
  font-family: "Zen Kaku Gothic New";
}

.noin-strengths__subtitle {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  color: #1151bf;
  line-height: 1.65;
  letter-spacing: 0.08em;
  margin-bottom: -6px;
  margin-bottom: -0.375rem;
  font-family: "Zen Kaku Gothic New";
}

.noin-strengths__title {
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 700;
  color: #1151bf;
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-family: "Zen Kaku Gothic New";
}

.noin-strengths__title .no {
  letter-spacing: -9px;
  letter-spacing: -0.5625rem;
}

.noin-strengths__table-img {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 932px;
  height: auto;
  margin-inline: auto;
}

.noin-plus {
  background-color: #1151bf;
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 30px 0 190px;
  padding: 1.875rem 0 15.875rem;
}

.noin-plus::before,
.noin-plus::after {
  content: "";
  position: absolute;
}

.noin-plus::before {
  content: "";
  position: absolute;
  width: 1661px;
  width: 103.8125rem;
  height: 1661px;
  height: 103.8125rem;
  top: 3677px;
  top: 229.8125rem;
  left: calc(50% + 71px);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  pointer-events: none;
  z-index: 0;
}

.noin-plus::after {
  width: 56.4285714286vw;
  height: 107.9166666667vw;
  right: 0;
  top: 13%;
  background: url(../img/noin-plus-deco-01.webp) no-repeat;
  background-size: contain;
}

.noin-plus-deco {
  position: relative;
  z-index: 1;
  pointer-events: none;
  height: 0;
}

.noin-plus-deco::before {
  content: "";
  position: absolute;
  width: 47.2619047619vw;
  height: 82.9761904762vw;
  left: 0;
  bottom: 82.1428571429vw;
  background: url(../img/noin-plus-deco-02.webp) no-repeat center / contain;
}

/* =====================================================
   Header
===================================================== */
.noin-plus__header {
  position: relative;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 8px;
  margin-bottom: 0.5rem;
}

.noin-plus__header::before {
  content: "";
  position: absolute;
  top: 66px;
  top: 4.125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 1189px;
  width: 74.3125rem;
  height: 296px;
  height: 18.5rem;
  background: url("../img/header-deco.webp") no-repeat center / contain;
  z-index: 1;
  pointer-events: none;
}

.noin-plus__header-badge {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 616px;
  width: 38.5rem;
  max-width: 615px;
  z-index: 3;
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
}

.noin-plus__header-sub {
  position: relative;
  z-index: 3;
  color: #f4f4f4;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 34.171px;
  font-size: 2.1356875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 54.674px */
  letter-spacing: 4.442px;
  letter-spacing: 0.277625rem;
  line-height: 1;
}

.noin-plus__header-title {
  position: relative;
  z-index: 3;
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 73.559px;
  font-size: 4.5974375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 117.694px */
  letter-spacing: 9.563px;
  letter-spacing: 0.5976875rem;
  margin: 8px 0 0;
  margin: 0.5rem 0 0;
}

.noin-plus__header-title-yellow {
  color: #fdf22b;
}

/* =====================================================
   Cards container
===================================================== */
.noin-plus__cards {
  position: relative;
  max-width: 1128px;
  width: 90%;
  margin: 0 auto;
  z-index: 8;
}

/* =====================================================
   Card (共通)
===================================================== */
.noin-plus__card {
  position: relative;
  background: #ffffff;
  border-radius: 100px;
  border-radius: 6.25rem;
  padding-bottom: 51px;
  padding-bottom: 3.1875rem;
  margin-bottom: 60px;
  margin-bottom: 3.75rem;
}

.noin-plus__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-repeat: no-repeat;
  background-image: url(../img/card1-head-bg.webp);
  background-size: contain;
  width: 100%;
}
.noin-plus__card--1::before {
  background-image: url("../img/card1-head-bg.webp");
  background-size: cover;
  width: 100%;
  height: 276px;
  height: 17.25rem;
  height: 276px;
  height: 17.25rem;
  border-radius: 100px 100px 0 0;
  border-radius: 6.25rem 6.25rem 0 0;
}
.noin-plus__card--2::before {
  background-image: url("../img/card2-head-bg.webp");
  height: 275px;
  height: 16.75rem;
  background-size: cover;
}
.noin-plus__card--3::before {
  background-image: url("../img/card3-head-bg.webp");
  height: 277px;
  height: 17.3125rem;
  height: 16.85rem;
  background-size: cover;
  border-radius: 6.25rem 6.25rem 0 0;
}

/* Plus 01 / 02 / 03 の番号ラベル */
.noin-plus__card-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  gap: 0.6875rem;
  width: 100%;
  color: #fff;
  font-family: "Zen Kaku Gothic New";
  font-size: 24px;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 165%; /* 39.6px */
  letter-spacing: 4.32px;
  letter-spacing: 0.27rem;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}

.noin-plus__card-num-icon {
  width: 31.797px;
  width: 1.9873125rem;
  height: 31.797px;
  height: 1.9873125rem;
  margin-top: -4px;
  margin-top: -0.25rem;
}

/* Side label (圧倒的安全性 / 金銭的メリット / 極限まで手軽に) */
.noin-plus__card-side {
  position: absolute;
  width: 152px;
  width: 9.5rem;
  height: 152px;
  height: 9.5rem;
  border-radius: 50%;
  background: #ffffff;
  outline: 17px solid rgba(255, 255, 255, 0.45);
  outline: 1.0625rem solid rgba(255, 255, 255, 0.45);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 5;
}

.noin-plus__card-side span {
  color: #bd9800;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 31.302px;
  font-size: 1.956375rem;
  font-style: normal;
  font-weight: 900;
  line-height: 125%; /* 39.127px */
  letter-spacing: 2.191px;
  letter-spacing: 0.1369375rem;
}

.noin-plus__card-side--left {
  left: -30px;
  left: -1.875rem;
  top: -44px;
  top: -2.75rem;
}

.noin-plus__card-side--right {
  right: -39px;
  right: -2.4375rem;
  top: -43px;
  top: -2.6875rem;
}

/* Card head（タイトル＆サブ） — head-bg 画像の上に重ねる */
.noin-plus__card-head {
  position: relative;
  z-index: 3;
  text-align: center;
  padding: 43px 80px 0;
  padding: 2.6875rem 5rem 0;
  margin-bottom: 110px;
  margin-bottom: 6.875rem;
}

.noin-plus__card-sub {
  margin: 0 0 30px;
  margin: 0 0 1.875rem;
  position: relative;
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 22.391px;
  font-size: 1.3994375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 35.826px */
  letter-spacing: 2.239px;
  letter-spacing: 0.1399375rem;
}

.noin-plus__card-sub::after {
  content: "";
  position: absolute;
  bottom: -7px;
  bottom: -0.4375rem;
  left: 50%;
  transform: translateX(-50%);
  width: 52px;
  width: 3.25rem;
  height: 1px;
  height: 0.0625rem;
  background: #ffffff;
}

.noin-plus__card-title {
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 33.391px;
  font-size: min(2.6vw, 2.0869375rem);
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 53.426px */
  letter-spacing: 3.339px;
  letter-spacing: 0.2086875rem;
}

/* Card body */
.noin-plus__card-body {
  position: relative;
  z-index: 3;
  color: #092a5b;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 25.6px */
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
  margin: 0px auto 14px;
  margin: 0rem auto 1.375rem;
  text-align: left;
  width: 82.3%;
}

.noin-plus__em {
  color: #bd9800;
  font-weight: 700;
}

/* =====================================================
   Plus 01 — 圧倒的安全性
===================================================== */
.noin-plus__card1-logos {
  display: block;
  max-width: 929px;
  width: 90%;
  height: auto;
  margin: 0 auto 32px;
  margin: 0 auto 2rem;
  position: relative;
  z-index: 3;
}

.noin-plus__methods {
  display: flex;
  gap: 75px;
  gap: 4.6875rem;
  justify-content: center;
  background-color: #e7effb;
  border-radius: 80px;
  border-radius: 5rem;
  padding: 28px 0px;
  padding: 1.75rem 4rem;
  margin: 16px 0 0px;
  margin: 1rem 0 0rem;
  position: relative;
  z-index: 3;
  max-width: 908px;
  width: 90%;
  margin-inline: auto;
}

.noin-plus__method {
  flex: 1;
  max-width: 303px;
}

.noin-plus__method-head {
  display: flex;
  align-items: center;
  gap: 6px;
  gap: 0.375rem;
  margin-bottom: 5px;
  margin-bottom: 0.3125rem;
}

.noin-plus__method-icon {
  width: 22px;
  width: 1.375rem;
  height: 22px;
  height: 1.375rem;
  flex-shrink: 0;
}

.noin-plus__method-label {
  color: #092a5b;
  font-family: "Zen Kaku Gothic New";
  font-size: 18px;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 28.8px */
  letter-spacing: 1.8px;
  letter-spacing: 0.1125rem;
}

.noin-plus__method-img {
  margin-bottom: 5px;
  margin-bottom: 0.3125rem;
}

.noin-plus__method-desc {
  color: #092a5b;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 22.5px */
  letter-spacing: 1.5px;
  letter-spacing: 0.09375rem;
}

/* =====================================================
   Plus 02 — 金銭的メリット
===================================================== */
.noin-plus__price-list {
  position: relative;
  z-index: 3;
  background-color: #e7effb;
  border-radius: 60px;
  border-radius: 3.75rem;
  padding: 30px 60px 35px;
  padding: 1.875rem 3.75rem 2.1875rem;
  margin: 16px auto 17.6px;
  margin: 1rem auto 1.1rem;
  width: 92%;
  max-width: 936px;
}

.noin-plus__price-head {
  text-align: center;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.noin-plus__price-head-label {
  margin: 0 0 14px;
  margin: 0 0 0.875rem;
  color: #092a5b;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 22.391px;
  font-size: 1.3994375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 35.826px */
  letter-spacing: 2.239px;
  letter-spacing: 0.1399375rem;
}

.noin-plus__price-example-label {
  border-bottom: 1px solid #092a5b;
  border-bottom: 0.0625rem solid #092a5b;
  display: inline-block;
  padding-bottom: 2px;
  padding-bottom: 0.125rem;
  margin: 0;
  color: #092a5b;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 15.391px;
  font-size: 0.9619375rem;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 24.626px */
  letter-spacing: 1.539px;
  letter-spacing: 0.0961875rem;
}

.noin-plus__price-item {
  display: flex;
  align-items: center;
  gap: 16px;
  gap: 1rem;
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 50px;
  border-radius: 3.125rem;
  padding: 18px 57px 18px 38px;
  padding: 1.125rem 3.5625rem 1.125rem 2.375rem;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  position: relative;
}

.noin-plus__price-item:last-child {
  margin-bottom: 0;
}

.noin-plus__price-circle {
  width: 122px;
  width: 7.625rem;
  height: 122px;
  height: 7.625rem;
  flex-shrink: 0;
}

.noin-plus__price-info {
  flex: 1;
}

.noin-plus__price-name {
  color: #092a5b;
  font-family: "Noto Sans JP";
  font-size: 16.391px;
  font-size: 1.0244375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 26.226px */
  letter-spacing: 1.639px;
  letter-spacing: 0.1024375rem;
}

.noin-plus__price-year {
  margin: 0 0 14px;
  margin: 0 0 0.875rem;
  color: #092a5b;
  font-family: "Noto Sans JP";
  font-size: 12.391px;
  font-size: 0.7744375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 19.826px */
  letter-spacing: 1.239px;
  letter-spacing: 0.0774375rem;
}

.noin-plus__price-tag-wrap {
  display: flex;
  align-items: center;
  gap: 6.6px;
  gap: 0.4125rem;
}

.noin-plus__price-tag-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 14.4px;
  font-size: 0.9rem;
  color: #092a5b;
  letter-spacing: 0.05em;
  border: 1px solid #092a5b;
  border: 0.0625rem solid #092a5b;
  padding: 2px 10px;
  padding: 0.125rem 0.625rem;
  border-radius: 2px;
  border-radius: 0.125rem;
  white-space: nowrap;
}

.noin-plus__price-tag-value {
  color: #092a5b;
  font-family: "Noto Sans JP";
  font-size: 14.391px;
  font-size: 0.8994375rem;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 23.026px */
  letter-spacing: 0.863px;
  letter-spacing: 0.0539375rem;
}

.noin-plus__price-arrow {
  color: #092a5b;
  font-size: 26px;
  font-size: 1.625rem;
  flex-shrink: 0;
}

.noin-plus__price-badge {
  width: 298px;
  width: 18.625rem;
  height: auto;
  flex-shrink: 0;
}

.noin-plus__price-note {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #092a5b;
  font-family: "Zen Kaku Gothic New";
  font-size: 14px;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 22.4px */
  letter-spacing: 1.4px;
  letter-spacing: 0.0875rem;
  width: 75%;
  margin-inline: auto;
}

/* =====================================================
   Plus 03 — 極限まで手軽に
===================================================== */
.noin-plus__list-box {
  position: relative;
  z-index: 3;
  background-color: #e7effb;
  border-radius: 60px;
  border-radius: 3.75rem;
  padding: 44.6px 98px 45px 98px;
  padding: 2.7875rem 6.125rem 2.8125rem;
  margin: 16px auto 0;
  margin: 1rem auto 0;
  width: 90.5%;
  max-width: 908px;
}

.noin-plus__list-title {
  position: relative;
  margin: 0 0 24px;
  margin: 0 0 1.5rem;
  padding-bottom: 8px;
  padding-bottom: 0.5rem;
  display: table;
  margin-left: auto;
  margin-right: auto;
  color: #092a5b;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 24.391px;
  font-size: 1.5244375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 39.026px */
  letter-spacing: 2.927px;
  letter-spacing: 0.1829375rem;
}

.noin-plus__list-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 1px;
  height: 0.0625rem;
  background: #092a5b;
}

.noin-plus__group {
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}

.noin-plus__group:last-child {
  margin-bottom: 0;
}

.noin-plus__group-label {
  display: flex;
  align-items: center;
  gap: 8px;
  gap: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 22px;
  font-size: 1.375rem;
  color: #092a5b;
  letter-spacing: 0.05em;
  margin: 0 0 16px;
  margin: 0 0 1rem;
  line-height: 1.4;
}

.noin-plus__group-check {
  display: block;
  width: 23.327px;
  width: 1.4579375rem;
  height: 23.327px;
  height: 1.4579375rem;
  flex-shrink: 0;
}

.noin-plus__items {
  display: flex;
  gap: 8px;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

.noin-plus__items li {
  flex: 1 1 0;
}

.noin-plus__items img {
}

.noin-plus__groups-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  gap: 0.5rem;
}

.noin-plus__group--3items {
  flex: 3;
}

.noin-plus__group--2items {
  flex: 2;
}

.noin-plus__list-note {
  margin: 23px 0 0;
  margin: 1.4375rem 0 0;
  color: #092a5b;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 24px */
  letter-spacing: 1.5px;
  letter-spacing: 0.09375rem;
}

.noin-security {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 130px 0 0px;
  padding: 8.125rem 0 0rem;
  margin-top: -120px;
  margin-top: -7.5rem;
}

.noin-security::before {
  content: "";
  position: absolute;
  top: 27px;
  top: 1.6875rem;
  left: 50%;
  transform: translateX(-50%);
  width: 7914px;
  width: 494.625rem;
  height: 7914px;
  height: 494.625rem;
  border-radius: 7913.181px;
  border-radius: 494.5738125rem;
  background:
    linear-gradient(
      0deg,
      rgba(28, 86, 148, 0.1) 0%,
      rgba(28, 86, 148, 0.1) 100%
    ),
    linear-gradient(169deg, #002662 6.84%, #001841 12.6%),
    linear-gradient(171deg, #003991 5.46%, #002058 11.26%);
  background-blend-mode: color-dodge, normal, normal;
  pointer-events: none;
}

.noin-security__inner {
  position: relative;
  margin: 0 auto;
  z-index: 1;
}

/* 上部ラベル ●ISO Security */
.noin-security__label {
  display: flex;
  align-items: center;
  gap: 7.7px;
  gap: 0.48125rem;
  justify-content: center;
}

.noin-security__label-dot {
  width: 15.898px;
  width: 0.993625rem;
  height: 15.898px;
  height: 0.993625rem;
  display: block;
}

.noin-security__label-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: #ffffff;
  letter-spacing: 3.06px;
  letter-spacing: 0.19125rem;
  white-space: nowrap;
}

/* メインタイトル */
.noin-security__title {
  margin: 0;
  color: #fff;
  font-family: "Zen Kaku Gothic New";
  font-size: 53px;
  font-size: 3.3125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 165%; /* 87.45px */
  letter-spacing: 5.3px;
  letter-spacing: 0.33125rem;
  text-align: center;
}

/* サブラベル（白帯） */
.noin-security__sub {
  width: fit-content;
  margin: 0 auto;
  padding: 6px 14.5px 7px 14.5px;
  padding: 0.375rem 0.90625rem 0.4375rem 0.90625rem;
  background-color: #ffffff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.65;
  color: #011841;
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
  margin-inline: auto;
  margin-bottom: 55px;
  margin-bottom: 3.4375rem;
}

.noin-security__sub-kaku {
}

.noin-security__sub-paren {
}

/* カード群 */
.noin-security__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 46px;
  gap: 2.875rem;
  max-width: 1040px;
  margin-inline: auto;
  justify-content: center;
}

.noin-security__card {
  width: 313.02px;
  border-radius: 20px;
  border-radius: 1.25rem;
}

.noin-security__card:nth-child(3) {
  left: 1047.34px;
  left: 65.45875rem;
}

.noin-security__card-img {
  border-radius: 20px;
  border-radius: 1.25rem;
  width: 100%;
  height: auto;
  margin-bottom: 18px;
  margin-bottom: 1.125rem;
}

/* カード下のキャプション（縦線セパレータ + 見出し2行） */
.noin-security__card-caption {
  /* 607.85 - 353.92 (cards top) */
  margin: 0;
  padding-left: 13px;
  padding-left: 0.8125rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.3;
  color: #ffffff;
  letter-spacing: 2px;
  letter-spacing: 0.125rem;
  border-left: 2px solid #ffffff;
  border-left: 0.125rem solid #ffffff;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

.noin-security__card:nth-child(1) .noin-security__card-caption {
  /* 324.12 - 313.02 (= card1 absolute left 320 → caption is at 324.12 absolute) */
  /* card relative: 324.12 - 320 = 4.12 */
  height: 50.172px;
  height: 3.13575rem;
}

.noin-security__card:nth-child(2) .noin-security__card-caption {
  /* 683.14 - 679.02 */
}

.noin-security__card:nth-child(3) .noin-security__card-caption {
  /* 1051.45 - 1047.34 */
}

/* カード下の説明文 */
.noin-security__card-desc {
  /* 677.98 - 353.92 */
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #ffffff;
  letter-spacing: 0.9px;
  letter-spacing: 0.05625rem;
}

.noin-security__card:nth-child(1) .noin-security__card-desc {
  width: 308.902px;
  width: 19.306375rem;
}

.noin-security__card:nth-child(2) .noin-security__card-desc {
  left: 4.12px;
  left: 0.2575rem;
  width: 318.197px;
  width: 19.8873125rem;
  letter-spacing: 0.75px;
  letter-spacing: 0.046875rem;
}

.noin-security__card:nth-child(3) .noin-security__card-desc {
  left: 4.11px;
  left: 0.256875rem;
  width: 308.902px;
  width: 19.306375rem;
}

.noin-voice {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
  padding: 177px 0 0;
  padding: 11.0625rem 0 0;
}

/* 背景の上うねりカーブ（疑似要素化） */
.noin-voice::before {
  content: "";
  background: url(../img/noin-voice-bg.webp) no-repeat;
  background-size: contain;
  width: 100%;
  height: 18.0952380952vw;
  position: absolute;
  top: 0;
  left: 0;
}

/* 背景の下うねりカーブ（疑似要素化） */
.noin-voice::after {
}

.noin-voice__inner {
  position: relative;
  margin: 0 auto;
  z-index: 2;
  padding: 85px 0 0;
  padding: 5.3125rem 0 0;
  max-width: 1080px;
  width: 90%;
}

/* 背景の大文字テキスト（疑似要素化） */
.noin-voice__inner::before {
  content: "";
  position: absolute;
}

/* ヘッダー部 */
.noin-voice__header {
  position: relative;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

.noin-voice__badge {
  width: 350.5px;
  width: 21.90625rem;
  height: auto;
  display: block;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
  margin-inline: auto;
}

.noin-voice__lead {
  transform: skewX(-4.26deg);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 33.951px;
  font-size: 2.1219375rem;
  line-height: 1.5;
  color: #001841;
  letter-spacing: 1.358px;
  letter-spacing: 0.084875rem;
  text-align: center;
}

.noin-voice__catch {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 77.364px;
  font-size: 4.83525rem;
  line-height: 1.5;
  color: #001841;
  letter-spacing: 3.0946px;
  letter-spacing: 0.1934125rem;
  text-align: center;
  white-space: nowrap;
  transform: skewX(-4.26deg);
}

/* Case 共通 */
.noin-voice__case {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 30px;
  gap: 1.875rem;
  margin: 0 auto 50px;
  margin: 0 auto 3.125rem;
  position: relative;
}

.noin-voice__case:last-child {
  margin-bottom: 0;
}
.noin-voice__case--left {
  flex-direction: row;
}

.noin-voice__case--right {
  flex-direction: row;
  justify-content: end;
}

.noin-voice__case-media {
  position: relative;
  max-width: 463.51px;
  flex: 1;
  height: auto;
  flex-shrink: 0;
}

/* case-deco → 疑似要素化 */
.noin-voice__case-media::before {
  content: "";
  position: absolute;
  width: 252.035px;
  width: 15.7521875rem;
  height: 252.035px;
  height: 15.7521875rem;
  background-color: #f4f4f4;
  border-radius: 50%;
  z-index: -1;
}

.noin-voice__case--left .noin-voice__case-media::before {
  left: -102px;
  left: -6.375rem;
  top: -76px;
  top: -4.75rem;
}

.noin-voice__case--right .noin-voice__case-media::before {
  right: -102px;
  right: -6.375rem;
  top: -87px;
  top: -5.4375rem;
}

.noin-voice__case-img {
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 11.2px;
  border-radius: 0.7rem;
  object-fit: cover;
  display: block;
  z-index: 2;
}

.noin-voice__case-body {
  max-width: 510px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}

.noin-voice__case-label {
  margin: 0 0 8px;
  margin: 0 0 0.5rem;
  display: flex;
  align-items: center;
  gap: 8.2px;
  gap: 0.5125rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 24.502px;
  font-size: 1.531375rem;
  line-height: 1.65;
  color: #1151bf;
  letter-spacing: 3.9204px;
  letter-spacing: 0.245025rem;
  white-space: nowrap;
}

.noin-voice__case-dot {
  width: 22.915px;
  width: 1.4321875rem;
  height: 22.915px;
  height: 1.4321875rem;
  display: block;
}

.noin-voice__case-title {
  margin: 0 0 12px;
  margin: 0 0 0.75rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 29px;
  font-size: 1.8125rem;
  line-height: 1.6;
  color: #1151bf;
  letter-spacing: 2.9px;
  letter-spacing: 0.18125rem;
}

.noin-voice__case-role {
  margin: 0 0 16px;
  margin: 0 0 1rem;
  padding: 0 12.63px;
  padding: 0 0.789375rem;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  height: 31.59px;
  height: 1.974375rem;
  background-color: #1151bf;
  border-radius: 2px;
  border-radius: 0.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  color: #ffffff;
  letter-spacing: 1.28px;
  letter-spacing: 0.08rem;
  white-space: nowrap;
}

.noin-voice__case-desc {
  width: 500px;
  width: 31.25rem;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #000a1d;
  letter-spacing: 0.9px;
  letter-spacing: 0.05625rem;
}

.noin-nationwide {
  position: relative;
  width: 100%;
  background-color: #1151bf;
  overflow: hidden;
  padding: 27px 0 100px;
  padding: 1.6875rem 0 6.25rem;
}

.noin-nationwide::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1262px;
  top: 78.875rem;
  width: 816px;
  width: 51rem;
  height: 675px;
  height: 42.1875rem;
  background-image: url(../img/nationwide-bg-deco-left.webp);
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 0;
}

.noin-nationwide::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 35.7142857143vw;
  background: url(../img/noin-nationwide-bg.webp) no-repeat;
  background-size: contain;
}

.noin-nationwide__inner {
  position: relative;
  max-width: 1680px;
  margin: 0 auto;
  padding: 249px 0 160px;
  padding: 15.5625rem 0 10rem;
  z-index: 1;
}

/* ===== Header (badge + heading) ===== */
.noin-nationwide__header {
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

.noin-nationwide__badge {
  display: block;
  width: 515px;
  width: 32.1875rem;
  height: 102px;
  height: 6.375rem;
  margin: 0 auto 24px;
  margin: 0 auto 1.5rem;
}

.noin-nationwide__heading {
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  color: #ffffff;
  margin: 0;
}

.noin-nationwide__heading-lead {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 34.171px;
  font-size: 2.1356875rem;
  color: #f4f4f4;
  letter-spacing: 4.4423px;
  letter-spacing: 0.27764375rem;
  line-height: 1.6;
}

.noin-nationwide__heading-main {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 62.355px;
  font-size: 3.8971875rem;
  font-style: normal;
  letter-spacing: -0.6235px;
  letter-spacing: -0.03896875rem;
  line-height: 1.6;
  color: #ffffff;
  white-space: nowrap;
}

.noin-nationwide__heading-note {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 15.355px;
  font-size: 0.9596875rem;
  color: #ffffff;
  vertical-align: top;
  letter-spacing: 11.8465px;
  letter-spacing: 0.74040625rem;
  margin-top: 15px;
  margin-top: 0.9375rem;
  display: inline-block;
}

.noin-nationwide__heading-accent {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 62.355px;
  font-size: 3.8971875rem;
  font-weight: 700;
  font-style: normal;
  color: #fdf22b;
  letter-spacing: 5.6119px;
  letter-spacing: 0.35074375rem;
  line-height: 1.6;
}

/* ===== Body (japan map + copy) ===== */
.noin-nationwide__body {
  display: flex;
  gap: 25px;
  gap: 1.5625rem;
  max-width: 961px;
  width: 100%;
  margin-inline: auto;
  margin-bottom: 120px;
  margin-bottom: 7.5rem;
}

.noin-nationwide__japan {
  width: 436px;
  width: 27.25rem;
  height: 402px;
  height: 25.125rem;
  flex-shrink: 0;
}

.noin-nationwide__copy {
  width: 502px;
  width: 31.375rem;
  flex-shrink: 0;
}

.noin-nationwide__pain {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 20.884px;
  font-size: 1.30525rem;
  line-height: 1.8;
  letter-spacing: 1.6707px;
  letter-spacing: 0.10441875rem;
  color: #ffffff;
  margin: 0 0 9px;
  margin: 0 0 0.5625rem;
  display: inline-block;
  border-bottom: 1px solid;
  border-bottom: 0.0625rem solid;
  width: fit-content;
}

.noin-nationwide__pain--1 {
  width: fit-content;
}

.noin-nationwide__pain--2 {
  display: block;
}

.noin-nationwide__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 25px;
  font-size: 1.5625rem;
  line-height: 1.8;
  letter-spacing: 2px;
  letter-spacing: 0.125rem;
  color: #ffffff;
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
}

.noin-nationwide__lead-accent {
  font-weight: inherit;
  font-size: inherit;
}

.noin-nationwide__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 1.44px;
  letter-spacing: 0.09rem;
  color: #ffffff;
  width: 486px;
  width: 30.375rem;
  margin: 0 0 24px;
  margin: 0 0 1.5rem;
}

.noin-nationwide__steps {
  display: block;
  width: 88.3%;
  margin: 0 0 13px;
  margin: 0 0 0.8125rem;
}

.noin-nationwide__note {
  margin: 0;
  color: #fff;
  font-family: "Zen Kaku Gothic New";
  font-size: 11.355px;
  font-size: 0.7096875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 15.897px */
  letter-spacing: 0.681px;
  letter-spacing: 0.0425625rem;
  width: 325px;
  width: 20.3125rem;
}

.noin-cta {
  max-width: 1133px;
  width: 83%;
  margin: 0 auto;
  padding: 61px 0 62px;
  padding: 3.8125rem 0 3.875rem;
  background-color: #ffffff;
  border-radius: 9.465px;
  border-radius: 0.5915625rem;
  box-shadow: inset 0 0 0 60px rgba(255, 255, 255, 0.17);
  box-shadow: inset 0 0 0 3.75rem rgba(255, 255, 255, 0.17);
  box-sizing: border-box;
  overflow: hidden;
  outline: 60.573px solid rgba(255, 255, 255, 0.17);
  outline: 3.7858125rem solid rgba(255, 255, 255, 0.17);
  z-index: 2;
  position: relative;
}

.noin-cta__inner {
  position: relative;
  width: 90.26%;
  max-width: 864px;
  margin-inline: auto;
}

.noin-cta__inner::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -115px;
  top: -7.1875rem;
  width: 1155px;
  width: 72.1875rem;
  height: 171px;
  height: 10.6875rem;
  background: url("../img/nationwide-pc-reuse-service.webp") no-repeat center /
    contain;
  opacity: 0.65;
  pointer-events: none;
  z-index: 0;
}

.noin-cta__megane {
  position: absolute;
  right: -9.7vw;
  top: 26%;
  width: min(21vw, 21.0625rem);
  height: 13.8125rem;
  pointer-events: none;
  z-index: 4;
  transform-origin: right center;
  transform: rotateZ(90deg);
  opacity: 0;
  transition:
    transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
    opacity 0.3s ease;
}

.noin-cta__megane img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.noin-cta__megane.is-visible {
  transform: rotateZ(0deg);
  opacity: 1;
}

.noin-cta__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  gap: 0.75rem;
  margin: 0 0 41px;
  margin: 0 0 2.5625rem;
  padding: 0;
  z-index: 2;
  position: relative;
  justify-content: center;
}

.noin-cta__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px 16px 8px;
  padding: 0.4375rem 1rem 0.5rem;
  background-color: #1151bf;
  border-radius: 2.28px;
  border-radius: 0.1425rem;
  gap: 7px;
  gap: 0.4375rem;
  box-sizing: border-box;
}

.noin-cta__tag-icon {
  display: block;
  width: 27px;
  width: 1.6875rem;
  height: 27px;
  height: 1.6875rem;
  flex-shrink: 0;
}

.noin-cta__tag-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 24.456px;
  font-size: 1.5285rem;
  line-height: 1.7;
  letter-spacing: 2.9348px;
  letter-spacing: 0.183425rem;
  color: #ffffff;
  white-space: nowrap;
}

.noin-cta__copy {
  display: flex;
  align-items: center;
  gap: 8px;
  gap: 0.5rem;
  margin: 0 0 -1px;
  margin: 0 0 -0.0625rem;
  white-space: nowrap;
}

.noin-cta__copy-lead,
.noin-cta__copy-tail {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 27.151px;
  font-size: 1.6969375rem;
  line-height: 1.5;
  letter-spacing: 1.086px;
  letter-spacing: 0.067875rem;
  color: #1151bf;
  transform: skewX(-4.26deg);
}

.noin-cta__copy-box {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 27.151px;
  font-size: 1.6969375rem;
  line-height: 1.5;
  letter-spacing: 1.6291px;
  letter-spacing: 0.10181875rem;
  color: #1151bf;
  border: 1.01px solid #1151bf;
  border: 0.063125rem solid #1151bf;
  padding: 4px 12px;
  padding: 0.25rem 0.75rem;
  transform: skewX(-4.26deg);
}

.noin-cta__heading {
  margin: 0 0 35px;
  margin: 0 0 2.1875rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 66.864px;
  font-size: 4.179rem;
  line-height: 1.6;
  letter-spacing: 6.6864px;
  letter-spacing: 0.4179rem;
  white-space: nowrap;
  z-index: 2;
}

.noin-cta__heading-main {
  color: #1151bf;
}

.noin-cta__heading-accent {
  font-style: normal;
  color: #bd9800;
}

.noin-cta__btn-group {
  display: flex;
  gap: 11px;
  gap: 0.6875rem;
  align-items: end;
}

.noin-cta__btn {
  display: block;
  text-decoration: none;
  line-height: 0;
  transition: 0.3s;
}
.noin-cta__btn:hover {
  transform: scale(1.03);
  opacity: 1;
}

.noin-cta__btn-img {
  display: block;
  width: 100%;
  height: auto;
}

/* 親セクション固有の差分 */
.noin-plus .noin-cta {
  margin-top: 134px;
  margin-top: 8.375rem;
}

/* SP レスポンシブ */

.noin-flow {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 150px 0 100px;
  padding: 9.375rem 0 6.25rem;
  padding-bottom: 100px;
  padding-bottom: 6.25rem;
  margin-top: -140px;
  margin-top: -8.75rem;
}

.noin-flow::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 27px;
  top: 1.6875rem;
  width: 7913px;
  width: 494.5625rem;
  height: 7913px;
  height: 494.5625rem;
  border-radius: 50%;
  background-color: #d8e2f1;
  pointer-events: none;
  z-index: 0;
}

.noin-flow__inner {
  position: relative;
  max-width: 1070px;
  width: 90%;
  margin: 0 auto;
  z-index: 1;
}

.noin-flow__heading-group {
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.noin-flow__label {
  display: flex;
  align-items: center;
  gap: 5px;
  gap: 0.3125rem;
  height: 28px;
  height: 1.75rem;
}

.noin-flow__label-dot {
  display: block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
}

.noin-flow__label-txt {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.65;
  letter-spacing: 3.06px;
  letter-spacing: 0.19125rem;
  color: #0847b4;
}

.noin-flow__ttl {
  margin-top: 4px;
  margin-top: 0.25rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 46px;
  font-size: 2.875rem;
  line-height: 1.65;
  letter-spacing: 4.6px;
  letter-spacing: 0.2875rem;
  color: #0847b4;
  white-space: nowrap;
}

.noin-flow__step-line {
  display: block;
  max-width: 987px;
  width: 92%;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem;
}

.noin-flow__cards {
  max-width: 1070px;
  display: flex;
  gap: 25px;
  gap: 1.5625rem;
  margin-bottom: 107px;
  margin-bottom: 6.6875rem;
}

.noin-flow__sp-badges {
  display: none;
}

.noin-flow__step-card {
  flex: 1;
  padding: 28px 26px 0;
  padding: 1.75rem 1.625rem 0;
  background-color: #ffffff;
  border-radius: 20px;
  border-radius: 1.25rem;
  box-sizing: border-box;
  text-align: center;
  min-height: 190px;
}

.noin-flow__step-ttl {
  margin-bottom: 14px;
  margin-bottom: 0.875rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 32px;
  line-height: 2rem;
  letter-spacing: 1.05px;
  letter-spacing: 0.065625rem;
  color: #0847b4;
}

.noin-flow__step-txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.5;
  letter-spacing: 0.75px;
  letter-spacing: 0.046875rem;
  color: #001841;
  text-align: left;
}

.noin-flow__info {
  max-width: 1058px;
  margin-inline: auto;
  padding: 36px 40px 29px;
  padding: 2.25rem 2.5rem 1.8125rem;
  background-color: #fff;
  outline: 41px solid rgba(255, 255, 255, 0.16);
  outline: 2.5625rem solid rgba(255, 255, 255, 0.16);
  border-radius: 20px;
  border-radius: 1.25rem;
  box-sizing: border-box;
  text-align: center;
}

.noin-flow__info-ttl {
  margin-bottom: 17.7px;
  margin-bottom: 1.10625rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 27px;
  font-size: 1.6875rem;
  line-height: 32px;
  line-height: 2rem;
  color: #0847b4;
}

.noin-flow__info-ttl span {
  letter-spacing: -8.36px;
  letter-spacing: -0.5225rem;
}

.noin-flow__info-lead {
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.5;
  letter-spacing: 0.75px;
  letter-spacing: 0.046875rem;
  color: #001841;
}

.noin-flow__info-img {
  display: block;
  width: 885px;
  width: 55.3125rem;
  margin: 0 auto;
}

.noin-faq {
  position: relative;
  width: 100%;
  background-image: url("../img/faq-bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1680px auto;
  background-size: 105rem auto;
  font-family: "Noto Sans JP", sans-serif;
  padding: 172px 0 0px;
  padding: 10.75rem 0 0rem;
}

.noin-faq__inner {
  position: relative;
  max-width: 1007px;
  margin-inline: auto;
  width: 90%;
}

.noin-faq__heading-group {
  width: 341px;
  width: 21.3125rem;
  margin-bottom: 28px;
  margin-bottom: 1.75rem;
}

.noin-faq__label {
  display: flex;
  align-items: center;
  gap: 7px;
  gap: 0.4375rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 20.274px;
  font-size: 1.267125rem;
  line-height: 1.65;
  letter-spacing: 3.2438px;
  letter-spacing: 0.2027375rem;
  color: #1151bf;
  margin-bottom: 6px;
  margin-bottom: 0.375rem;
  margin-left: 12px;
  margin-left: 0.75rem;
}

.noin-faq__dot {
  width: 19px;
  width: 1.1875rem;
  height: 19px;
  height: 1.1875rem;
}

.noin-faq__ttl {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 48.59px;
  font-size: 3.036875rem;
  line-height: 1.5;
  color: #1151bf;
  letter-spacing: 0;
}

.noin-faq__list {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 16px;
  column-gap: 0.9375rem;
  row-gap: 25px;
  row-gap: 1.5625rem;
}

.noin-faq-card {
  max-width: 490px;
  min-height: 12.5625rem;
  flex: 1;
  background-color: #f0f2f6;
  border-radius: 30px;
  border-radius: 1.875rem;
}

.noin-faq-card__head {
  width: 100%;
  height: 71px;
  min-height: 4.4375rem;
  background-color: #1151bf;
  border-top-left-radius: 30px;
  border-top-left-radius: 1.875rem;
  border-top-right-radius: 30px;
  border-top-right-radius: 1.875rem;
  display: flex;
  align-items: center;
  padding: 1.1rem 1.3125rem;
  gap: 12px;
  gap: 0.75rem;
}

.noin-faq-card__badge {
  flex: none;
  width: 33px;
  width: 2.0625rem;
  height: 33px;
  height: 2.0625rem;
  border-radius: 50%;
  background-color: #ffffff;
  color: #1151bf;
  font-family: "Zen Kaku Gothic New";
  font-weight: 900;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 33px;
  line-height: 1.9625rem;
  text-align: center;
}

.noin-faq-card__question {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 16.274px;
  font-size: 1.017125rem;
  line-height: 1.35;
  letter-spacing: 2.1156px;
  letter-spacing: 0.132225rem;
  color: #ffffff;
}

.noin-faq-card--6 .noin-faq-card__question {
  letter-spacing: 1.5px;
  letter-spacing: 0.09375rem;
}

.noin-faq-card__body {
  padding: 19px 27px 15px 27px;
  padding: 1.1875rem 1.6875rem 0.9375rem 1.6875rem;
}

.noin-faq-card__answer {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.75px;
  letter-spacing: 0.046875rem;
  color: #001841;
}

.noin-contact {
  position: relative;
  width: 100%;
  background: #1151bf;
  overflow: hidden;
  padding: 190px 0 0;
  padding: 11.875rem 0 0;
}

/* 上部右側の波背景（白い湾曲） */
.noin-contact::before {
  content: "";
  background: url(../img/noin-contact-bg.webp) no-repeat;
  background-size: contain;
  width: 100%;
  height: 25.8928571429vw;
  position: absolute;
  top: 0;
  left: 0;
}

/* 下部の波背景（灰色の湾曲） */
.noin-contact::after {
  content: "";
  position: absolute;
}

.noin-contact__inner {
  position: relative;
  max-width: 1680px;
  margin: 0 auto;
  padding-top: 100px;
  padding-top: 6.25rem;
  padding-bottom: 54px;
  padding-bottom: 3.375rem;
  z-index: 2;
}

.noin-contact__heading-group {
  position: relative;
  width: 812px;
  width: 50.75rem;
  margin: 0 auto;
  text-align: center;
}

.noin-contact__badge {
  grid-area: 1 / 1;
  display: block;
  width: 638px;
  width: 39.875rem;
  height: 79px;
  height: 4.9375rem;
}

.noin-contact__badge-text {
  width: 100%;
  margin: 0;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 20.713px;
  font-size: 1.2945625rem;
  font-style: normal;
  font-weight: 900;
  line-height: 160%; /* 33.14px */
  letter-spacing: 0.207px;
  letter-spacing: 0.0129375rem;
  color: #1151bf;
  background: url(../img/contact-badge-pc.webp) no-repeat;
  background-size: 100% 100%;
  padding: 18px 16.5px 29px;
  padding: 0.925rem 0.83125rem 1.4125rem 1.13125rem;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 1.1rem;
}

.noin-contact__ttl {
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 43px;
  font-size: 2.6875rem;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 64.5px */
  letter-spacing: 2.58px;
  letter-spacing: 0.16125rem;
  margin: 0 0 21px;
  margin: 0 0 1.3125rem;
}

.noin-contact__desc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.85;
  letter-spacing: 0.9px;
  letter-spacing: 0.05625rem;
  color: #ffffff;
  text-align: center;
  margin: 0;
}

/* ========== バリデーションエラー ========== */

.noin-contact__errors {
  width: 812px;
  width: 50.75rem;
  margin: 32px auto 0;
  margin: 2rem auto 0;
  padding: 20px 28px;
  padding: 1.25rem 1.75rem;
  background-color: #fff3f3;
  border-left: 4px solid #e12d2d;
  border-radius: 8px;
  border-radius: 0.5rem;
  box-sizing: border-box;
}

.noin-contact__error {
  margin: 6px 0;
  margin: 0.375rem 0;
  color: #e12d2d;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.7;
}

.noin-contact__error:first-child {
  margin-top: 0;
}
.noin-contact__error:last-child {
  margin-bottom: 0;
}

.noin-contact-field__error {
  margin: 8px 0 0;
  margin: 0.5rem 0 0;
  color: #e12d2d;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

/* ========== フォームカード ========== */

.noin-contact__form {
  position: relative;
  width: 812px;
  width: 50.75rem;
  margin: 43px auto 0;
  margin: 2.6875rem auto 0;
  padding: 68px 101px 60px;
  padding: 4.25rem 6.3125rem 3.75rem;
  background-color: #ffffff;
  border-radius: 100px;
  border-radius: 6.25rem;
  box-sizing: border-box;
}

/* ========== フィールド共通 ========== */

.noin-contact-field {
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
}

.noin-contact-field__label-row {
  display: flex;
  align-items: center;
  gap: 6px;
  gap: 0.375rem;
  margin-bottom: 11px;
  margin-bottom: 0.6875rem;
}

.noin-contact-field__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.3;
  letter-spacing: 1.08px;
  letter-spacing: 0.0675rem;
  color: #484848;
}

.noin-contact-field__required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  width: 2.3125rem;
  height: 20px;
  height: 1.25rem;
  background-color: #e12d2d;
  border-radius: 2px;
  border-radius: 0.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.3;
  letter-spacing: 0.84px;
  letter-spacing: 0.0525rem;
  color: #ffffff;
}

.noin-contact-field__required--optional {
  background-color: #0476d8;
}

.noin-contact-field__note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.3;
  letter-spacing: 0.78px;
  letter-spacing: 0.04875rem;
  color: #7e7e7e;
  margin-left: 6px;
  margin-left: 0.375rem;
}

.noin-contact-field__input,
.noin-contact-field__select,
.noin-contact-field__textarea {
  display: block;
  width: 609px;
  width: 38.0625rem;
  height: 64px;
  height: 4rem;
  padding: 0 22px;
  padding: 0 1.375rem;
  background-color: #ffffff;
  border-width: 1px;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #c1c1c1;
  border-radius: 10px;
  border-radius: 0.625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.8;
  letter-spacing: 1.02px;
  letter-spacing: 0.06375rem;
  color: #484848;
  box-sizing: border-box;
  outline: none;
}

.noin-contact-field__input::placeholder,
.noin-contact-field__textarea::placeholder {
  color: #e1e1e1;
  opacity: 1;
}

/* 都道府県セレクトのみ幅違い */
.noin-contact-field--pref .noin-contact-field__select {
  width: 299px;
  width: 17.4375rem;
  border-color: #c1c1c1;
  border-radius: 10px;
  border-radius: 0.625rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='13' height='10' viewBox='0 0 13 10'><path d='M6.5 10L0 0h13z' fill='%23c1c1c1'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-position: right 1rem center;
  color: #e1e1e1;
}

.noin-contact-field__pref-row {
  display: flex;
  align-items: flex-end;
  gap: 0.35rem;
}

.noin-contact-field__pref-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.709375rem;
  line-height: 1.5;
  letter-spacing: 0.0425625rem;
  color: #7e7e7e;
  padding-bottom: 0.2rem;
}

.noin-contact-field__select.is-selected {
  color: #484848;
}

.noin-contact-field__select option {
  color: #484848;
}

/* textareaのみ高さ違い */
.noin-contact-field__textarea {
  width: 609px;
  width: 38.0625rem;
  height: 165px;
  height: 10.3125rem;
  border-color: #c1c1c1;
  padding: 17px 22px;
  padding: 1.0625rem 1.375rem;
  line-height: 1.8;
  resize: none;
}

/* ========== 対象機器チェックボックス ========== */

.noin-contact-field__check-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  gap: 0.375rem 0.875rem;
  padding-top: 8px;
  padding-top: 0.5rem;
}

.noin-contact-field__check-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  gap: 0.375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.3;
  letter-spacing: 1.02px;
  letter-spacing: 0.06375rem;
  color: #636363;
  cursor: pointer;
}

.noin-contact-field__check-item input[type="checkbox"] {
  position: relative;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #c1c1c1;
  border: 0.0625rem solid #c1c1c1;
  border-radius: 2px;
  border-radius: 0.125rem;
  background-color: #ffffff;
  cursor: pointer;
}

.noin-contact-field__check-item input[type="checkbox"]:checked {
  background-color: #1151bf;
  border-color: #1151bf;
}

.noin-contact-field__check-item input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.25rem;
  height: 0.5rem;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -60%) rotate(45deg);
}

/* ========== 送信ボタン ========== */

.noin-contact__submit-wrap {
  margin-top: 25px;
  margin-top: 1.5625rem;
  text-align: center;
}

.noin-contact__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 285.77px;
  width: 17.860625rem;
  height: 75.53px;
  height: 4.720625rem;
  background-color: #d95d05;
  border: none;
  border-radius: 55.514px;
  border-radius: 3.469625rem;
  box-shadow: 0 5px 0 #994000;
  box-shadow: 0 0.3125rem 0 #994000;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-size: 19.891px;
  font-size: 1.2431875rem;
  line-height: 1;
  letter-spacing: 1.9891px;
  letter-spacing: 0.12431875rem;
  color: #ffffff;
  text-decoration: none;
  padding-left: 10px;
  padding-left: 0.625rem;
  cursor: pointer;
  transition: 0.3s;
}
.noin-contact__submit:hover {
  transform: scale(1.03);
  opacity: 1;
}

.noin-contact__submit-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-left: 14px;
  margin-left: 0.875rem;
  font-family: "Arial", sans-serif;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}

.reCAPTCHA-text {
  font-size: 0.73rem;
  color: #555;
  margin-top: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.grecaptcha-badge {
  visibility: hidden;
}

/* ========== フッター ========== */

.noin-contact__footer {
  padding: 194px 0 53px;
  padding: 12.125rem 0 3.3125rem;
  background: url(../img/footer-bg.webp) no-repeat;
  background-size: 100% 306px;
  background-size: 100% 19.125rem;
  width: 100%;
}

.noin-contact__footer-link {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16.5px;
  font-size: 1.03125rem;
  line-height: 1.6;
  letter-spacing: 0.99px;
  letter-spacing: 0.061875rem;
  color: #1151bf;
  text-align: center;
  display: block;
  margin-bottom: 15.8px;
  margin-bottom: 0.9875rem;
}

.noin-contact__copyright {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1.6;
  letter-spacing: 0.66px;
  letter-spacing: 0.04125rem;
  color: #1151bf;
  margin: 0;
  text-align: center;
}

/* ポップアップ */
#securityCard1 {
  cursor: pointer;
}

body.no-scroll {
  overflow: hidden;
}

.popup-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  justify-content: center;
  align-items: center;
}

.popup-overlay.active {
  display: flex;
}

.popup-container {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
}

.popup-close {
  position: absolute;
  top: -40px;
  right: -20px;
  background: none;
  border: none;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
  line-height: 1;
  padding: 0;
}

.popup-image {
  max-width: 100%;
  max-height: 85vh;
  display: block;
}

/* ============ メディアクエリ ============ */

@media (max-width: 414px) {
  html {
    /* 同倍率 */
    font-size: 3.8647342995vw;
  }
}

@media (min-width: 414px) and (max-width: 767.98px) {
  html {
    font-size: calc((100vw - 414px) / 353 * 5 + 16px);
    font-size: 3.8647342995vw;
  }
}

@media (min-width: 768px) and (max-width: 1399px) {
  html {
    font-size: calc((100vw - 768px) / 632 * 3 + 13px);
  }
}

@media (max-width: 767.98px) {
  .pc {
    display: none !important;
    pointer-events: none;
  }

  .noin-profit {
    padding: 40px 0 40px;
    padding: 1.6rem 0 2.9rem;
    overflow: hidden;
  }
  .noin-profit__inner::before {
    width: 62.5rem;
    left: 129%;
    top: -2%;
  }

  .noin-profit__inner::after {
    content: "";
    background: url(../img/noin-profit-deco-sp.webp) no-repeat;
    background-size: contain;
    width: 7.6875rem;
    height: 136px;
    height: 8.5rem;
    position: absolute;
    bottom: -46px;
    bottom: -2.875rem;
    right: -19px;
    right: -1.1875rem;
  }
  .noin-profit__ttl-sub {
    color: #f4f4f4;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 16.6px;
    font-size: 1.0375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 26.56px */
    letter-spacing: 2.158px;
    letter-spacing: 0.134875rem;
  }
  .noin-profit__ttl-main {
    display: inline-flex;
    align-items: flex-end;
    justify-content: end;
    gap: 0;
    margin-top: 8px;
    margin-top: 0.1rem;
    white-space: nowrap;
    color: #f4f4f4;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 18.322px;
    font-size: 1.145125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 29.314px */
    letter-spacing: 0.733px;
    letter-spacing: 0.0458125rem;
  }

  .noin-profit__ttl-main em {
    color: #fdf22b;
    font-family: "Zen Kaku Gothic New";
    font-size: 29.322px;
    font-size: 1.832625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 133%;
    letter-spacing: 1.173px;
    letter-spacing: 0.0733125rem;
  }
  .noin-profit__ttl-main span {
    font-size: 29.322px;
    font-size: 1.832625rem;
  }

  .noin-profit__ttl-main::before,
  .noin-profit__ttl-main::after {
    width: 0.96875rem;
    height: 1.24125rem;
    bottom: 0.5375rem;
  }
  .noin-profit__cards {
    flex-direction: column;
    gap: 28.5px;
    gap: 1.78125rem;
    margin-top: 24px;
    margin-top: 1.5rem;
    width: 342px;
    width: 21.375rem;
  }
  .noin-profit__card {
    width: 100%;
  }

  .noin-profit__card-megane {
    width: 19.904762vw !important;
    height: 5.4761904762vw;
  }

  .noin-intro {
    padding: 48px 0 40px;
    padding: 5.8rem 0 2.5rem;
  }
  .noin-intro__header {
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
    width: 88%;
  }
  .noin-intro__label {
    color: #fff;
    font-family: "Zen Kaku Gothic New";
    font-size: 17.012px;
    font-size: 1.06325rem;
    font-style: normal;
    font-weight: 500;
    line-height: 145%; /* 24.667px */
    letter-spacing: 1.531px;
    letter-spacing: 0.0956875rem;
    gap: 10px;
    gap: 0.625rem;
    padding: 6px 28px 8px 11px;
    padding: 0.375rem 1.75rem 0.5rem 0.6875rem;
  }
  .noin-intro__label-icon {
    width: 24.74px;
    width: 1.54625rem;
    height: 27px;
    height: 1.6875rem;
  }
  .noin-intro__ttl-main {
    font-size: 32px;
    font-size: 2rem;
    letter-spacing: 1px;
    letter-spacing: 0.0625rem;
    height: auto;
    white-space: normal;
    line-height: 1.4;
  }
  .noin-intro__ttl-sub {
    font-size: 18.4px;
    font-size: 1.15rem;
    letter-spacing: 0.5px;
    letter-spacing: 0.03125rem;
  }
  .noin-intro__compare {
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
  }
  .noin-intro__inner {
    width: 100%;
  }

  .noin-intro__card-megane {
    width: 5.4375rem !important;
    height: 3.625rem !important;
    top: 65.4%;
    right: 19.2%;
  }
  .noin-intro__desc-text {
    font-size: 15px;
    font-size: 0.9375rem;
    letter-spacing: 1px;
    letter-spacing: 0.0625rem;
    line-height: 1.7;
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
    font-weight: 500;
  }
  .noin-intro__service {
    gap: 4px;
    gap: 0.25rem;
  }
  .noin-intro__service-label {
    font-size: 27.04px;
    font-size: 1.69rem;
    letter-spacing: 2.5px;
    letter-spacing: 0.15625rem;
  }
  .noin-intro__tags {
    gap: 4px;
    gap: 0.25rem;
  }
  .noin-intro__tag {
    padding: 6.4px 10px;
    padding: 0.4rem 0.625rem;
    font-size: 17.44px;
    font-size: 1.09rem;
    letter-spacing: 1.5px;
    letter-spacing: 0.09375rem;
    gap: 4px;
    gap: 0.25rem;
  }
  .noin-intro__tag-icon {
    width: 19.04px;
    width: 1.19rem;
    height: 19.04px;
    height: 1.19rem;
  }

  .noin-reason {
    padding: 56px 0 18px;
    padding: 3.5rem 0 1.125rem;
  }

  .noin-reason::before {
    top: 15px;
    top: 0.9375rem;
    width: 1425px;
    width: 89.0625rem;
    height: 1425px;
    height: 89.0625rem;
    background:
      linear-gradient(
        0deg,
        rgba(28, 86, 148, 0.1) 0%,
        rgba(28, 86, 148, 0.1) 100%
      ),
      linear-gradient(154deg, #002662 14.34%, #001841 23.84%),
      linear-gradient(171deg, #003991 5.46%, #002058 11.26%);
    background-blend-mode: color-dodge, normal, normal;
  }

  .noin-reason__inner {
    width: 100%;
  }

  .noin-reason__header {
    margin-bottom: 38px;
    margin-bottom: 1.41375rem;
    width: 83%;
    margin-inline: auto;
  }

  .noin-reason__label {
    font-size: 15px;
    font-size: 0.9375rem;
    letter-spacing: 2.75px;
    letter-spacing: 0.171875rem;
    gap: 8px;
    gap: 0.5rem;
    margin-bottom: 6px;
    margin-bottom: 0.375rem;
  }

  .noin-reason__label-dot {
    width: 14px;
    width: 0.875rem;
    height: 14px;
    height: 0.875rem;
  }

  .noin-reason__ttl {
    color: #fff;
    font-family: "Zen Kaku Gothic New";
    font-size: 24.465px;
    font-size: 1.5290625rem;
    font-style: normal;
    font-weight: 500;
    line-height: 165%; /* 40.367px */
    letter-spacing: 1.468px;
    letter-spacing: 0.09175rem;
  }

  /* SP: ISO27001 上段中央、Blancco/NIST 下段左右 */
  .noin-reason__badges {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  /* 上段: ISO27001 中央 */
  .noin-reason__badge--1 {
    margin-bottom: 12px;
    margin-bottom: 0.75rem;
  }

  /* 下段: Blancco / NIST 横並び */
  .noin-reason__badge--2,
  .noin-reason__badge--3 {
    /* flex行として並べるため wrapper が必要だが、
       ここでは order + 疑似的に並べる */
  }

  .noin-reason__badges {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    gap: 0 0;
    justify-content: center;
    justify-items: center;
  }

  .noin-reason__badge--1 {
    grid-column: 1 / 3;
    grid-row: 1;
    margin-bottom: 6px;
    margin-bottom: 0.375rem;
  }

  .noin-reason__badge--2 {
    grid-column: 1;
    grid-row: 2;
  }

  .noin-reason__badge--3 {
    grid-column: 2;
    grid-row: 2;
  }

  .noin-reason__badges {
    margin-left: 0;
    column-gap: 15px;
    column-gap: 0.9375rem;
  }

  .noin-reason__badge {
    width: auto;
    height: auto;
  }

  .noin-badge__img {
    width: 175px;
    width: 10.9375rem;
    margin: 0;
  }

  .noin-reason__badge--1 .noin-badge__img {
    width: 155px;
    width: 9.6875rem;
  }

  .noin-problem {
    padding: 30px 0 20px;
    padding: 1.875rem 0 1.25rem;
  }
  .noin-problem__inner {
    padding: 40px 0 180px;
    padding: 2.5rem 0 11.25rem;
    max-width: 100%;
    display: block;
  }

  /* 見出しグループ */
  .noin-problem__heading-group {
    padding: 0 20px;
    padding: 0 1.25rem;
    padding-top: 0;
    gap: 8px;
    gap: 0.5rem;
    margin-bottom: 16px;
    margin-bottom: 1rem;
    align-items: flex-start;
  }

  .noin-problem__heading-line {
    padding: 5px 14px;
    padding: 0.3125rem 0.875rem;
    display: inline-block;
    width: auto !important;
  }

  .noin-problem__heading-txt {
    color: #1151bf;
    font-family: "Noto Sans JP";
    font-size: 19.961px;
    font-size: 1.2475625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 31.938px */
    letter-spacing: 2.795px;
    letter-spacing: 0.1746875rem;
  }

  /* イラスト */
  .noin-problem__illust {
    width: 159.81px;
    width: 9.988125rem;
    height: 179.96px;
    height: 11.2475rem;
    margin: 0 auto 16px;
    margin: 0 auto 1rem;
    display: block;
    margin-top: 0;
    position: absolute;
    top: -2.2%;
    right: -14%;
  }

  .noin-problem__illust-svg {
    width: 100%;
    height: auto;
  }

  .noin-problem__illust-svg svg {
    width: 100%;
    height: auto;
  }

  /* Worryリスト */
  .noin-problem__worry-list {
    padding-top: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 27px;
    margin-top: 1.6875rem;
    margin-inline: auto;
  }

  .noin-problem__worry {
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    gap: 0.625rem;
    margin-left: 0;
  }

  .noin-problem__worry--1 {
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
  }

  .noin-problem__worry--2 {
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
    margin-left: revert-layer;
  }

  .noin-problem__worry-icon {
    padding-top: 20px;
    padding-top: 1.25rem;
    width: 56px;
    width: 3.5rem;
    flex-shrink: 0;
  }

  .noin-problem__worry-icon-img {
    width: 59.929px;
    width: 3.7455625rem;
    height: 24.422px;
    height: 1.526375rem;
  }

  .noin-problem__worry-sub {
    color: #001841;
    font-family: "Noto Sans JP";
    font-size: 11.214px;
    font-size: 0.700875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 17.943px */
    letter-spacing: 1.57px;
    letter-spacing: 0.098125rem;
    margin-bottom: 2px;
    margin-bottom: 0.125rem;
  }

  .noin-problem__worry-main {
    color: #001841;
    font-family: "Noto Sans JP";
    font-size: 15.96px;
    font-size: 0.9975rem;
    font-style: normal;
    font-weight: 900;
    line-height: 160%; /* 25.536px */
    letter-spacing: 1.436px;
    letter-spacing: 0.08975rem;
    margin-bottom: 3px;
    margin-bottom: 0.1875rem;
  }

  .noin-problem__worry-dots {
    font-size: 10.214px;
    font-size: 0.638375rem;
    font-style: normal;
    font-weight: 900;
    line-height: 160%;
    letter-spacing: 0.919px;
    letter-spacing: 0.0574375rem;
  }

  .noin-solution {
    padding: 0;
  }

  .noin-solution__inner {
    width: 100%;
    padding-bottom: 52px;
    padding-bottom: 3.25rem;
    margin-top: -25px;
    margin-top: -1.5625rem;
  }

  /* タグライン */
  .noin-solution__tagline {
    margin-top: 30px;
    margin-top: 1.875rem;
    margin-bottom: 16px;
    margin-bottom: 1rem;
    padding: 0 20px;
    padding: 0 1.25rem;
  }

  .noin-solution__tagline-img {
    width: 258px;
    width: 16.125rem;
    max-width: 100%;
    margin: 0 auto;
  }

  /* サブヘッダー */
  .noin-solution__sub-header {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1px;
    gap: 0.0625rem;
    padding: 0 20px;
    padding: 0 1.25rem;
    margin-bottom: 0;
  }

  .noin-solution__sub-header-group:first-child {
    flex-basis: 79%;
    display: flex;
    justify-content: center;
  }

  .noin-solution__sub-header-group {
    padding: 6px 10px;
    padding: 0.375rem 0.625rem;
  }

  .noin-solution__nist-label,
  .noin-solution__pc-label {
    font-size: 14px;
    font-size: 0.875rem;
    white-space: normal;
  }

  .noin-solution__cross {
    flex-basis: 100%;
    text-align: center;
    font-size: 19px;
    font-size: 1.1875rem;
  }

  .noin-solution__de {
    font-size: 14px;
    font-size: 0.875rem;
    margin-left: 0.4rem;
  }

  /* メインタイトル */
  .noin-solution__ttl {
    margin-bottom: 0;
    color: #f4f4f4;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 44.58px;
    font-size: 2.78625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 71.327px */
    letter-spacing: 5.795px;
    letter-spacing: 0.3621875rem;
  }

  /* 円形ビジュアル */
  .noin-solution__visual {
    width: 100%;
    margin: -86px auto -20px;
    margin: -5.375rem auto -1.25rem;
  }

  .noin-solution__visual-megane {
    width: 4.625rem;
    height: 3.375rem;
    top: 27%;
    right: 5.3%;
  }
  /* ベネフィット */
  .noin-solution__benefit {
    padding: 0 23px;
    padding: 0 1.4375rem;
    margin-top: -90px;
    margin-top: -5.625rem;
    margin-bottom: 33px;
    margin-bottom: 2.0625rem;
  }

  .noin-solution__benefit-lead {
    color: #fff;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 15px;
    font-size: 0.9375rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 24px */
    letter-spacing: 1.2px;
    letter-spacing: 0.075rem;
    margin-bottom: 16px;
    margin-bottom: 1rem;
  }

  .noin-solution__benefit-row {
    gap: 7px;
    gap: 0.4375rem;
  }

  .noin-solution__benefit-badge {
    padding: 8px 14px;
    padding: 0.5rem 0.875rem;
    height: 45px;
    height: 2.8125rem;
    border-radius: 2.108px;
    border-radius: 0.13175rem;
  }

  .noin-solution__benefit-badge-icon {
    width: 25px;
    width: 1.5625rem;
    height: 25px;
    height: 1.5625rem;
  }

  .noin-solution__benefit-badge-txt {
    font-size: 22px;
    font-size: 1.375rem;
  }

  .noin-solution__benefit-to {
    font-size: 27.355px;
    font-size: 1.7096875rem;
    line-height: 160%; /* 43.768px */
    letter-spacing: 2.188px;
    letter-spacing: 0.13675rem;
  }

  .noin-solution__benefit-suffix {
    font-size: 26.617px;
    font-size: 1.6635625rem;
    white-space: normal;
    text-align: center;
    line-height: 160%; /* 42.587px */
    letter-spacing: 2.129px;
    letter-spacing: 0.1330625rem;
  }

  /* CTA */
  .noin-solution__cta {
    flex-direction: column;
    gap: 12px;
    gap: 0.75rem;
    width: 367.27px;
    width: 22.954375rem;
    margin-top: 0;
    align-items: center;
  }

  .noin-solution__btn--phone {
    max-width: 100%;
    width: 99%;
  }

  .noin-strengths {
    max-width: 100%;
  }
  .noin-strengths::before,
  .noin-strengths__inner {
    padding: 0;
    width: 384px;
    width: 24rem;
  }
  .noin-strengths__card {
    padding: 27px 0 47px 32px;
    padding: 1.6875rem 0rem 2rem;
    border-radius: 60px;
    border-radius: 3.75rem;
  }
  .noin-strengths__header {
    padding-left: 0;
    margin-bottom: 0;
    width: 84%;
    margin-inline: auto;
  }
  .noin-strengths__label {
    gap: 6px;
    gap: 0.375rem;
    margin-bottom: 18px;
    margin-bottom: 1.125rem;
  }
  .noin-strengths__label-dot {
    width: 14.309px;
    width: 0.8943125rem;
    height: 14.309px;
    height: 0.8943125rem;
  }
  .noin-strengths__label-text {
    color: #1151bf;
    font-family: "Zen Kaku Gothic New";
    font-size: 15.3px;
    font-size: 0.95625rem;
    font-style: normal;
    font-weight: 500;
    line-height: 165%; /* 25.245px */
    letter-spacing: 2.448px;
    letter-spacing: 0.153rem;
  }
  .noin-strengths__subtitle {
    color: #1151bf;
    font-family: "Zen Kaku Gothic New";
    font-size: 15px;
    font-size: 0.9375rem;
    font-style: normal;
    font-weight: 500;
    line-height: 165%; /* 24.75px */
    letter-spacing: 1.2px;
    letter-spacing: 0.075rem;
    margin-bottom: 1px;
    margin-bottom: 0.0625rem;
  }
  .noin-strengths__title {
    color: #1151bf;
    font-family: "Zen Kaku Gothic New";
    font-size: 26px;
    font-size: 1.625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 165%; /* 42.9px */
    letter-spacing: 2.08px;
    letter-spacing: 0.13rem;
  }
  .noin-strengths__table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 18px;
    margin-top: 1.125rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .noin-strengths__table-scroll .scroll-hint-icon-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
  }

  .noin-strengths__table-scroll .scroll-hint-icon {
    position: static;
    transform: none;
    pointer-events: auto;
  }

  .noin-strengths__table-img {
    width: 653px;
    width: 40.8125rem;
    max-width: none;
    margin-left: 0;
    margin-right: 10px;
    margin-right: 0.625rem;
  }

  .noin-strengths-deco::before {
    background: url(../img/strengths-bg-left-sp.webp) no-repeat center / contain;
    width: 22rem;
    height: 43.875rem;
    bottom: -57.035714vw;
  }

  .noin-plus {
    min-width: 0;
    padding: 56px 0 103px;
    padding: 3.5rem 0 6.4375rem;
  }
  .noin-plus::before {
    top: 5400px;
    width: 980.82px;
    height: 980.82px;
    right: -169%;
    left: auto;
  }

  .noin-plus::after {
    width: 100%;
    top: 16%;
    height: 52.6875rem;
    right: 0;
    background: url(../img/noin-plus-deco-01-sp.webp) no-repeat;
    background-size: contain;
  }

  .noin-plus-deco::before {
    background: url(../img/noin-plus-deco-02-sp.webp) no-repeat;
    background-size: contain;
    width: 100%;
    height: 45rem;
    bottom: 145.625rem;
  }
  /* Header */
  .noin-plus__header {
    width: 100%;
    height: auto;
    margin-bottom: 22px;
    margin-bottom: 1.375rem;
  }
  .noin-plus__header::before {
    background: url(../img/header-deco-sp.webp) no-repeat;
    background-size: contain;
    width: 100%;
    height: 9.0625rem;
    top: 3rem;
  }
  .noin-plus__header-badge {
    width: 364.11px;
    width: 22.756875rem;
    margin-bottom: 2.4rem;
  }
  .noin-plus__header-sub {
    margin-top: -9.6px;
    margin-top: -0.6rem;
    color: #f4f4f4;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 20.286px;
    font-size: 1.267875rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 32.457px */
    letter-spacing: 2.637px;
    letter-spacing: 0.1648125rem;
  }
  .noin-plus__header-title {
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 43.668px;
    font-size: 2.72925rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 69.869px */
    letter-spacing: 5.677px;
    letter-spacing: 0.3548125rem;
    margin-top: -6px;
    margin-top: -0.375rem;
  }

  /* Cards container */
  .noin-plus__cards {
    width: 364.11px;
    width: 22.756875rem;
    margin-bottom: 97px;
    margin-bottom: 6.0625rem;
  }

  /* Card */
  .noin-plus__card {
    width: 100%;
    margin: 0px auto 0;
    margin: 0rem auto 0;
    border-radius: 30px;
    border-radius: 1.875rem;
    padding-bottom: 24px;
    padding-bottom: 2.125rem;
    overflow: visible;
    margin-bottom: 38px;
    margin-bottom: 2.375rem;
  }
  .noin-plus__card::before {
    background: url(../img/card-head-bg-sp.webp) no-repeat;
    background-size: contain;
    height: 202.6px;
    height: 12.6625rem;
    border-radius: 1.25rem 1.25rem 0 0;
  }
  .noin-plus__card-head {
    background: transparent;
    padding: 35px 10px 10px;
    padding: 2.1875rem 0.625rem 0.625rem;
    margin: 0;
    position: relative;
    z-index: 3;
  }
  .noin-plus__card-num {
    font-size: 21.6px;
    font-size: 1.35rem;
    gap: 10.2px;
    gap: 0.6375rem;
    margin-bottom: 5.72px;
    margin-bottom: 0.3575rem;
    line-height: 165%; /* 35.64px */
    letter-spacing: 3.888px;
    letter-spacing: 0.243rem;
  }
  .noin-plus__card-num-icon {
    width: 28.617px;
    width: 1.7885625rem;
    height: 28.617px;
    height: 1.7885625rem;
  }
  .noin-plus__card-side {
    width: 85.73px;
    width: 5.358125rem;
    height: 85.73px;
    height: 5.358125rem;
    outline: 13px solid rgba(255, 255, 255, 0.45);
    outline: 0.8125rem solid rgba(255, 255, 255, 0.45);
  }
  .noin-plus__card-side span {
    color: #bd9800;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 18.03px;
    font-size: 1.126875rem;
    font-style: normal;
    font-weight: 900;
    line-height: 125%; /* 22.537px */
    letter-spacing: 1.262px;
    letter-spacing: 0.078875rem;
  }
  .noin-plus__card-side--left {
    left: -24.8px;
    left: -1.55rem;
    top: -30.4px;
    top: -1.9rem;
  }
  .noin-plus__card-side--right {
    right: -21.6px;
    right: -1.35rem;
    top: -52.8px;
    top: -3.3rem;
  }
  .noin-plus__card-sub {
    margin-bottom: 16px;
    margin-bottom: 1rem;
    font-size: 15.391px;
    font-size: 0.9619375rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 24.626px */
    letter-spacing: 1.539px;
    letter-spacing: 0.0961875rem;
  }

  .noin-plus__card-sub-02 {
    font-size: 14.391px;
    font-size: 0.8994375rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 23.026px */
    letter-spacing: 1.439px;
    letter-spacing: 0.0899375rem;
  }
  .noin-plus__card-sub::after {
    bottom: -8px;
    bottom: -0.5rem;
    width: 36px;
    width: 2.25rem;
  }
  .noin-plus__card-title {
    font-size: 21.391px;
    font-size: 1.3369375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 34.226px */
    letter-spacing: 2.139px;
    letter-spacing: 0.1336875rem;
  }
  .noin-plus__card-body {
    color: #092a5b;
    font-family: "Zen Kaku Gothic New";
    font-size: 14px;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 170%; /* 23.8px */
    letter-spacing: 1.12px;
    letter-spacing: 0.07rem;
    margin: 51px auto 15px;
    margin: 3.1875rem auto 0.9375rem;
    width: 85.8%;
  }

  /* Plus 01 */
  .noin-plus__card1-logos {
    width: calc(100% - 1rem);
    margin: 0 auto 12px;
    margin: 0 auto 0.75rem;
  }
  .noin-plus__methods {
    flex-direction: column;
    gap: 16px;
    gap: 1rem;
    border-radius: 50px;
    border-radius: 3.125rem;
    padding: 24px 16px;
    padding: 2.125rem 1rem 2.5rem;
    margin: 16px 16px 0;
    margin: 1rem 1rem 0;
  }
  .noin-plus__method {
    max-width: 100%;
  }
  .noin-plus__method-label {
    font-size: 16px;
    font-size: 1rem;
  }
  .noin-plus__method-icon {
    width: 20px;
    width: 1.25rem;
    height: 20px;
    height: 1.25rem;
  }
  .noin-plus__method-desc {
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.6;
  }

  /* Plus 02 */
  .noin-plus__price-list {
    border-radius: 50px;
    border-radius: 3.125rem;
    padding: 27px 16px 24px;
    padding: 1.9875rem 1rem 2.1rem;
    margin: 16px auto 16px;
    margin: 1rem auto 1rem;
    width: 320.73px;
    width: 20.045625rem;
  }
  .noin-plus__price-head-label {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .noin-plus__price-example-label {
    font-size: 12.313px;
    font-size: 0.7695625rem;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 19.701px */
    letter-spacing: 1.231px;
    letter-spacing: 0.0769375rem;
  }
  .noin-plus__price-item {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "circle info"
      "arrow  arrow"
      "badge  badge";
    column-gap: 13px;
    column-gap: 0.8125rem;
    row-gap: 8px;
    row-gap: 0.5rem;
    background: rgba(255, 255, 255, 0.74);
    border-radius: 20px;
    border-radius: 1.25rem;
    padding: 23px 13px 24px;
    padding: 1.4375rem 0.8125rem 1.5rem;
    margin-bottom: 16px;
    margin-bottom: 1rem;
    width: 17.318125rem;
    margin-inline: auto;
  }
  .noin-plus__price-circle {
    grid-area: circle;
    width: 101px;
    width: 6.3125rem;
    height: 101px;
    height: 6.3125rem;
    align-self: start;
  }
  .noin-plus__price-info {
    grid-area: info;
    padding-left: 0;
    text-align: left;
    align-self: center;
  }
  .noin-plus__price-name {
    font-size: 15.391px;
    font-size: 0.9619375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 24.626px */
    letter-spacing: 1.539px;
    letter-spacing: 0.0961875rem;
  }
  .noin-plus__price-year {
    font-size: 12.391px;
    font-size: 0.7744375rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 19.826px */
    letter-spacing: 1.239px;
    letter-spacing: 0.0774375rem;
    margin-bottom: 5.57px;
    margin-bottom: 0.348125rem;
  }
  .noin-plus__price-tag-wrap {
    justify-content: flex-start;
    flex-direction: column;
    align-items: start;
    gap: 3.6px;
    gap: 0.225rem;
  }
  .noin-plus__price-tag-label,
  .noin-plus__price-tag-value {
    font-size: 11.483px;
    font-size: 0.7176875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 18.373px */
    letter-spacing: 0.689px;
    letter-spacing: 0.0430625rem;
  }
  .noin-plus__price-arrow {
    grid-area: arrow;
    align-self: center;
    justify-self: center;
    transform: rotate(90deg);
    font-size: 20px;
    font-size: 1.25rem;
    color: #092a5b;
  }
  .noin-plus__price-badge {
    grid-area: badge;
    width: 100%;
    max-width: none;
    align-self: stretch;
  }
  .noin-plus__price-note {
    font-size: 10px;
    font-size: 0.625rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 16px */
    letter-spacing: 1px;
    letter-spacing: 0.0625rem;
    width: 85%;
  }

  /* Plus 03 */
  .noin-plus__list-box {
    border-radius: 50px;
    border-radius: 3.125rem;
    padding: 25px 25px 25px;
    padding: 1.7625rem 1.5625rem 1.9625rem;
    margin: 16px auto 0;
    margin: 1rem auto 0;
    width: 320.73px;
    width: 20.045625rem;
  }
  .noin-plus__list-title {
    margin-bottom: 26px;
    margin-bottom: 1.625rem;
    font-size: 17.391px;
    font-size: 1.0869375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 27.826px */
    letter-spacing: 1.739px;
    letter-spacing: 0.1086875rem;
  }
  .noin-plus__group {
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
  }
  .noin-plus__group-label {
    font-size: 14.356px;
    font-size: 0.89725rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 22.97px */
    letter-spacing: 1.436px;
    letter-spacing: 0.08975rem;
    margin-bottom: 9.3px;
    margin-bottom: 0.58125rem;
  }
  .noin-plus__group-check {
    width: 18px;
    width: 1.125rem;
    height: 18px;
    height: 1.125rem;
  }
  .noin-plus__items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 8px;
    gap: 0.5rem 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .noin-plus__items li {
    display: block;
    width: 131.14px;
    width: 8.19625rem;
    height: 131.14px;
    height: 8.19625rem;
  }
  .noin-plus__items img {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
  }
  .noin-plus__groups-row {
    flex-direction: column;
    gap: 20px;
    gap: 1.25rem;
  }
  .noin-plus__list-note {
    font-size: 15px;
    font-size: 0.9375rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 24px */
    letter-spacing: 1.5px;
    letter-spacing: 0.09375rem;
  }

  .noin-security {
    margin-top: -31px;
    margin-top: -1.9375rem;
    padding: 54px 0 37px;
    padding: 3.375rem 0 2.3125rem;
  }
  .noin-security::before {
    width: 1424.37px;
    width: 89.023125rem;
    height: 1706.7px;
    height: 106.66875rem;
    background:
      linear-gradient(
        0deg,
        rgba(28, 86, 148, 0.1) 0%,
        rgba(28, 86, 148, 0.1) 100%
      ),
      linear-gradient(154deg, #002662 14.34%, #001841 23.84%),
      linear-gradient(171deg, #003991 5.46%, #002058 11.26%);
    background-blend-mode: color-dodge, normal, normal;
    top: 0;
    left: 50%;
  }
  .noin-security__inner {
    width: 100%;
    height: auto;
    position: relative;
  }

  /* ラベル */
  .noin-security__label {
    position: static;
    justify-content: center;
    margin-bottom: 5px;
    margin-bottom: 0.3125rem;
    gap: 4.72px;
    gap: 0.295rem;
  }
  .noin-security__label-dot {
    width: 12.878px;
    width: 0.804875rem;
    height: 12.878px;
    height: 0.804875rem;
  }
  .noin-security__label-text {
    font-size: 13.77px;
    font-size: 0.860625rem;
    font-style: normal;
    font-weight: 500;
    line-height: 165%; /* 22.72px */
    letter-spacing: 2.479px;
    letter-spacing: 0.1549375rem;
  }

  /* タイトル */
  .noin-security__title {
    position: static;
    transform: none;
    text-align: center;
    margin-bottom: 23px;
    margin-bottom: 1.4375rem;
    white-space: normal;
    font-family: "Zen Kaku Gothic New";
    font-size: 30.465px;
    font-size: 1.9040625rem;
    font-style: normal;
    font-weight: 500;
    line-height: 165%; /* 50.267px */
    letter-spacing: 1.828px;
    letter-spacing: 0.11425rem;
  }

  /* サブラベル（白帯） */
  .noin-security__sub {
    padding: 4.8px 11.2px 4.8px 16px;
    padding: 0.3rem 0.7rem 0.3rem 1rem;
    margin: 0 auto 26px;
    margin: 0 auto 1.625rem;
    font-size: 14.228px;
    font-size: 0.88925rem;
    font-style: normal;
    font-weight: 700;
    line-height: 165%; /* 23.476px */
    letter-spacing: 1.138px;
    letter-spacing: 0.071125rem;
  }

  .noin-security__sub-kaku {
    letter-spacing: -4.126px;
    letter-spacing: -0.257875rem;
  }

  .noin-security__sub-paren {
    letter-spacing: -4.553px;
    letter-spacing: -0.2845625rem;
  }

  /* カード群 */
  .noin-security__cards {
    position: static;
    width: 88%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 32px;
    gap: 2rem;
  }
  .noin-security__card {
    position: static;
    width: 100% !important;
    left: auto !important;
    height: auto;
    background: transparent;
    border-radius: 0;
  }
  .noin-security__card-img {
    position: static;
    width: 100%;
    height: auto;
    border-radius: 16px;
    border-radius: 1rem;
  }
  .noin-security__card-caption {
    padding-left: 16px;
    padding-left: 1rem;
    margin: 16px 0 16px;
    margin: 1rem 0 1rem;
    white-space: normal;
    font-size: 20px;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 500;
    line-height: 130%; /* 26px */
    letter-spacing: 2px;
    letter-spacing: 0.125rem;
  }

  .noin-security__card-caption span {
    margin-left: -10px;
    margin-left: -0.625rem;
  }
  .noin-security__card-desc {
    font-size: 15px;
    font-size: 0.9375rem;
    font-style: normal;
    font-weight: 300;
    line-height: 165%; /* 24.75px */
    letter-spacing: 0.9px;
    letter-spacing: 0.05625rem;
  }

  .noin-voice {
    margin-inline: auto;
    padding: 57px 0 0;
    padding: 3.5625rem 0 0;
  }
  .noin-voice__inner {
    width: 100%;
    padding: 40px 0;
    padding: 0 0 3rem;
  }

  /* 背景装飾は全て非表示 */
  .noin-voice::before,
  .noin-voice::after,
  .noin-voice__inner::before {
    height: 18.195238vw;
    background: url(../img/noin-voice-bg-sp.webp) no-repeat;
    background-size: contain;
    height: 4.75rem;
  }

  /* ヘッダー */
  .noin-voice__header {
    padding-top: 0;
    text-align: center;
    margin-bottom: 65px;
    margin-bottom: 4.0625rem;
  }
  .noin-voice__badge {
    width: 315.01px;
    width: 19.688125rem;
    margin: 0 auto 24px;
    margin: 0 auto 1.5rem;
  }
  .noin-voice__lead {
    font-size: 17.951px;
    font-size: 1.1219375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 26.927px */
    letter-spacing: 0.718px;
    letter-spacing: 0.044875rem;
  }
  .noin-voice__catch {
    font-size: 39.364px;
    font-size: 2.46025rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 59.046px */
    letter-spacing: 0.394px;
    letter-spacing: 0.024625rem;
  }

  /* Cases: 縦積み */
  .noin-voice__case {
    width: 377px;
    width: 22.7575rem;
    max-width: 100%;
    flex-direction: column;
    padding: 0;
    gap: 16px;
    gap: 1rem;
    margin-bottom: 76px;
    margin-bottom: 4.75rem;
  }
  .noin-voice__case--right {
    flex-direction: column-reverse;
  }
  .noin-voice__case:last-child {
    margin-bottom: 0;
  }
  .noin-voice__case-media {
    width: 100%;
    aspect-ratio: 364.12 / 269.42;
    margin-bottom: 9.51px;
    margin-bottom: 0.594375rem;
    max-width: 100%;
  }
  .noin-voice__case-img {
    width: 100%;
    height: auto;
    aspect-ratio: 463.51 / 342.965;
    border-radius: 12px;
    border-radius: 0.75rem;
  }
  .noin-voice__case-media::before {
    width: 199.79px;
    width: 12.486875rem;
    height: 199.79px;
    height: 12.486875rem;
  }
  .noin-voice__case-body {
    width: 100%;
    max-width: 100%;
  }
  .noin-voice__case-label {
    margin-bottom: 3px;
    margin-bottom: 0.1875rem;
    gap: 6px;
    gap: 0.375rem;
    font-size: 19.602px;
    font-size: 1.225125rem;
    font-style: normal;
    font-weight: 500;
    line-height: 165%; /* 32.343px */
    letter-spacing: 3.136px;
    letter-spacing: 0.196rem;
  }
  .noin-voice__case-dot {
    width: 18.33px;
    width: 1.145625rem;
    height: 18.33px;
    height: 1.145625rem;
  }
  .noin-voice__case-title {
    margin-bottom: 11px;
    margin-bottom: 0.6875rem;
    font-size: 25px;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 40px */
    letter-spacing: 2px;
    letter-spacing: 0.125rem;
  }
  .noin-voice__case-role {
    height: auto;
    padding: 4px 10px;
    padding: 0.25rem 0.625rem;
    margin-bottom: 14px;
    margin-bottom: 0.875rem;
    font-size: 14.4px;
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 150%; /* 21.6px */
    letter-spacing: 1.152px;
    letter-spacing: 0.072rem;
  }
  .noin-voice__case-desc {
    width: 100%;
    font-size: 15px;
    font-size: 0.9375rem;
    font-style: normal;
    font-weight: 300;
    line-height: 170%; /* 25.5px */
    letter-spacing: 0.6px;
    letter-spacing: 0.0375rem;
  }

  .noin-nationwide {
    padding: 40px 24px 232px;
    padding: 6.8rem 1.5rem 12.2rem;
    margin-top: -2.4375rem;
  }
  .noin-nationwide::before,
  .noin-nationwide__inner {
    width: 366px;
    width: 22.875rem;
    padding: 0;
  }

  /* Header */
  .noin-nationwide__header {
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
  }
  .noin-nationwide__badge {
    width: 364.16px;
    width: 22.76rem;
    max-width: 100%;
    height: auto;
    margin: 0 auto 12px;
    margin: 0 auto 0.75rem;
  }
  .noin-nationwide__heading {
    line-height: 1.5;
  }
  .noin-nationwide__heading-lead {
    margin-bottom: 0;
    font-size: 20.171px;
    font-size: 1.2606875rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 32.274px */
    letter-spacing: 2.622px;
    letter-spacing: 0.163875rem;
  }
  .noin-nationwide__heading-main {
    font-size: 34.85px;
    font-size: 2.178125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 55.759px */
    letter-spacing: -0.348px;
    letter-spacing: -0.02175rem;
  }
  .noin-nationwide__heading-note {
    font-size: 8.582px;
    font-size: 0.536375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 13.731px */
    letter-spacing: -0.086px;
    letter-spacing: -0.005375rem;
    margin-top: 5px;
    margin-top: 0.3125rem;
    margin-right: 5px;
    margin-right: 0.3125rem;
  }
  .noin-nationwide__heading-accent {
    font-size: 35.04px;
    font-size: 2.19rem;
    letter-spacing: 0.04em;
  }

  /* Body: Japan map + Copy */
  .noin-nationwide__body {
    width: 100%;
    flex-direction: column;
    padding: 0;
    align-items: center;
    margin-bottom: 49px;
    margin-bottom: 3.0625rem;
  }
  .noin-nationwide__japan {
    width: 306.88px;
    width: 19.18rem;
    height: auto;
    margin: 0 auto 20px;
    margin: 0 auto 1.25rem;
    transform: translateX(1.1rem);
  }
  .noin-nationwide__copy {
    width: 100%;
  }
  .noin-nationwide__pain {
    display: block;
    margin-bottom: 4px;
    margin-bottom: 0.25rem;
    font-size: 15.012px;
    font-size: 0.93825rem;
    font-style: normal;
    font-weight: 500;
    line-height: 180%; /* 27.022px */
    letter-spacing: 1.201px;
    letter-spacing: 0.0750625rem;
  }
  .noin-nationwide__pain--1,
  .noin-nationwide__lead {
    margin-bottom: 7.2px;
    margin-bottom: 0.45rem;
    font-size: 23.424px;
    font-size: 1.464rem;
    font-style: normal;
    font-weight: 500;
    line-height: 175%; /* 40.991px */
    letter-spacing: 1.874px;
    letter-spacing: 0.117125rem;
  }
  .noin-nationwide__lead-accent {
    font-weight: 500;
    font-size: 33.982px;
    font-size: 2.123875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 135%;
    letter-spacing: 2.719px;
    letter-spacing: 0.1699375rem;
  }
  .noin-nationwide__txt {
    width: 100%;
    margin-bottom: 16px;
    margin-bottom: 1rem;
    font-size: 15px;
    font-size: 0.9375rem;
    font-style: normal;
    font-weight: 300;
    line-height: 150%; /* 22.5px */
    letter-spacing: 1.2px;
    letter-spacing: 0.075rem;
  }
  .noin-nationwide__steps {
    width: 100%;
    max-width: max-content;
    margin: 0 auto 12px;
    margin: 0 auto 0.75rem;
    transform: translateX(0.5rem);
  }
  .noin-nationwide__note {
    font-size: 10px;
    font-size: 0.625rem;
    width: 100%;
    line-height: 1.6;
  }

  .noin-cta {
    width: 366px;
    width: 22.875rem;
    padding: 40px 18px 40px;
    padding: 2.5rem 1.125rem 2.4rem;
    border-radius: 10px;
    border-radius: 0.625rem;
    outline: 25px solid rgba(255, 255, 255, 0.17);
    outline: 1.5625rem solid rgba(255, 255, 255, 0.17);
    background: #fff;
  }
  .noin-cta__inner::before {
    left: 342px;
    left: 21.375rem;
    top: -102.4px;
    top: -6.4rem;
    width: 720px;
    width: 45rem;
  }

  .noin-cta__megane {
    width: 9.0625rem;
    height: 6.4375rem;
    right: -6%;
    top: 47%;
  }
  .noin-cta__tag-list {
    z-index: 1;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
    margin-bottom: 29px;
    margin-bottom: 1.8125rem;
  }
  .noin-cta__tag {
    max-width: none;
    height: auto;
    padding: 6.4px 12px;
    padding: 0.4rem 0.75rem;
  }
  .noin-cta__tag-icon {
    width: 17.28px;
    width: 1.08rem;
    height: 17.28px;
    height: 1.08rem;
  }
  .noin-cta__tag-text {
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: 0.08em;
  }
  .noin-cta__copy {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 5px;
    gap: 0.3125rem;
    white-space: normal;
    margin-bottom: 0;
  }
  .noin-cta__copy-lead {
    transform: skewX(-4.26deg);
    width: 100%;
    font-size: 17.643px;
    font-size: 1.1026875rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 26.464px */
    letter-spacing: 0.706px;
    letter-spacing: 0.044125rem;
  }
  .noin-cta__copy-tail {
    font-size: 17.6px;
    font-size: 1.1rem;
    transform: skewX(-4.26deg);
    letter-spacing: 0.04em;
  }
  .noin-cta__copy-box {
    font-size: 17.6px;
    font-size: 1.1rem;
    transform: skewX(-4.26deg);
    letter-spacing: 0.06em;
    padding: 2px 8px;
    padding: 0.125rem 0.5rem;
    border-width: 0.656px;
    border-width: 0.041rem;
  }
  .noin-cta__heading {
    font-size: 53.44px;
    font-size: 3.34rem;
    letter-spacing: 0.07em;
    text-align: left;
    margin-bottom: 30px;
    margin-bottom: 1.875rem;
    white-space: normal;
    line-height: 1.6;
    margin-left: 3px;
    margin-left: 0.1875rem;
  }
  .noin-cta__heading-main {
    display: block;
    line-height: 160%;
  }
  .noin-cta__heading-accent {
    font-size: 59.52px;
    font-size: 3.72rem;
    letter-spacing: 0.07em;
    display: block;
  }
  .noin-cta__btn-group {
    z-index: 1;
    flex-direction: column;
    gap: 8px;
    gap: 0.5rem;
    align-items: center;
  }
  .noin-cta__btn {
    width: 100%;
  }

  .noin-cta__btn--2 {
    width: 99.2%;
  }
  /* 親セクション固有の差分 */
  .noin-plus .noin-cta {
    margin-top: 48px;
    margin-top: 3rem;
  }

  .noin-flow {
    width: 100%;
    height: auto;
    padding: 92.8px 16px 40px;
    padding: 5.8rem 1rem 7.9rem;
  }

  .noin-flow__inner {
    width: 100%;
    height: auto;
  }

  /* Heading */
  .noin-flow__heading-group {
    width: 93%;
    margin-bottom: 37px;
    margin-bottom: 2.3125rem;
    margin-inline: auto;
  }
  .noin-flow__label {
    gap: 6px;
    gap: 0.375rem;
    height: auto;
  }
  .noin-flow__label-dot {
    width: 15.898px;
    width: 0.993625rem;
    height: 15.898px;
    height: 0.993625rem;
  }
  .noin-flow__label-txt {
    font-size: 17px;
    font-size: 1.0625rem;
    font-style: normal;
    font-weight: 500;
    line-height: 165%; /* 28.05px */
    letter-spacing: 3.06px;
    letter-spacing: 0.19125rem;
  }
  .noin-flow__ttl {
    white-space: normal;
    font-size: 37px;
    font-size: 2.3125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 165%; /* 61.05px */
    letter-spacing: 3.7px;
    letter-spacing: 0.23125rem;
  }

  /* Step line: 装飾なので非表示 */
  .noin-flow__step-line {
    display: none;
  }

  .noin-flow__cards {
    width: 98%;
    height: auto;
    flex-direction: column;
    gap: 20px;
    gap: 1.25rem;
    margin-bottom: 70.4px;
    margin-bottom: 4.4rem;
    padding-left: 91px;
    padding-left: 5.6875rem;
    position: relative;
  }
  .noin-flow__sp-badges {
    display: block;
    position: absolute;
    left: -4px;
    left: -0.25rem;
    top: 50%;
    transform: translateY(-50%);
    width: 81px;
    width: 5.0625rem;
    height: auto;
    pointer-events: none;
    z-index: 2;
  }
  .noin-flow__step-card {
    flex: unset;
    width: 100%;
    height: auto;
    min-height: 119px;
    padding: 21px 20px 21px 37px;
    padding: 1.3125rem 1.25rem 1.3125rem 2.3125rem;
    border-radius: 20px;
    border-radius: 1.25rem;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
  }
  .noin-flow__step-card::before {
    display: none;
  }
  .noin-flow__step-ttl {
    margin-bottom: 7, 4px;
    margin-bottom: 7, 0.25rem;
    white-space: normal;
    font-size: 18.9px;
    font-size: 1.18125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 28.8px;
    line-height: 1.8rem; /* 152.381% */
    letter-spacing: 0.945px;
    letter-spacing: 0.0590625rem;
  }
  .noin-flow__step-txt {
    font-size: 13.5px;
    font-size: 0.84375rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 20.25px */
    letter-spacing: 0.675px;
    letter-spacing: 0.0421875rem;
  }

  /* Info (トレーサビリティ) */
  .noin-flow__info {
    width: 380px;
    width: 23.75rem;
    height: auto;
    padding: 37px 17px 45px;
    padding: 2.3125rem 1.0625rem 2.8125rem;
    border-radius: 20px;
    border-radius: 1.25rem;
    outline: 41px solid rgba(255, 255, 255, 0.16);
    outline: 2.5625rem solid rgba(255, 255, 255, 0.16);
    background: #fff;
  }
  .noin-flow__info-ttl {
    color: #0847b4;
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 32px;
    line-height: 2rem; /* 168.421% */
    margin-bottom: 13px;
    margin-bottom: 0.8125rem;
  }

  .noin-flow__info-ttl span {
    letter-spacing: -8.36px;
    letter-spacing: -0.5225rem;
  }

  .noin-flow__info-lead {
    margin-bottom: 25px;
    margin-bottom: 1.5625rem;
    font-size: 15px;
    font-size: 0.9375rem;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 24px */
    letter-spacing: 0.75px;
    letter-spacing: 0.046875rem;
  }
  .noin-flow__info-img {
    width: 100%;
    height: auto;
  }

  .noin-faq {
    width: 100%;
    height: auto;
    padding: 100px 24px 40px;
    padding: 6.25rem 1.5rem 2.5rem;
    background: url(../img/faq-bg-sp.webp) no-repeat;
    background-size: contain;
    margin-top: -1.9375rem;
  }
  .noin-faq__inner {
    width: 100%;
    height: auto;
  }

  /* Heading */
  .noin-faq__heading-group {
    width: 100%;
    margin-bottom: 24px;
    margin-bottom: 1.5rem; /* title→cards 25px */
    margin-left: 0;
  }
  .noin-faq__label {
    gap: 6px;
    gap: 0.375rem; /* 6.13px */
    margin-left: 0;
    margin-bottom: 8px;
    margin-bottom: 0.5rem; /* ラベル→タイトル ~9px */
    color: #1151bf;
    font-family: "Zen Kaku Gothic New";
    font-size: 18.246px;
    font-size: 1.140375rem;
    font-style: normal;
    font-weight: 500;
    line-height: 165%; /* 30.107px */
    letter-spacing: 2.919px;
    letter-spacing: 0.1824375rem;
  }
  .noin-faq__ttl {
    /* 40.59px */
    font-family: "Zen Kaku Gothic New";
    font-size: 40.59px;
    font-size: 2.536875rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 60.885px */
  }

  /* List: 1列スタック */
  .noin-faq__list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
    gap: 1.5rem; /* カード間 23.7px */
  }
  .noin-faq-card {
    border-radius: 30px;
    border-radius: 1.875rem; /* 30px */
    max-width: 100%;
  }
  .noin-faq-card__head {
    width: 100%;
    height: auto;
    min-height: 71px; /* 71px (長文質問は expand 可) */
    padding: 14px 16px 14px 16.2px;
    padding: 0.875rem 1rem 0.875rem 1.0125rem; /* 左21px */
    gap: 12px;
    gap: 0.75rem; /* badge→question 12px */
    border-top-left-radius: 30px;
    border-top-left-radius: 1.875rem;
    border-top-right-radius: 30px;
    border-top-right-radius: 1.875rem;
    align-items: center;
  }
  .noin-faq-card__badge {
    width: 33px;
    width: 2.0625rem; /* 33px */
    height: 33px;
    height: 2.0625rem;
    font-size: 18px;
    font-size: 1.125rem; /* 18px */
    line-height: 33px;
    line-height: 2.0625rem;
  }
  .noin-faq-card--6 .noin-faq-card__question {
    letter-spacing: 0.04em;
  }
  .noin-faq-card__body {
    padding: 16px 24px 20px;
    padding: 1rem 1.5rem 1.25rem; /* top 16, x 24, bottom 20 */
  }
  .noin-faq-card__answer {
    font-size: 15px;
    font-size: 0.9375rem; /* 15px */
    line-height: 1.6;
    letter-spacing: 0.05em; /* 0.75 / 15 */
    width: 100%;
  }

  .noin-contact {
    width: 100%;
    height: auto;
    padding: 40px 0 56px;
    padding: 5.6rem 0 2.4rem;
  }
  .noin-contact::before {
    background: url(../img/noin-contact-bg-sp.webp) no-repeat;
    background-size: contain;
    height: 8.875rem;
  }
  .noin-contact__inner {
    width: 100%;
    padding: 0 25px;
    padding: 0 1.5625rem;
  }

  /* Heading group */
  .noin-contact__heading-group {
    width: 100%;
    margin-bottom: 16px;
    margin-bottom: 2rem;
  }
  .noin-contact__badge {
    display: none;
  }
  .noin-contact__badge-text {
    display: inline-block;
    width: auto;
    font-size: 19.713px;
    font-size: 1.2320625rem;
    letter-spacing: 0.197px;
    letter-spacing: 0.0123125rem;
    line-height: 1.55;
    color: #1151bf;
    padding: 18px 24.1px 29px;
    padding: 1.125rem 1.50625rem 1.8125rem;
    margin-bottom: 0.9rem;
    font-weight: 700;
    background: url(../img/contact-badge.webp) no-repeat;
    background-size: 100% 100%;
  }
  .noin-contact__ttl {
    font-size: 28px;
    font-size: 1.75rem;
    letter-spacing: 0.84px;
    letter-spacing: 0.0525rem;
    margin-bottom: 12px;
    margin-bottom: 0.75rem;
  }
  .noin-contact__desc {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.75;
    letter-spacing: 0.84px;
    letter-spacing: 0.0525rem;
    padding: 0;
    font-weight: 300;
  }

  /* Errors */
  .noin-contact__errors {
    width: 100%;
    margin: 16px auto 0;
    margin: 1rem auto 0;
    padding: 14px 18px;
    padding: 0.875rem 1.125rem;
    border-radius: 6px;
    border-radius: 0.375rem;
  }
  .noin-contact__error {
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.65;
  }
  .noin-contact-field__error {
    margin: 6px 0 0;
    margin: 0.375rem 0 0;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.55;
  }

  /* Form */
  .noin-contact__form {
    width: 100%;
    margin: 20px auto 0;
    margin: 1.25rem auto 0;
    padding: 46px 23px 50px;
    padding: 2.875rem 1.4375rem 3.125rem;
    border-radius: 50px;
    border-radius: 3.125rem;
  }

  /* Fields */
  .noin-contact-field {
    margin-bottom: 16px;
    margin-bottom: 1rem;
  }
  .noin-contact-field__label-row {
    gap: 6px;
    gap: 0.375rem;
    margin-bottom: 8px;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
  }
  .noin-contact-field__label {
    font-size: 15.166px;
    font-size: 0.947875rem;
    letter-spacing: 0.91px;
    letter-spacing: 0.056875rem;
  }
  .noin-contact-field__required {
    width: 31.174px;
    width: 1.948375rem;
    height: 16.851px;
    height: 1.0531875rem;
    font-size: 11.796px;
    font-size: 0.73725rem;
    letter-spacing: 0.708px;
    letter-spacing: 0.04425rem;
    border-radius: 1.685px;
    border-radius: 0.1053125rem;
  }
  .noin-contact-field__note {
    font-size: 10.953px;
    font-size: 0.6845625rem;
    letter-spacing: 0.657px;
    letter-spacing: 0.0410625rem;
    margin-left: 0;
  }

  /* Inputs */
  .noin-contact-field__input,
  .noin-contact-field__select,
  .noin-contact-field__textarea {
    width: 100%;
    height: 53.923px;
    height: 3.3701875rem;
    padding: 0 18.5px;
    padding: 0 1.15625rem;
    font-size: 14.323px;
    font-size: 0.8951875rem;
    letter-spacing: 0.859px;
    letter-spacing: 0.0536875rem;
    border-radius: 8.425px;
    border-radius: 0.5265625rem;
    border-width: 0.843px;
    border-width: 0.0526875rem;
  }
  .noin-contact-field--pref .noin-contact-field__select {
    width: 251.921px;
    width: 100%;
    max-width: 100%;
  }
  .noin-contact-field__pref-row {
    flex-direction: column;
  }
  .noin-contact-field__pref-note {
    font-size: 0.6845625rem;
    letter-spacing: 0.0410625rem;
    padding-top: 0.25rem;
  }
  .noin-contact-field__textarea {
    width: 100%;
    height: 139.02px;
    height: 8.68875rem;
    padding: 14px 18.5px;
    padding: 0.875rem 1.15625rem;
  }

  /* Checkboxes */
  .noin-contact-field__check-group {
    gap: 8px 14px;
    gap: 0.5rem 0.875rem;
  }
  .noin-contact-field__check-item {
    font-size: 14.323px;
    font-size: 0.8951875rem;
    letter-spacing: 0.859px;
    letter-spacing: 0.0536875rem;
  }
  .noin-contact-field__check-item input[type="checkbox"] {
    width: 14px;
    width: 0.875rem;
    height: 14px;
    height: 0.875rem;
  }

  /* Submit */
  .noin-contact__submit-wrap {
    margin-top: 20px;
    margin-top: 1.25rem;
  }
  .noin-contact__submit {
    width: 285.769px;
    width: 17.8605625rem;
    height: 75.529px;
    height: 4.7205625rem;
    font-size: 19.891px;
    font-size: 1.2431875rem;
    letter-spacing: 1.989px;
    letter-spacing: 0.1243125rem;
    border-radius: 55.514px;
    border-radius: 3.469625rem;
    box-shadow: 0 5px 0 #994000;
    box-shadow: 0 0.3125rem 0 #994000;
  }
  .noin-contact__submit-arrow {
    width: 16px;
    width: 1rem;
    height: 16px;
    height: 1rem;
    font-size: 16px;
    font-size: 1rem;
    margin-left: 8px;
    margin-left: 0.5rem;
  }

  /* Footer */
  .noin-contact__footer {
    padding: 67px 0 32px;
    padding: 4.1rem 0 2rem;
    background: url(../img/footer-bg-sp.webp) no-repeat;
    background-size: contain;
  }
  .noin-contact__footer-link {
    font-size: 14px;
    font-size: 0.875rem;
    font-size: 13.33px;
    font-size: 0.833125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 21.328px */
    letter-spacing: 0.8px;
    letter-spacing: 0.05rem;
    margin-bottom: 3px;
    margin-bottom: 0.1875rem;
  }
  .noin-contact__copyright {
    font-size: 10.22px;
    font-size: 0.63875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 16.352px */
    letter-spacing: 0.613px;
    letter-spacing: 0.0383125rem;
  }

  /* --- large block extracted rules --- */
  .noin-header {
    padding: 0.298125rem 0.298125rem 0.298125rem 1.031875rem;
  }
  .noin-header__logo {
    width: 9.604375rem;
    height: 1.63rem;
  }
  .noin-header__tel-link {
    display: none;
  }
  .noin-header__cta-link {
    max-width: 8.44875rem;
    width: 8.44875rem;
  }

  .noin-fv-megane {
    position: absolute;
    width: 20.761905vw;
    height: 14.845238vw;
    top: 54.3%;
    left: 70.4%;
    transform-origin: right center;
  }
  .noin-fv__cta-wrap {
    flex-direction: column;
    width: 367.27px;
    width: 22.954375rem;
    bottom: 2%;
    align-items: center;
  }

  .noin-fv__cta-tel {
    width: 99%;
  }
  .noin-profit__ttl-main::after {
    bottom: 0.45rem;
  }
  .noin-intro::before {
    background: url(../img/noin-intro-bg-sp.webp) no-repeat;
    background-size: contain;
    height: 24.6875rem;
  }
  .noin-problem::before {
    background: url(../img/noin-problem-bg-01-sp.webp) no-repeat;
    background-size: contain;
    height: 5.3875rem;
  }
  .noin-solution::after {
    z-index: -1;
  }
  .noin-strengths__card::before {
    width: 262px;
    width: 16.375rem;
    height: 267px;
    height: 16.6875rem;
  }
  .noin-strengths__title .no {
    letter-spacing: -6.5px;
    letter-spacing: -0.40625rem;
  }
  .noin-strengths__title .bottom-text {
    display: inline-block;
    transform: translateX(-0.9375rem);
  }
  .noin-plus__price-head {
    margin-bottom: 34.7px;
    margin-bottom: 2.16875rem;
  }
  .noin-plus__price-tag-value {
    font-size: 16.008px;
    font-size: 1.0005rem;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 25.613px */
    letter-spacing: 0.96px;
    letter-spacing: 0.06rem;
  }
  .noin-plus__list-title::after {
    width: 50%;
  }
  .noin-security__inner {
    width: 356px;
    width: 22.25rem;
  }
  .noin-voice__case--left .noin-voice__case-media::before {
    left: -42px;
    left: -2.625rem;
    top: -46px;
    top: -2.875rem;
  }
  .noin-voice__case--right .noin-voice__case-media::before {
    right: -92px;
    right: -5.75rem;
    top: -57px;
    top: -3.5625rem;
  }
  .noin-nationwide::before {
    bottom: 4%;
    top: auto;
    width: 17.8125rem;
    height: 16.75rem;
    background: url(../img/nationwide-bg-deco-left-sp.webp) no-repeat;
    background-size: contain;
  }
  .noin-nationwide::after {
    background: url(../img/noin-nationwide-bg-sp.webp) no-repeat;
    width: 100%;
    height: 16rem;
    background-size: contain;
  }
  .noin-nationwide__pain--2 {
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
  }
  .noin-cta__inner {
    width: 100%;
  }
  .noin-flow::before {
    width: 1645px;
    width: 102.8125rem;
    height: 1406px;
    height: 91.875rem;
  }
  .noin-solution-deco::before {
    width: 58.630952vw;
    height: 42.202381vw;
    left: -8%;
    bottom: -6.625rem;
  }
}

@media (min-width: 768px) {
  .sp {
    display: none !important;
    pointer-events: none;
  }

  .popup-container {
    max-width: 70vw;
  }
}

@media screen and (min-width: 767.98px) and (max-width: 859px) {
  .noin-problem__worry-list {
    margin-left: -28.2rem;
    width: fit-content;
    margin-top: 20rem;
  }

  .noin-problem {
    padding-bottom: 10rem;
  }
  .noin-problem__illust {
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) and (max-width: 867px) {
  .noin-plus__price-tag-wrap {
    flex-direction: column;
    align-items: start;
  }
  .noin-plus__price-item {
    padding: 1.125rem 2.2625rem 1.125rem 1.875rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 961px) {
  .noin-plus__price-item {
    padding: 1.125rem 2.1625rem 1.125rem 1.875rem;
  }
  .noin-plus__price-list {
    padding: 1.875rem 2.75rem 2.1875rem;
  }
}

@media screen and (min-width: 860px) and (max-width: 1170px) {
  .noin-problem__worry-list {
    margin-left: -13rem;
    margin-top: 20rem;
  }
  .noin-problem {
    padding-bottom: 10rem;
  }

  .noin-problem__worry-main {
    font-size: min(2vw, 1.5625rem);
  }
}

@media screen and (min-width: 1170px) and (max-width: 1300px) {
  .noin-problem {
    padding-bottom: 10rem;
  }

  .noin-problem__worry-list {
    margin-left: -8rem;
    margin-top: 20rem;
  }
}

@media screen and (min-width: 1681px) {
  .noin-faq {
    background-size: 100vw auto;
  }

  .noin-security {
    margin-top: -8vw;
  }
}

@media screen and (min-width: 2100px) {
  .noin-plus {
    padding-bottom: 20vw;
  }
  .noin-security {
    margin-top: -12vw;
  }
}

/* ========== サンクスページ ========== */

.thanks {
  position: relative;
  width: 100%;
  background: #1151bf;
  overflow: hidden;
  padding: 120px 0 0;
  padding: 7.5rem 0 0;
  min-height: calc(100vh - 74px - 247px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.thanks::before {
  content: "";
  background: url(../img/thanks-deco.webp) no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.thanks__inner {
  position: relative;
  max-width: 1680px;
  width: 100%;
  margin: 0 auto;
  padding: 60px 20px 80px;
  padding: 3.75rem 1.25rem 5rem;
  z-index: 2;
  display: flex;
  justify-content: center;
}

.thanks__card {
  background: #ffffff;
  border-radius: 100px;
  border-radius: 6.25rem;
  max-width: 1024px;
  width: 100%;
  padding: 80px 60px;
  padding: 5rem 3.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.thanks__ttl {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.7;
  color: #0c4cb9;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

.thanks__body {
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

.thanks__desc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2;
  color: #000a1d;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.thanks__note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 2;
  color: #000a1d;
}

.thanks__tel {
  display: block;
  max-width: 320px;
  max-width: 20rem;
  transition: opacity 0.3s;
}

.thanks__tel:hover {
  opacity: 0.7;
}

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

/* サンクスページ SP */
@media (max-width: 767.98px) {
  .thanks {
    padding: 80px 0 0;
    padding: 0rem 0 0;
    min-height: auto;
  }

  .thanks::before {
    background: url(../img/thanks-deco.webp) no-repeat;
    background-size: cover;
    background-position: right center;
    height: 100%;
  }

  .thanks__inner {
    padding: 40px 16px 60px;
    padding: 4.4rem 1rem 3.65rem;
  }

  .thanks__card {
    border-radius: 40px;
    border-radius: 2.5rem;
    padding: 48px 24px;
    padding: 3rem 1.5rem;
  }

  .thanks__ttl {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.6;
    margin-bottom: 28px;
    margin-bottom: 1.75rem;
  }

  .thanks__body {
    margin-bottom: 28px;
    margin-bottom: 1.75rem;
  }

  .thanks__desc {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.9;
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
  }

  .thanks__note {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.9;
  }

  .thanks__note br {
    display: none;
  }

  .thanks__tel {
    max-width: 240px;
    max-width: 15rem;
  }
}

/* ========================================
   追従ボタン
======================================== */
.fix-btn {
  position: fixed;
  bottom: 1.4375rem;
  right: 1.0625rem;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.4s ease,
    visibility 0.4s ease;
}

.fix-btn.is-visible {
  opacity: 1;
  visibility: visible;
}

.fix-btn a {
  display: block;
  transition: 0.3s;
}

.fix-btn a:hover {
  transform: scale(1.03);
  opacity: 1;
}

.fix-btn img {
  display: block;
  width: auto;
  height: auto;
}

.fix-btn-01 img {
  max-width: 281px;
}

.fix-btn-02 img {
  max-width: 280px;
}

@media screen and (max-width: 767.98px) {
  .fix-btn {
    bottom: 0;
    right: 0;
    left: 0;
    gap: 0;
    justify-content: center;
    flex-direction: row;
  }

  .fix-btn a {
    flex: 1;
  }

  .fix-btn img {
    width: 100%;
    height: auto;
  }

  .fix-btn-01 img,
  .fix-btn-02 img {
    max-width: 100%;
  }
}

/* scroll-hint 矢印アイコン非表示 */
.scroll-hint-icon:after {
  display: none !important;
}
