@charset "utf-8";

/* =======================================
Top visual
========================================== */
.support .main__visual div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  min-height: 185px;
  position: relative;
  border-bottom: 2px solid #DDE3E6;
  background: #ffffff;
}

.main__visual {
  position: relative;
  overflow: hidden;
  padding-bottom: 88px;
}

.main__visual::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: -10px;
  width: 812px;
  height: 249px;
  background: url("/assets/images/category/2026support_mv.png") no-repeat bottom right;
}

@media screen and (max-width: 1400px) {
  .main__visual::after {
    right: 50%;
    margin-right: -720px;
  }
}

.support .main__visual h1 {
  color: #3D4760;
  text-align: left;
  padding: 20px 0 0;
  width: 100%;
  font-size: 4.0rem;
  font-weight: 900;
}

.support .main__visual h1 span {
  display: block;
  margin: 0;
  color: #00A9E9;
  font-weight: bold;
  font-size: 2.0rem;
}

@media screen and (max-width: 767px) {
  .gnavi {
    height: 66px;
  }

  .category .main__visual div {
    padding: 0;
    min-height: 140px;
  }

  .main__visual {
    padding-bottom: 60px;
  }

  .category .main__visual h1 {
    padding: 15px 0;
    font-size: 2.8rem;
    line-height: 1.3;
  }

  .category .main__visual h1 span {
    font-size: 1.6rem;
  }

  .main__visual::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 15px;
    right: -20px;
    width: 300px;
    height: 92px;
    background: url(/assets/images/category/2026support_mv.png) no-repeat bottom right;
    background-size: cover;
    margin-right: 0;
  }
}

.support {
  color: #3D4760;
}

.support.inner--width {
  width: calc(100% - 40px);
  max-width: 970px;
  margin-left: auto;
  margin-right: auto;
}

.support .inner--width {
  max-width: 970px;
}

.support__intro {
  padding: 30px 0 10px;
  margin-bottom: 45px;
}

@media screen and (max-width: 767px) {
  .support__intro {
    padding: 10px 0 0;
    margin-bottom: 20px;
  }
}

.support__intro p {
  font-size: 187.5%;
  text-align: center;
}

.support__intro p strong {
  font-size: 150%;
  line-height: 1;
}

.support__intro p:nth-child(2) {
  margin-top: 30px;
  font-size: 168.75%;
}

.support__nav {
  width: 100%;
  margin-bottom: 100px;
  display: flex;
  align-items: center;
  grid-gap: 20px;
  flex-direction: column;
}

.support__nav .heading {
  font-size: 3.0rem;
  text-align: center;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
}

.support__nav .heading span {
  font-weight: 900;
}


.support__nav .list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 20px;
}

.support__nav .list li {
  font-size: 137.5%;
  position: relative;
}

.support__nav .list li::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  height: 40px;
  right: 20px;
  width: 40px;
  background: url(../images/common/pagetop.svg) no-repeat;
  background-size: cover;
  transform: rotate(180deg);
}


.support__nav .list li a {
  width: 100%;
  height: 100%;
  padding: 0 25px 0 20px;
  display: flex;
  align-items: center;
  grid-gap: 10px;
  position: relative;
  z-index: 2;
  border: 2px solid #DDE5E6;
  border-radius: 10px;
}

.support__nav .list li .eng {
  font-size: 325%;
}

.support__nav .list li .txt {
  font-weight: 500;
  white-space: nowrap;
}

.support__nav .list li .arrow {
  width: 30px;
  padding: 0;
  margin-left: auto;
}

.example {
  padding: 90px 0 50px;
  background: #F3F8FC url(../images/top/tophtt_bg.png) top center no-repeat;
  background-size: 100% auto;
  position: relative;
}

.example .inner--width {
  background-color: #ffffff;
  /*border: 1px solid #DDE5E6;*/
  border-radius: 6px;
  margin-bottom: 50px;
  box-shadow: 0 0 20px 0 rgba(63, 142, 166, 0.16);
}

.example__ttl {
  padding: 20px 0 20px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #DDE5E6;
}

