@charset "UTF-8";
:root {
  --baseWidth: 1000px;
}
@media screen and (max-width: 1200px) {
  :root {
    --baseWidth: auto;
  }
}
main {
  line-height: 2;
  word-break: auto-phrase;
}
main > nav {
  padding: 0.5rem 0;
  background: #eee;
}
main > nav ul {
  display: flex;
  width: var(--baseWidth);
  margin: 0 auto;
  padding: 0;
  color: #666;
  font-size: 0.875rem;
  list-style: none;
}
main > nav ul li:nth-of-type(n+2):before {
  content: "＞";
  padding: 0 0.875rem 0 1rem;
  font-size: 0.75em;
  vertical-align: 1px;
}
main article img {
  width: 100%;
}
main article h2 {
  padding: 0.5rem 1rem 0.5rem 1rem !important;
  color: #fff;
  font-size: 2rem;
  line-height: 1.5;
  background: #163E64;
}
main article h3 {
  padding-bottom: 0.5rem;
  font-size: 1.75rem;
  border-bottom: 2px #005cca solid;
  line-height: 1.5;
}
main article h3 span {
  padding-left: 1rem;
  font-size: 1rem;
}
main article h4 {
  display: flex;
  font-size: 1.5rem;
  line-height: 1.5;
}
main article h4:before {
  content: "●";
  padding-right: 0.5em;
  color: #005cca;
}
main article h5 {
  color: #005cca;
  font-size: 1.25rem;
}
main article h5:before {
  content: "\e931";
  padding-right: 0.5em;
  font-family: "Material Icons";
  vertical-align: text-bottom;
}
main article h6 {
  padding: 5px 10px;
  font-size: 1.125rem;
  background: #ddd;
}
main article figure {
  margin: 1rem 0;
}
main article figure.w30, main article figure.w40, main article figure.w50, main article figure.w60, main article figure.w70, main article figure.w80, main article figure.w90 {
  margin: 1rem auto;
}
main article ul {
  padding-left: 1.75rem;
  box-sizing: border-box;
}
main article ul li {
  margin: 0.5rem 0;
  padding-left: 0;
  line-height: 1.75;
}
main article dl {
  margin: 1rem 0 2rem 0;
}
main article dl dt {
  color: #1c9e91;
  font-size: 1.125rem;
  font-weight: bold;
}
main article dl dd {
  margin: 0 0 1rem 1rem;
}
main article dl dd ul {
  padding-left: 0.5rem;
}
main article sup {
  padding: 0 0.25rem;
  font-weight: normal;
}
main article table {
  width: 100%;
  margin: 2rem 0;
  border-collapse: collapse;
  background: #fff;
}
main article table th, main article table td {
  padding: 1rem;
  border: 1px #ccc solid;
  vertical-align: top;
}
main article table dl {
  margin: 0;
}
main article table thead tr th {
  color: #fff;
  background: #005cca;
}
main article table tbody tr th {
  color: #fff;
  background: rgba(0, 92, 202, 0.7);
}
main article table tbody tr th span {
  display: block;
  margin-top: 0.5em;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
}
main article table tbody tr td ul {
  margin-top: 0;
  margin-bottom: 0;
}
main article .w40 {
  width: 40%;
}
main article .w50 {
  width: 50%;
}
main article .w60 {
  width: 60%;
}
main article .w70 {
  width: 70%;
}
main article .w80 {
  width: 80%;
}
main article .w90 {
  width: 90%;
}
main article .mt0 {
  margin-top: 0 !important;
}
main article .mt2rem {
  margin-top: 2rem;
}
main article .mt3rem {
  margin-top: 3rem;
}
main article .mt4rem {
  margin-top: 4rem;
}
main article .mt5rem {
  margin-top: 5rem;
}
main article .mb0 {
  margin-bottom: 0 !important;
}
main article .mb2rem {
  margin-bottom: 2rem;
}
main article .mb3rem {
  margin-bottom: 3rem;
}
main article .mb4rem {
  margin-bottom: 4rem;
}
main article .mb5rem {
  margin-bottom: 5rem;
}
main article .textCenter {
  text-align: center;
}
main article .red {
  color: #d00;
}
main article .abNone {
  word-break: normal !important;
}
main article .exBlock00 {
  width: var(--baseWidth);
  margin: 50px auto;
  padding: 0;
  list-style: none;
}
main article .flex2 {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
main article .flex2 > * {
  width: calc(50% - 1rem);
  margin: 0;
}
main article .flex3 {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
main article .flex3 > * {
  width: calc(33.3% - 1.3333333333rem);
  margin: 0;
}
main article .flex4 {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
main article .flex4 > * {
  width: calc(25% - 1.5rem);
  margin: 0;
}
main article .flex2-1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}
main article .flex2-1 > *:nth-child(odd) {
  width: calc(66% - 4.5rem);
  margin: 0;
}
main article .flex2-1 > *:nth-child(even) {
  width: 33%;
  margin: 0;
}
main article .flex1-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}
main article .flex1-2 > *:nth-child(odd) {
  width: calc(33% - 4.5rem);
  margin: 0;
  flex: 1;
}
main article .flex1-2 > *:nth-child(even) {
  width: 66%;
  margin: 0;
}
main article .flex3-1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}
main article .flex3-1 > *:nth-child(odd) {
  width: calc(75% - 4.5rem);
  margin: 0;
}
main article .flex3-1 > *:nth-child(even) {
  width: 25%;
  margin: 0;
}
main article .flex1-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}
main article .flex1-3 > *:nth-child(odd) {
  width: calc(25% - 4.5rem);
  margin: 0;
}
main article .flex1-3 > *:nth-child(even) {
  width: 75%;
  margin: 0;
}
main article .alignItem_c {
  align-items: center;
}
main article > section section {
  margin: 50px 0;
}
main article > section > div {
  padding: 50px 0;
}
main article #titleArea {
  background: url("/solutions/c-native/assets/images/bg_titlearea.png") no-repeat 50% 50%/cover;
}
main article #titleArea > div {
  display: flex;
  width: var(--baseWidth);
  margin: 0 auto;
  padding: 20px 0 15px 0;
  align-items: center;
  justify-content: space-between;
}
main article #titleArea > div h1 {
  margin: 0 0.75em;
  color: #fff;
  font-size: 2.5rem;
  line-height: 1.5;
  text-shadow: 2px 2px 3px #000, -2px 2px 3px #000, -2px -2px 3px #000, 2px -2px 3px #000;
}
main article #titleArea > div h1 br {
  display: none;
}
main article #titleArea > div img {
  width: 150px;
}
main article #titleArea #categoryArea ul {
  display: flex;
  width: var(--baseWidth);
  margin: 0 auto -1px auto;
  list-style: none;
  align-items: flex-end;
  gap: 0.5rem;
}
main article #titleArea #categoryArea ul li {
  margin: 0;
  text-align: center;
  flex: 1;
}
main article #titleArea #categoryArea ul li a {
  display: block;
  padding: 0.5rem 1rem;
  font-weight: bold;
  border: 1px #005cca solid;
  border-width: 1px 1px 0 1px;
  border-radius: 10px 10px 0 0;
  text-decoration: none;
  line-height: 1.5;
  background: #fff;
}
main article #titleArea #categoryArea ul li a:hover {
  opacity: 1;
  color: #fff;
  background: #528ACC;
}
main article #titleArea #categoryArea ul li.here a {
  color: #fff;
  background: #005cca;
}
main article #anchorArea {
  background: #005cca;
}
main article #anchorArea ul {
  display: flex;
  width: var(--baseWidth);
  margin: 0 auto;
  padding: 0;
  color: #fff;
  list-style: none;
  flex-wrap: wrap;
  gap: 0 1rem;
}
main article #anchorArea ul li {
  margin: 0;
}
main article #anchorArea ul li a {
  display: flex;
  padding: 1rem;
  color: #fff;
  text-decoration: none;
  align-items: center;
}
main article #anchorArea ul li a:before {
  display: block;
  content: "▼";
  padding: 0 0.5rem 0 0;
  font-size: 0.75em;
  vertical-align: 1px;
  transition: 0.3s;
}
main article #anchorArea ul li a:hover {
  opacity: 1;
  background: #528ACC;
}
main article #anchorArea ul li a:hover:before {
  transform: translateY(3px);
}
main article #catchphrase {
  margin: 0;
  font-size: min(4vw, 2em);
  font-weight: bold;
  line-height: 1.5;
  box-sizing: border-box;
  word-break: auto-phrase;
}
main article #catchphrase.fontSmall {
  font-size: min(4vw, 1.75em);
}
main article #catchphrase + figure {
  margin: 1rem 0;
}
main article .features > div {
  display: flex;
  margin-bottom: 2rem;
  gap: 2rem;
}
main article .features > div span {
  color: #005cca;
  font-size: 5rem;
  font-weight: bold;
  line-height: 1;
}
main article .features > div span:after {
  content: ".";
  font-size: 0.5em;
}
main article .features > div div h3 {
  margin: 0;
  color: #005cca;
  font-size: 1.5rem;
}
main article .features > div div p {
  margin: 0;
}
main article .exArea01 figure {
  width: 75%;
  margin: 3rem auto;
}
main article .exArea01 ul {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 1rem 7rem;
  border: 3px #005cca double;
  background: #ffe;
}
main article .exArea01 ul li {
  color: #005cca;
  font-size: 1.25rem;
  font-weight: bold;
}
main article .exArea01 p {
  width: 650px;
  margin: 5rem auto 0 auto;
  padding: 1rem 0;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  background: #005cca;
  position: relative;
}
main article .exArea01 p:before {
  content: "▼";
  color: #005cca;
  position: absolute;
  top: -4.5rem;
  left: 50%;
  transform: translateX(-50%) scale(4, 1.5);
}
main article .exArea01 .exArea01-sp {
  display: none;
}
main article .exArea02 {
  display: flex;
  margin: 50px 0;
  list-style: none;
  gap: 2rem;
}
main article .exArea02 li {
  text-align: center;
  flex: 1;
}
main article .exArea02 li img {
  width: 50%;
}
main article .exArea02 li h3 {
  margin: 0;
  font-size: 1.5rem;
  border: none;
}
main article .exArea02 li h3:before {
  content: normal;
}
main article .exArea02 li p {
  margin: 0;
}
main article .exArea03 > dl {
  margin: 0;
  border: 1px #005cca solid;
  box-sizing: border-box;
}
main article .exArea03 > dl dt {
  margin-top: 0;
  padding: 0.25rem 0.5rem;
  color: #fff;
  background: #005cca;
  box-sizing: border-box;
}
main article .exArea03 > dl dd {
  padding: 0 1rem;
  box-sizing: border-box;
}
main article .exArea03.gr {
  margin: 5rem 0;
  position: relative;
}
main article .exArea03.gr > dl {
  border: 1px #16a059 solid;
}
main article .exArea03.gr > dl dt {
  background: #16a059;
}
main article .exArea03.gr > dl dd {
  padding: 0 1rem;
}
main article .exArea03.gr:before {
  content: "▼";
  color: #999;
  font-size: 6.5rem;
  position: absolute;
  top: -9rem;
  left: 50%;
  transform: translateX(-50%) scale(1, 0.5);
}
main article .boxArea {
  border: 1px #005cca solid;
}
main article .boxArea > p {
  margin: 0;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
main article .boxArea > p:nth-of-type(1) {
  padding: 1rem;
  color: #fff;
  background: #005cca;
}
main article .boxArea > p:nth-of-type(2) {
  padding: 2rem;
  background: #fff;
}
main article .caseArea {
  display: flex;
  position: relative;
  gap: 5rem;
}
main article .caseArea:before {
  content: "▶";
  color: green;
  font-size: 5rem;
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translate(-50%) scale(0.6, 1.4);
}
main article .caseArea section {
  margin: 0;
  border: 1px #005cca solid;
  background: #fff;
  flex: 1;
}
main article .caseArea section h5, main article .caseArea section h6 {
  margin: 0;
  color: #fff;
  text-align: center;
  background: #005cca;
}
main article .caseArea section h5:before, main article .caseArea section h6:before {
  content: normal;
}
main article .caseArea section ul {
  margin: 0;
  padding: 1rem;
}
main article .caseArea section ul li {
  margin-left: 2rem;
}
main article .security01 {
  margin: 2rem 0;
  padding: 0;
  list-style: none;
}
main article .security01 li {
  text-align: center;
}
main article .security01 li strong {
  color: green;
  font-size: 1.25rem;
}
main article .security02 h3 {
  margin-right: 1rem;
  padding: 0.5rem 0;
  color: #fff;
  text-align: center;
  border: none;
  background: #005cca;
  position: relative;
}
main article .security02 h3:after {
  display: block;
  content: "";
  width: 2em;
  height: 2.1em;
  background: #005cca;
  position: absolute;
  top: 0;
  right: calc(-2em + 1px);
  clip-path: polygon(0 0, 50% 50%, 0 100%);
}
main article .supportArea * {
  box-sizing: border-box;
}
main article .supportArea > section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
main article .supportArea > section > div:first-child, main article .supportArea > section > div > h5:first-child {
  margin-top: 0;
}
main article .supportArea > section > div:nth-of-type(1) {
  width: 75%;
  padding-right: 20px;
}
main article .supportArea > section > div:nth-of-type(2) {
  width: 25%;
  padding-top: 1rem;
}
main article .supportArea > section > div:nth-of-type(2) a {
  display: block;
  width: 100%;
  text-decoration: none;
}
main article .supportArea > section > div:nth-of-type(2) a .btn {
  width: 85%;
  margin: 1.25rem auto 0;
  padding: 0.55em 0 0.6em;
  color: #7a5;
  font-weight: bold;
  text-align: center;
  line-height: 1em;
  border: solid 2px #7a5;
  border-radius: 20px;
  background-color: #FFF;
}
main article .supportArea > section > div:nth-of-type(2) a .btn:after {
  content: "\e89e";
  display: inline-block;
  padding-left: 0.5rem;
  font-family: "Material Icons";
  font-weight: normal;
  vertical-align: -0.15em;
}
main article .supportArea > section > div:nth-of-type(2) a:after {
  display: none;
}
main article .supportArea > section > div:nth-of-type(2) a:hover .btn {
  color: #ca005c;
  border-color: #ca005c;
}
main article .supportArea > section > div p {
  word-break: initial;
}
main article .supportArea > section > div img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 1200px) {
  main > nav {
    padding: 0.5rem 1rem;
  }
  #titleArea img {
    margin-right: 1rem;
  }
  #categoryArea ul {
    padding: 0 1rem;
  }
  #catchphrase {
    padding: 0 1rem;
  }
  .exArea02 {
    padding: 0 1rem;
  }
}
@media screen and (max-width: 1024px) {
  main article .exBlock00 {
    padding: 0 1rem;
  }
}
@media screen and (max-width: 870px) {
  main article #titleArea > div h1 {
    padding-right: 4rem;
  }
  main article #titleArea #categoryArea ul li a {
    font-size: 0.75rem;
  }
  main article .exBlock00 {
    margin: 50px 2rem;
  }
  main article .security02 {
    gap: 1rem;
  }
  main article .supportArea > section > div:nth-of-type(2) a .btn {
    width: 100%;
  }
  main article section div h2 {
    font-size: 1.5rem;
  }
  main article section div h3 {
    font-size: 1.25rem;
  }
  main article section div h4 {
    font-size: 1.125rem;
  }
  main article section div h5 {
    font-size: 1rem;
  }
  main article section div h6 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 500px) {
  main article #titleArea > div {
    display: block;
    min-height: 5rem;
    position: relative;
  }
  main article #titleArea > div h1 {
    padding-right: 4rem;
    font-size: 1.5rem;
    line-height: 1.25;
    z-index: 1;
  }
  main article #titleArea > div h1 br {
    display: block;
  }
  main article #titleArea > div img {
    width: 20%;
    position: absolute;
    top: 1rem;
    right: 0;
  }
  main article #titleArea #categoryArea ul {
    display: flex;
    margin: 0 auto 1rem auto;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  main article #titleArea #categoryArea ul li {
    width: 45%;
    text-align: center;
    flex: auto;
  }
  main article #titleArea #categoryArea ul li a {
    padding: 0.5rem;
    border-width: 1px;
    border-radius: 10px;
  }
  main article #titleArea #categoryArea ul li.here a {
    color: #fff;
    background: #005cca;
  }
  main article #anchorArea ul {
    display: block;
    padding: 0.25rem 0;
  }
  main article #anchorArea ul li a {
    padding: 0.25rem 1rem;
  }
  main article .features {
    padding-bottom: 0;
  }
  main article .features > div {
    gap: 1rem;
  }
  main article .features > div > span {
    font-size: 3rem;
  }
  main article .exBlock00 {
    margin: 30px 0;
  }
  main article .exArea01 figure {
    width: 100%;
  }
  main article .exArea01 figure img {
    display: none;
  }
  main article .exArea01 ul {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  main article .exArea01 ul li {
    margin-left: 2rem;
    font-size: 1rem;
  }
  main article .exArea01 p {
    width: 100%;
  }
  main article .exArea01 .exArea01-sp {
    display: block;
  }
  main article .exArea01 .exArea01-sp ul {
    width: auto;
    margin: 1em auto 2em;
    padding-left: 1.75rem;
    box-sizing: border-box;
    border: none;
    background: none;
  }
  main article .exArea01 .exArea01-sp ul li {
    color: #000;
    font-weight: normal;
    margin: 0.5rem 0;
    padding-left: 0;
    line-height: 1.75;
  }
  main article .exArea02 {
    display: block;
    padding: 0;
  }
  main article .exArea02 li {
    display: grid;
    margin: 1rem;
    grid-template-rows: 25% 75%;
    grid-template-columns: 25% 1fr;
    align-items: flex-start;
    gap: 0.5rem;
  }
  main article .exArea02 li img {
    width: 90%;
    grid-row: 1/3;
    grid-column: 1;
  }
  main article .exArea02 li h3 {
    font-size: 1.25rem;
    grid-row: 1;
    grid-column: 2;
    text-align: left;
  }
  main article .exArea02 li p {
    font-size: 0.875rem;
    grid-row: 2;
    grid-column: 2;
    text-align: left;
  }
  main article .exBlock00 {
    padding: 0 1rem;
  }
  main article figure {
    margin: 1rem 0;
  }
  main article figure img {
    width: 100%;
  }
  main article figure.w80 {
    width: 100%;
  }
  main article figure.w80 img {
    width: 100%;
  }
  main article .boxArea {
    padding: 0;
  }
  main article .caseArea {
    display: block;
    padding: 0;
  }
  main article .caseArea:before {
    content: normal;
  }
  main article .caseArea > section {
    margin: 0;
  }
  main article .caseArea > section:nth-of-type(1) {
    margin-bottom: 5rem;
    position: relative;
  }
  main article .caseArea > section:nth-of-type(1):before {
    content: "▼";
    color: green;
    font-size: 5rem;
    position: absolute;
    bottom: -7.25rem;
    left: 50%;
    transform: translate(-50%) scale(1.4, 0.6);
  }
  main article .security01 li {
    display: flex;
    margin-bottom: 2rem;
    align-items: center;
  }
  main article .security01 figure {
    width: 20vw !important;
    margin: 0;
  }
  main article .security02 h3:after {
    content: normal;
  }
  main article .supportArea > section {
    display: block;
  }
  main article .supportArea > section > div:nth-of-type(1), main article .supportArea > section > div:nth-of-type(2) {
    width: 100%;
  }
  main article .supportArea > section > div:nth-of-type(1) {
    padding: 0 0;
  }
  main article .supportArea > section > div:nth-of-type(2) a {
    width: 75%;
    margin-right: auto;
    margin-left: auto;
  }
  main article .supportArea > section > div:nth-of-type(2) a .btn {
    width: 100%;
  }
  main article .supportArea > section:nth-last-of-type(1) > div:nth-of-type(2) {
    padding-bottom: 0;
  }
  main article .flex2,
  main article .flex3,
  main article .flex4,
  main article .flex1-2,
  main article .flex2-1,
  main article .flex3-1,
  main article .flex1-3 {
    display: block;
    padding: 1rem 0;
  }
  main article .flex2 *:nth-child(odd),
  main article .flex2 *:nth-child(even),
  main article .flex3 *:nth-child(odd),
  main article .flex3 *:nth-child(even),
  main article .flex4 *:nth-child(odd),
  main article .flex4 *:nth-child(even),
  main article .flex1-2 *:nth-child(odd),
  main article .flex1-2 *:nth-child(even),
  main article .flex2-1 *:nth-child(odd),
  main article .flex2-1 *:nth-child(even),
  main article .flex3-1 *:nth-child(odd),
  main article .flex3-1 *:nth-child(even),
  main article .flex1-3 *:nth-child(odd),
  main article .flex1-3 *:nth-child(even) {
    width: 100%;
  }
  main article .SPw40 {
    width: 40% !important;
  }
  main article .SPw50 {
    width: 50% !important;
  }
  main article .SPw60 {
    width: 60% !important;
  }
  main article .SPw70 {
    width: 70% !important;
  }
  main article .SPw80 {
    width: 80% !important;
  }
  main article .SPw90 {
    width: 90% !important;
  }
  main article .mAuto {
    margin: auto !important;
  }
}/*# sourceMappingURL=page.css.map */