@charset "UTF-8";
/* ------------------------------------------------
font
------------------------------------------------ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;600;800&display=swap");
/*------------------------------------------------
reset
------------------------------------------------*/
#page h1, #page h2, #page h3, #page h4, #page h5, #page h6, #page p, #page blockquote, #page pre, #page a, #page abbr, #page acronym, #page address, #page big, #page cite, #page code, #page del, #page dfn, #page em, #page img, #page ins, #page kbd, #page q, #page s, #page samp, #page small, #page strike, #page strong, #page sub, #page tt, #page var, #page b, #page u, #page i, #page center, #page dl, #page dt, #page dd, #page ol, #page ul, #page li, #page fieldset, #page form, #page label, #page legend, #page table, #page caption, #page tbody, #page tfoot, #page thead, #page tr, #page th, #page td, #page article, #page aside, #page canvas, #page details, #page embed, #page figure, #page figcaption, #page footer, #page header, #page hgroup, #page menu, #page nav, #page output, #page ruby, #page section, #page summary, #page time, #page mark, #page audio, #page video {
  font-size: 1em;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}
#page br {
  letter-spacing: 0;
}
#page table {
  border-collapse: collapse;
  border-spacing: 0;
}
#page ul, #page ol {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#page img {
  max-width: 100%;
  vertical-align: top;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  margin: 0;
  padding: 0;
  border: 0;
}

/*------------------------------------------------
common
------------------------------------------------*/
#page {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "MS PGothic", "Noto Sans JP", sans-serif, Helvetica, Arial;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  position: relative;
}
#page img {
  max-width: 100%;
  height: auto;
  display: block;
}
#page .bold {
  font-family: "Noto Sans JP", sans-serif;
}
#page .note {
  font-size: 0.8em;
  line-height: 1.5;
}
#page .note li {
  text-indent: -0.75em;
  padding-left: 0.75em;
}
#page .note li + li {
  margin-top: 0.25em;
}
@media screen and (min-width: 768.1px) {
  #page .sp_show {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #page {
    font-family: "Hiragino Sans", sans-serif;
    font-weight: normal;
    width: 100%;
    -webkit-text-size-adjust: 100%;
  }
  #page .pc_show {
    display: none;
  }
  #page .note {
    font-size: 0.7857142857em;
  }
}

/* ------------------------------------------------
 font-size
------------------------------------------------ */
#page {
  font-size: min(20px, 1.6129032258vw);
}
@media screen and (max-width: 768px) {
  #page {
    font-size: 3.7333333333vw;
  }
}

/*----- header / footer -----*/
/* ------------------------------------------------
  ヘッダー
------------------------------------------------ */
#header > .inner {
  padding: 1em 2.8em;
  max-width: 1600px;
}
#header .logo {
  font-size: 1em;
  margin: 0;
  width: 10.95em;
}
#header .logo a {
  display: block;
}
@media screen and (max-width: 768px) {
  #header > .inner {
    padding: 1.0714285714em 1.2857142857em;
  }
  #header .logo {
    width: 8.2857142857em;
  }
}

/* ------------------------------------------------
 footer
------------------------------------------------ */
#footer {
  position: static;
}
#footer > .inner {
  padding-top: 3em;
  max-width: none;
}
#footer .links {
  padding-bottom: 1.5em;
  display: flex;
  justify-content: center;
}
#footer .links li {
  line-height: 1;
}
#footer .links li a {
  color: #1a1a1a;
  font-size: 0.9em;
  text-decoration: none;
  padding: 0 0.5555555556em;
}
@media screen and (any-hover: hover) {
  #footer .links li a {
    transition: opacity 0.4s ease;
  }
  #footer .links li a:hover {
    opacity: 0.7;
  }
}
#footer .links li + li {
  border-left: 1px solid #1a1a1a;
}
#footer .copyright {
  color: #fff;
  font-size: 0.8em;
  letter-spacing: 0.03em;
  text-align: center;
  background-color: #000;
  padding: 2.0625em 0;
}
@media screen and (max-width: 768px) {
  #footer > .inner {
    padding-top: 3.9285714286em;
  }
  #footer .links {
    padding-bottom: 1.4285714286em;
  }
  #footer .links li a {
    font-size: 0.8214285714em;
    padding: 0 0.5217391304em;
  }
  #footer .copyright {
    font-size: 0.6785714286em;
    padding: 1.6842105263em 0;
  }
}

