@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:wght@400;500;600;700&display=swap");
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  tab-size: 4;
  word-break: normal; }

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit; }

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit; }

* {
  margin: 0;
  padding: 0; }

hr {
  color: inherit;
  height: 0;
  overflow: visible; }

details, main {
  display: block; }

summary {
  display: list-item; }

small {
  font-size: 80%; }

[hidden] {
  display: none; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

a {
  background-color: transparent; }

a:active, a:hover {
  outline-width: 0; }

code, kbd, pre, samp {
  font-family: monospace,monospace; }

pre {
  font-size: 1em; }

b, strong {
  font-weight: bolder; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

table {
  border-color: inherit;
  text-indent: 0; }

iframe {
  border-style: none; }

input {
  border-radius: 0; }

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto; }

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

textarea {
  overflow: auto;
  resize: vertical; }

button, input, optgroup, select, textarea {
  font: inherit; }

optgroup {
  font-weight: 700; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText; }

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button; }

button, input, select, textarea {
  background-color: transparent;
  border-style: none; }

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }

select::-ms-expand {
  display: none; }

select::-ms-value {
  color: currentColor; }

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit; }

[disabled] {
  cursor: default; }

img {
  border-style: none; }

progress {
  vertical-align: baseline; }

[aria-busy=true] {
  cursor: progress; }

[aria-controls] {
  cursor: pointer; }

[aria-disabled=true] {
  cursor: default; }

