abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
time,
ul,
var,
video {
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  outline: 0;
  background: 0 0;
  border: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: "Zen Kaku Gothic New", serif;
  font-size: 62.5%;
  font-weight: 500;
  color: #000;
}

body,
html {
  width: 100%;
  height: 100%;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::after,
blockquote::before {
  content: "";
  content: none;
}

q::after,
q::before {
  content: "";
  content: none;
}

legend {
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

fieldset {
  padding: 0.35em 0.625em 0.75em;
  margin: 0 2px;
  border: 1px solid #a0a0a0;
}

a {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  text-decoration: none;
  outline: 0;
  background: 0 0;
  -webkit-tap-highlight-color: transparent;
}

a:link {
  color: #000;
}

a:visited {
  color: #000;
}

a:hover {
  text-decoration: none;
}

a:focus {
  text-decoration: none;
}

:focus-visible {
  outline: 2px solid #084acb !important;
}

ins {
  color: #000;
  text-decoration: none;
  background: #ff9;
}

mark {
  font-style: italic;
  font-weight: 700;
  color: #000;
  background-color: #ff9;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  cursor: help;
  border-bottom: 1px dotted inherit;
}

table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

table td,
table th {
  border-spacing: 0;
  border-collapse: collapse;
}

caption,
th {
  text-align: left;
}

hr {
  display: block;
  height: 1px;
  padding: 0;
  margin: 1em 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid #a0a0a0;
}

img {
  max-width: 100%;
  height: auto;
  font-size: 0;
  line-height: 0;
  vertical-align: bottom;
}

input,
select {
  vertical-align: middle;
}

button,
select {
  text-transform: none;
}

select {
  text-overflow: "";
  text-indent: 0.01px;
  -moz-appearance: none;
}

select::-ms-expand {
  display: none;
}

button,
input[type=button],
input[type=reset],
input[type=search],
input[type=submit] {
  -webkit-appearance: none;
}

label {
  font-weight: 400;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

input {
  padding: 0;
}

input::-ms-clear,
input::-ms-reveal {
  visibility: hidden;
}

[type=checkbox],
[type=radio] {
  padding: 0;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-search-cancel-button,
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::input-placeholder {
  color: #ccc;
  opacity: 1;
}

:placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
  opacity: 1;
}

:input-placeholder {
  color: #ccc;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

[tabindex],
a,
area,
button,
input,
label,
select,
textarea {
  padding: 0;
  margin: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

input,
select,
textarea {
  font-size: inherit;
  font-weight: inherit;
}

[hidden][aria-hidden=false] {
  position: absolute;
  display: inherit;
  clip: rect(0, 0, 0, 0);
}

[hidden][aria-hidden=false]:focus {
  clip: auto;
}

strong {
  font-weight: 700;
}

.u-container {
  max-width: 1110px;
  padding-right: 15px;
  padding-left: 15px;
  margin: 0 auto;
}

.u-inverted {
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1);
}

a {
  -webkit-transition: opacity 0.4s ease-in;
  transition: opacity 0.4s ease-in;
}

a:active,
a:focus,
a:hover {
  opacity: 0.6;
}

.u-small {
  font-size: 1.2rem;
}

.u-mt-4 {
  margin-top: 4px;
}

.u-mr-4 {
  margin-right: 4px;
}

.u-mb-4 {
  margin-bottom: 4px;
}

.u-ml-4 {
  margin-left: 4px;
}

.u-mt-8 {
  margin-top: 8px;
}

.u-mr-8 {
  margin-right: 8px;
}

.u-mb-8 {
  margin-bottom: 8px;
}

.u-ml-8 {
  margin-left: 8px;
}

.u-mt-12 {
  margin-top: 12px;
}

.u-mr-12 {
  margin-right: 12px;
}

.u-mb-12 {
  margin-bottom: 12px;
}

.u-ml-12 {
  margin-left: 12px;
}

.u-mt-16 {
  margin-top: 16px;
}

.u-mr-16 {
  margin-right: 16px;
}

.u-mb-16 {
  margin-bottom: 16px;
}

.u-ml-16 {
  margin-left: 16px;
}

.u-mt-20 {
  margin-top: 20px;
}

.u-mr-20 {
  margin-right: 20px;
}

.u-mb-20 {
  margin-bottom: 20px;
}

.u-ml-20 {
  margin-left: 20px;
}

.u-mt-24 {
  margin-top: 24px;
}

.u-mr-24 {
  margin-right: 24px;
}

.u-mb-24 {
  margin-bottom: 24px;
}

.u-ml-24 {
  margin-left: 24px;
}

.u-mt-28 {
  margin-top: 28px;
}

.u-mr-28 {
  margin-right: 28px;
}

.u-mb-28 {
  margin-bottom: 28px;
}

.u-ml-28 {
  margin-left: 28px;
}

.u-mt-32 {
  margin-top: 32px;
}

.u-mr-32 {
  margin-right: 32px;
}

.u-mb-32 {
  margin-bottom: 32px;
}

.u-ml-32 {
  margin-left: 32px;
}

.u-mt-36 {
  margin-top: 36px;
}

.u-mr-36 {
  margin-right: 36px;
}

.u-mb-36 {
  margin-bottom: 36px;
}

.u-ml-36 {
  margin-left: 36px;
}

.u-mt-40 {
  margin-top: 40px;
}

.u-mr-40 {
  margin-right: 40px;
}

.u-mb-40 {
  margin-bottom: 40px;
}

.u-ml-40 {
  margin-left: 40px;
}

.u-pt-4 {
  padding: 4px;
}

.u-pr-4 {
  padding: 4px;
}

.u-pb-4 {
  padding: 4px;
}

.u-pl-4 {
  padding: 4px;
}

.u-pt-8 {
  padding: 8px;
}

.u-pr-8 {
  padding: 8px;
}

.u-pb-8 {
  padding: 8px;
}

.u-pl-8 {
  padding: 8px;
}

.u-pt-12 {
  padding: 12px;
}

.u-pr-12 {
  padding: 12px;
}

.u-pb-12 {
  padding: 12px;
}

.u-pl-12 {
  padding: 12px;
}

.u-pt-16 {
  padding: 16px;
}

.u-pr-16 {
  padding: 16px;
}

.u-pb-16 {
  padding: 16px;
}

.u-pl-16 {
  padding: 16px;
}

.u-pt-20 {
  padding: 20px;
}

.u-pr-20 {
  padding: 20px;
}

.u-pb-20 {
  padding: 20px;
}

.u-pl-20 {
  padding: 20px;
}

.u-pt-24 {
  padding: 24px;
}

.u-pr-24 {
  padding: 24px;
}

.u-pb-24 {
  padding: 24px;
}

.u-pl-24 {
  padding: 24px;
}

.u-pt-28 {
  padding: 28px;
}

.u-pr-28 {
  padding: 28px;
}

.u-pb-28 {
  padding: 28px;
}

.u-pl-28 {
  padding: 28px;
}

.u-pt-32 {
  padding: 32px;
}

.u-pr-32 {
  padding: 32px;
}

.u-pb-32 {
  padding: 32px;
}

.u-pl-32 {
  padding: 32px;
}

.u-pt-36 {
  padding: 36px;
}

.u-pr-36 {
  padding: 36px;
}

.u-pb-36 {
  padding: 36px;
}

.u-pl-36 {
  padding: 36px;
}

.u-pt-40 {
  padding: 40px;
}

.u-pr-40 {
  padding: 40px;
}

.u-pb-40 {
  padding: 40px;
}

.u-pl-40 {
  padding: 40px;
}

button {
  outline: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 65px;
}

body {
  position: relative;
  min-width: auto !important;
  font-family: "Zen Kaku Gothic New", serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #000;
}

a {
  color: #000;
}

#areaHeader * {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

footer button {
  font-size: inherit !important;
  line-height: 1 !important;
  color: #333 !important;
}

#cmnFooter {
  margin-top: 0;
}

main {
  font-family: "Noto Sans JP", sans-serif;
}

.c-sectionTitle {
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
  color: #005BAC;
  text-align: center;
}
.c-sectionTitle__sub {
  display: block;
  width: fit-content;
  padding: 8px 0;
  margin: 0 auto 12px;
  font-size: 14px;
  border-bottom: 1px solid #005BAC;
}
@media (min-width: 769px) {
  .c-sectionTitle {
    font-size: 32px;
  }
  .c-sectionTitle__sub {
    font-size: 16px;
  }
}

.cta {
  padding: 58px 20px;
  background: url("../img/cta_bg_sp.webp") no-repeat center/cover;
  border-top: 6px solid #FF9800;
  border-bottom: 6px solid #FF9800;
}
@media (min-width: 769px) {
  .cta {
    background-image: url("../img/cta_bg_pc.webp");
  }
}
.cta__heading {
  margin-bottom: 40px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  text-align: center;
}
@media (min-width: 769px) {
  .cta__heading {
    margin-bottom: 32px;
    font-size: 24px;
    line-height: 1.8;
  }
  .cta__heading br:nth-child(2) {
    display: none;
  }
}
.cta__text {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin-inline: -5px;
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  color: #FFF;
  text-align: center;
}
@media (min-width: 769px) {
  .cta__text {
    font-size: 18px;
  }
}
.cta__text::before, .cta__text::after {
  line-height: 0;
}
.cta__text::before {
  content: url("../img/cta_left.svg");
}
.cta__text::after {
  content: url("../img/cta_right.svg");
}
.cta__button {
  position: relative;
  z-index: 0;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 335px;
  height: 64px;
  padding: 12px 24px;
  margin: 0 auto;
  overflow: hidden;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  color: #FFF !important;
  border: 1px solid transparent;
  border-radius: 4px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
  transition: 0.3s;
}
.cta__button::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(90deg, #F90 0%, #F86300 100%);
  transition: 0.3s;
}
@media (min-width: 769px) {
  .cta__button {
    height: 72px;
    font-size: 24px;
  }
  .cta__button:hover {
    color: #FF6D0B !important;
    background: #fff;
    border-color: #FF6D0B;
    opacity: 1 !important;
  }
  .cta__button:hover::before {
    opacity: 0;
  }
}

.js-home-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: translateY(200%);
  transition: 0.3s;
}
.js-home-cta.is-active {
  transform: none;
}
.js-home-cta .cta {
  padding: 16px 20px 20px;
  border-width: 4px;
  border-bottom: none;
}

.hero {
  padding: 56px 0 0;
  background: url("../img/hero_bg_sp.webp") no-repeat center bottom/cover;
}
@media (min-width: 769px) {
  .hero {
    position: relative;
    min-height: 655px;
    background-image: url("../img/hero_bg_pc.webp");
  }
}
.hero__main {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .hero__main {
    display: flex;
    gap: 40px;
    justify-content: space-between;
    padding: 0 20px;
  }
}
.hero__text {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 20px;
}
@media (min-width: 769px) {
  .hero__text {
    gap: 16px;
    padding: 0;
    padding-top: 50px;
  }
}
.hero__title {
  font-size: 32px;
  font-weight: 900;
  line-height: 1.3;
  color: #005098;
}
@media (min-width: 769px) {
  .hero__title {
    font-size: 48px;
  }
}
.hero__lead {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: #005098;
}
@media (min-width: 769px) {
  .hero__lead {
    font-size: 20px;
  }
}
.hero__lead span {
  display: inline-flex;
  gap: 4px;
  align-items: center;
}
.hero__lead strong {
  position: relative;
  z-index: 1;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.2;
}
@media (min-width: 769px) {
  .hero__lead strong {
    font-size: 32px;
  }
}
.hero__lead strong::before {
  position: absolute;
  top: 15px;
  left: 50%;
  z-index: -1;
  display: block;
  width: 52px;
  height: 12px;
  content: "";
  background: linear-gradient(106deg, #FFC890 11.08%, #FFA791 88.92%), linear-gradient(90deg, #F90 0%, #F86300 100%);
  transform: translateX(-50%);
}
@media (min-width: 769px) {
  .hero__lead strong::before {
    top: auto;
    bottom: 0;
    width: 71px;
    height: 15px;
  }
}
.hero__image {
  position: relative;
  padding-right: 25px;
  margin-bottom: 24px;
  text-align: right;
}
@media (min-width: 769px) {
  .hero__image {
    position: static;
    padding: 0;
    margin: 0;
  }
}
.hero__image::before {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  display: block;
  content: url("../img/hero_img-bg_sp.svg");
  mix-blend-mode: overlay;
}
@media (min-width: 769px) {
  .hero__image::before {
    top: 0;
    right: 0;
    bottom: auto;
    content: url("../img/hero_img-bg_pc.svg");
  }
}
.hero__image img {
  position: relative;
  width: 190px;
  filter: drop-shadow(8px 8px 20px rgba(0, 0, 0, 0.3));
}
@media (min-width: 769px) {
  .hero__image img {
    width: auto;
  }
}
@media (min-width: 769px) {
  .hero__ctaWrapper {
    position: absolute;
    bottom: 40px;
    left: 0;
    display: flex;
    justify-content: center;
    width: 100%;
  }
}
.hero__cta {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  align-self: stretch;
  padding: 24px 20px;
}
@media (min-width: 769px) {
  .hero__cta {
    width: 540px;
    max-width: 100%;
    padding: 24px 40px;
    overflow: hidden;
    border-radius: 24px;
  }
}
.hero__cta::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(95, 124, 183, 0.9);
  mix-blend-mode: multiply;
}
.hero__ctaInner {
  transform: translateZ(0);
}
.hero__ctaTextTop {
  margin-bottom: 0;
}
.hero__ctaText {
  display: block;
  margin-bottom: 12px;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
  color: #fff;
  text-align: center;
}

.intro {
  display: flex;
  flex-direction: column;
  gap: 8px 16px;
  padding: 20px;
  background: linear-gradient(180deg, #D5EDFF 0%, #FFF9F6 48.56%, #FFF 100%);
}
@media (min-width: 769px) {
  .intro {
    flex-flow: row wrap;
    justify-content: center;
    padding: 32px 20px 0;
  }
}
.intro__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media (min-width: 769px) {
  .intro__list {
    gap: 16px;
  }
}
.intro__list > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  color: #1A1A1A;
  background: #FFF;
  border: 2px solid #005BAC;
  border-radius: 50%;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
}
@media (min-width: 769px) {
  .intro__list > li {
    width: 160px;
    font-size: 36px;
  }
}
.intro__list > li:nth-child(1) {
  background: url("../img/intro_bg01.webp") no-repeat center/cover;
}
.intro__list > li:nth-child(2) {
  background: url("../img/intro_bg02.webp") no-repeat center/cover;
}
.intro__list > li:nth-child(3) {
  background: url("../img/intro_bg03.webp") no-repeat center/cover;
}
.intro__list > li img {
  width: 48px;
}
@media (min-width: 769px) {
  .intro__list > li img {
    width: 80px;
  }
}
.intro__text {
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  color: #333;
}
@media (min-width: 769px) {
  .intro__text {
    gap: 8px;
    font-size: 28px;
  }
}
.intro__text span {
  font-size: 24px;
  color: #ED6E00;
}
@media (min-width: 769px) {
  .intro__text span {
    font-size: 40px;
  }
}

.casestudy {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 40px 20px;
}
@media (min-width: 769px) {
  .casestudy {
    gap: 48px;
    padding: 64px 20px;
  }
}
.casestudy__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 1120px;
  max-width: 100%;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .casestudy__content {
    flex-direction: row-reverse;
    gap: 32px;
    align-items: center;
  }
}
.casestudy__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: #333;
}
@media (min-width: 769px) {
  .casestudy__text {
    flex-grow: 1;
    width: 50%;
    font-size: 18px;
  }
}
@media (min-width: 769px) {
  .casestudy__image {
    flex-grow: 1;
    width: 50%;
  }
}