#btn_pagetop {
  border-radius: 80px;
  width: 4em;
  position: fixed;
  right: 4.75em;
  bottom: -1000px;
  opacity: 0;
  z-index: 9;
  transition: opacity 0.4s ease;
  box-shadow: 0.2em 0.2em 0.15em rgba(0, 107, 176, 0.2);
}
#btn_pagetop.show {
  opacity: 1;
  bottom: 4em;
}
@media screen and (any-hover: hover) {
  #btn_pagetop.show {
    transition: opacity 0.4s ease;
  }
  #btn_pagetop.show:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  #btn_pagetop {
    width: 3.5714285714em;
    right: 1.0714285714em;
  }
  #btn_pagetop.show {
    bottom: 2.1428571429em;
  }
}

/* ------------------------------------------------
 section
------------------------------------------------ */
.section {
  width: -webkit-fill-available;
  width: -moz-available;
  width: stretch;
  position: relative;
  z-index: 1;
}
.section > .inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  width: 100%;
  box-sizing: border-box;
}
.section .sheader .title.img_block {
  margin: 0 auto;
  width: 16.2em;
}
@media screen and (min-width: 768.1px) {
  .section {
    box-sizing: border-box;
  }
  .section.not_responsive {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .section {
    line-height: 1.5;
    width: auto;
  }
  .section > .inner {
    width: 23.2142857143em;
  }
  .section.sp_wide > .inner {
    width: 100%;
  }
  .section.bg_white {
    background-size: 1.15em auto;
  }
  .section.anchor {
    margin-top: -5em;
    padding-top: 5em;
  }
  .section .sheader .title.img_block {
    width: 18.9285714286em;
  }
}

/* ------------------------------------------------
 app_download
------------------------------------------------ */
#contents .app_download {
  margin-top: 0.7em;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.2em;
}
#contents .app_download .heading {
  margin-top: 0.7em;
  margin-right: 1.5em;
  width: 6em;
}
#contents .app_download .get_app {
  display: flex;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  align-items: center;
}
#contents .app_download .get_app .user {
  line-height: 1;
  text-align: center;
  display: block;
}
#contents .app_download .get_app .download {
  margin-top: 0.5em;
  display: block;
}
@media screen and (any-hover: hover) {
  #contents .app_download .get_app .download {
    transition: opacity 0.4s ease;
  }
  #contents .app_download .get_app .download:hover {
    opacity: 0.7;
  }
}
#contents .app_download .get_app .qr {
  width: 7.1em;
}
#contents .app_download .get_app.for_android {
  margin-right: 0.75em;
}
#contents .app_download .get_app.for_android .download {
  width: 8.7em;
}
#contents .app_download .get_app.for_apple .download {
  width: 8.05em;
}
#contents .app_download .for_web {
  width: 100%;
}
#contents .app_download .for_web .btn {
  color: #1a1a1a;
  line-height: 1;
  text-decoration: none;
  border-width: 1px;
  border-style: solid;
  border-radius: 60px;
  margin: 0 auto;
  padding: 0.5em 1em 0.5em 2.3em;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  -moz-column-gap: 1.1em;
       column-gap: 1.1em;
  box-shadow: 4px 4px 0px 0px rgba(31, 126, 163, 0.2);
}
@media screen and (any-hover: hover) {
  #contents .app_download .for_web .btn {
    transition: opacity 0.4s ease;
  }
  #contents .app_download .for_web .btn:hover {
    opacity: 0.7;
  }
}
#contents .app_download .for_web .btn::after {
  content: "";
  border-style: solid;
  border-width: 1px 1px 0 0;
  width: 0.6em;
  aspect-ratio: 1/1;
  display: block;
  transform: rotate(45deg);
}
#contents .app_download .note {
  font-size: 0.8em;
  line-height: 1.5;
  text-align: left;
  margin: 1.5em auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  #contents .app_download {
    margin-top: 1.0714285714em;
    gap: 0.7142857143em 1.4285714286em;
    justify-content: space-between;
  }
  #contents .app_download .heading {
    margin: 0;
    width: 5.1071428571em;
  }
  #contents .app_download .get_app {
    margin-top: 0.2857142857em;
    align-items: flex-start;
    justify-content: center;
  }
  #contents .app_download .get_app .user {
    font-size: 0.7857142857em;
  }
  #contents .app_download .get_app .download {
    margin-top: 0.4285714286em;
  }
  #contents .app_download .get_app .qr {
    display: none;
  }
  #contents .app_download .get_app.for_android {
    margin-right: 0;
  }
  #contents .app_download .get_app.for_android .download {
    width: 7.75em;
  }
  #contents .app_download .get_app.for_apple .download {
    width: 7.2142857143em;
  }
  #contents .app_download .for_web .btn {
    padding: 0.4285714286em 0.7142857143em 0.5em 1.8571428571em;
    -moz-column-gap: 1em;
         column-gap: 1em;
    box-shadow: 0.1428571429em 0.1428571429em 0px 0px rgba(31, 126, 163, 0.2);
  }
  #contents .app_download .for_web .btn::after {
    width: 0.6428571429em;
  }
  #contents .app_download .for_web .btn .txt {
    font-size: 0.9285714286em;
  }
  #contents .app_download .note {
    font-size: 0.8571428571em;
    margin-top: 3.5em;
  }
}