html, body {
  font-family: Poppins, "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.75; }

img {
  width: 100%;
  display: block;
  transition: all .2s linear; }

ul, ol {
  margin: 0;
  padding: 0; }

ul li, ol li {
  list-style: none; }

a {
  color: #000;
  text-decoration: none;
  transition: all .15s linear; }

a:hover {
  text-decoration: none; }

a:hover img {
  opacity: .75; }

.header {
  width: 100%;
  position: relative;
  z-index: 100;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between; }
  .header-logo {
    width: 200px;
    height: auto;
    margin-left: 3%; }
    @media screen and (max-width: 999px) {
      .header-logo {
        width: 160px;
        height: auto;
        margin-top: 5px; } }
  .header.fixed {
    width: 100%;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    box-shadow: 0 2px 4px rgba(64, 64, 64, 0.5); }
    .header.fixed .gnav-list-item a {
      color: #004499;
      font-size: 14px; }
    .header.fixed .header-logo {
      width: 124px;
      margin-top: 6px;
      margin-left: 1.5%;
      margin-bottom: 0; }
      @media screen and (max-width: 767px) {
        .header.fixed .header-logo {
          width: 132px;
          margin-top: 0;
          margin-left: 3%;
          margin-bottom: 1px; } }
    .header.fixed .gnav {
      max-width: 680px; }
    .header.fixed .gnav-list-item .btn-contact {
      padding: 20px; }

.gnav {
  width: calc(100% - 300px);
  max-width: 840px; }
  .gnav-list {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 999px) {
      .gnav-list {
        display: none; } }
    .gnav-list-item {
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all .2s linear; }
      .gnav-list-item:hover {
        opacity: .75; }
      .gnav-list-item a {
        color: #004499;
        font-weight: bold; }
      .gnav-list-item .btn-contact {
        padding: 30px;
        display: inline-block;
        background-color: #004499;
        box-shadow: 0 2px 4px rgba(100, 100, 100, 0.25);
        color: #fff !important;
        font-weight: bold;
        line-height: 1; }

.nav-drawer {
  display: none; }

@media (max-width: 999px) {
  .nav-drawer {
    display: block;
    position: relative;
    z-index: 1000; }

  .nav-drawer .drawer-hamburger {
    width: 52px;
    height: 52px;
    box-sizing: border-box;
    background-color: #004f99; }

  .drawer-open .nav-drawer .drawer-hamburger {
    background-color: transparent; }

  .drawer-open .nav-drawer .drawer-nav {
    padding: 20px 30px;
    background-color: #004499;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 2000; }

  .drawer-menu-item {
    font-size: 14px;
    margin-bottom: 15px;
    padding: 0; }

  .nav-drawer .drawer-nav li a {
    color: #fff;
    font-weight: 500;
    line-height: 1.6; }

  .nav-drawer .drawer-nav li:hover,
  .nav-drawer .drawer-nav li a:hover {
    text-decoration: none !important; }

  .nav-drawer .drawer-nav li .btn-assessment {
    width: 100%;
    padding: 12px;
    display: block;
    background-color: #60c200;
    border-radius: 5px;
    color: #fff;
    text-align: center; }

  .nav-drawer .drawer-nav li .btn-contact {
    width: 100%;
    padding: 12px;
    display: block;
    background-color: #fff;
    border-radius: 5px;
    color: #004499;
    font-weight: 700;
    text-align: center; }

  .nav-drawer .drawer-hamburger-icon,
  .nav-drawer .drawer-hamburger-icon:after,
  .nav-drawer .drawer-hamburger-icon:before {
    background-color: #fff; }

  .nav-drawer .drawer-hamburger-icon:before {
    top: -8px; }

  .nav-drawer .drawer-hamburger-icon:after {
    top: 8px; }

  .drawer-open .drawer-hamburger-icon {
    background-color: transparent; }
    .drawer-open .drawer-hamburger-icon:after {
      background-color: #fff; }
    .drawer-open .drawer-hamburger-icon:before {
      background-color: #fff; }

  .drawer--right .drawer-hamburger {
    right: 0; }

  .nav-drawer-icon {
    width: 40px;
    height: auto; }

  .drawer--right.drawer-open .drawer-hamburger {
    right: 0;
    z-index: 2100; }

  .drawer-open .drawer-hamburger-icon:before {
    top: 0px; }

  .drawer-open .drawer-hamburger-icon:after {
    top: 0px; } }
.footer {
  padding: 12px 20px;
  background-color: #004499;
  text-align: center; }
  .footer-cr {
    padding: 1em 0;
    color: #fff;
    font-size: 12px; }

html {
  scroll-behavior: smooth; }

.pc {
  display: block; }
  @media screen and (max-width: 767px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp {
      display: block; } }

section {
  position: relative;
  padding-bottom: 100px; }
  @media screen and (max-width: 767px) {
    section {
      padding-bottom: 50px; } }

#wrapper {
  width: 100%;
  overflow: hidden; }

.arrow-w {
  position: absolute;
  top: 12px;
  right: 15px;
  display: inline-block;
  width: 20px;
  height: 1px;
  margin-top: 20px;
  border-radius: 9999px;
  background-color: #ffffff; }
  @media screen and (max-width: 767px) {
    .arrow-w {
      width: 10px;
      margin-top: 15px; } }
  .arrow-w::before {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 12px;
    height: 1px;
    border-radius: 9999px;
    background-color: #ffffff;
    transform: rotate(45deg);
    transform-origin: calc(100% - 1px) 50%; }
    @media screen and (max-width: 767px) {
      .arrow-w::before {
        width: 6px; } }

.arrow-b {
  position: absolute;
  bottom: 15px;
  right: 15px;
  display: inline-block;
  width: 20px;
  height: 1px;
  margin-top: 20px;
  border-radius: 9999px;
  background-color: #004499; }
  @media screen and (max-width: 767px) {
    .arrow-b {
      width: 10px;
      margin-top: 15px; } }
  .arrow-b::before {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 12px;
    height: 1px;
    border-radius: 9999px;
    background-color: #004499;
    transform: rotate(45deg);
    transform-origin: calc(100% - 1px) 50%; }
    @media screen and (max-width: 767px) {
      .arrow-b::before {
        width: 6px; } }

.cmn-inner {
  width: 90%;
  max-width: 1240px;
  margin: 0 auto;
  padding-top: 100px; }
  @media screen and (max-width: 767px) {
    .cmn-inner {
      padding-top: 50px; } }
.cmn-hl {
  position: relative;
  z-index: 10;
  color: #004499;
  font-size: 32px;
  text-align: center;
  line-height: 1.5; }
  @media screen and (max-width: 767px) {
    .cmn-hl {
      font-size: 20px; } }
  .cmn-hl-s {
    color: #333;
    font-size: 24px;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .cmn-hl-s {
        font-size: 16px; } }
.cmn-lede {
  position: relative;
  z-index: 10;
  margin-top: 12px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .cmn-lede {
      margin-top: 4px;
      font-size: 14px; } }
.cmn-cta {
  width: 90%;
  max-width: 840px;
  margin: 50px auto 0;
  padding: 35px;
  background: linear-gradient(145deg, #f1f1f1, #ffffff);
  box-shadow: 7px 7px 14px #ebebeb, -7px -7px 14px #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media screen and (max-width: 480px) {
    .cmn-cta {
      padding: 25px;
      display: block; } }
  .cmn-cta-pic {
    width: 45%;
    max-width: 320px; }
    @media screen and (max-width: 767px) {
      .cmn-cta-pic {
        width: 40%; } }
    @media screen and (max-width: 480px) {
      .cmn-cta-pic {
        width: 100%; } }
  .cmn-cta-desc {
    width: 52.5%; }
    @media screen and (max-width: 767px) {
      .cmn-cta-desc {
        width: 55%; } }
    @media screen and (max-width: 480px) {
      .cmn-cta-desc {
        width: 100%; } }
  .cmn-cta-logo {
    width: 80%;
    max-width: 150px; }
    @media screen and (max-width: 480px) {
      .cmn-cta-logo {
        margin-top: 20px; } }
  .cmn-cta-hl {
    margin-top: 12px;
    color: #004777;
    font-size: 24px; }
    @media screen and (max-width: 767px) {
      .cmn-cta-hl {
        margin-top: 4px;
        font-size: 18px; } }
  .cmn-cta-btn {
    margin-top: 12px;
    padding: 8px 24px;
    display: inline-block;
    background-color: #044777;
    color: #fff;
    font-size: 14px;
    text-align: center;
    transition: all .15s linear; }
    @media screen and (max-width: 767px) {
      .cmn-cta-btn {
        margin-top: 4px; } }
    .cmn-cta-btn:hover {
      background-color: #2981bc; }
.cmn-bgtxt {
  position: absolute;
  top: 0;
  left: 0;
  opacity: .1;
  color: #fff;
  font-size: 120px;
  font-weight: 800;
  line-height: 1; }
  @media screen and (max-width: 767px) {
    .cmn-bgtxt {
      font-size: 16.25vw; } }

.fadein {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 1.5s; }
  .fadein.fadein-bottom {
    transform: translate(0, 30px); }
  .fadein.scrollin {
    opacity: 1 !important;
    transform: translate(0, 0) !important; }

.hero {
  width: 100%;
  height: auto;
  background: url("../images/hero-bg.png") center top no-repeat;
  background-size: 1920px auto;
  position: relative;
  overflow: hidden;
  position: relative;
  z-index: 0; }
  @media screen and (max-width: 999px) {
    .hero {
      height: auto;
      padding-bottom: 0;
      opacity: inherit;
      background-size: cover; } }
  @media screen and (max-width: 767px) {
    .hero {
      background-size: contain; } }
  .hero-img {
    width: 60%;
    max-width: 647px;
    margin-top: 10vh;
    display: block;
    position: absolute;
    right: 3%;
    z-index: 1; }
    @media screen and (max-width: 999px) {
      .hero-img {
        width: 40%; } }
    @media screen and (max-width: 767px) {
      .hero-img.pc {
        display: none; } }
    .hero-img.sp {
      display: none; }
      @media screen and (max-width: 767px) {
        .hero-img.sp {
          width: 70%;
          margin: 10px auto 0;
          display: block;
          position: relative; } }
  .hero-inner {
    width: 90%;
    max-width: 1240px;
    margin: 40px auto 0;
    position: relative;
    z-index: 2; }
  .hero-desc {
    max-width: 840px; }
    @media screen and (max-width: 767px) {
      .hero-desc {
        max-width: initial; } }
  @media screen and (max-width: 767px) {
    .hero-shl {
      font-size: 14px; } }
  .hero-hl {
    margin-top: 5px;
    line-height: 1.25;
    color: #004499;
    font-size: 64px;
    font-weight: 700; }
    @media screen and (max-width: 999px) {
      .hero-hl {
        font-size: 48px; } }
    @media screen and (max-width: 767px) {
      .hero-hl {
        font-size: 30px; } }
    .hero-hl > span {
      font-weight: 600; }
  .hero-lede {
    margin-top: 20px;
    font-size: 15px; }
    @media screen and (max-width: 767px) {
      .hero-lede {
        margin-top: 10px;
        font-size: 13px; } }
  .hero-btn-list {
    margin-top: 30px;
    display: flex;
    justify-content: flex-start;
    gap: 20px; }
    @media screen and (max-width: 767px) {
      .hero-btn-list {
        gap: 10px; } }
    .hero-btn-list > li {
      width: 50%;
      max-width: 260px;
      border-radius: 8px;
      overflow: hidden;
      transition: all .2s linear; }
      .hero-btn-list > li a {
        width: 100%;
        padding: 20px 8px;
        display: block;
        border-radius: 8px;
        position: relative;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        text-align: center; }
        @media screen and (max-width: 767px) {
          .hero-btn-list > li a {
            padding-top: 12px;
            padding-bottom: 12px;
            font-size: 14px; } }
        .hero-btn-list > li a > .arrow-w {
          top: 15px; }
          @media screen and (max-width: 767px) {
            .hero-btn-list > li a > .arrow-w {
              top: 8px; } }
      .hero-btn-list > li:first-child {
        background-image: linear-gradient(90deg, #6951f4, #54b6ff); }
      .hero-btn-list > li:last-child {
        background-image: linear-gradient(90deg, #67b2fd, #00b4a5); }
      .hero-btn-list > li:hover {
        opacity: .75; }
        @media screen and (max-width: 767px) {
          .hero-btn-list > li:hover {
            opacity: 1; } }
  .hero-bp {
    width: 100%;
    max-width: 800px;
    margin-top: 30px;
    padding: 36px;
    border-radius: 8px;
    background-image: linear-gradient(0deg, #d4e7fb, #ebf3fc);
    position: relative;
    z-index: 10; }
    @media screen and (max-width: 767px) {
      .hero-bp {
        padding: 24px; } }
    .hero-bp-hl {
      color: #000;
      font-size: 16px;
      font-weight: 500; }
      @media screen and (max-width: 767px) {
        .hero-bp-hl {
          font-size: 12px; } }
    .hero-bp-logo {
      width: 137px;
      margin-right: 8px;
      display: inline-block; }
      @media screen and (max-width: 767px) {
        .hero-bp-logo {
          width: 92px; } }
    .hero-bp-list {
      margin-top: 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px; }
      @media screen and (max-width: 767px) {
        .hero-bp-list {
          flex-wrap: wrap;
          justify-content: flex-start; } }
      @media screen and (max-width: 999px) {
        .hero-bp-list > li {
          width: 47.5%; } }
      .hero-bp-list > li img {
        width: 100%; }
      .hero-bp-list-main {
        margin-top: 20px;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px; }
        .hero-bp-list-main > li {
          width: 20%; }
          @media screen and (max-width: 767px) {
            .hero-bp-list-main > li {
              width: 70%;
              margin: 0 auto; } }

.cta-box {
  width: 90%;
  max-width: 660px;
  margin: 40px auto 0;
  padding: 32px 40px;
  background-color: #eff7ff;
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .cta-box {
      width: 100%;
      display: block; } }
  .cta-box.nobg {
    background-color: #fff; }
.cta-img {
  width: 40%;
  max-width: 200px; }
  @media screen and (max-width: 767px) {
    .cta-img {
      width: 100%;
      max-width: initial; } }
.cta-inner {
  width: 57.5%; }
  @media screen and (max-width: 767px) {
    .cta-inner {
      width: 100%; } }
.cta-hl {
  color: #004499;
  font-size: 24px;
  font-weight: 600; }
  @media screen and (max-width: 767px) {
    .cta-hl {
      margin-top: 12px;
      font-size: 18px;
      text-align: center; } }
.cta-btn {
  width: 100%;
  margin-top: 8px;
  padding: 12px 20px;
  display: block;
  border-radius: 5px;
  position: relative;
  background-image: linear-gradient(90deg, #6951f4, #54b6ff);
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .cta-btn {
      font-size: 14px; } }

.issue .cmn-inner {
  padding-top: 60px; }
.issue-list {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .issue-list {
      display: block;
      margin-top: 30px; } }
  .issue-list > li {
    width: 32%;
    padding: 24px;
    border-radius: 8px;
    background-color: #d8e9fb; }
    @media screen and (max-width: 767px) {
      .issue-list > li {
        width: 100%;
        padding: 20px; } }
    @media screen and (max-width: 767px) {
      .issue-list > li:nth-child(n+2) {
        margin-top: 20px; } }
  .issue-list-hl {
    color: #004499;
    font-size: 20px;
    font-weight: 600;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .issue-list-hl {
        font-size: 16px; } }
  .issue-list-txt {
    margin-top: 8px; }
    @media screen and (max-width: 767px) {
      .issue-list-txt {
        margin-top: 4px;
        font-size: 14px; } }
  .issue-list-btn {
    width: 160px;
    margin: 20px auto 0;
    padding: 8px;
    background-color: #3473f4;
    border-radius: 5px;
    display: block;
    position: relative;
    color: #fff;
    font-size: 16px;
    text-align: center;
    transition: all .2s linear; }
    @media screen and (max-width: 767px) {
      .issue-list-btn {
        margin-top: 10px;
        font-size: 14px; } }
    .issue-list-btn::after {
      content: "";
      width: 0;
      height: 0;
      margin-top: auto;
      margin-bottom: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 12%;
      border-style: solid;
      border-right: 4px solid transparent;
      border-left: 4px solid transparent;
      border-top: 6px solid #fff;
      border-bottom: 0; }
    .issue-list-btn:hover {
      opacity: .75; }
      @media screen and (max-width: 767px) {
        .issue-list-btn:hover {
          opacity: 1; } }

.sec1 {
  background-image: linear-gradient(0deg, #003578, #4395fe);
  position: relative; }
  .sec1 .cmn-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .sec1 .cmn-inner {
        display: block; } }
  .sec1-desc {
    width: 47.5%;
    max-width: 640px; }
    @media screen and (max-width: 767px) {
      .sec1-desc {
        width: 100%; } }
  .sec1-shl {
    padding: 8px 20px;
    background-color: #fff;
    border-radius: 4px;
    display: inline-block;
    color: #004499;
    font-size: 16px;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .sec1-shl {
        font-size: 14px; } }
  .sec1-hl {
    margin-top: 20px;
    color: #fff;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.325; }
    @media screen and (max-width: 999px) {
      .sec1-hl {
        font-size: 32px; } }
    @media screen and (max-width: 767px) {
      .sec1-hl {
        font-size: 24px; } }
  .sec1-lede {
    margin-top: 20px;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .sec1-lede {
        margin-top: 16px;
        font-size: 14px; } }
  .sec1-bp {
    margin-top: 20px;
    padding: 20px 32px;
    border: solid 1px #fff;
    border-radius: 8px; }
    .sec1-bp-hl {
      color: #fff;
      font-size: 24px;
      font-weight: 700; }
      @media screen and (max-width: 767px) {
        .sec1-bp-hl {
          font-size: 20px;
          line-height: 1.325; } }
      .sec1-bp-hl .ast {
        margin-top: -10px;
        font-size: 12px; }
    .sec1-bp-lede {
      margin-top: 12px;
      color: #fff; }
      @media screen and (max-width: 767px) {
        .sec1-bp-lede {
          margin-top: 8px;
          font-size: 14px; } }
    .sec1-bp-list {
      margin-top: 12px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .sec1-bp-list > li {
        width: 22.5%;
        padding: 12px;
        background-color: #fff;
        border-radius: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #004499;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.5;
        text-align: center; }
        @media screen and (max-width: 767px) {
          .sec1-bp-list > li {
            width: 47.5%;
            font-size: 12px; } }
        @media screen and (max-width: 767px) {
          .sec1-bp-list > li:nth-child(n+3) {
            margin-top: 10px; } }
    .sec1-bp-note {
      margin-top: 12px;
      color: #fff;
      font-size: 12px; }
  .sec1-step {
    width: 47.5%;
    max-width: 600px;
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .sec1-step {
        width: 100%;
        margin-top: 40px; } }
    .sec1-step-hl {
      padding: 20px;
      background-color: #10b6ce;
      color: #fff;
      font-size: 24px;
      font-weight: 600;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .sec1-step-hl {
          padding: 12px;
          font-size: 18px; } }
    .sec1-step-inner {
      padding: 40px; }
      @media screen and (max-width: 767px) {
        .sec1-step-inner {
          padding: 24px; } }
    .sec1-step-list > li {
      margin-bottom: 40px;
      border-radius: 5px;
      background-color: #eaf3ff;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      position: relative; }
      .sec1-step-list > li::after {
        content: "";
        width: 0;
        height: 0;
        position: absolute;
        bottom: -30px;
        left: 47.5%;
        border-style: solid;
        border-right: 12px solid transparent;
        border-left: 12px solid transparent;
        border-top: 18px solid #004499;
        border-bottom: 0; }
      .sec1-step-list > li:last-child {
        margin-bottom: 0; }
        .sec1-step-list > li:last-child::after {
          content: none; }
    .sec1-step-num {
      width: 20%;
      background-color: #10b6ce;
      border-radius: 5px 0 0 5px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 40px;
      font-weight: 600; }
      @media screen and (max-width: 767px) {
        .sec1-step-num {
          font-size: 32px; } }
    .sec1-step-desc {
      width: 80%;
      padding: 16px 24px; }
      .sec1-step-desc-hl {
        color: #004499;
        font-size: 18px;
        font-weight: 600; }
        @media screen and (max-width: 767px) {
          .sec1-step-desc-hl {
            font-size: 16px; } }
      .sec1-step-desc-txt {
        color: #004499;
        font-size: 14px;
        font-weight: 400; }
    .sec1-step-btn {
      width: 100%;
      margin-top: 30px;
      padding: 16px;
      display: block;
      border-radius: 5px;
      position: relative;
      background-image: linear-gradient(90deg, #67b2fd, #00b4a5);
      color: #fff;
      font-size: 18px;
      font-weight: 600;
      text-align: center;
      transition: all .2s linear; }
      @media screen and (max-width: 767px) {
        .sec1-step-btn {
          font-size: 14px; } }
      .sec1-step-btn:hover {
        opacity: .75; }
        @media screen and (max-width: 767px) {
          .sec1-step-btn:hover {
            opacity: 1; } }

.sec2 {
  position: relative; }
  .sec2 .cmn-bgtxt {
    color: #004499; }
  .sec2-shl {
    padding: 8px 20px;
    background-color: #3473f4;
    border-radius: 4px;
    display: inline-block;
    color: #fff;
    font-size: 16px;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .sec2-shl {
        font-size: 14px; } }
  .sec2-hl {
    margin-top: 20px;
    color: #004499;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.325; }
    @media screen and (max-width: 999px) {
      .sec2-hl {
        font-size: 32px; } }
    @media screen and (max-width: 767px) {
      .sec2-hl {
        font-size: 24px; } }
  .sec2-lede {
    margin-top: 20px; }
    @media screen and (max-width: 767px) {
      .sec2-lede {
        margin-top: 15px;
        font-size: 14px; } }
  .sec2-plan {
    width: 47.5%;
    padding: 32px;
    background-color: #d8e9fb;
    border-radius: 8px; }
    @media screen and (max-width: 767px) {
      .sec2-plan {
        width: 100%; } }
    @media screen and (max-width: 767px) {
      .sec2-plan:nth-child(n+2) {
        margin-top: 20px; } }
    .sec2-plan-wrap {
      margin-top: 30px;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        .sec2-plan-wrap {
          display: block; } }
    .sec2-plan-hl {
      color: #004499; }
    .sec2-plan-lede {
      margin-top: 8px;
      font-size: 14px; }
    .sec2-plan-list {
      margin-top: 12px; }
      .sec2-plan-list li {
        margin-top: 12px;
        padding: 8px 12px 8px 40px;
        background-color: #fff;
        border-radius: 5px;
        position: relative;
        color: #004499;
        font-weight: 600; }
        @media screen and (max-width: 767px) {
          .sec2-plan-list li {
            font-size: 14px; } }
        .sec2-plan-list li::before {
          content: url(../images/icn-check.svg);
          position: absolute;
          top: 10px;
          left: 10px; }
  .sec2-plandetail {
    margin-top: 40px;
    padding: 60px 40px;
    background-color: #d8e9fb;
    border-radius: 8px; }
    @media screen and (max-width: 767px) {
      .sec2-plandetail {
        padding: 32px 20px; } }
    .sec2-plandetail-hl {
      color: #004499;
      font-size: 32px;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .sec2-plandetail-hl {
          font-size: 18px; } }
  @media screen and (max-width: 767px) {
    .sec2-tab-lede {
      font-size: 14px; } }
  .sec2-tab-tag {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .sec2-tab-tag {
        margin-top: 15px;
        display: block; } }
    .sec2-tab-tag li {
      width: 23.5%;
      padding: 20px;
      background-color: #3473f4;
      border-radius: 5px;
      color: #fff;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .sec2-tab-tag li {
          width: 100%;
          padding: 12px;
          font-size: 12px; } }
      @media screen and (max-width: 767px) {
        .sec2-tab-tag li:nth-child(n+2) {
          margin-top: 10px; } }
  .sec2-tab-cont {
    margin-top: 40px; }
    @media screen and (max-width: 767px) {
      .sec2-tab-cont {
        margin-top: 20px; } }
    .sec2-tab-cont > li {
      padding: 24px 32px;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        .sec2-tab-cont > li {
          padding: 20px;
          display: block; } }
      .sec2-tab-cont > li:nth-child(odd) {
        background-color: #f6fafe; }
    .sec2-tab-cont-hl {
      color: #004499;
      font-size: 16px;
      font-weight: 600; }
      @media screen and (max-width: 767px) {
        .sec2-tab-cont-hl {
          font-size: 14px; } }
      .sec2-tab-cont-hl-wrap {
        width: 20%; }
        @media screen and (max-width: 767px) {
          .sec2-tab-cont-hl-wrap {
            width: 100%; } }
      .sec2-tab-cont-hl-lede {
        font-size: 12px; }
    .sec2-tab-cont-detail {
      width: 77.5%;
      padding-left: 40px;
      border-left: solid 1px #e7f3ff; }
      @media screen and (max-width: 767px) {
        .sec2-tab-cont-detail {
          width: 100%;
          margin-top: 10px;
          padding-left: 0;
          border-left: none; } }
      @media screen and (max-width: 767px) {
        .sec2-tab-cont-detail-list {
          margin-top: 16px; } }
      .sec2-tab-cont-detail-list > li {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between; }
        @media screen and (max-width: 767px) {
          .sec2-tab-cont-detail-list > li {
            font-size: 12px; } }
        .sec2-tab-cont-detail-list > li:nth-child(n+2) {
          margin-top: 12px; }
          @media screen and (max-width: 767px) {
            .sec2-tab-cont-detail-list > li:nth-child(n+2) {
              margin-top: 16px; } }
      .sec2-tab-cont-detail-list-hl {
        font-size: 16px;
        font-weight: 600; }
        @media screen and (max-width: 767px) {
          .sec2-tab-cont-detail-list-hl {
            font-size: 12px; } }
      .sec2-tab-cont-detail-list.list1-s .sec2-tab-cont-detail-list-hl {
        width: 30%;
        word-break: break-all; }
      .sec2-tab-cont-detail-list.list1-s .sec2-tab-cont-detail-list-desc {
        width: 67.5%; }
      .sec2-tab-cont-detail-list.list1-l .sec2-tab-cont-detail-list-hl {
        width: 40%; }
      .sec2-tab-cont-detail-list.list1-l .sec2-tab-cont-detail-list-desc {
        width: 57.5%; }
      .sec2-tab-cont-detail-btn {
        width: 260px;
        padding: 16px 0;
        display: block;
        border-radius: 5px;
        position: relative;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        text-align: center;
        transition: all .2s linear; }
        @media screen and (max-width: 767px) {
          .sec2-tab-cont-detail-btn {
            padding: 12px;
            font-size: 14px; } }
        .sec2-tab-cont-detail-btn:hover {
          opacity: .75; }
          @media screen and (max-width: 767px) {
            .sec2-tab-cont-detail-btn:hover {
              opacity: 1; } }
        .sec2-tab-cont-detail-btn-wrap {
          margin-top: 40px;
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          gap: 40px; }
          @media screen and (max-width: 767px) {
            .sec2-tab-cont-detail-btn-wrap {
              gap: 20px; } }
        .sec2-tab-cont-detail-btn.btn-1 {
          background-image: linear-gradient(90deg, #6951f4, #54b6ff); }
        .sec2-tab-cont-detail-btn.btn-2 {
          background-image: linear-gradient(90deg, #67b2fd, #00b4a5); }
  .sec2-column {
    margin-top: 60px;
    border-radius: 8px;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .sec2-column {
        margin-top: 40px; } }
    .sec2-column > a {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      transition: all .2s linear; }
      @media screen and (max-width: 767px) {
        .sec2-column > a {
          flex-direction: column-reverse; } }
      .sec2-column > a:hover {
        opacity: .75; }
    .sec2-column-desc {
      width: calc(100% - 496px);
      padding: 50px 0 30px;
      background-color: #004499;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center; }
      @media screen and (max-width: 999px) {
        .sec2-column-desc {
          padding: 40px 0 20px; } }
      @media screen and (max-width: 767px) {
        .sec2-column-desc {
          width: 100%;
          padding: 20px 0; } }
      .sec2-column-desc-tag {
        padding: 4px 32px;
        display: inline-block;
        background-color: #3473f4;
        position: absolute;
        top: 0;
        left: 0;
        color: #fff;
        font-size: 14px;
        font-weight: 600; }
        @media screen and (max-width: 999px) {
          .sec2-column-desc-tag {
            font-size: 12px; } }
      .sec2-column-desc-inner {
        width: 90%; }
      .sec2-column-desc-shl {
        padding: 4px 16px;
        border: solid 1px #fff;
        border-radius: 5px;
        display: inline-block;
        color: #fff;
        font-size: 14px;
        font-weight: 600; }
        @media screen and (max-width: 999px) {
          .sec2-column-desc-shl {
            font-size: 12px; } }
      .sec2-column-desc-hl {
        margin-top: 8px;
        color: #fff;
        font-size: 30px;
        font-weight: 600;
        line-height: 1.5; }
        @media screen and (max-width: 1240px) {
          .sec2-column-desc-hl {
            font-size: 22px; } }
        @media screen and (max-width: 999px) {
          .sec2-column-desc-hl {
            font-size: 20px; } }
        @media screen and (max-width: 767px) {
          .sec2-column-desc-hl {
            font-size: 16px; } }
      .sec2-column-desc-author {
        color: #fff;
        font-weight: 600; }
        @media screen and (max-width: 999px) {
          .sec2-column-desc-author {
            font-size: 14px; } }
        @media screen and (max-width: 767px) {
          .sec2-column-desc-author {
            font-size: 12px; } }
    .sec2-column-pic {
      width: 496px; }
      @media screen and (max-width: 767px) {
        .sec2-column-pic {
          width: 100%; } }
  .sec2 .cta-btn {
    transition: all .2s linear; }
    .sec2 .cta-btn .arrow-w {
      top: 8px; }
    .sec2 .cta-btn:hover {
      opacity: .75; }
      @media screen and (max-width: 767px) {
        .sec2 .cta-btn:hover {
          opacity: 1; } }

.tab {
  width: 49.5%;
  padding: 20px 24px;
  background-color: #004499;
  border-radius: 8px 8px 0 0;
  position: relative;
  cursor: pointer;
  transition: all .15s linear; }
  @media screen and (max-width: 767px) {
    .tab {
      padding: 20px 15px; } }
  .tab:hover {
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      .tab:hover {
        background-color: #004499; } }
    .tab:hover .tab-container-hl {
      color: #004499; }
      @media screen and (max-width: 767px) {
        .tab:hover .tab-container-hl {
          color: #fff; } }
    .tab:hover .tab-container-shl {
      color: #000; }
      @media screen and (max-width: 767px) {
        .tab:hover .tab-container-shl {
          color: #fff; } }
  .tab::before {
    content: "";
    width: 4px;
    height: 52px;
    display: block;
    background-color: #004499;
    position: absolute;
    top: 20px;
    left: 0; }
    @media screen and (max-width: 767px) {
      .tab::before {
        height: 72px; } }
  .tab-container {
    margin-top: 60px;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .tab-container {
        margin-top: 32px; } }
    .tab-container-hl {
      color: #fff;
      font-size: 24px;
      font-weight: 600;
      line-height: 1; }
      @media screen and (max-width: 767px) {
        .tab-container-hl {
          font-size: 13px; } }
    .tab-container-shl {
      margin-top: 8px;
      color: #fff;
      font-size: 14px; }
      @media screen and (max-width: 767px) {
        .tab-container-shl {
          margin-top: 4px;
          font-size: 11px;
          line-height: 1.25; } }
  .tab.active {
    background-color: #fff; }
    .tab.active .tab-container-hl {
      color: #004499; }
    .tab.active .tab-container-shl {
      color: #000; }

.content {
  padding: 40px;
  background-color: #fff;
  border-radius: 0 0 8px 8px;
  display: none; }
  @media screen and (max-width: 767px) {
    .content {
      padding: 20px; } }
  .content.show {
    display: block; }

.addon-acc {
  margin-top: 60px;
  border-radius: 8px;
  background-color: #fff; }
  .addon-acc-header {
    width: 100%;
    padding: 20px 40px;
    position: relative;
    transition: all .2s linear;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .addon-acc-header {
        margin-top: 40px;
        padding: 20px; } }
    .addon-acc-header:hover {
      opacity: .75; }
      @media screen and (max-width: 767px) {
        .addon-acc-header:hover {
          opacity: 1; } }
    .addon-acc-header .icon {
      width: 16px;
      height: 16px;
      margin-top: auto;
      margin-bottom: auto;
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 2%;
      border-style: solid;
      border-right: 8px solid transparent;
      border-left: 8px solid transparent;
      border-top: 12px solid #004499;
      border-bottom: 0; }
      @media screen and (max-width: 767px) {
        .addon-acc-header .icon {
          width: 12px;
          height: 12px;
          right: 5%;
          border-right: 6px solid transparent;
          border-left: 6px solid transparent;
          border-top: 10px solid #004499; } }
    .addon-acc-header.active .icon {
      transform: rotate(180deg); }
  .addon-acc-hl {
    color: #004499;
    font-size: 24px;
    font-weight: 600;
    position: relative; }
    @media screen and (max-width: 767px) {
      .addon-acc-hl {
        font-size: 16px; } }
    .addon-acc-hl-s {
      color: #000;
      font-size: 14px; }
  .addon-acc-body {
    display: none;
    padding: 0 40px 20px; }
    @media screen and (max-width: 767px) {
      .addon-acc-body {
        padding: 0 20px 20px; } }
  .addon-acc-table {
    width: 100%; }
    .addon-acc-table th {
      width: calc(100% / 3);
      padding: 16px 20px;
      color: #004499;
      font-size: 14px;
      font-weight: 600;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .addon-acc-table th {
          width: 50%; } }
      @media screen and (max-width: 767px) {
        .addon-acc-table th:first-child {
          display: none; } }
      @media screen and (max-width: 767px) {
        .addon-acc-table th:nth-child(n+2) {
          border-top: solid 1px #e7f3ff;
          border-left: solid 1px #e7f3ff; } }
      @media screen and (max-width: 767px) {
        .addon-acc-table th:last-child {
          border-right: solid 1px #e7f3ff; } }
    @media screen and (max-width: 767px) {
      .addon-acc-table tr {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; } }
    .addon-acc-table tr:nth-child(even) {
      background-color: #f6fafe; }
    .addon-acc-table tr > td {
      padding: 8px 20px;
      font-size: 12px;
      font-weight: 500;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .addon-acc-table tr > td {
          width: 50%; } }
      .addon-acc-table tr > td:first-child {
        font-size: 14px;
        font-weight: 600;
        text-align: left; }
        @media screen and (max-width: 767px) {
          .addon-acc-table tr > td:first-child {
            width: 100%;
            border-bottom: solid 1px #e7f3ff;
            color: #666;
            text-align: center; } }
      .addon-acc-table tr > td > span {
        display: block;
        font-size: 24px;
        font-weight: 700;
        line-height: 1.375; }
      @media screen and (max-width: 767px) {
        .addon-acc-table tr > td:nth-child(n+3) {
          border-left: solid 1px #e7f3ff; } }
  .addon-acc-note {
    margin-top: 12px;
    font-size: 12px;
    text-align: right; }
    @media screen and (max-width: 767px) {
      .addon-acc-note {
        font-size: 10px; } }

.sec3 {
  background-image: linear-gradient(0deg, #003578, #4395fe);
  position: relative; }
  .sec3 .cmn-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .sec3 .cmn-inner {
        display: block; } }
  .sec3-desc {
    width: 47.5%;
    max-width: 640px; }
    @media screen and (max-width: 767px) {
      .sec3-desc {
        width: 100%; } }
  .sec3-shl {
    padding: 8px 20px;
    background-color: #fff;
    border-radius: 4px;
    display: inline-block;
    color: #004499;
    font-size: 16px;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .sec3-shl {
        font-size: 14px; } }
  .sec3-hl {
    margin-top: 20px;
    color: #fff;
    font-size: 39px;
    font-weight: 700;
    line-height: 1.325; }
    @media screen and (max-width: 999px) {
      .sec3-hl {
        font-size: 32px; } }
    @media screen and (max-width: 767px) {
      .sec3-hl {
        font-size: 24px; } }
  .sec3-lede {
    margin-top: 20px;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .sec3-lede {
        margin-top: 16px;
        font-size: 14px; } }
  .sec3-server {
    margin-top: 32px;
    padding: 12px 20px;
    border: solid 1px #fff;
    border-radius: 8px; }
    @media screen and (max-width: 767px) {
      .sec3-server {
        margin-top: 20px;
        padding: 12px; } }
    .sec3-server-hl {
      color: #fff;
      font-size: 14px;
      font-weight: 700; }
      @media screen and (max-width: 767px) {
        .sec3-server-hl {
          margin-top: 4px;
          font-size: 13px;
          line-height: 1.325; } }
      .sec3-server-hl .ast {
        margin-top: -10px;
        font-size: 12px; }
    .sec3-server-txt {
      color: #fff;
      font-size: 12px; }
      .sec3-server-txt > a {
        color: #fff;
        text-decoration: underline; }
        .sec3-server-txt > a:hover {
          opacity: .75;
          text-decoration: none; }
          @media screen and (max-width: 767px) {
            .sec3-server-txt > a:hover {
              opacity: 1;
              text-decoration: underline; } }
    .sec3-server-list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .sec3-server-list > li {
        width: 49.5%;
        padding: 12px;
        display: flex;
        justify-content: space-between;
        color: #004499;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.5;
        text-align: center; }
        @media screen and (max-width: 999px) {
          .sec3-server-list > li {
            display: block; } }
    .sec3-server-logo {
      width: 80%;
      max-width: 80px;
      display: block; }
      .sec3-server-logo.aws {
        width: 60%;
        max-width: 60px; }
        @media screen and (max-width: 767px) {
          .sec3-server-logo.aws {
            width: 50%;
            max-width: 50px; } }
      .sec3-server-logo.az {
        width: 50%;
        max-width: 50px; }
        @media screen and (max-width: 767px) {
          .sec3-server-logo.az {
            width: 40%;
            max-width: 40px; } }
      .sec3-server-logo.fuji {
        width: 40%;
        max-width: 50px; }
        @media screen and (max-width: 767px) {
          .sec3-server-logo.fuji {
            max-width: 40px; } }
      .sec3-server-logo-wrap {
        width: 100px;
        height: 75px;
        background-color: #fff;
        border-radius: 5px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center; }
        @media screen and (max-width: 999px) {
          .sec3-server-logo-wrap {
            width: 100%; } }
    .sec3-server-desc {
      width: calc(100% - 112px);
      text-align: left; }
      @media screen and (max-width: 999px) {
        .sec3-server-desc {
          width: 100%; } }
    .sec3-server-note {
      margin-top: 12px;
      color: #fff;
      font-size: 12px; }
  .sec3-assm {
    width: 42.5%;
    max-width: 600px;
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .sec3-assm {
        width: 100%;
        margin-top: 40px; } }
    .sec3-assm-desc {
      padding: 20px 32px; }
      @media screen and (max-width: 767px) {
        .sec3-assm-desc {
          padding: 20px; } }
      .sec3-assm-desc-inner {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between; }
      .sec3-assm-desc-txt {
        width: calc(100% - 100px); }
        @media screen and (max-width: 767px) {
          .sec3-assm-desc-txt {
            width: calc(100% - 70px); } }
      .sec3-assm-desc-icn {
        width: 74px;
        height: auto;
        display: block; }
        @media screen and (max-width: 767px) {
          .sec3-assm-desc-icn {
            width: 50px; } }
      .sec3-assm-desc-hl {
        color: #004499;
        font-size: 26px;
        font-weight: 700;
        line-height: 1.325; }
        @media screen and (max-width: 767px) {
          .sec3-assm-desc-hl {
            font-size: 16px; } }
      .sec3-assm-desc-shl {
        margin-bottom: 12px;
        padding: 4px 0;
        border-bottom: solid 1px #000;
        display: inline-block;
        position: relative;
        color: #000;
        font-size: 14px;
        font-weight: 500;
        text-align: center; }
        @media screen and (max-width: 767px) {
          .sec3-assm-desc-shl {
            font-size: 11px; } }
        .sec3-assm-desc-shl::before {
          content: "";
          width: 0;
          height: 0;
          position: absolute;
          top: 100%;
          left: 50%;
          border: 8px solid;
          border-color: transparent;
          border-top-color: black;
          margin-left: -8px; }
        .sec3-assm-desc-shl::after {
          content: "";
          width: 0;
          height: 0;
          position: absolute;
          top: 100%;
          left: 50%;
          border: 7px solid;
          border-color: transparent;
          border-top-color: #fff;
          margin-left: -7px; }
      .sec3-assm-desc-balloon {
        margin-top: 16px;
        position: relative;
        font-size: 14px;
        font-weight: bold;
        line-height: 1.325;
        text-align: center;
        background: linear-gradient(90deg, #67b2fd 0%, #00b4a5 100%);
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent; }
        .sec3-assm-desc-balloon::before {
          position: relative;
          display: inline-block;
          content: "";
          background: #003578;
          width: 1px;
          height: 12px;
          margin: 0 1em;
          margin-top: -.2em;
          vertical-align: middle;
          transform: rotate(-35deg); }
        .sec3-assm-desc-balloon::after {
          position: relative;
          display: inline-block;
          content: "";
          background: #003578;
          width: 1px;
          height: 12px;
          margin: 0 1em;
          margin-top: -.2em;
          vertical-align: middle;
          transform: rotate(35deg); }
      .sec3-assm-desc-btn {
        width: 100%;
        margin-top: 8px;
        padding: 16px;
        display: block;
        border-radius: 5px;
        position: relative;
        background-image: linear-gradient(90deg, #67b2fd, #00b4a5);
        color: #fff;
        font-size: 18px;
        font-weight: 600;
        text-align: center;
        transition: all .2s linear; }
        @media screen and (max-width: 767px) {
          .sec3-assm-desc-btn {
            padding: 12px;
            font-size: 14px; } }
        .sec3-assm-desc-btn:hover {
          opacity: .75; }
          @media screen and (max-width: 767px) {
            .sec3-assm-desc-btn:hover {
              opacity: 1; } }

.why {
  padding-top: 100px; }
  @media screen and (max-width: 767px) {
    .why {
      padding-top: 0; } }
  .why .cmn-inner {
    padding-top: 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .why .cmn-inner {
        padding-top: 50px; } }
  .why-hl {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    font-size: 52px;
    font-weight: 600;
    line-height: 1.25; }
    @media screen and (max-width: 999px) {
      .why-hl {
        font-size: 36px; } }
    @media screen and (max-width: 767px) {
      .why-hl {
        position: relative;
        font-size: 32px; } }
    .why-hl-box {
      padding: 8px 16px;
      display: inline-block;
      background: linear-gradient(to right, #003679, #4395fd); }
      .why-hl-box.mt {
        margin-top: 16px; }
        @media screen and (max-width: 767px) {
          .why-hl-box.mt {
            margin-top: 8px; } }
  .why-img {
    width: 90%;
    max-width: 830px;
    margin: 0 auto;
    display: block; }
    @media screen and (max-width: 1240px) {
      .why-img {
        width: 60%; } }
    @media screen and (max-width: 767px) {
      .why-img {
        width: 100%;
        margin-top: 20px; } }
    .why-img.pc {
      display: block; }
      @media screen and (max-width: 767px) {
        .why-img.pc {
          display: none; } }
    .why-img.sp {
      display: none; }
      @media screen and (max-width: 767px) {
        .why-img.sp {
          display: block; } }
  .why-support {
    margin-top: 40px; }
    .why-support-hl {
      color: #004499;
      font-size: 24px;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 12px;
      text-decoration-thickness: 1px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .why-support-hl {
          font-size: 18px;
          text-underline-offset: 8px; } }
    .why-support-list {
      margin-top: 20px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        .why-support-list {
          display: block; } }
      .why-support-list li {
        width: 32%;
        padding: 20px;
        border-radius: 8px;
        background-color: #d8e9fb; }
        @media screen and (max-width: 767px) {
          .why-support-list li {
            width: 100%; } }
        @media screen and (max-width: 767px) {
          .why-support-list li:nth-child(n+2) {
            margin-top: 10px; } }
    .why-support-shl {
      color: #004499;
      font-size: 18px;
      font-weight: 600;
      line-height: 1.325; }
      @media screen and (max-width: 767px) {
        .why-support-shl {
          font-size: 16px; } }
    .why-support-txt {
      margin-top: 8px;
      font-size: 14px; }
  .why-partner {
    margin-top: 40px;
    padding: 40px 60px;
    border: solid 1px #ccc;
    border-radius: 8px; }
    @media screen and (max-width: 767px) {
      .why-partner {
        padding: 24px; } }
    .why-partner-hl {
      font-size: 16px;
      font-weight: 600; }
      @media screen and (max-width: 767px) {
        .why-partner-hl {
          font-size: 12px; } }
      .why-partner-hl > img {
        width: 137px;
        height: auto;
        margin-right: 8px;
        display: inline-block; }
        @media screen and (max-width: 767px) {
          .why-partner-hl > img {
            width: 92px;
            margin-right: 4px; } }
    .why-partner-list {
      margin-top: 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px; }
      @media screen and (max-width: 767px) {
        .why-partner-list {
          flex-wrap: wrap;
          justify-content: flex-start; } }
      @media screen and (max-width: 999px) {
        .why-partner-list > li {
          width: 47.5%; } }
      .why-partner-list > li img {
        width: 100%; }
      .why-partner-list-main {
        margin-top: 20px;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px; }
        .why-partner-list-main > li {
          width: 20%; }
          @media screen and (max-width: 767px) {
            .why-partner-list-main > li {
              width: 70%;
              margin: 0 auto; } }

.achieve {
  background-color: #d8e9fb; }
  .achieve-box {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .achieve-box {
        margin-top: 30px;
        display: block; } }
    .achieve-box-head {
      width: 35%;
      border-radius: 8px;
      background-color: #fff;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .achieve-box-head {
          width: 100%;
          border-radius: 8px 8px 0 0; } }
      .achieve-box-head-inner {
        padding: 16px 24px; }
      .achieve-box-head-hl {
        color: #004499;
        font-size: 20px;
        font-weight: 600;
        line-height: 1.325; }
        @media screen and (max-width: 767px) {
          .achieve-box-head-hl {
            font-size: 16px; } }
      .achieve-box-head-company {
        margin-top: 8px;
        color: #666;
        font-size: 14px; }
    .achieve-box-desc {
      width: 62.5%;
      background-color: #fff;
      border-radius: 8px;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .achieve-box-desc {
          width: 100%;
          border-radius: 0 0 8px 8px; } }
      .achieve-box-desc-inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        @media screen and (max-width: 767px) {
          .achieve-box-desc-inner {
            display: block; } }
      .achieve-box-desc-hl {
        width: 17.5%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-weight: 600; }
        @media screen and (max-width: 767px) {
          .achieve-box-desc-hl {
            width: 100%;
            padding: 10px;
            text-align: center; } }
        .achieve-box-desc-hl.problem {
          background-color: #004499; }
        .achieve-box-desc-hl.result {
          background-color: #00afbf; }
      .achieve-box-desc-list {
        width: 82.5%;
        padding: 24px 32px; }
        @media screen and (max-width: 767px) {
          .achieve-box-desc-list {
            width: 100%;
            padding: 20px; } }
        .achieve-box-desc-list > li {
          padding-left: 32px;
          font-size: 14px;
          line-height: 1.75;
          position: relative; }
          .achieve-box-desc-list > li::before {
            content: url(../images/icn-check-sq.svg);
            width: 12px;
            height: auto;
            display: block;
            position: absolute;
            top: 0;
            left: 0; }
          .achieve-box-desc-list > li:nth-child(n+2) {
            margin-top: 14px; }
  .achieve .cta-btn {
    transition: all .2s linear; }
    .achieve .cta-btn .arrow-w {
      top: 8px; }
    .achieve .cta-btn:hover {
      opacity: .75; }
      @media screen and (max-width: 767px) {
        .achieve .cta-btn:hover {
          opacity: 1; } }

.report .cmn-hl {
  font-weight: 600; }
.report-list {
  margin-top: 60px; }
  @media screen and (max-width: 767px) {
    .report-list {
      margin-top: 30px; } }
  .report-list-wrap {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 25px; }
  .report-list-item {
    width: 32%;
    max-width: 327px;
    height: inherit;
    margin: 0 10px;
    box-shadow: 0px 4px 2px 0px #bbb;
    border: solid 1px #eee;
    border-radius: 8px;
    display: block;
    position: relative;
    overflow: hidden; }
  .report-list-desc {
    padding: 16px 20px 32px;
    position: relative; }
  .report-list-hl {
    color: #004499; }

.slick-track {
  padding-bottom: 10px;
  padding-left: 10px;
  display: flex !important;
  align-items: stretch; }

.slick-dots {
  display: none !important; }

.slick-arrow {
  width: 20px;
  height: 38px;
  margin: auto;
  padding: 0;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  color: transparent;
  transition: opacity 0.5s; }

.slick-arrow:hover {
  opacity: 0.7; }

/* 共通設定 */
.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle; }

.slick-next::after,
.slick-prev::after {
  width: 26px;
  height: 26px;
  border-top: 2px solid #004499;
  border-right: 2px solid #004499; }

/* next */
.slick-next::after {
  right: 4px;
  transform: rotate(45deg); }

/* prev */
.slick-prev::after {
  left: 4px;
  transform: rotate(-135deg); }

@media screen and (max-width: 767px) {
  .slick-list {
    overflow: visible; } }

.faq {
  background-color: #d8e9fb; }
  .faq-accordion {
    max-width: 1080px;
    margin: 50px auto 0; }
    @media screen and (max-width: 767px) {
      .faq-accordion {
        margin-top: 30px; } }

.panel {
  margin-bottom: 10px;
  border-radius: 8px;
  overflow: hidden; }
  .panel-header {
    width: 100%;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #3473f4;
    border: none;
    cursor: pointer;
    color: #fff;
    font-size: 16px;
    text-align: left;
    transition: all .15s linear; }
    @media screen and (max-width: 767px) {
      .panel-header {
        font-size: 14px; } }
    .panel-header:hover {
      background: #82b9ff; }
    .panel-header-txt {
      padding: 0 40px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .panel-header-txt {
          font-size: 14px; } }
      .panel-header-txt::before {
        content: "Q";
        position: absolute;
        top: 0;
        left: 0;
        color: #fff; }
    .panel-header.active .icon {
      transform: rotate(45deg); }
  .panel-content {
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease-out; }
  .panel-body {
    padding: 20px;
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      .panel-body {
        font-size: 14px; } }
    .panel-body-txt {
      padding: 0 40px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .panel-body-txt {
          font-size: 14px;
          padding-right: 0; } }
      .panel-body-txt::before {
        content: "A";
        position: absolute;
        top: 0;
        left: 0;
        color: #004499; }

.icon {
  font-size: 20px;
  font-weight: bold;
  transition: transform 0.3s;
  color: #fff; }

.contact-box {
  width: 47.5%;
  height: 320px;
  position: relative;
  border-radius: 8px;
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
  transition: all .2s linear; }
  @media screen and (max-width: 767px) {
    .contact-box {
      width: 100%;
      height: auto; } }
  .contact-box a {
    width: 100%;
    height: 100%;
    padding: 48px;
    display: block; }
    @media screen and (max-width: 767px) {
      .contact-box a {
        padding: 32px; } }
  .contact-box.contact {
    background-image: url(../images/contact-consul.png); }
  .contact-box.dl {
    background-image: url(../images/contact-dl.png); }
    @media screen and (max-width: 767px) {
      .contact-box.dl {
        margin-top: 20px; } }
  .contact-box:hover {
    opacity: .75; }
    @media screen and (max-width: 767px) {
      .contact-box:hover {
        opacity: 1; } }
  .contact-box-wrap {
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .contact-box-wrap {
        margin-top: 30px;
        display: block; } }
  .contact-box-hl {
    color: #fff;
    font-size: 24px;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .contact-box-hl {
        font-size: 18px; } }
  .contact-box-txt {
    width: 60%;
    margin-top: 8px;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .contact-box-txt {
        width: 70%;
        font-size: 13px; } }
  .contact-box .arrow-w {
    top: auto;
    right: 30px;
    bottom: 30px; }