.trouble {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 80px 20px;
  background: linear-gradient(180deg, #F6FAFF 0%, #EAF9FF 100%);
}
@media (min-width: 769px) {
  .trouble {
    gap: 80px;
    padding: 100px 20px;
  }
}
@media (min-width: 769px) {
  .trouble::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: url("../img/trouble_bg.svg") no-repeat center/cover;
  }
}
.trouble__section {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 1120px;
  max-width: 100%;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .trouble__section {
    gap: 48px;
  }
}
.trouble__arrow {
  text-align: center;
}
@media (min-width: 769px) {
  .trouble__heading br {
    display: none;
  }
}
.trouble__list {
  display: flex;
  flex-direction: column;
  gap: 24px 32px;
}
@media (min-width: 769px) {
  .trouble__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.trouble__item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-top: 104px;
}
@media (min-width: 769px) {
  .trouble__item {
    padding-top: 148px;
  }
}
.trouble__title {
  position: absolute;
  top: 0;
  left: 50%;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 140px;
  aspect-ratio: 1/1;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  background: linear-gradient(286deg, #1B4984 10.78%, #005DAA 88.88%);
  border-radius: 50%;
  transform: translateX(-50%);
}
@media (min-width: 769px) {
  .trouble__title {
    gap: 8px;
    width: 180px;
    font-size: 20px;
  }
}
.trouble__title img {
  width: 48px;
}
@media (min-width: 769px) {
  .trouble__title img {
    width: auto;
  }
}
.trouble__text {
  height: 100%;
  padding: 48px 20px 20px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: #333;
  background: #fff;
}
@media (min-width: 769px) {
  .trouble__text {
    padding: 48px 32px 32px;
    font-size: 18px;
  }
}
.trouble__solutionList {
  display: flex;
  flex-direction: column;
  gap: 24px 32px;
}
@media (min-width: 769px) {
  .trouble__solutionList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.trouble__solutionItem {
  background: #fff;
}
.trouble__solutionTitle {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 24px 24px 32px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  color: #FFF;
  background: linear-gradient(135deg, #1B4984 0%, #005DAA 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 74%, 50% 100%, 0% 74%);
}
@media (min-width: 769px) {
  .trouble__solutionTitle {
    justify-content: center;
  }
}
.trouble__solutionTitle span:nth-child(1) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  aspect-ratio: 1/1;
  padding-bottom: 2px;
  line-height: 1;
  color: #005BAC;
  background: #fff;
  border-radius: 50%;
}
.trouble__solutionText {
  padding: 16px 24px 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: #333;
}
@media (min-width: 769px) {
  .trouble__solutionText {
    font-size: 18px;
  }
}

.support {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 80px 20px 0;
}
@media (min-width: 769px) {
  .support {
    gap: 48px;
    padding: 100px 20px;
  }
}
.support__title {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.support__container {
  display: flex;
  flex-direction: column;
  gap: 40px 32px;
  width: 1120px;
  max-width: 100%;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .support__container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.support__list > li {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 16px 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  border-bottom: 1px solid #1B4984;
}
.support__list > li::before {
  display: block;
  flex-shrink: 0;
  align-self: flex-start;
  width: 24px;
  height: 24px;
  content: "";
  background: url("../img/support_check.svg") no-repeat center/contain;
}
@media (min-width: 769px) {
  .support__list > li::before {
    width: 32px;
    height: 32px;
  }
}
.support__link {
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.6;
}
@media (min-width: 769px) {
  .support__link {
    justify-content: flex-start;
    margin-top: 16px;
  }
}
.support__link::before {
  display: block;
  width: 20px;
  height: 20px;
  content: "";
  background: url("../img/support_info.svg") no-repeat center/contain;
}
.support__link::after {
  display: block;
  width: 16px;
  height: 16px;
  content: "";
  background: url("../img/support_blank.svg") no-repeat center/contain;
}
.support__link a {
  color: #005BAC !important;
  text-decoration-line: underline;
  text-decoration-thickness: auto;
  text-decoration-style: solid;
  text-underline-position: from-font;
  text-underline-offset: auto;
  text-decoration-skip-ink: none;
}
.support__image {
  text-align: center;
}
@media (min-width: 769px) {
  .support__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.products {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 80px 20px;
  background: linear-gradient(180deg, #F6FAFF 0%, #EAF9FF 100%);
}
@media (min-width: 769px) {
  .products {
    gap: 48px;
    padding: 100px 20px;
  }
}
@media (min-width: 769px) {
  .products::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: url("../img/products_bg.svg") no-repeat center/cover;
  }
}
.products__list {
  display: flex;
  flex-direction: column;
  gap: 24px 32px;
  width: 1120px;
  max-width: 100%;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .products__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.products__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  background: #FFF;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
}
@media (min-width: 769px) {
  .products__item {
    padding: 32px;
  }
}
.products__item--blue {
  border: 2px solid #005BAC;
}
.products__item--green {
  border: 2px solid #0097AB;
}
.products__title {
  padding-bottom: 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  color: #005BAC;
  text-align: center;
  border-bottom: 1px solid currentcolor;
}
.products__title--green {
  color: #0097AB;
}
.products__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #333;
}
@media (min-width: 769px) {
  .products__text {
    font-size: 18px;
  }
}
.products__specs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.products__specs li {
  position: relative;
  padding-left: 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #333;
}
@media (min-width: 769px) {
  .products__specs li {
    font-size: 18px;
  }
}
.products__specs li::before {
  position: absolute;
  top: calc(0.5lh - 4px);
  left: 8px;
  display: block;
  width: 8px;
  aspect-ratio: 1/1;
  content: "";
  background: #005BAC;
  border-radius: 50%;
}
.products__specs strong {
  text-decoration: underline;
}
.products__specs--green li::before {
  background: #0097AB;
}

.faq {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 80px 20px;
}
@media (min-width: 769px) {
  .faq {
    gap: 48px;
  }
}
.faq__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 1120px;
  max-width: 100%;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .faq__list {
    gap: 32px;
  }
}
.faq__item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 16px;
  background: #EDF6FD;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
}
@media (min-width: 769px) {
  .faq__item {
    padding: 24px;
  }
}
.faq__q {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: #005BAC;
}
@media (min-width: 769px) {
  .faq__q {
    font-size: 20px;
  }
}
.faq__q::before {
  display: block;
  flex-shrink: 0;
  align-self: flex-start;
  width: 28px;
  aspect-ratio: 1/1;
  content: "";
  background: url("../img/faq_q.svg") no-repeat center/contain;
}
@media (min-width: 769px) {
  .faq__q::before {
    align-self: normal;
  }
}
.faq__a {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  color: #333;
  text-align: justify;
}
@media (min-width: 769px) {
  .faq__a {
    font-size: 18px;
  }
}
.faq__a::before {
  display: block;
  flex-shrink: 0;
  align-self: flex-start;
  width: 28px;
  aspect-ratio: 1/1;
  content: "";
  background: url("../img/faq_a.svg") no-repeat center/contain;
}
@media (min-width: 769px) {
  .faq__a::before {
    align-self: normal;
  }
}
.faq__contact {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 769px) {
  .faq__contact {
    flex-direction: row;
    padding-left: 40px;
  }
}
.faq__tel {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background: #FFF;
  border-radius: 4px;
}
@media (min-width: 769px) {
  .faq__tel {
    gap: 12px;
    width: 282px;
    max-width: 100%;
    opacity: 1 !important;
  }
}
.faq__telText {
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  color: #1A1A1A;
}
.faq__telNumber {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #005BAC;
  text-align: center;
  text-decoration-line: underline;
  text-decoration-thickness: auto;
  text-decoration-style: solid;
  text-underline-position: from-font;
  text-underline-offset: auto;
  text-decoration-skip-ink: none;
}
@media (min-width: 769px) {
  .faq__telNumber {
    transition: 0.3s;
  }
}
.faq__telNumber::before {
  display: block;
  flex-shrink: 0;
  width: 16px;
  aspect-ratio: 1/1;
  content: "";
  background: url("../img/faq_tel_blue.svg") no-repeat center/contain;
}
@media (min-width: 769px) {
  .faq__tel:hover .faq__telNumber {
    color: #FF6D0B;
  }
  .faq__tel:hover .faq__telNumber::before {
    background-image: url("../img/faq_tel_orange.svg");
  }
}
.faq__form {
  position: relative;
  z-index: 0;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  overflow: hidden;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #FFF !important;
  background: linear-gradient(286deg, #1B4984 10.78%, #005DAA 88.88%);
  border-radius: 4px;
}
@media (min-width: 769px) {
  .faq__form {
    width: 282px;
    max-width: 100%;
    border: 1px solid transparent;
    transition: 0.3s;
  }
}
.faq__form::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  background: #fff;
  opacity: 0;
  transition: 0.3s;
}
.faq__form::after {
  display: block;
  flex-shrink: 0;
  width: 16px;
  aspect-ratio: 1/1;
  content: "";
  background: url("../img/faq_blank_white.svg") no-repeat center/contain;
}
@media (min-width: 769px) {
  .faq__form:hover {
    color: #005BAC !important;
    border-color: #005BAC;
    opacity: 1;
  }
  .faq__form:hover::before {
    opacity: 1;
  }
  .faq__form:hover::after {
    background-image: url("../img/faq_blank_blue.svg");
  }
}