/* ------------------------------------------------
 article
------------------------------------------------ */
#contents .article {
  border-radius: 1.2em;
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0.5em 0.5em 0px rgba(105, 172, 209, 0.3);
}
#contents .article .aheader {
  color: #004098;
  text-align: center;
  border-radius: 1.2em 1.2em 0 0;
  background: linear-gradient(90deg, #ffe088 12%, #88d3f5 100%);
  position: relative;
  overflow: hidden;
}
#contents .article .aheader .title {
  font-weight: 800;
  line-height: 1.3;
  position: relative;
}
#contents .article .aheader .title .s {
  font-size: 0.7em;
  font-weight: 900;
}
#contents .article .aheader:before, #contents .article .aheader::after {
  content: "";
  background-color: #6bc8f2;
  display: block;
  position: absolute;
}
#contents .article .aheader::before {
  left: 0;
  top: 0;
  clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
}
#contents .article .aheader:after {
  right: 0;
  bottom: 0;
  clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
}
@media screen and (max-width: 768px) {
  #contents .article {
    border-radius: 1.0714285714em;
    box-shadow: 0.5em 0.5em 0px rgba(105, 172, 209, 0.3);
  }
  #contents .article .aheader {
    border-radius: 1.0714285714em 1.0714285714em 0 0;
    background: linear-gradient(78deg, #ffe088 12%, #88d3f5 100%);
  }
  #contents .article .aheader::before {
    height: calc(100% + 0.5714285714em);
  }
}