.example__ttl h2 {
  font-size: 100%;
  font-weight: 700;
  display: flex;
  align-items: center;
  grid-gap: 10px;
}

.example__ttl h2 .eng {
  font-size: 400%;
  line-height: 1;
}

.example__ttl h2 .txt {
  font-size: 4rem;
  padding-top: 8px;
}

.example__ttl .btn {
  width: 100%;
  max-width: 265px;
  padding: 12px 20px 13px;
  background-color: #1F96E4;
  border-radius: 50px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 10px;
}

.example__ttl .btn img {
  width: 17px;
  display: block;
}

.example-case__list {
  margin: 50px 40px 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 50px 20px;
  counter-reset: examplelist 0;
}

.example-case__list .listItem {
  padding: 30px 25px 20px;
  border-radius: 6px;
  display: grid;
  grid-template-rows: subgrid;
  grid-gap: 15px;
  grid-row: span 2;
  position: relative;
  background-color: #F6F8F9;
  border: 1px solid #DDE5E6;
}

.example-case__list .listItem::before,
.example-case__list .listItem::after {
  color: #ffffff;
  font-weight: 700;
  position: absolute;
  z-index: 1;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.example-case__list .listItem::before {
  content: 'CASE';
  padding-right: 1em;
  font-size: 125%;
  line-height: 40px;
  width: calc(100% + 2px);
  height: 40px;
  border-radius: 6px 6px 0 0;
  text-align: center;
  background-color: #3D4760;
}

.example-case__list .listItem::after {
  counter-increment: examplelist 1;
  content: counter(examplelist);
  font-size: 187.5%;
  top: -15px;
  right: 200px;
  padding-left: 40px;
  line-height: 30px;
}

.example-case__list .caseWrap {
  width: 100%;
  /*padding: 0 8px 0 0;*/
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  position: relative;
}

.example-case__list .case_ttl {
  padding: 10px 0 0 0;
  font-size: 140%;
  font-weight: 700;
  display: flex;
  align-items: flex-start;
  color: #3D4760;
  font-size: 2.0rem;
  line-height: 1.5;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
}

.example-case__list dl {}

.example-case__list dt {
  padding: 2px 0;
  margin-bottom: 10px;
  background-color: #00A9E9;
  color: #fff;
  font-weight: 700;
  text-align: center;
  border-radius: 3px;
}

.example-case__list dt:nth-child(3) {
  margin-top: 20px;
  background-color: #0ABAB5;
}

.example-case__list dd {
  font-weight: 500;
  font-size: 1.5rem;
}

.example-case__list dd.solution p {
  min-height: 3em;
}

.example-case__list dd ul.disc {
  font-size: 100%;
}

.example-case__list dd ul.large {
  font-size: 115%;
}

.example-case__list dd ul strong {
  padding-left: 0.75rem;
  font-size: 130%;
  line-height: 1;
}

.example-case__list dd ul.disc small {
  font-size: 100%;
}

.example-case__list dd ul.disc small.small {
  padding-left: 0.75rem;
  font-size: 80%;
}

.example-case__list dd a {
  color: #1F96E4;
  text-decoration: underline;
}

.example-case__list dd a:hover {
  text-decoration: none;
}

.contactWrap {
  padding: 30px;
  background-color: #F8F6F4;
  text-align: center;
}

.contactWrap p {
  font-size: 112.5%;
  font-weight: 700;
}

.contactWrap .btn {
  width: 100%;
  max-width: 370px;
  height: 58px;
  margin: 0 auto;
  background: #1F96E4;
  border-radius: 50px;
  color: #fff;
  font-size: 110%;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.contactWrap .btn::before,
.contactWrap .btn::after {
  content: "";
  position: absolute;
}

.contactWrap .btn::before {
  width: 25px;
  height: 25px;
  background: #fff;
  border-radius: 50%;
  right: 14px;
}

.contactWrap .btn::after {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #1F96E4;
  border-right: 0;
  transform: rotate(0deg);
  right: 20px;
  transform: scale(0.6);
}

.contactWrap-2 {
  font-size: 1.5rem;
  padding: 0 40px 30px;
}

.contactWrap-2 a {
  text-decoration: underline;
  color: #1F96E4;
}

.note {
  width: 100%;
  max-width: 580px;
  margin: 30px auto 0;
  font-size: 87.5%;
}

.note li {
  padding-left: 1em;
  position: relative;
}

.note li::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}

a.dlBtn {
  width: 100%;
  max-width: 458px;
  height: 75px;
  margin: 0 auto;
  background-color: #1F96E4;
  border-radius: 50px;
  color: #fff;
  font-size: 168.75%;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 18px;
}

.dlBtn img {
  width: 30px;
  display: block;
}

.example_contact__list {
  background-color: #ffffff;
  margin: 0;
  line-height: 1.6;
  padding: 55px 20px;
  text-align: center;
}

.example_contact__list .example_contact__txt {
  font-size: 125%;
  font-weight: 700;
  margin: 0 0 20px;
  color: #3D4760;
}

.example_contact__list .example_contact__txt .large {
  font-size: 110%;
}

.example_contact__list .example_contact__txt strong {
  color: #00a8e9;
  font-size: 130%;
  margin: 0 5px;
  background: linear-gradient(transparent 60%, #fdf51d 60%);
}

.example_contact__list a {
  width: 100%;
  max-width: 460px;
  height: 75px;
  background: linear-gradient(90deg, #18AFE8 0%, #039AD3 100%);
  border-radius: 100px;
  color: #fff;
  display: inline-block;
  font-size: 140%;
  font-weight: bold;
  padding: 0 40px 0 20px;
  position: relative;
  line-height: 75px;
}

.example_contact__list a::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  vertical-align: middle;
  right: 30px;
  width: 27px;
  height: 21px;
  background: url(../images/common/arrow_btm_white.svg) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 1199px) {
  .example-case__list .case_ttl {
    font-size: 130%;
  }

  .support__nav .list li .arrow {
    width: 20px;
  }
}

@media screen and (max-width: 1023px) {
  .support__nav {
    display: block;
  }

  .support__nav .heading {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .example-case__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .contactWrap br.visible-sp {
    display: block !important;
  }

  .example_contact__list .example_contact__txt {
    font-size: 150%;
  }
}

@media screen and (max-width: 767px) {
  .support__nav {
    margin-bottom: 60px;
  }

  .support__intro p {
    font-size: 120%;
  }

  .support__nav .heading {
    margin-bottom: 15px;
    display: block;
    font-size: 2.4rem;
  }

  .support__nav .list {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 10px;
  }

  .example {
    padding: 60px 0 40px;
  }

  .example .inner--width {
    margin-bottom: 20px;
  }

  .example__ttl {
    padding: 15px 0 15px;
    margin-bottom: 5px;
  }

  .example__ttl h2 {
    padding-left: 0;
    grid-gap: 5px;
  }

  .example__ttl h2 .eng {
    font-size: 250%;
  }

  .example__ttl h2 .txt {
    font-size: 2.5rem;
    padding-top: 8px;
  }

  .example__ttl .btn {
    margin-left: auto;
  }

  .example-case__list {
    grid-template-columns: repeat(1, 1fr);
    margin: 40px 20px 10px;
    grid-gap: 40px 0;
  }

  .example-case__list .case_ttl {
    font-size: 120%;
  }

  .example-case__list .listItem {
    padding: 30px 20px 20px;
  }

  .example-case__list dd ul.disc {
    line-height: 1.8;
  }

  .example_contact__list .example_contact__txt {
    font-size: 105%;
    margin: 0 0 15px;
  }

  .example_contact__list .example_contact__txt strong {
    font-size: 105%;
  }

  .example_contact__list .example_contact__txt strong+strong {
    margin-top: 5px;
  }

  .example_contact__list a {
    height: 55px;
    font-size: 110%;
    justify-content: flex-start;
    line-height: 55px;
  }

  .example_contact__list a::after {
    right: 20px;
    width: 16px;
    height: 13px;
    background: url(../images/common/arrow_btm_white.svg) no-repeat;
    background-size: cover;
  }

  .contactWrap-2 {
    padding: 0 20px 10px;
  }

  .example_contact__list {
    padding: 40px 20px;
  }
}