/* ------------------------------------------------
 kv
------------------------------------------------ */
#kv .app {
  position: relative;
}
#kv .app .img {
  width: 11.15em;
  position: absolute;
  left: 3.5em;
  top: -12em;
}
#kv .app .img img {
  position: relative;
  z-index: 1;
}
#kv .app .img .icon {
  color: #fff;
  line-height: 1;
  border-radius: 200px;
  background-color: #004098;
  width: 6.8em;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: -2.2em;
  top: -5.5em;
}
#kv .app .img .icon i {
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.2em;
  font-size: 1.85em;
  line-height: 1;
  text-indent: 0.1em;
  padding-bottom: 0.1em;
}
@media screen and (min-width: 768.1px) {
  #kv {
    overflow-x: clip;
  }
  #kv .kv {
    height: 26em;
    position: relative;
  }
  #kv .kv img {
    max-width: none;
    width: 80em;
    height: auto;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 768px) {
  #kv {
    overflow: hidden;
  }
  #kv .app {
    position: relative;
  }
  #kv .app .img {
    width: 7.9642857143em;
    position: absolute;
    left: 1.3571428571em;
    top: -12em;
  }
  #kv .app .img .icon {
    width: 4.8571428571em;
    left: -1.7142857143em;
    top: -3.9285714286em;
  }
  #kv .app .img .icon i {
    font-size: 1.3214285714em;
  }
}

/* ------------------------------------------------
 intro
------------------------------------------------ */
#intro .localmenu {
  margin-top: 2.5em;
  display: flex;
  justify-content: center;
  -moz-column-gap: 1.4em;
       column-gap: 1.4em;
}
#intro .localmenu .btn {
  color: #fff;
  line-height: 1;
  text-decoration: none;
  border: 2px solid #fff;
  border-radius: 0.4em;
  background-color: #18a4df;
  padding: 0.7em 0.75em 0.7em 3.1em;
  display: flex;
  -moz-column-gap: 0.75em;
       column-gap: 0.75em;
  align-items: center;
  box-shadow: 6px 6px 0px 0px rgba(31, 126, 163, 0.2);
}
@media screen and (any-hover: hover) {
  #intro .localmenu .btn {
    transition: opacity 0.4s ease;
  }
  #intro .localmenu .btn:hover {
    opacity: 0.7;
  }
}
#intro .localmenu .btn::after {
  content: "";
  background-color: #fff;
  width: 1.65em;
  aspect-ratio: 33/18;
  display: block;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
#intro .localmenu .btn .txt {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.2em;
}
#intro .copy {
  text-align: center;
  line-height: 1.75;
  margin-top: 2.75em;
}
#intro .copy::after {
  content: "";
  background: url(../img/intro_img.svg) no-repeat;
  background-size: contain;
  margin: 0.75em auto 0;
  width: 10.55em;
  aspect-ratio: 236/157;
  display: block;
}
@media screen and (min-width: 768.1px) {
  #intro .app_download .heading {
    margin-left: 16.5em;
  }
}
@media screen and (max-width: 768px) {
  #intro .localmenu {
    margin-top: 2em;
    flex-direction: column;
    row-gap: 1.2857142857em;
  }
  #intro .localmenu .btn {
    border-width: 0.0714285714em;
    border-radius: 0.2857142857em;
    padding: 0.5714285714em 0 0.7142857143em;
    justify-content: center;
    position: relative;
    box-shadow: 0.25em 0.25em 0px 0px rgba(31, 126, 163, 0.2);
  }
  #intro .localmenu .btn::after {
    width: 1.4285714286em;
    position: absolute;
    right: 1.3571428571em;
    top: 50%;
    transform: translateY(-50%);
  }
  #intro .localmenu .btn .txt {
    font-size: 1.2142857143em;
  }
  #intro .copy {
    font-size: 1.2142857143em;
    margin-top: 1.4285714286em;
  }
  #intro .copy::after {
    margin-top: 1.0714285714em;
    width: 8.4285714286em;
  }
}

/* ------------------------------------------------
 for_health
------------------------------------------------ */
#for_health {
  margin-top: -4.2em !important;
  z-index: auto;
  overflow-x: clip;
}
#for_health > .inner {
  padding-top: 10.2em;
}
#for_health > .inner:before, #for_health > .inner::after {
  content: "";
  width: 80em;
  height: 100%;
  position: absolute;
  left: calc(50% - 40em);
  top: 0;
}
#for_health > .inner::before {
  background: linear-gradient(-60deg, #6bc8f2 8%, #ffe088 85%);
  height: 19em;
  z-index: -2;
  transform: skewY(10deg);
  transform-origin: 0 0;
}
#for_health > .inner::after {
  background-color: #c2e2f2;
  transform: skewY(-10deg);
  transform-origin: 100% 0;
  z-index: -1;
}
#for_health .heading.en {
  margin: 0 auto;
  width: 16.5em;
}
#for_health .article {
  margin-top: 1.5em;
  width: 39em;
}
#for_health .article .aheader {
  padding-top: 0.7em;
  padding-bottom: 1.3em;
}
#for_health .article .aheader:before, #for_health .article .aheader::after {
  width: 12em;
  height: 2.25em;
}
#for_health .article .aheader .title {
  line-height: 1.3;
}
#for_health .article .aheader .title .l1 {
  font-size: 1.6em;
}
#for_health .article .aheader .title .l1 b {
  font-size: 1.3em;
}
#for_health .article .aheader .title .l2 {
  font-size: 1.8em;
}
#for_health .article .abody {
  padding: 1.5em 3.75em 3.25em;
}
#for_health .article .abody .summary {
  line-height: 1.9;
  text-align: center;
  margin: 0 -2em;
}
#for_health .article .abody .summary strong {
  color: #e65271;
  font-weight: bold;
}
#for_health .article .abody .img {
  margin: 0 auto;
}
#for_health .article .abody .fig {
  margin-top: 1em;
  width: 21.25em;
}
#for_health .article .abody .note {
  margin-top: 1.875em;
}
#for_health .article .abody .ph {
  border-radius: 0.7em;
  margin-top: 2em;
  width: 22em;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #for_health {
    margin-top: 0.2142857143em !important;
  }
  #for_health > .inner {
    padding-top: 4.6428571429em;
  }
  #for_health > .inner:before, #for_health > .inner::after {
    width: 100vw;
    left: 0;
  }
  #for_health > .inner::before {
    background: linear-gradient(-90deg, #6bc8f2 8%, #ffe088 85%);
    height: 6.4285714286em;
  }
  #for_health > .inner::after {
    height: calc(100% + 0.7142857143em);
  }
  #for_health .heading.en {
    width: 14.6428571429em;
  }
  #for_health .article {
    margin-top: 1.0714285714em;
    width: auto;
  }
  #for_health .article .aheader {
    padding-top: 0.8928571429em;
    padding-bottom: 1.6071428571em;
  }
  #for_health .article .aheader:before {
    width: 10.3571428571em;
    height: 1.7857142857em;
  }
  #for_health .article .aheader::after {
    width: 8.9285714286em;
    height: 1.6071428571em;
  }
  #for_health .article .aheader .title .l1 {
    font-size: 1.6428571429em;
  }
  #for_health .article .aheader .title .l2 {
    font-size: 1.7857142857em;
  }
  #for_health .article .abody {
    padding: 1.7857142857em 1.7857142857em 1.4285714286em;
  }
  #for_health .article .abody .summary {
    line-height: 1.75;
    margin-left: 0;
    margin-right: 0;
  }
  #for_health .article .abody .fig {
    margin: 1.4285714286em -0.7142857143em 0;
    width: 21.0714285714em;
  }
  #for_health .article .abody .note {
    font-size: 0.8571428571em;
    margin-top: 1.25em;
  }
  #for_health .article .abody .ph {
    border-radius: 0.7142857143em;
    margin-top: 1.2142857143em;
    width: auto;
  }
}

/* ------------------------------------------------
 features
------------------------------------------------ */
#features {
  margin-top: 7em !important;
  overflow-x: clip;
}
#features > .inner {
  padding-bottom: 2.75em;
  position: relative;
}
#features > .inner:before, #features > .inner::after {
  content: "";
  width: 80em;
  height: 100%;
  position: absolute;
  left: calc(50% - 40em);
  transform-origin: 50% 0;
}
#features > .inner::before {
  background: linear-gradient(100deg, #ffe088 5%, #88d3f5 53%);
  height: 19em;
  bottom: -1.2em;
  z-index: -2;
  transform: skewY(-10deg);
}
#features > .inner::after {
  background-color: #c2e2f2;
  height: calc(100% - 8em);
  top: 8em;
  transform: skewY(10deg);
  z-index: -1;
}
#features .sheader {
  padding: 0.9em 0;
  transform: skewY(-10deg);
  transform-origin: 50% 0;
  position: relative;
}
#features .sheader::before {
  content: "";
  background: linear-gradient(-60deg, #ffe088 12%, #88d3f5 100%);
  width: 80em;
  height: 100%;
  position: absolute;
  left: calc(50% - 40em);
  top: 0;
  z-index: -1;
}
#features .sheader .txt {
  color: #004098;
  text-align: center;
  line-height: 1.5;
  border: 4px solid #fff;
  background-color: rgba(255, 255, 255, 0.4);
  margin: 0 auto;
  padding: 0.75em 0;
  width: 39em;
}
#features .sheader .txt .copy {
  font-size: 1.35em;
}
#features .sheader .txt .title {
  font-size: 1.8em;
  font-weight: 700;
}
#features .sbody {
  margin-top: 5.5em;
  position: relative;
}
#features .sbody > .summary {
  text-align: center;
  line-height: 1.65;
  margin-top: 3em;
}
#features .index .heading {
  color: #333;
  font-size: 1.2em;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.8333333333em;
       column-gap: 0.8333333333em;
}
#features .index .heading:before, #features .index .heading::after {
  content: "";
  border-left: 1px solid #1a1a1a;
  height: 1em;
  display: block;
}
#features .index .heading:before {
  transform: rotate(-30deg);
}
#features .index .heading::after {
  transform: rotate(30deg);
}
#features .index .list {
  margin-top: 1.1em;
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: center;
  -moz-column-gap: 1.1em;
       column-gap: 1.1em;
}
#features .index .list li {
  border-top: 1px solid #006eb7;
  line-height: 1;
  min-width: 19.5em;
}
#features .index .list li:nth-child(n+3) {
  border-bottom: 1px solid #006eb7;
}
#features .index .list li a {
  color: #333333;
  font-size: 1.05em;
  text-decoration: none;
  padding: 0.5714285714em 0.4761904762em 0.5714285714em 0.2857142857em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (any-hover: hover) {
  #features .index .list li a {
    transition: opacity 0.4s ease;
  }
  #features .index .list li a:hover {
    opacity: 0.7;
  }
}
#features .index .list li a::after {
  content: "";
  background-color: #006eb7;
  width: 1em;
  aspect-ratio: 21/14;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  display: block;
}
@media screen and (max-width: 768px) {
  #features {
    margin-top: 3.0714285714em !important;
  }
  #features > .inner {
    position: static;
  }
  #features > .inner:before, #features > .inner::after {
    width: 100vw;
    left: 0;
  }
  #features > .inner::before {
    height: 19em;
    bottom: -2.5714285714em;
  }
  #features > .inner::after {
    height: calc(100% - 10.5714285714em);
    top: 10.5714285714em;
  }
  #features .sheader {
    margin-left: -1.7857142857em;
    padding: 1.0714285714em;
    width: 100vw;
    box-sizing: border-box;
  }
  #features .sheader::before {
    width: 100vw;
    left: 0;
  }
  #features .sheader .txt {
    border-width: 0.2142857143em;
    padding: 0.5357142857em 0;
    width: auto;
  }
  #features .sheader .txt .copy {
    font-size: 1.1785714286em;
  }
  #features .sheader .txt .title {
    font-size: 1.6785714286em;
    line-height: 1.4;
  }
  #features .sbody {
    margin-top: 3.5714285714em;
  }
  #features .sbody > .summary {
    font-size: 1.1785714286em;
    margin-top: 2.1212121212em;
  }
  #features .index .heading {
    font-size: 1.4285714286em;
    -moz-column-gap: 0.5em;
         column-gap: 0.5em;
  }
  #features .index .list {
    margin-top: 0.7142857143em;
    grid-template-columns: 1fr;
  }
  #features .index .list li {
    min-width: none;
  }
  #features .index .list li:nth-child(n+3) {
    border-bottom-width: 0;
  }
  #features .index .list li:last-child {
    border-bottom: 1px solid #006eb7;
  }
  #features .index .list li a {
    font-size: 1.2857142857em;
    padding: 0.5555555556em 0.1666666667em 0.5555555556em 0.0555555556em;
  }
  #features .index .list li a::after {
    width: 1em;
    margin-left: -1em;
  }
}

/* ----------------------------
 #features .article
------------------------------*/
#features .article {
  margin-top: 4.25em;
  width: 48em;
  position: relative;
}
#features .article .num {
  color: #004098;
  font-size: 1.8em;
  font-weight: bold;
  line-height: 1;
  border-radius: 50px;
  background-color: #88d3f5;
  box-shadow: 0.1111111111em 0.1111111111em 0px rgba(31, 126, 163, 0.2);
  padding-bottom: 0.2em;
  width: 1.3888888889em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 50%;
  top: -0.6111111111em;
  transform: translateX(-50%);
  z-index: 1;
}
#features .article + .article {
  margin-top: 3em;
}
#features .article .aheader {
  padding-top: 1.8em;
  padding-bottom: 1.6em;
}
#features .article .aheader:before, #features .article .aheader::after {
  width: 16em;
  height: 2.9em;
}
#features .article .aheader .title {
  font-size: 1.5em;
}
#features .article .abody {
  padding: 1.5em 2em 2em;
  display: flex;
  justify-content: center;
  -moz-column-gap: 3.5em;
       column-gap: 3.5em;
  position: relative;
}
#features .article .abody .feature {
  display: flex;
}
#features .article .abody .feature .img {
  width: 7.7em;
  position: relative;
  z-index: 1;
}
#features .article .abody .feature .txt .name {
  color: #fff;
  font-size: 0.9em;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  border-radius: 34px;
  background-color: #004098;
  margin: 1em auto 0;
  padding: 0.4em 0 0.5em;
  width: 10em;
}
#features .article .abody .feature .txt .name + .summary {
  margin-top: 0.5em;
}
#features .article .abody .feature .txt .summary {
  outline: 0.2em solid #fff;
  outline-offset: -0.6em;
  border-radius: 238px;
  background-color: #ffecbf;
  margin-top: 2em;
  width: 11.9em;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
#features .article .abody .feature .txt .summary p {
  color: #004098;
  line-height: 1.5;
  position: relative;
}
@media screen and (min-width: 768.1px) {
  #features .article:nth-of-type(odd) .abody .feature .txt {
    margin-right: -0.8em;
  }
  #features .article:nth-of-type(even) .abody .feature {
    flex-direction: row-reverse;
  }
  #features .article:nth-of-type(even) .abody .feature .txt {
    margin-left: -0.8em;
  }
  #features .article:nth-of-type(2) .feature:last-child .summary p {
    padding-left: 0.8em;
  }
  #features .article:nth-of-type(3) .feature:last-child .summary p {
    padding-left: 0.8em;
  }
}
@media screen and (max-width: 768px) {
  #features .article {
    margin-top: 3.5714285714em;
    width: auto;
  }
  #features .article .num {
    font-size: 1.7857142857em;
    letter-spacing: 0;
    width: 1.6em;
    top: -0.6em;
    box-shadow: 2px 2px 0px rgba(31, 126, 163, 0.2);
  }
  #features .article + .article {
    margin-top: 2.1428571429em;
  }
  #features .article .aheader {
    padding-top: 2.1428571429em;
    padding-bottom: 1.0714285714em;
  }
  #features .article .aheader:before {
    width: 13.1428571429em;
    height: 2.5em;
  }
  #features .article .aheader::after {
    width: 8.9285714286em;
    height: 1.6071428571em;
  }
  #features .article .aheader .title {
    font-size: 1.9642857143em;
  }
  #features .article .abody {
    padding: 1.7857142857em 1.7857142857em 1.7857142857em;
    flex-direction: column;
    row-gap: 2.1428571429em;
  }
  #features .article .abody .feature {
    -moz-column-gap: -10px;
         column-gap: -10px;
  }
  #features .article .abody .feature .img {
    width: 8.7857142857em;
  }
  #features .article .abody .feature .txt .name {
    font-size: 0.7142857143em;
    margin-top: 0;
    padding: 0.5em 0 0.6em;
    width: 9.8em;
  }
  #features .article .abody .feature .txt .name + .summary {
    margin-top: 1.7857142857em;
  }
  #features .article .abody .feature .txt .summary {
    outline-width: 0.2142857143em;
    outline-offset: -0.8214285714em;
    border-radius: 334px;
    margin-top: 3.5714285714em;
    width: 11.9285714286em;
  }
  #features .article .abody .feature:first-child .txt {
    margin-right: -0.4285714286em;
    margin-left: -0.7142857143em;
  }
  #features .article .abody .feature:first-child .txt .name {
    margin-right: 1.4285714286em;
  }
  #features .article .abody .feature:last-child {
    flex-direction: row-reverse;
  }
  #features .article .abody .feature:last-child .txt {
    margin-right: -0.7142857143em;
    margin-left: -0.4285714286em;
  }
  #features .article .abody .feature:last-child .txt .name {
    margin-left: 1.4285714286em;
  }
  #features .article:nth-of-type(2) .feature:first-child .summary p {
    padding-left: 0.5714285714em;
  }
  #features .article:nth-of-type(2) .feature:last-child .summary p {
    padding-left: 0.5714285714em;
  }
  #features .article:nth-of-type(3) .feature:last-child .summary p {
    padding-left: 0.5714285714em;
  }
}

/* ------------------------------------------------
 app_info
------------------------------------------------ */
#app_info {
  text-align: center;
  margin-top: 3.5em !important;
}
#app_info .title {
  color: #004098;
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.5;
}
#app_info .summary {
  margin-top: 1.75em;
}
#app_info .app_download {
  margin-top: 2.75em;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #app_info {
    margin-top: 5.3571428571em !important;
  }
  #app_info .title {
    font-size: 1.8214285714em;
  }
  #app_info .summary {
    font-size: 1.1785714286em;
    margin-top: 3.2142857143em;
  }
  #app_info .app_download {
    margin-top: 1.9642857143em;
    flex-direction: column;
    gap: 0;
  }
  #app_info .app_download .heading {
    display: none;
  }
  #app_info .app_download .get_app .user {
    font-size: 1.0714285714em;
  }
  #app_info .app_download .get_app .qr {
    display: none;
  }
  #app_info .app_download .get_app .download {
    width: 14.1071428571em !important;
  }
  #app_info .app_download .get_app.for_apple {
    margin-top: 2.1428571429em;
  }
  #app_info .app_download .for_web {
    margin-top: 3.3571428571em;
  }
  #app_info .app_download .for_web .btn {
    padding-left: 1.6428571429em;
    -moz-column-gap: 0.6428571429em;
         column-gap: 0.6428571429em;
  }
}