@charset "UTF-8";
/*-----------------reset--------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

ol li::marker, ul li::marker {
  content: none;
}

blockquote, q {
  quotes: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

a, a:link, a:visited, a:hover, a:active {
  text-decoration: none;
}

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

.delay-1 {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.delay-2 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.delay-3 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.delay-4 {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.delay-5 {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.delay-6 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.delay-7 {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.delay-8 {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.delay-9 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.delay-10 {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.delay-11 {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.delay-12 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.delay-13 {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.delay-14 {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.delay-15 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.delay-16 {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.delay-17 {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

.delay-18 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.delay-19 {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

.delay-20 {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}

.delay-21 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.delay-22 {
  -webkit-transition-delay: 2.2s;
          transition-delay: 2.2s;
}

.delay-23 {
  -webkit-transition-delay: 2.3s;
          transition-delay: 2.3s;
}

.delay-24 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.delay-25 {
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}

.delay-26 {
  -webkit-transition-delay: 2.6s;
          transition-delay: 2.6s;
}

.delay-27 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

.delay-28 {
  -webkit-transition-delay: 2.8s;
          transition-delay: 2.8s;
}

.delay-29 {
  -webkit-transition-delay: 2.9s;
          transition-delay: 2.9s;
}

.delay-30 {
  -webkit-transition-delay: 3s;
          transition-delay: 3s;
}

@media only screen and (max-width: 640px) {
  .sp {
    display: unset;
  }
}
@media only screen and (min-width: 641px) {
  .sp {
    display: none !important;
  }
}
@media only screen and (max-width: 640px) {
  .pc {
    display: none !important;
  }
}
@media only screen and (min-width: 641px) {
  .pc {
    display: unset;
  }
}
@media only screen and (max-width: 640px) {
  :root {
    --content-width: 428;
    --em: 15;
  }
}
@media only screen and (min-width: 641px) {
  :root {
    --content-width: 1440;
    --em: 16;
  }
}
.d-b {
  display: block;
}

.d-lb {
  display: inline-block;
}

*[class*=stack] {
  display: block;
}

*[class*=stack-v] > * + * {
  margin-top: min(var(--space) / var(--content-width) * 100vw, var(--space) * 1px);
}

.stack-v1 {
  --space: 25;
}

.stack-v2 {
  --space: 37.5;
}

.stack-v3 {
  --space: 56.25;
}

.stack-v4 {
  --space: 84.375;
}

.stack-v5 {
  --space: 126.5625;
}

.stack-v6 {
  --space: 189.84375;
}

*[class*=box] {
  display: block;
  padding: var(--pt) var(--pr) var(--pb) var(--pl);
}

.box-p1 {
  --pt: 1em;
  --pr: 1em;
  --pb: 1em;
  --pl: 1em;
}

.box-p2 {
  --pt: 2em;
  --pr: 2em;
  --pb: 2em;
  --pl: 2em;
}

.box-p3 {
  --pt: 3em;
  --pr: 3em;
  --pb: 3em;
  --pl: 3em;
}

.box-p4 {
  --pt: 4em;
  --pr: 4em;
  --pb: 4em;
  --pl: 4em;
}

.box-p5 {
  --pt: 5em;
  --pr: 5em;
  --pb: 5em;
  --pl: 5em;
}

*:has(.center-abs) {
  position: relative;
}

.center-abs {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.center-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.list-bullet > li, .list-attention > li, .list-check > li, .list-bracket-num > li, .list-ast > li, .listF-astF--num > li, .list-circle_num > li, .list-circle > li, .list-rect > li, .list-dot > li, .list-num > li {
  position: relative;
  line-height: 1.7;
}

.list-bullet > li::before, .list-attention > li::before, .list-check > li::before, .list-bracket-num > li::before, .list-ast > li::before, .listF-astF--num > li::before, .list-circle_num > li::before, .list-circle > li::before, .list-rect > li::before, .list-dot > li::before, .list-num > li::before {
  position: absolute;
  left: 0;
}

.list-num {
  counter-reset: cntr;
}

.list-num > li {
  padding-left: 1.7em;
}

.list-num > li::before {
  content: counter(cntr) ". ";
  counter-increment: cntr;
}

.list-dot > li {
  padding-left: 1.2em;
}

.list-dot > li::before {
  content: "・";
  color: #000;
}

.list-rect > li {
  padding-left: 0.8em;
}

.list-rect > li::before {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  top: 0.6em;
  background-color: #000;
}

.list-circle > li {
  padding-left: 1em;
}

.list-circle > li::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background-color: #000;
  top: 0.5em;
}

.list-circle_num {
  counter-reset: cntr;
}

.list-circle_num > li {
  padding-left: 1.5em;
}

.list-circle_num > li::before {
  content: counter(cntr);
  font-size: 0.8em;
  counter-increment: cntr;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 1.4em;
  width: 1.4em;
  border-radius: 50%;
  border: 1px solid #000;
  top: 0.3em;
}

.listF-astF--num {
  counter-reset: cntr;
}

.listF-astF--num > li {
  padding-left: 1.7em;
}

.listF-astF--num > li::before {
  content: "※" counter(cntr);
  counter-increment: cntr;
}

.list-ast > li {
  padding-left: 1.2em;
}

.list-ast > li::before {
  content: "※";
}

.list-bracket-num {
  counter-reset: cntr;
}

.list-bracket-num > li {
  padding-left: 1.7em;
}

.list-bracket-num > li::before {
  content: "(" counter(cntr) ")";
  counter-increment: cntr;
}

.list-check > li {
  padding-left: 2.2em;
}

.list-check > li::before {
  content: "";
  width: 2em;
  height: 2em;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2038.04%2029.62%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23d47a72%3Bstroke%3A%23d47a72%3Bstroke-width%3A1.99px%3B%7D.cls-1%2C.cls-2%7Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3B%7D.cls-2%7Bfill%3Anone%3Bstroke%3A%23000%3Bstroke-width%3A.99px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%22%3E%3Crect%20class%3D%22cls-2%22%20x%3D%22.5%22%20y%3D%225.44%22%20width%3D%2223.69%22%20height%3D%2223.69%22%2F%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%227.55%2011.83%2014.86%2017.88%2037.04%20.99%2015.87%2023.42%207.55%2011.83%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

.list-attention > li {
  padding-left: 2.2em;
}

.list-attention > li::before {
  content: "(注)";
}

@media only screen and (max-width: 640px) {
  .reel-sp {
    overflow-x: scroll;
  }
}
.card {
  --item-width: 350px;
  --item-gap-v: 2em;
  --item-gap-h: 2em;
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--item-width), 1fr));
  gap: var(--item-gap-v) var(--item-gap-h);
}

.table-grid {
  display: -ms-grid;
  display: grid;
}

.table-grid thead, .table-grid tbody, .table-grid tr {
  display: contents;
}

.table-grid th.colspan-1, .table-grid td.colspan-1 {
  grid-column: auto/span 1;
}

.table-grid th.colspan-2, .table-grid td.colspan-2 {
  grid-column: auto/span 2;
}

.table-grid th.colspan-3, .table-grid td.colspan-3 {
  grid-column: auto/span 3;
}

.table-grid th.colspan-4, .table-grid td.colspan-4 {
  grid-column: auto/span 4;
}

.table-grid th.colspan-5, .table-grid td.colspan-5 {
  grid-column: auto/span 5;
}

.table-grid th.colspan-6, .table-grid td.colspan-6 {
  grid-column: auto/span 6;
}

.table-grid th.colspan-7, .table-grid td.colspan-7 {
  grid-column: auto/span 7;
}

.table-grid th.colspan-8, .table-grid td.colspan-8 {
  grid-column: auto/span 8;
}

.table-grid th.colspan-9, .table-grid td.colspan-9 {
  grid-column: auto/span 9;
}

.table-grid th.colspan-10, .table-grid td.colspan-10 {
  grid-column: auto/span 10;
}

.table-grid th.rowspan-1, .table-grid td.rowspan-1 {
  grid-row: auto/span 1;
}

.table-grid th.rowspan-2, .table-grid td.rowspan-2 {
  grid-row: auto/span 2;
}

.table-grid th.rowspan-3, .table-grid td.rowspan-3 {
  grid-row: auto/span 3;
}

.table-grid th.rowspan-4, .table-grid td.rowspan-4 {
  grid-row: auto/span 4;
}

.table-grid th.rowspan-5, .table-grid td.rowspan-5 {
  grid-row: auto/span 5;
}

.table-grid th.rowspan-6, .table-grid td.rowspan-6 {
  grid-row: auto/span 6;
}

.table-grid th.rowspan-7, .table-grid td.rowspan-7 {
  grid-row: auto/span 7;
}

.table-grid th.rowspan-8, .table-grid td.rowspan-8 {
  grid-row: auto/span 8;
}

.table-grid th.rowspan-9, .table-grid td.rowspan-9 {
  grid-row: auto/span 9;
}

.table-grid th.rowspan-10, .table-grid td.rowspan-10 {
  grid-row: auto/span 10;
}

.grid-outline, .container {
  --full: minmax(5vw, 1fr);
  --content: min(92vw, 1000px);
  display: -ms-grid;
  display: grid;
  overflow: hidden;
  -ms-grid-columns: [full-start] var(--full) [content-start] var(--content) [content-end] var(--full) [full-end];
  grid-template-columns: [full-start] var(--full) [content-start] var(--content) [content-end] var(--full) [full-end];
}

.grid-outline > *, .container > * {
  grid-column: content;
}

.grid-outline > .content-full, .container > .content-full {
  -ms-grid-column: full-start;
      grid-column-start: full-start;
  grid-column-end: full-end;
}

.grid-outline > .content-left, .container > .content-left {
  -ms-grid-column: full-start;
      grid-column-start: full-start;
  grid-column-end: content-end;
}

.grid-outline > .content-right, .container > .content-right {
  -ms-grid-column: content-start;
      grid-column-start: content-start;
  grid-column-end: full-end;
}

.grid-outline > .aside-left, .container > .aside-left {
  -ms-grid-column: full-start;
      grid-column-start: full-start;
  grid-column-end: content-start;
}

.grid-outline > .aside-right, .container > .aside-right {
  -ms-grid-column: content-end;
      grid-column-start: content-end;
  grid-column-end: full-end;
}

@media only screen and (max-width: 1024px) {
  :root {
    --anchor-offset: 50;
  }
}
@media only screen and (min-width: 1026px) {
  :root {
    --anchor-offset: 60;
  }
}
html {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}

html.lock {
  overflow: hidden;
  height: 100%;
}

main {
  margin-inline: auto;
  overflow: hidden;
}

.container {
  --content: min(92vw, 1170px);
  --full: minmax(4vw, 1fr);
}

img {
  max-width: 100%;
}

main {
  position: relative;
  z-index: 1;
}

.footer_almott {
  background-color: #FEF3E0;
}

@media only screen and (max-width: 640px) {
  .footer_almott {
    padding-block: min(80 / var(--content-width) * 100vw, 80px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_almott {
    padding-block: 70px;
  }
}
.footer_almott.container {
  --content: min(92vw, 1060px);
}

.footer_almott_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 15px;
  border: 4px solid #F59435;
  background: #FFFFFF;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

@media only screen and (max-width: 640px) {
  .footer_almott_inner {
    padding: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (max-width: 1024px) {
  .footer_almott_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 24px 45px 35px;
  }
}
@media only screen and (min-width: 1026px) {
  .footer_almott_inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 24px 45px 35px;
    gap: 30px;
  }
}
@media only screen and (min-width: 1026px) {
  .footer_almott_inner img {
    height: 202.5px;
  }
}
.footer_almott_inner:hover {
  opacity: 0.7;
}

.footer_notice {
  background-color: #fff;
}

.footer_notice_list {
  padding-block: 20px;
}

.footer_notice_item {
  display: inline;
  word-break: break-all;
  margin-right: 1em;
  font-size: calc(13 / var(--em) * 1rem);
}

.footer_logo {
  background-color: #F5F6FA;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .footer_logo {
    padding-block: min(50 / var(--content-width) * 100vw, 50px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_logo {
    padding-block: 40px;
  }
}
@media only screen and (max-width: 640px) {
  .footer_logo_img {
    width: min(220 / var(--content-width) * 100vw, 220px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_logo_img {
    width: 268px;
  }
}
.footer_sns {
  border-top: 1px solid #DFE4ED;
  background-color: #F5F6FA;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .footer_sns {
    padding-block: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_sns {
    padding-block: 24px;
  }
}
.footer_sns_link {
  display: block;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.footer_sns_link:hover {
  opacity: 0.7;
}

.footer_links_01 {
  background-color: #071933;
}

@media only screen and (max-width: 640px) {
  .footer_links_01_links {
    font-size: calc(14 / var(--em) * 1rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5em;
    padding-block: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_links_01_links {
    font-size: calc(14 / var(--em) * 1rem);
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1em 1fr 1em 1fr 1em 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
    padding-block: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 1026px) {
  .footer_links_01_links {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.footer_links_01_links_item {
  gap: 1em;
}

@media only screen and (max-width: 640px) {
  .footer_links_01_links_item {
    text-align: center;
  }
}
.footer_links_01_links_item a {
  color: #fff;
  display: block;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.footer_links_01_links_item a:hover {
  opacity: 0.7;
}

.footer_links_02 {
  border-top: 1px solid #000;
  background-color: #071933;
}

.footer_links_02.container {
  --content: min(96vw, 1170px);
  --full: minmax(2vw, 1fr);
}

.footer_links_02_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2em;
}

@media only screen and (max-width: 640px) {
  .footer_links_02_links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: calc(13 / var(--em) * 1rem);
    padding-block: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_links_02_links {
    font-size: calc(13 / var(--em) * 1rem);
    padding-block: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 1026px) {
  .footer_links_02_links {
    font-size: calc(14 / var(--em) * 1rem);
    padding-block: 21px;
  }
}
@media only screen and (max-width: 640px) {
  .footer_links_02_links_item {
    text-align: center;
  }
}
.footer_links_02_links_item a {
  color: #fff;
  display: block;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.footer_links_02_links_item a:hover {
  opacity: 0.7;
}

.footer_cr {
  background-color: #040C18;
  color: #fff;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .footer_cr {
    font-size: calc(12 / var(--em) * 1rem);
    padding-block: 1.5em;
  }
}
@media only screen and (min-width: 641px) {
  .footer_cr {
    font-size: calc(12 / var(--em) * 1rem);
    padding-block: 22px 20px;
  }
}
main:has(.bg-fix) {
  position: relative;
  z-index: 1;
  background-color: transparent;
}

.bg-fix {
  position: fixed;
  left: 0;
  top: 0;
  width: 100dvw;
  height: 100dvh;
  z-index: -1;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.bg-fix.is-hide {
  opacity: 0;
}

.bg-fix img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100vw;
  height: 100vh;
}

.lower-mv {
  background-repeat: no-repeat;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

@media only screen and (max-width: 640px) {
  .lower-mv {
    background-image: url(../img/bg-lower-mv-sp.png);
    min-height: min(250 / var(--content-width) * 100vw, 250px);
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding-block: min(60 / var(--content-width) * 100vw, 60px) min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 641px) {
  .lower-mv {
    background-image: url(../img/bg-lower-mv-pc.png);
    height: 240px;
    padding-top: 30px;
  }
}
.lower-mv .breadcrumb {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}

.lower-mv .breadcrumb_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 2.5em;
  gap: 0.5em;
  overflow: auto;
}

@media only screen and (max-width: 640px) {
  .lower-mv .breadcrumb_list {
    padding-inline: 4vw;
    font-size: calc(11 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .lower-mv .breadcrumb_list {
    padding-inline: 2em;
    font-size: calc(12 / var(--em) * 1rem);
  }
}
.lower-mv .breadcrumb_list::-webkit-scrollbar {
  display: none;
}

.lower-mv .breadcrumb_item {
  color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.lower-mv .breadcrumb_item_parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: inherit;
  gap: 0.5em;
  text-decoration: underline;
}

.lower-mv .breadcrumb_item_parent:hover {
  text-decoration: none;
}

.lower-mv .breadcrumb_item_parent::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.69043%202.80981L6.88062%206L3.69043%209.19019%22%20stroke%3D%22white%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  display: block;
  width: 12px;
  height: 12px;
}

.lower-mv .breadcrumb_item_current {
  color: inherit;
}

.lower-mv_ttl {
  color: #fff;
  letter-spacing: 0.02em;
  line-height: 1.4;
  width: 100%;
}

.lower-mv_ttl strong {
  display: block;
}

@media only screen and (max-width: 640px) {
  .lower-mv_ttl strong {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .lower-mv_ttl strong {
    font-size: calc(40 / var(--em) * 1rem);
  }
}
.lower-mv_ttl span {
  display: block;
  margin-top: 0.5em;
}

@media only screen and (max-width: 640px) {
  .lower-mv_ttl span {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .lower-mv_ttl span {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.modal:not(.is-open) {
  display: none;
}

.modal_overlay {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100dvw;
  height: 100dvh;
  padding-top: calc(var(--anchor-offset) * 1px);
}

.modal_body {
  background-color: #fff;
  position: relative;
  border-radius: 10px;
  max-height: calc(100dvh - var(--anchor-offset) * 1px);
}

@media only screen and (max-width: 640px) {
  .modal_body {
    width: 90vw;
    padding: 2vw;
  }
}
@media only screen and (min-width: 641px) {
  .modal_body {
    width: 800px;
    padding: 52px 64px;
  }
}
.modal_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.modal_header_hd {
  font-weight: bold;
  color: #016B86;
  width: 100%;
  line-height: 1.4;
  word-break: break-all;
}

@media only screen and (max-width: 640px) {
  .modal_header_hd {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .modal_header_hd {
    font-size: calc(30 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .modal_header_img {
    height: 20vw;
  }
}
@media only screen and (min-width: 641px) {
  .modal_header_img {
    height: 100px;
  }
}
.modal_main {
  background-color: #F2F2F2;
  overflow: auto;
}

@media only screen and (max-width: 640px) {
  .modal_main {
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
    padding: 1em;
    max-height: calc(100dvh - 50vw);
  }
}
@media only screen and (min-width: 641px) {
  .modal_main {
    margin-top: 30px;
    padding: 28px 40px;
    max-height: calc(100dvh - 319px);
  }
}
.modal_main_hd {
  text-align: center;
  font-weight: bold;
  line-height: 1.2;
}

.modal_main_hd img {
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
}

@media only screen and (max-width: 640px) {
  .modal_main_hd img {
    width: 25vw;
  }
}
@media only screen and (min-width: 641px) {
  .modal_main_hd img {
    width: 100px;
  }
}
.modal_main_hd span {
  display: inline-block;
  margin-left: 0.2em;
}

@media only screen and (max-width: 640px) {
  .modal_main_hd span {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .modal_main_hd span {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
.modal_main_hd strong {
  line-height: 1.4;
  display: inline-block;
}

@media only screen and (max-width: 640px) {
  .modal_main_hd strong {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .modal_main_hd strong {
    font-size: calc(30 / var(--em) * 1rem);
  }
}
.modal_main_content {
  background-color: #fff;
}

@media only screen and (max-width: 640px) {
  .modal_main_content {
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
    padding: 1em;
  }
}
@media only screen and (min-width: 641px) {
  .modal_main_content {
    margin-top: 15px;
    padding: 28px 38px;
  }
}
.modal_main_content li {
  margin-bottom: 1em;
}

.modal-btn-close {
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}

@media only screen and (max-width: 640px) {
  .modal-btn-close {
    width: 10vw;
    height: 10vw;
  }
}
@media only screen and (min-width: 641px) {
  .modal-btn-close {
    width: 58px;
    height: 58px;
  }
}
.article-card_list {
  display: -ms-grid;
  display: grid;
}

@media only screen and (max-width: 640px) {
  .article-card_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(15 / var(--content-width) * 100vw, 15px);
  }
}
@media only screen and (min-width: 641px) {
  .article-card_list {
    -ms-grid-columns: 1fr 30px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}
@media only screen and (min-width: 769px) {
  .article-card_list {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
.article-card_item {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
  position: relative;
}

.article-card_item:hover {
  -webkit-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.3);
          box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.3);
}

.article-card_item:hover p {
  color: #016B86;
}

.article-card_item::after {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/icon-arrow-card.png);
  display: block;
  width: 24px;
  height: 7px;
  position: absolute;
  right: 1em;
  bottom: 1.5em;
  pointer-events: none;
}

.article-card_item.is-new::before {
  content: "NEW";
  background-color: #17C4D3;
  color: #fff;
  padding: 0.5em 1em;
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
}

.article-card_item a {
  display: block;
  height: 100%;
}

.article-card_img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .article-card_img {
    height: min(150 / var(--content-width) * 100vw, 150px);
  }
}
@media only screen and (min-width: 641px) {
  .article-card_img {
    height: 195px;
  }
}
.article-card_txt {
  padding: 1em 1em 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
  font-weight: bold;
}

.article-card_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  color: #016B86;
}

@media only screen and (max-width: 640px) {
  .article-card_info {
    font-size: calc(11 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-card_info {
    font-size: calc(13 / var(--em) * 1rem);
  }
}
.article-card_info span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3em;
}

.article-card_info span::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
}

@media only screen and (max-width: 640px) {
  .article-card_info span::before {
    position: relative;
    top: 0.1em;
    width: 1em;
    height: 1em;
  }
}
@media only screen and (min-width: 641px) {
  .article-card_info span::before {
    width: 14px;
    height: 14px;
  }
}
.article-card_date::before {
  background-image: url(../img/icon-card-date.png);
}

.article-card_location::before {
  background-image: url(../img/icon-card-location.png);
}

.article-card_tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.3em 0.5em;
}

.article-card_tags span {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-inline: 1em;
  padding-bottom: 0.1em;
  color: #fff;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 11px;
}

@media only screen and (max-width: 640px) {
  .article-card_tags span {
    font-size: calc(10 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-card_tags span {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
.article-card_tag_plan {
  background-color: #016B86;
}

.article-card_tag_cat {
  background-color: #46AAD4;
}

.article-card_ttl {
  color: #1E263F;
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .article-card_ttl {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-card_ttl {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.article-single_ttl {
  line-height: 1.4;
  font-weight: bold;
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 0.4em;
}

@media only screen and (max-width: 640px) {
  .article-single_ttl {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_ttl {
    font-size: calc(40 / var(--em) * 1rem);
  }
}
.article-single_info:not(:first-child) {
  padding-top: 1em;
}

.article-single_info_client {
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .article-single_info_client {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_info_client {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
.article-single_info_data {
  margin-block: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}

@media only screen and (max-width: 640px) {
  .article-single_info_data {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.article-single_info_data .article-card_info {
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .article-single_info_data .article-card_info {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_info_data .article-card_info {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.article-single_info:first-child .article-single_info_data {
  margin-top: 0;
}

.article-single_catch {
  max-width: 100%;
  margin-inline: auto;
  display: block;
}

@media only screen and (max-width: 640px) {
  .article-single_catch {
    margin-bottom: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_catch {
    margin-bottom: 72px;
  }
}
.article-single_summary {
  position: relative;
  border-radius: 10px;
  border: 2px solid #17C4D3;
}

@media only screen and (max-width: 640px) {
  .article-single_summary {
    padding: 3em 1em 1em;
  }
}
@media only screen and (min-width: 641px) {
  .article-single_summary {
    padding: 50px 80px;
  }
}
.article-single_summary_ttl {
  position: absolute;
  left: 50%;
  top: 0;
  border-radius: 10px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #17C4D3;
  color: #fff;
  height: 1.9em;
  padding-inline: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media only screen and (max-width: 640px) {
  .article-single_summary_ttl {
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_summary_ttl {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_summary_case {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 230px 60px 1fr;
    grid-template-columns: 230px 1fr;
    -moz-column-gap: 60px;
    -webkit-column-gap: 60px;
            column-gap: 60px;
  }
  .article-single_summary_case:has(.article-single_summary_case_video) {
    -ms-grid-columns: 230px 1fr 230px;
    grid-template-columns: 230px 1fr 230px;
  }
}
@media only screen and (min-width: 641px) {
  .article-single_summary_case_img {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
  }
}
.article-single_summary_case_txt {
  line-height: 1.8;
}

@media only screen and (max-width: 640px) {
  .article-single_summary_case_txt {
    font-size: calc(14 / var(--em) * 1rem);
    margin-block: 1.5em;
  }
}
@media only screen and (min-width: 641px) {
  .article-single_summary_case_txt {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_summary_case_video {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
  }
}
.article-single_summary_case_video_ttl {
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .article-single_summary_case_video_ttl {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_summary_case_video_ttl {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
.article-single_summary_case_video iframe {
  width: 100%;
  aspect-ratio: 16/9;
  margin-block: 0.5em;
}

@media only screen and (max-width: 640px) {
  .article-single_summary_case_video_date {
    font-size: calc(11 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_summary_case_video_date {
    font-size: calc(13 / var(--em) * 1rem);
  }
}
.article-single_toc {
  position: relative;
  border-radius: 10px;
  border: 2px solid #17C4D3;
  margin-top: 0;
}

@media only screen and (max-width: 640px) {
  .article-single_toc {
    padding: 3em 1em 1em;
    margin-top: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_toc {
    padding: 50px 80px;
    margin-top: 72px;
  }
}
.article-single_toc_ttl {
  position: absolute;
  left: 50%;
  top: 0;
  border-radius: 10px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #17C4D3;
  color: #fff;
  height: 1.9em;
  padding-inline: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media only screen and (max-width: 640px) {
  .article-single_toc_ttl {
    padding-inline: min(57.5 / var(--content-width) * 100vw, 57.5px);
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_toc_ttl {
    padding-inline: 57.5px;
    font-size: 24px;
  }
}
.article-single_toc_ttl::before {
  content: "";
  display: block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2227%22%20height%3D%2228%22%20viewBox%3D%220%200%2027%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16.8274%2023.6853C16.6763%2023.6853%2016.5328%2023.6249%2016.4271%2023.5192L0.164289%207.25641C-0.0547631%207.03735%20-0.0547631%206.67478%200.164289%206.45573C0.383342%206.23668%200.745912%206.23668%200.964964%206.45573L17.2277%2022.7185C17.4468%2022.9375%2017.4468%2023.3001%2017.2277%2023.5192C17.122%2023.6249%2016.9785%2023.6853%2016.8274%2023.6853Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M22.7944%2017.7181C22.6433%2017.7181%2022.4998%2017.6577%2022.394%2017.5519L6.13128%201.28918C5.91223%201.07013%205.91223%200.707561%206.13128%200.488508C6.35033%200.269456%206.7129%200.269456%206.93195%200.488508L23.1947%2016.7513C23.4138%2016.9703%2023.4138%2017.3329%2023.1947%2017.5519C23.089%2017.6577%2022.9454%2017.7181%2022.7944%2017.7181Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M17.4846%2020.7925C17.3335%2020.7925%2017.19%2020.732%2017.0842%2020.6263L1.93183%205.48145C1.71278%205.2624%201.71278%204.89983%201.93183%204.68077C2.15089%204.46172%202.51345%204.46172%202.73251%204.68077L17.8773%2019.8256C18.0964%2020.0447%2018.0964%2020.4072%2017.8773%2020.6263C17.7716%2020.732%2017.6281%2020.7925%2017.477%2020.7925H17.4846Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M19.9014%2018.3677C19.7503%2018.3677%2019.6068%2018.3073%2019.501%2018.2016L4.3562%203.05673C4.13715%202.83767%204.13715%202.4751%204.3562%202.25605C4.57525%202.037%204.93782%202.037%205.15688%202.25605L20.3017%2017.4009C20.5208%2017.6199%2020.5208%2017.9825%2020.3017%2018.2016C20.196%2018.3073%2020.0524%2018.3677%2019.9014%2018.3677Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M22.795%2016.5851C23.0291%2016.5851%2023.2406%2016.7362%2023.3237%2016.9552L25.8088%2023.7308C25.8844%2023.9347%2025.8315%2024.1689%2025.6804%2024.3275L24.0035%2026.0044C23.8449%2026.163%2023.6183%2026.2083%2023.4068%2026.1328L16.6313%2023.6477C16.3669%2023.5495%2016.2083%2023.27%2016.2763%2022.9905L16.9259%2020.0975C16.9788%2019.8483%2017.1978%2019.667%2017.4546%2019.6594L19.2599%2019.5914L19.3279%2017.7861C19.3355%2017.5293%2019.5167%2017.3103%2019.766%2017.2574L22.659%2016.6078C22.7043%2016.6002%2022.7421%2016.5927%2022.7874%2016.5927L22.795%2016.5851ZM24.6229%2023.7836L22.4324%2017.8163L20.4534%2018.262L20.3778%2020.1579C20.3627%2020.4525%2020.1286%2020.6867%2019.834%2020.7018L17.9381%2020.7773L17.4924%2022.7564L23.4597%2024.9469L24.6229%2023.7836Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M25.2798%2023.9272L26.4354%2026.7598L23.6029%2025.6041L25.2798%2023.9272Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M25.2799%2023.3607C25.5065%2023.3607%2025.718%2023.4966%2025.8011%2023.7157L26.9568%2026.5483C27.0776%2026.8353%2026.9341%2027.1676%2026.6471%2027.2885C26.5111%2027.3414%2026.3525%2027.3414%2026.2165%2027.2885L23.384%2026.1328C23.0969%2026.012%2022.9534%2025.6872%2023.0743%2025.3926C23.1045%2025.3246%2023.1423%2025.2566%2023.1951%2025.2037L24.872%2023.5268C24.9778%2023.4211%2025.1213%2023.3607%2025.2724%2023.3607H25.2799ZM25.4008%2025.7249L25.076%2024.9318L24.6076%2025.4001L25.4008%2025.7249Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-size: cover;
  background-repeat: no-repeat;
}

@media only screen and (max-width: 640px) {
  .article-single_toc_ttl::before {
    width: min(22 / var(--content-width) * 100vw, 22px);
    height: min(22 / var(--content-width) * 100vw, 22px);
    margin-right: min(10 / var(--content-width) * 100vw, 10px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_toc_ttl::before {
    width: 27px;
    height: 27px;
    margin-right: 10px;
  }
}
.article-single_toc p {
  line-height: 1.7;
}

@media only screen and (max-width: 640px) {
  .article-single_toc_list {
    padding-left: 20px;
  }
}
.article-single_toc_list_item {
  line-height: 1.2;
}

@media only screen and (max-width: 640px) {
  .article-single_toc_list_item {
    margin-bottom: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_toc_list_item {
    margin-bottom: 30px;
  }
}
.article-single_toc_list_item_link {
  display: inline-block;
  position: relative;
  color: #17C4D3;
  font-weight: bold;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.article-single_toc_list_item_link:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 640px) {
  .article-single_toc_list_item_link {
    margin-bottom: min(10 / var(--content-width) * 100vw, 10px);
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_toc_list_item_link {
    margin-bottom: 10px;
    font-size: 18px;
  }
}
.article-single_toc_list_item_link::before {
  position: absolute;
  top: 50%;
  left: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0px;
  height: 0px;
  border: 0.4em solid transparent;
  border-left: 0.6em solid #17C4D3;
  content: "";
}

.article-single_toc_sublist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.article-single_toc_sublist_item {
  position: relative;
  width: object-fit;
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .article-single_toc_sublist_item {
    margin-top: min(15 / var(--content-width) * 100vw, 15px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_toc_sublist_item {
    margin-top: 15px;
  }
}
.article-single_toc_sublist_item:not(:last-child) {
  position: relative;
}

@media only screen and (max-width: 640px) {
  .article-single_toc_sublist_item:not(:last-child) {
    margin-right: min(20 / var(--content-width) * 100vw, 20px);
    padding-right: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_toc_sublist_item:not(:last-child) {
    margin-right: 20px;
    padding-right: 20px;
  }
}
.article-single_toc_sublist_item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 16px;
  background-color: #ccc;
}

@media only screen and (max-width: 640px) {
  .article-single_toc_sublist_item:not(:last-child)::after {
    display: none;
  }
}
@media only screen and (min-width: 641px) {
  .article-single_toc_sublist_item:not(:last-child)::after {
    width: 2px;
    height: 18px;
  }
}
.article-single_toc_sublist_item_link {
  color: #1E263F;
  border-bottom: 1px solid #1E263F;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media only screen and (max-width: 640px) {
  .article-single_toc_sublist_item_link {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_toc_sublist_item_link {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.article-single_toc_sublist_item_link:hover {
  opacity: 0.7;
}

.article-single_voice {
  position: relative;
  background-color: #E9F8F7;
  border-radius: 10px;
}

@media only screen and (max-width: 640px) {
  .article-single_voice {
    padding: 2em 1em;
  }
}
@media only screen and (min-width: 641px) {
  .article-single_voice {
    padding: 54px 80px;
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.article-single_voice_ttl {
  font-weight: bold;
  display: block;
  margin-bottom: 1em;
}

@media only screen and (max-width: 640px) {
  .article-single_voice_ttl {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_voice_ttl {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
.article-single_voice_txt {
  line-height: 1.8;
}

@media only screen and (max-width: 640px) {
  .article-single_voice_txt {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_voice_txt {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.article-single_user {
  background-color: #F2F2F2;
  border-radius: 10px;
}

@media only screen and (max-width: 640px) {
  .article-single_user {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
    padding: 2em 1em;
  }
}
@media only screen and (min-width: 641px) {
  .article-single_user {
    margin-top: 54px;
    padding: 54px 80px;
  }
}
.article-single_user_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 2.5em;
  background-color: #016B86;
  color: #fff;
  border-radius: 10px;
  margin-bottom: 2em;
}

@media only screen and (max-width: 640px) {
  .article-single_user_ttl {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_user_ttl {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 769px) {
  .article-single_user_body {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 50px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
  }
}
.article-single_user_body_left p {
  line-height: 1.8;
  margin-block: 1em 2em;
}

@media only screen and (max-width: 640px) {
  .article-single_user_body_left p {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_user_body_left p {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.article-single_user_body_left table {
  border-top: 1px solid #CCCCCC;
  line-height: 1.4;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
  width: 100%;
}

.article-single_user_body_left table td,
.article-single_user_body_left table th {
  border-bottom: 1px solid #CCCCCC;
  vertical-align: middle;
  padding: 1em;
}

@media only screen and (max-width: 640px) {
  .article-single_user_body_left table td,
  .article-single_user_body_left table th {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_user_body_left table td,
  .article-single_user_body_left table th {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.article-single_user_body_left table th {
  text-align: center;
  background-color: #016B86;
  color: #fff;
  width: 135px;
  border-right: 1px solid #CCCCCC;
}

.article-single_user_body_left table td {
  background-color: #fff;
  width: calc(100% - 135px);
}

.article-single_user_body_left table td a {
  color: inherit;
}

@media only screen and (max-width: 768px) {
  .article-single_user_body_right {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
  }
}
.article-single_section {
  overflow: visible;
}

@media only screen and (max-width: 640px) {
  .article-single_section {
    margin-top: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section {
    margin-top: 100px;
  }
}
@media only screen and (max-width: 640px) {
  .article-single_section:last-of-type {
    padding-bottom: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section:last-of-type {
    padding-bottom: 100px;
  }
}
.article-single_section_hd4 {
  color: #016B86;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  padding-left: 1em;
}

@media only screen and (max-width: 640px) {
  .article-single_section_hd4 {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_hd4 {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
.article-single_section_hd4::before {
  content: "";
  display: block;
  height: 100%;
  width: 5px;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #016B86;
}

.article-single_section_hd5 {
  font-weight: bold;
  line-height: 1.4;
  margin-top: 3em;
  padding-left: 1.7em;
  position: relative;
}

@media only screen and (max-width: 640px) {
  .article-single_section_hd5 {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_hd5 {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.article-single_section_hd5::before {
  content: "";
  display: block;
  width: 1.2em;
  height: 3px;
  position: absolute;
  left: 0;
  top: 0.7em;
  background: #1E263F;
  border-radius: 1.5px;
}

.article-single_section_hd6 {
  line-height: 1.8;
}

@media only screen and (max-width: 640px) {
  .article-single_section_hd6 {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_hd6 {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .article-single_section_hd6 {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_hd6 {
    margin-top: 50px;
  }
}
@media only screen and (max-width: 768px) {
  .article-single_section_col2 p + img {
    margin-top: 2em;
  }
}
@media only screen and (min-width: 769px) {
  .article-single_section_col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 50px;
  }
  .article-single_section_col2:has(.img-left) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 768px) {
  .article-single_section_col2.pad {
    padding-top: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 769px) {
  .article-single_section_col2.pad {
    padding-top: 50px;
  }
}
.article-single_section_p {
  line-height: 1.8;
}

@media only screen and (max-width: 640px) {
  .article-single_section_p {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_p {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .article-single_section_p {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_p {
    margin-top: 50px;
  }
}
.article-single_section a {
  color: #016B86;
  text-decoration: underline;
}

.article-single_section a:hover {
  text-decoration: none;
}

.article-single_section_hd5 + .article-single_section_col2, .article-single_section_hd5 + .article-single_section_p {
  margin-top: 1.5em;
}

.article-single_section_hd4 + .article-single_section_hd5 {
  margin-top: 2em;
}

.article-single_section_hd6 + .article-single_section_p {
  margin-top: 1.5em;
}

@media only screen and (max-width: 640px) {
  .article-single_section_p + .article-single_section_col2, .article-single_section_col2 + .article-single_section_p, .article-single_section_p + .article-single_section_p, .article-single_section_p + .article-single_section_hd6 {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_p + .article-single_section_col2, .article-single_section_col2 + .article-single_section_p, .article-single_section_p + .article-single_section_p, .article-single_section_p + .article-single_section_hd6 {
    margin-top: 50px;
  }
}
.article-single_section_col2 .article-single_section_p, .article-single_section_col2 .article-single_section_hd5 .article-single_section_p .article-single_section_hd5 {
  margin-top: 0;
}

.article-single_section_img.img-full {
  display: block;
  margin-inline: auto;
}

@media only screen and (max-width: 640px) {
  .article-single_section_img.img-full {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_img.img-full {
    margin-top: 50px;
  }
}
@media only screen and (max-width: 640px) {
  .article-single_section_img.img-left, .article-single_section_img.img-right {
    margin-top: 2em;
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_img.img-left, .article-single_section_img.img-right {
    width: 560px;
  }
}
.article-single_section_img + figcaption {
  margin-top: 0.5em;
}

@media only screen and (max-width: 640px) {
  .article-single_section_img + figcaption {
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_img + figcaption {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .article-single_section_back {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 641px) {
  .article-single_section_back {
    margin-top: 50px;
  }
}
.article-single_section_back a {
  margin-inline: auto;
}

.btn-header, .btn-header_border, .btn-header_fill {
  border-radius: 5px;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.03em;
}

@media only screen and (max-width: 640px) {
  .btn-header, .btn-header_border, .btn-header_fill {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .btn-header, .btn-header_border, .btn-header_fill {
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .btn-header, .btn-header_border, .btn-header_fill {
    height: 4em;
    width: 100%;
    text-align: center;
    line-height: 1.4;
    font-size: 4vw;
  }
}
@media only screen and (min-width: 641px) {
  .btn-header, .btn-header_border, .btn-header_fill {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-inline: 1em;
    height: 2.8em;
  }
}
.btn-header_fill {
  background-color: #016B86;
  color: #fff;
}

.btn-header_fill:hover {
  opacity: 0.7;
}

.btn-header_border {
  color: #fff;
  background-color: #FFB124;
}

.btn-header_border:hover {
  opacity: 0.7;
}

.btn-round, .btn-round_blue, .btn-round_white, .btn-round_green, .btn-round_green_invert, .btn-round_green_down, .btn-round_silver {
  -webkit-box-shadow: 0px 3px 13px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 3px 13px rgba(0, 0, 0, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 10px;
  position: relative;
  letter-spacing: 0.03em;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}

@media only screen and (min-width: 641px) {
  .btn-round, .btn-round_blue, .btn-round_white, .btn-round_green, .btn-round_green_invert, .btn-round_green_down, .btn-round_silver {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
}
.btn-round::after, .btn-round_blue::after, .btn-round_white::after, .btn-round_green::after, .btn-round_green_invert::after, .btn-round_green_down::after, .btn-round_silver::after {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
}

.btn-round_silver {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(-13.09%, #FFFFFF), color-stop(23.39%, #F0F0F0), color-stop(37%, #EBEBEB), color-stop(41.33%, #D0D0D0), color-stop(51.84%, #C4C4C4), color-stop(110.59%, #FFFFFF));
  background: linear-gradient(180deg, #FFFFFF -13.09%, #F0F0F0 23.39%, #EBEBEB 37%, #D0D0D0 41.33%, #C4C4C4 51.84%, #FFFFFF 110.59%);
  color: #1E263F;
  z-index: 0;
}

@media only screen and (max-width: 640px) {
  .btn-round_silver {
    width: min(350 / var(--content-width) * 100vw, 350px);
    height: min(90 / var(--content-width) * 100vw, 90px);
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .btn-round_silver {
    width: 550px;
    height: 100px;
    font-size: calc(30 / var(--em) * 1rem);
  }
}
.btn-round_silver::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 10;
  background: linear-gradient(185deg, #FFFFFF -13.09%, #F0F0F0 23.39%, #EBEBEB 37%, #D0D0D0 61.33%, #C4C4C4 71.84%, #FFFFFF 110.59%);
  z-index: -1;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  border-radius: 10px;
  overflow: hidden;
}

.btn-round_silver::after {
  background-image: url(../img/icon-arrow-silver.png);
}

@media only screen and (max-width: 640px) {
  .btn-round_silver::after {
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
@media only screen and (min-width: 641px) {
  .btn-round_silver::after {
    right: 25px;
    width: 40px;
    height: 40px;
  }
}
.btn-round_silver:hover {
  -webkit-box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.4);
          box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.4);
}

.btn-round_silver:hover::before {
  opacity: 1;
}

.btn-round_green, .btn-round_green_invert, .btn-round_green_down {
  background-color: #016B86;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

@media only screen and (max-width: 640px) {
  .btn-round_green, .btn-round_green_invert, .btn-round_green_down {
    width: 100%;
    padding: 4vw 0;
  }
  .btn-round_green span, .btn-round_green_invert span, .btn-round_green_down span {
    font-size: calc(13 / var(--em) * 1rem);
  }
  .btn-round_green strong, .btn-round_green_invert strong, .btn-round_green_down strong {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .btn-round_green, .btn-round_green_invert, .btn-round_green_down {
    width: 550px;
    height: 86px;
  }
  .btn-round_green span, .btn-round_green_invert span, .btn-round_green_down span {
    font-size: calc(14 / var(--em) * 1rem);
  }
  .btn-round_green strong, .btn-round_green_invert strong, .btn-round_green_down strong {
    font-size: calc(22 / var(--em) * 1rem);
  }
}
.btn-round_green::after, .btn-round_green_invert::after, .btn-round_green_down::after {
  background-image: url(../img/icon-arrow-green.png);
}

@media only screen and (max-width: 640px) {
  .btn-round_green::after, .btn-round_green_invert::after, .btn-round_green_down::after {
    right: 17px;
    width: 12px;
    height: 12px;
  }
}
@media only screen and (min-width: 641px) {
  .btn-round_green::after, .btn-round_green_invert::after, .btn-round_green_down::after {
    right: 37px;
    width: 18px;
    height: 18px;
  }
}
.btn-round_green:hover, .btn-round_green_invert:hover, .btn-round_green_down:hover {
  -webkit-box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.4);
          box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.4);
}

.btn-round_green_invert, .btn-round_green_down {
  border: 2px solid #016B86;
  background-color: #fff;
  color: #016B86;
}

.btn-round_green_invert::after, .btn-round_green_down::after {
  background-image: url(../img/icon-arrow-green_invert.png);
}

@media only screen and (min-width: 641px) {
  .btn-round_green_invert::after, .btn-round_green_down::after {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
}
.btn-round_green_invert:hover, .btn-round_green_down:hover {
  color: #017f9f;
  background-color: #fff;
}

.btn-round_green_down::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.btn-round_white {
  background-color: #fff;
  color: #1E263F;
}

@media only screen and (max-width: 640px) {
  .btn-round_white {
    width: 100%;
    height: 3em;
  }
}
@media only screen and (min-width: 641px) {
  .btn-round_white {
    width: 100%;
    height: 60px;
  }
}
.btn-round_white::after {
  right: 20px;
  width: 25px;
  height: 25px;
  background-image: url(../img/icon-arrow-bk.png);
}

.btn-round_white:hover {
  color: #016B86;
  -webkit-box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.4);
          box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.4);
}

.btn-round_blue {
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, color-stop(34.6%, #FFB124), to(#FFC153));
  background: linear-gradient(90deg, #FFB124 34.6%, #FFC153 100%);
  z-index: 0;
  height: 3.1em;
}

@media only screen and (max-width: 640px) {
  .btn-round_blue {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .btn-round_blue {
    font-size: calc(22 / var(--em) * 1rem);
    width: min(450 / var(--content-width) * 100vw, 450px);
  }
}
.btn-round_blue::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 10;
  background: linear-gradient(120deg, #FFB124 4.6%, #FFC153 100%);
  z-index: -1;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  border-radius: 10px;
  overflow: hidden;
}

.btn-round_blue::after {
  right: 1.5em;
  width: 1.5em;
  height: 1.5em;
  background-image: url(../img/icon-arrow-or.png);
}

.btn-round_blue:hover {
  -webkit-box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.4);
          box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.4);
}

.btn-round_blue:hover::before {
  opacity: 1;
}

.modal-btn-close {
  -webkit-filter: drop-shadow(0px 3px 30px rgba(0, 0, 0, 0.4));
          filter: drop-shadow(0px 3px 30px rgba(0, 0, 0, 0.4));
}

.hd-underline {
  text-align: center;
  --font-color-hd: #016B86;
  --font-color-txt: #1E263F;
}

.hd-underline_ttl {
  color: #016B86;
  margin-bottom: 1em;
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .hd-underline_ttl {
    font-size: calc(22 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .hd-underline_ttl {
    font-size: calc(42 / var(--em) * 1rem);
  }
}
.hd-underline_ttl span {
  position: relative;
  display: inline-block;
}

.hd-underline_ttl span::after {
  content: "";
  display: block;
  width: 100px;
  height: 2px;
  background-color: #016B86;
  position: absolute;
  bottom: -0.5em;
  left: calc(50% - 50px);
}

.hd-underline_txt {
  color: var(--font-color-txt);
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .hd-underline_txt {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .hd-underline_txt {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.cv-area {
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/footer-cv-bg.png);
  background-position: center;
}

@media only screen and (max-width: 640px) {
  .cv-area {
    padding-block: min(50 / var(--content-width) * 100vw, 50px);
  }
}
@media only screen and (min-width: 641px) {
  .cv-area {
    padding-block: 50px;
  }
}
.cv-area_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media only screen and (max-width: 640px) {
  .cv-area_inner {
    gap: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 641px) {
  .cv-area_inner {
    gap: 24px;
  }
}
@media only screen and (max-width: 640px) {
  .cv-area .btn-round_blue {
    width: 100%;
    height: auto;
    padding: 4vw 0;
  }
}
@media only screen and (min-width: 641px) {
  .cv-area .btn-round_blue {
    width: 550px;
  }
}
.video-wrap {
  text-align: center;
}

.video-wrap a {
  display: block;
  margin-inline: auto;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.video-wrap a:hover {
  opacity: 0.7;
}

@media only screen and (min-width: 641px) {
  .video-wrap img {
    width: 760px;
  }
}
.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: 170px;
  background-size: contain;
  background-repeat: no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  z-index: 10;
}

@media only screen and (max-width: 640px) {
  .swiper-button-next,
  .swiper-button-prev {
    width: min(60 / var(--content-width) * 100vw, 60px);
    width: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .swiper-button-next,
  .swiper-button-prev {
    width: 60px;
    height: 60px;
  }
}
.swiper-button-next::after,
.swiper-button-prev::after {
  content: none;
}

.swiper-button-disabled {
  display: none;
}

@media only screen and (max-width: 1024px) {
  :root {
    --anchor-offset: 90;
  }
}
@media only screen and (min-width: 1026px) {
  :root {
    --anchor-offset: 110;
  }
}
.header_toc {
  position: fixed;
  left: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  z-index: -1;
}

@media only screen and (max-width: 768px) {
  .header_toc {
    top: 55px;
  }
}
@media only screen and (min-width: 770px) {
  .header_toc {
    top: 60px;
  }
}
.header_toc_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 768px) {
  .header_toc_list {
    overflow: auto;
    padding-inline: 1em;
    height: 3em;
    gap: 1em;
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 770px) {
  .header_toc_list {
    gap: 1.5em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 1170px;
    margin-inline: auto;
    height: 50px;
  }
}
.header_toc_list::-webkit-scrollbar {
  display: none;
}

.header_toc_item {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.header_toc_anchor {
  color: #1E263F;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.header_toc_anchor.current {
  font-weight: bold;
  color: #016B86;
}

@media only screen and (min-width: 641px) {
  .header_toc_anchor:hover {
    text-decoration: underline;
  }
}
.sec-top-mv {
  position: relative;
  z-index: 0;
  background-color: #146a8e;
  position: relative;
  background-image: url(../img/top-mv-bg-pc.png);
  background-repeat: no-repeat;
}
.sec-top-mv_logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 202px;
}
@media only screen and (max-width: 1583px) {
  .sec-top-mv_logo {
    width: 101px;
  }
}

@media only screen and (max-width: 640px) {
  .sec-top-mv {
    height: 167vw;
    background-image: url(../img/top-mv-bg-sp.png);
    background-size: contain;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-mv {
    background-size: cover;
    background-position: center left 55%;
  }
}
@media only screen and (min-width: 1583px) {
  .sec-top-mv {
    background-size: 2200px;
    background-position: center left calc(50% - 50px);
  }
}
.sec-top-mv_content {
  z-index: 2;
  color: #fff;
  width: min(1400px, 90%);
  margin: 0 auto;
}
.sec-top-mv_content_notes {
  color: #fff;
  font-size: 10px;
}
@media only screen and (max-width: 640px) {
  .sec-top-mv_content_notes {
    margin-bottom: min(13 / var(--content-width) * 100vw, 13px);
    font-size: min(10 / var(--content-width) * 100vw, 10px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-mv_content_notes {
    margin-bottom: 1em;
  }
}
@media only screen and (max-width: 1654px) {
  .sec-top-mv_content_notes {
    margin-bottom: 2vw;
  }
}

@media only screen and (max-width: 640px) {
  .sec-top-mv_content {
    padding-top: 14vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-mv_content {
    padding: 6vw 0 10vw;
  }
}
@media only screen and (min-width: 1424px) {
  .sec-top-mv_content {
    padding: 82px 0 146px;
  }
}
.sec-top-mv_content_caption {
  line-height: 1.45;
  font-weight: bold;
  letter-spacing: 0.02em;
}

@media only screen and (max-width: 640px) {
  .sec-top-mv_content_caption {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-mv_content_caption {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-mv_content_caption {
    margin-bottom: 0.5em;
  }
}
@media only screen and (max-width: 1654px) {
  .sec-top-mv_content_caption {
    font-size: 1.7vw;
    margin-bottom: 1vw;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-mv_content_caption {
    margin-bottom: min(5 / var(--content-width) * 100vw, 5px);
    font-size: min(16 / var(--content-width) * 100vw, 16px);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-mv_content_copy {
    width: 100%;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-mv_content_copy {
    width: min(614 / var(--content-width) * 100vw, 614px);
  }
}
.sec-top-mv_content_features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (min-width: 641px) {
  .sec-top-mv_content_features {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
    gap: min(15 / var(--content-width) * 100vw, 15px);
  }
}
@media only screen and (max-width: 1423px) {
  .sec-top-mv_content_features {
    margin-top: min(35 / var(--content-width) * 100vw, 35px);
    gap: min(10 / var(--content-width) * 100vw, 10px);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-mv_content_features {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
    gap: 10px;
  }
}
.sec-top-mv_content_feature {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  white-space: nowrap;
  background-color: #fff;
  border: 3px solid;
  -o-border-image: linear-gradient(180deg, #167BA5 0%, #38A2CD 50%, #167BA5 100%) 1;
     border-image: -webkit-gradient(linear, left top, left bottom, from(#167BA5), color-stop(50%, #38A2CD), to(#167BA5)) 1;
     border-image: linear-gradient(180deg, #167BA5 0%, #38A2CD 50%, #167BA5 100%) 1;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 180, 255, 0.3019607843);
          box-shadow: 0px 0px 6px 0px rgba(0, 180, 255, 0.3019607843);
  color: #0E567A;
}

@media only screen and (min-width: 641px) {
  .sec-top-mv_content_feature {
    line-height: 1.3;
    width: 193px;
    height: 100px;
  }
}
@media only screen and (max-width: 1423px) {
  .sec-top-mv_content_feature {
    width: 13vw;
    height: 7vw;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-mv_content_feature {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    line-height: 1;
    padding: 0.1em 0 0.5em;
    width: 33.3333333333%;
    height: auto;
  }
}
.sec-top-mv_content_feature span {
  font-weight: 700;
  font-size: calc(17 / var(--em) * 1rem);
  white-space: nowrap;
}

@media only screen and (max-width: 1423px) {
  .sec-top-mv_content_feature span {
    font-size: 1.2vw;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-mv_content_feature span {
    font-size: 2.7vw;
  }
}
.sec-top-mv_content_feature small {
  font-weight: 500;
  font-size: calc(14 / var(--em) * 1rem);
  white-space: nowrap;
}

@media only screen and (max-width: 1423px) {
  .sec-top-mv_content_feature small {
    font-size: 1vw;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-mv_content_feature small {
    font-size: 2.3vw;
  }
}
.sec-top-mv_content_feature strong {
  font-weight: 700;
  font-size: calc(32 / var(--em) * 1rem);
}

@media only screen and (min-width: 641px) {
  .sec-top-mv_content_cv {
    margin-top: min(60 / var(--content-width) * 100vw, 60px);
    min-width: 19em;
  }
}
@media only screen and (max-width: 1423px) {
  .sec-top-mv_content_cv {
    margin-top: min(50 / var(--content-width) * 100vw, 50px);
    font-size: 1.8vw;
  }
}
@media only screen and (max-width: 768px) {
  .sec-top-mv_content_cv {
    margin-top: 2vw;
    font-size: 2vw;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-mv_content_cv {
    position: absolute;
    bottom: min(30 / var(--content-width) * 100vw, 30px);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    margin-inline: 0;
    margin-top: 0;
    width: 86%;
    height: auto;
    padding: 2.5vw 0;
    font-size: 4vw;
  }
}
.sec-top-case {
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .sec-top-case {
    padding-block: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-case {
    padding-block: 50px;
  }
}
.sec-top-case_ttl {
  margin-bottom: 1em;
  color: #016B86;
  font-size: calc(40 / var(--em) * 1rem);
  font-weight: bold;
  text-align: center;
}
.sec-top-case_items {
  display: -ms-grid;
  display: grid;
}
@media only screen and (max-width: 640px) {
  .sec-top-case_items {
    gap: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-case_items {
    -ms-grid-columns: 1fr 27px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 27px;
  }
}
.sec-top-case_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  border: 1px solid #D9D9D9;
  border-radius: 10px;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  overflow: hidden;
}
.sec-top-case_item_img {
  aspect-ratio: 225/138;
  width: min(225 / var(--content-width) * 100vw, 225px);
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 640px) {
  .sec-top-case_item_img {
    aspect-ratio: 140/86;
    width: min(140 / var(--content-width) * 100vw, 140px);
  }
}
.sec-top-case_item_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.sec-top-case_item_ttl {
  color: #016B86;
  font-weight: bold;
  line-height: 1.2;
}
@media only screen and (max-width: 640px) {
  .sec-top-case_item_ttl {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-case_item_ttl {
    font-size: calc(20 / var(--em) * 1rem);
  }
}

.sec-top-price {
  background-color: #fff;
}

@media only screen and (max-width: 640px) {
  .sec-top-price {
    padding-top: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price {
    padding-top: 72px;
    padding-bottom: 60px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-price.container {
    display: block;
  }
}
.sec-top-price_lead {
  text-align: center;
}

.sec-top-price_lead_attention {
  position: relative;
  font-weight: bold;
  color: #016B86;
  display: inline-block;
  margin-top: 0.5em;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_lead_attention {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_lead_attention {
    font-size: calc(48 / var(--em) * 1rem);
  }
}
.sec-top-price_lead_attention::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -10px;
  background-color: #016B86;
}

.sec-top-price_lead_strong {
  font-weight: bold;
  margin-top: 1rem;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_lead_strong span {
    font-size: calc(22 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_lead_strong span {
    font-size: calc(40 / var(--em) * 1rem);
  }
}
.sec-top-price_lead_strong strong {
  color: #016B86;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_lead_strong strong {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_lead_strong strong {
    font-size: calc(56 / var(--em) * 1rem);
  }
}
.sec-top-price_lead_txt {
  margin-top: 1rem;
  line-height: 1.7;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_lead_txt {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_lead_txt {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.sec-top-price_lead_txt strong {
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_lead_txt strong {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_lead_txt strong {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-price_plan {
    margin-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_plan {
    margin-block: 60px;
  }
}
.sec-top-price_plan_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_plan_items {
    width: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-price_plan_items_wrap {
    position: relative;
  }
}
.sec-top-price_plan_items_wrap .swiper-button-prev {
  background-image: url(../img/icon-slick-prev.png);
  left: 0;
  top: 50%;
}

.sec-top-price_plan_items_wrap .swiper-button-next {
  background-image: url(../img/icon-slick-next.png);
  right: 0;
  top: 50%;
}

.sec-top-price_plan_items_scroll {
  position: absolute;
  z-index: 10;
  right: 2vw;
  top: 50%;
  width: min(57 / var(--content-width) * 100vw, 57px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media only screen and (min-width: 641px) {
  .sec-top-price_plan_items_scroll {
    display: none;
  }
}
.sec-top-price_plan_items_scroll img {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.sec-top-price_plan_items_scroll.is-clicked img {
  -webkit-transform: rotate(180deg) translateY(2px);
          transform: rotate(180deg) translateY(2px);
}

.sec-top-price_plan_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_plan_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 88vw;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: min(50 / var(--content-width) * 100vw, 50px) min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_plan_item {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 60px;
    width: 100%;
    padding: min(35 / var(--content-width) * 100vw, 35px) min(40 / var(--content-width) * 100vw, 40px);
  }
}
.sec-top-price_plan_item.basic {
  background-color: #46AAD4;
  color: #fff;
}

.sec-top-price_plan_item.light {
  background-color: #BCF1E4;
}

@media only screen and (max-width: 768px) {
  .sec-top-price_plan_item_img {
    width: 35vw;
  }
  .sec-top-price_plan_item_img.light {
    width: 40vw;
  }
}
@media only screen and (min-width: 770px) {
  .sec-top-price_plan_item_img {
    width: auto;
    height: min(332 / var(--content-width) * 100vw, 332px);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-price_plan_item_content {
    margin-top: min(32 / var(--content-width) * 100vw, 32px);
    width: 100%;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_plan_item_content {
    width: 280px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-price_plan_item_content_logo {
    width: min(118 / var(--content-width) * 100vw, 118px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_plan_item_content_logo {
    width: 85px;
  }
}
.sec-top-price_plan_item_content_plan {
  line-height: 1.6;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_plan_item_content_plan strong {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_plan_item_content_plan strong {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
.sec-top-price_plan_item_content_plan span {
  font-weight: 500;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_plan_item_content_plan span {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_plan_item_content_plan span {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.sec-top-price_plan_item_content_txt {
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_plan_item_content_txt {
    font-size: calc(14 / var(--em) * 1rem);
    margin-bottom: 0.5em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_plan_item_content_txt {
    font-size: calc(15 / var(--em) * 1rem);
    margin-bottom: 2em;
  }
}
.sec-top-price_plan_item_content_price {
  letter-spacing: 0.01em;
  line-height: 1.2;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_plan_item_content_price {
    margin-bottom: 1em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_plan_item_content_price {
    margin-bottom: 2em;
  }
}
.sec-top-price_plan_item_content_price span {
  font-size: calc(18 / var(--em) * 1rem);
}

@media only screen and (max-width: 640px) {
  .sec-top-price_plan_item_content_price strong {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_plan_item_content_price strong {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
.sec-top-price_btns {
  max-width: 92%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_btns {
    margin-bottom: min(60 / var(--content-width) * 100vw, 60px);
    gap: 16px;
  }
}
.sec-top-price_include {
  background-color: #f2f2f2;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_include {
    padding: min(60 / var(--content-width) * 100vw, 60px) min(20 / var(--content-width) * 100vw, 20px);
    margin-bottom: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_include {
    padding: 60px 20px;
    margin-bottom: 60px;
  }
}
.sec-top-price_include_contents {
  display: -ms-grid;
  display: grid;
}

@media only screen and (max-width: 768px) {
  .sec-top-price_include_contents {
    gap: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 770px) {
  .sec-top-price_include_contents {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-grid-columns: 1fr 18px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-price_include_contents {
    -ms-grid-columns: (390px)[2];
    grid-template-columns: repeat(2, 390px);
  }
}
.sec-top-price_include_hd {
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 2em;
  overflow: hidden;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_include_hd span {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_include_hd span {
    font-size: calc(30 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-price_include_hd small {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_include_hd small {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.sec-top-price_include_item {
  background-color: #fff;
  border-radius: 10px;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_include_item {
    padding: 1em;
    gap: min(20 / var(--content-width) * 100vw, 20px);
    -ms-grid-columns: 1fr min(20 / var(--content-width) * 100vw, 20px) 80px;
    grid-template-columns: 1fr 80px;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_include_item {
    padding: 24px 32px;
    gap: 32px;
    -ms-grid-columns: 1fr 32px 65px;
    grid-template-columns: 1fr 65px;
  }
}
.sec-top-price_include_item p {
  line-height: 1.4;
}

.sec-top-price_include_item strong {
  font-weight: bold;
  margin-bottom: 0.5em;
  display: block;
}

@media only screen and (max-width: 640px) {
  .sec-top-price_include_item strong {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_include_item strong {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-price_include_item span {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price_include_item span {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.sec-top-price_include_item span sup {
  font-size: 10px;
  vertical-align: top;
}

.sec-top-price_include_small {
  font-size: calc(12 / var(--em) * 1rem);
  font-weight: 500;
  text-align: center;
  margin-top: 2em;
}

@media only screen and (max-width: 640px) {
  .sec-top-price .btn-round_blue {
    width: 100%;
    height: auto;
    padding: 4vw 0;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-price .btn-round_blue {
    width: 550px;
  }
}
.sec-top-point_inner {
  background-color: #f2f2f2;
}

.sec-top-point_lead {
  letter-spacing: 0.02em;
  font-weight: bold;
  margin-bottom: 1em;
  text-align: center;
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_lead {
    padding-top: min(60 / var(--content-width) * 100vw, 60px);
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_lead {
    padding-top: 80px;
    font-size: calc(32 / var(--em) * 1rem);
  }
}
.sec-top-point_category {
  display: -ms-grid;
  display: grid;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_category {
    -ms-grid-columns: 1fr 10px 1fr 10px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding-bottom: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_category {
    -ms-grid-columns: 1fr 18px 1fr 18px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    padding-bottom: 80px;
  }
}
@media only screen and (min-width: 1181px) {
  .sec-top-point_category {
    -ms-grid-columns: (180px)[6];
    grid-template-columns: repeat(6, 180px);
  }
}
.sec-top-point_category_item {
  background-color: #fff;
  border: 1px solid #016B86;
  -webkit-box-shadow: 3px 4px 5px rgba(0, 0, 0, 0.15);
          box-shadow: 3px 4px 5px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_category_item {
    padding: 0.8em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_category_item {
    height: 170px;
    padding: 1.5em;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_category_item_img {
    width: 50%;
  }
}
.sec-top-point_category_item_txt {
  height: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-weight: 500;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_category_item_txt {
    margin-top: 0.5em;
    line-height: 1.2;
    font-size: 3vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_category_item_txt {
    line-height: 1.5;
  }
}
.sec-top-point_point_ttl {
  background-image: url(../img/bg-top-point.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #fff;
}

.sec-top-point_point_ttl img {
  margin-inline: auto;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_ttl img {
    margin-block: min(30 / var(--content-width) * 100vw, 30px);
    width: 70vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_ttl img {
    margin-block: 60px;
    width: 446px;
  }
}
.sec-top-point_point_case {
  position: relative;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_case {
    padding-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_case {
    padding-block: 60px;
  }
}
.sec-top-point_point_case_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.sec-top-point_point_case_bg img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.sec-top-point_point_case_bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(12, 52, 74, 0.7);
}

.sec-top-point_point_case_ttl {
  position: relative;
  z-index: 1;
  letter-spacing: 0.03em;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1.3;
  padding-inline: 20px;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_case_ttl {
    font-size: calc(24 / var(--em) * 1rem);
    margin-bottom: calc(28px + 1em);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_case_ttl {
    font-size: calc(40 / var(--em) * 1rem);
    margin-bottom: calc(40px + 1em);
  }
}
.sec-top-point_point_case_ttl span {
  position: relative;
  display: block;
}

.sec-top-point_point_case_ttl span::after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: calc(-10px - 1em);
  background-color: #fff;
}

.sec-top-point_point_case_slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-inline: auto;
  position: relative;
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
}

.sec-top-point_point_case_slide_wrap {
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_case_slide_wrap {
    width: 100%;
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-point_point_case_slide_wrap {
    width: 100%;
  }
}
.sec-top-point_point_case_slide_wrap .swiper-button-prev {
  background-image: url(../img/icon-slick-prev.png);
  top: 50%;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_case_slide_wrap .swiper-button-prev {
    left: 0vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_case_slide_wrap .swiper-button-prev {
    left: 0;
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-point_point_case_slide_wrap .swiper-button-prev {
    left: -30px;
  }
}
.sec-top-point_point_case_slide_wrap .swiper-button-next {
  background-image: url(../img/icon-slick-next.png);
  top: 50%;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_case_slide_wrap .swiper-button-next {
    right: -3vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_case_slide_wrap .swiper-button-next {
    right: 0;
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-point_point_case_slide_wrap .swiper-button-next {
    right: -30px;
  }
}
.sec-top-point_point_case_slide_btn-wrap {
  position: absolute;
  width: min(100%, 1130px);
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 100;
  margin: 0 auto;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_case_slide_btn-wrap {
    width: 100%;
  }
}
.sec-top-point_point_case_slide_item {
  width: 370px;
  height: auto;
}

.sec-top-point_point_case_slide_item.swiper-slide {
  opacity: 0.4;
}

.sec-top-point_point_case_slide_item.swiper-slide a {
  pointer-events: none;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_case_slide_item {
    width: 100%;
  }
  .sec-top-point_point_case_slide_item.swiper-slide-active {
    opacity: 1;
  }
  .sec-top-point_point_case_slide_item.swiper-slide-active a {
    pointer-events: all;
  }
  .sec-top-point_point_case_slide_item.swiper-slide-active:hover {
    -webkit-box-shadow: 2px 2px 25px rgba(255, 255, 255, 0.4);
            box-shadow: 2px 2px 25px rgba(255, 255, 255, 0.4);
  }
  .sec-top-point_point_case_slide_item.swiper-slide-active:hover p {
    color: #016B86;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_case_slide_item.swiper-slide-active, .sec-top-point_point_case_slide_item.swiper-slide-prev, .sec-top-point_point_case_slide_item.swiper-slide-next {
    opacity: 1;
  }
  .sec-top-point_point_case_slide_item.swiper-slide-active a, .sec-top-point_point_case_slide_item.swiper-slide-prev a, .sec-top-point_point_case_slide_item.swiper-slide-next a {
    pointer-events: all;
  }
  .sec-top-point_point_case_slide_item.swiper-slide-active:hover, .sec-top-point_point_case_slide_item.swiper-slide-prev:hover, .sec-top-point_point_case_slide_item.swiper-slide-next:hover {
    -webkit-box-shadow: 2px 2px 25px rgba(255, 255, 255, 0.4);
            box-shadow: 2px 2px 25px rgba(255, 255, 255, 0.4);
  }
  .sec-top-point_point_case_slide_item.swiper-slide-active:hover p, .sec-top-point_point_case_slide_item.swiper-slide-prev:hover p, .sec-top-point_point_case_slide_item.swiper-slide-next:hover p {
    color: #016B86;
  }
}
.sec-top-point_point_01 {
  background-color: #f2f2f2;
}

.sec-top-point_point_01::after {
  content: "";
}

.sec-top-point_point_01 .sec-top-point_point_spec_item {
  background-color: #fff;
}

.sec-top-point_point_02 {
  background-color: #fff;
}

.sec-top-point_point_02::after {
  background-image: url(../img/shape-top-triangle-gray.svg);
}

.sec-top-point_point_02 .sec-top-point_point_spec_item {
  background-color: #f9f9f9;
}

.sec-top-point_point_03 {
  background-color: #f2f2f2;
}

.sec-top-point_point_03::after {
  background-image: url(../img/shape-top-triangle-white.svg);
}

.sec-top-point_point_03 .sec-top-point_point_spec_item {
  background-color: #fff;
}

.sec-top-point_point_spec {
  position: relative;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec {
    padding-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_spec {
    padding-block: 80px;
  }
}
.sec-top-point_point_spec::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: -1px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 1;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec::after {
    width: 30vw;
    height: 30vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_spec::after {
    width: 233px;
    height: 80px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec_ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_spec_ttl {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "img small" "img p";
    row-gap: 0.5em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-grid-columns: 114px 2em 1fr;
    grid-template-columns: 114px 1fr;
    -ms-grid-rows: 45px 0.5em 1fr;
    grid-template-rows: 45px 1fr;
    -moz-column-gap: 2em;
    -webkit-column-gap: 2em;
            column-gap: 2em;
  }
}
.sec-top-point_point_spec_ttl picture {
  grid-area: img;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec_ttl img {
    width: 30vw;
    margin-bottom: min(10 / var(--content-width) * 100vw, 10px);
  }
}
.sec-top-point_point_spec_ttl_sup {
  grid-area: small;
  color: #016B86;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec_ttl_sup {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_spec_ttl_sup {
    -ms-flex-item-align: end;
        align-self: flex-end;
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.sec-top-point_point_spec_ttl_txt {
  grid-area: p;
  align-self: flex-start;
}

.sec-top-point_point_spec_ttl_txt strong {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, rgba(23, 196, 211, 0.2)));
  background: linear-gradient(transparent 70%, rgba(23, 196, 211, 0.2) 30%);
  line-height: 1.4;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec_ttl_txt strong {
    font-size: calc(28 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_spec_ttl_txt strong {
    font-size: calc(40 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec_ttl_txt span {
    font-size: calc(22 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_spec_ttl_txt span {
    font-size: calc(36 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_spec_contents {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 10px 1fr 10px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 35px;
  }
}
.sec-top-point_point_spec_contents_wrap {
  position: relative;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec_contents_wrap {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
    -webkit-transform: translatex(-5vw);
            transform: translatex(-5vw);
  }
}
.sec-top-point_point_spec_contents_wrap .swiper-button-prev {
  background-image: url(../img/icon-slick-prev.png);
  left: 1vw;
  top: 50%;
}

.sec-top-point_point_spec_contents_wrap .swiper-button-next {
  background-image: url(../img/icon-slick-next.png);
  right: -5vw;
  top: 50%;
}

.sec-top-point_point_spec_item {
  -webkit-box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.12);
          box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.12);
  border-radius: 10px;
  position: relative;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  color: #1E263F;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec_item {
    height: min(350 / var(--content-width) * 100vw, 350px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_point_spec_item {
    height: 360px;
  }
}
.sec-top-point_point_spec_item:hover {
  -webkit-box-shadow: 3px 4px 25px rgba(0, 0, 0, 0.3);
          box-shadow: 3px 4px 25px rgba(0, 0, 0, 0.3);
  color: #016B86;
}

.sec-top-point_point_spec_item::after {
  content: "";
  position: absolute;
  right: 25px;
  bottom: 22px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/icon-btn-plus.png);
  width: 60px;
  height: 60px;
  pointer-events: none;
}

.sec-top-point_point_spec_item_inner {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: inherit;
  gap: 10px;
}

@media only screen and (max-width: 1024px) {
  .sec-top-point_point_spec_item_inner {
    padding: min(25 / var(--content-width) * 100vw, 25px);
    height: 100%;
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-point_point_spec_item_inner {
    padding: 46px;
    -ms-grid-rows: 100px 165px;
    grid-template-rows: 100px 165px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_point_spec_item_inner {
    gap: 0;
  }
}
.sec-top-point_point_spec_item_txt {
  text-align: center;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.02em;
}

@media only screen and (max-width: 1024px) {
  .sec-top-point_point_spec_item_txt {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .sec-top-point_point_spec_item_txt {
    font-size: calc(22 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 400px) {
  .sec-top-point_point_spec_item_txt {
    font-size: 5vw;
  }
}
@media only screen and (max-width: 1024px) {
  .sec-top-point_point_spec_item_txt small {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .sec-top-point_point_spec_item_txt small {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.sec-top-point_point_spec_item_img {
  margin-inline: auto;
}

@media only screen and (max-width: 400px) {
  .sec-top-point_point_spec_item_img {
    width: 40vw;
    height: 40vw;
    -o-object-fit: contain;
    object-fit: contain;
  }
}
.sec-top-point_subscription_hd {
  position: relative;
  background: -webkit-gradient(linear, left bottom, left top, from(#1d5e7a), to(#016b86));
  background: linear-gradient(360deg, #1d5e7a 0%, #016b86 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_hd {
    height: 5em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_subscription_hd {
    height: 170px;
  }
}
.sec-top-point_subscription_hd::after {
  content: "";
  display: block;
  width: 119px;
  aspect-ratio: 119/57;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/icon-top-subscription.png);
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 50%;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_hd::after {
    width: 64px;
    bottom: -0.8em;
  }
}
.sec-top-point_subscription_hd_inner {
  text-align: center;
  width: 100%;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_hd strong {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_subscription_hd strong {
    font-size: calc(48 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_hd span {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_subscription_hd span {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
.sec-top-point_subscription_body {
  background-color: #fff;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_body {
    padding-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_subscription_body {
    padding-block: 80px;
  }
}
@media only screen and (max-width: 768px) {
  .sec-top-point_subscription_body_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 770px) {
  .sec-top-point_subscription_body_inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 100px 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
  }
}
.sec-top-point_subscription_body_lead {
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 1.2em;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_body_lead {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_subscription_body_lead {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
.sec-top-point_subscription_body_lead strong {
  color: #016B86;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_body_lead strong {
    font-size: calc(22 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_subscription_body_lead strong {
    font-size: calc(40 / var(--em) * 1rem);
  }
}
.sec-top-point_subscription_body_txt {
  margin-bottom: 1.5em;
  line-height: 1.6;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_body_txt {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_subscription_body_txt {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_body_txt strong {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_subscription_body_txt strong {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.sec-top-point_subscription_body_txt strong.green {
  color: #016B86;
}

.sec-top-point_subscription_body_txt p:not(:last-child) {
  margin-bottom: 1em;
}

.sec-top-point_subscription_body_img {
  background-color: #f2f2f2;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_subscription_body_img {
    padding: 2em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_subscription_body_img {
    padding: 48px;
  }
}
@media only screen and (max-width: 768px) {
  .sec-top-point_subscription_body_img img {
    max-width: 100%;
  }
}
@media only screen and (min-width: 770px) {
  .sec-top-point_subscription_body_img img {
    max-width: min(450 / var(--content-width) * 100vw, 450px);
  }
}
.sec-top-point_reliability {
  position: relative;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_reliability {
    margin-top: min(120 / var(--content-width) * 100vw, 120px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_reliability {
    margin-top: 100px;
  }
}
.sec-top-point_reliability_inner {
  background-color: #fff;
  -webkit-box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.12);
          box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.12);
}

@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_inner {
    padding: 4em 1em 2em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_reliability_inner {
    padding: 72px 72px 48px;
  }
}
.sec-top-point_reliability_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #016B86;
  color: #fff;
  font-weight: bold;
  border-radius: 10px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding-inline: 2em;
}

@media only screen and (max-width: 1024px) {
  .sec-top-point_reliability_ttl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 80vw;
    height: 5em;
    gap: 0.4em;
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-point_reliability_ttl {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 80px;
  }
}
.sec-top-point_reliability_ttl::after {
  content: "";
  display: block;
  width: 15px;
  height: 17px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.00011%2013.2832L13.1791%200.828735H0.821126L7.00011%2013.2832Z%22%20fill%3D%22%23016B86%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
}

@media only screen and (max-width: 1024px) {
  .sec-top-point_reliability_ttl strong {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .sec-top-point_reliability_ttl strong {
    font-size: calc(40 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_ttl strong {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.sec-top-point_reliability_ttl span {
  position: relative;
  top: 0.1em;
}

@media only screen and (max-width: 1024px) {
  .sec-top-point_reliability_ttl span {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .sec-top-point_reliability_ttl span {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_ttl span {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.sec-top-point_reliability_txt {
  line-height: 1.7;
}

@media only screen and (max-width: 1024px) {
  .sec-top-point_reliability_txt {
    margin-bottom: 1em;
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-point_reliability_txt {
    font-size: calc(22 / var(--em) * 1rem);
  }
}
.sec-top-point_reliability_txt a {
  color: #016B86;
  text-decoration: underline;
}

.sec-top-point_reliability_txt a:hover {
  text-decoration: none;
}

.sec-top-point_reliability_btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_btns {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
    gap: 16px;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_reliability_btns {
    margin-top: 52px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_btns .btn-round_blue {
    width: 100%;
    height: auto;
    padding: 4vw 0;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_reliability_btns .btn-round_blue {
    width: 550px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_btn strong {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_reliability_btn strong {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_video {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_reliability_video {
    margin-top: 52px;
  }
}
@media only screen and (max-width: 768px) {
  .sec-top-point_reliability_share {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
    gap: 20px 10px;
  }
  .sec-top-point_reliability_share::after {
    content: "";
    width: 40%;
  }
  .sec-top-point_reliability_share li {
    width: 45%;
  }
}
@media only screen and (max-width: 400px) {
  .sec-top-point_reliability_share {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sec-top-point_reliability_share li {
    width: 100%;
    text-align: center;
  }
  .sec-top-point_reliability_share li img {
    width: 70%;
  }
}
@media only screen and (min-width: 770px) {
  .sec-top-point_reliability_share {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 5% 1fr 5% 1fr;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 25px;
    gap: 5%;
  }
}
.sec-top-point_reliability_share_txt {
  background-color: #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1em;
  margin-top: 1em;
  line-height: 1.5;
  text-align: center;
}

.sec-top-point_reliability_share_txt strong {
  font-size: min(18px, 5vw);
  line-height: 1.2;
  word-break: keep-all;
  margin-bottom: 4px;
}

@media only screen and (max-width: 400px) {
  .sec-top-point_reliability_share_txt strong {
    font-size: 16px;
  }
}
.sec-top-point_reliability_share_txt span {
  font-size: min(16px, 2vw);
  line-height: 1.3;
}

@media only screen and (max-width: 400px) {
  .sec-top-point_reliability_share_txt span {
    font-size: 14px;
  }
}
.sec-top-point_reliability_share_notice {
  text-align: right;
  margin-top: 1em;
}

@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_share_notice {
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_reliability_share_notice {
    font-size: calc(15 / var(--em) * 1rem);
  }
}
.sec-top-point_reliability_share_btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 994px) {
  .sec-top-point_reliability_share_btns {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_share_btns {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_reliability_share_btns {
    margin-top: 50px;
    gap: 16px 40px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-point_reliability_share_btn strong {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-point_reliability_share_btn strong {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_summary {
    padding-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary {
    padding-block: 100px;
  }
}
.sec-top-product_summary_ttl {
  color: #fff;
  font-weight: bold;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_ttl {
    margin-bottom: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_ttl {
    margin-bottom: 60px;
  }
}
.sec-top-product_summary_ttl small {
  position: relative;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_ttl small {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_ttl small {
    top: 0.5em;
    font-size: calc(30 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_summary_ttl strong {
    font-size: calc(48 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_ttl strong {
    font-size: calc(96 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_summary_ttl span {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_ttl span {
    font-size: calc(64 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-product_summary_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
}
@media only screen and (max-width: 1024px) {
  .sec-top-product_summary_item + .sec-top-product_summary_item {
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
  }
}
.sec-top-product_summary_item_ttl {
  text-align: center;
  color: #fff;
  background: linear-gradient(265.54deg, #016b86 0%, #1b4563 100%);
  border-radius: 10px 10px 0px 0px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  padding: 1em;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_ttl {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_ttl {
    font-size: calc(29 / var(--em) * 1rem);
  }
}
.sec-top-product_summary_item_main {
  background-color: #fff;
  border-radius: 0px 0px 10px 10px;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_main {
    padding: 2em 1em 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_main {
    padding: 28px 25px;
    display: -ms-grid;
    display: grid;
        grid-template-areas: "img plan" "img price" "more more";
    -ms-grid-columns: 171px 60px 1fr;
    grid-template-columns: 171px 1fr;
    -moz-column-gap: 60px;
    -webkit-column-gap: 60px;
            column-gap: 60px;
  }
  .sec-top-product_summary_item_main > picture {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
}
.sec-top-product_summary_item_img {
  grid-area: img;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_img {
    width: 50vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_img {
    height: 234px;
  }
}
.sec-top-product_summary_item_plan {
  grid-area: plan;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_plan {
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
    width: 100%;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_plan {
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
  }
}
.sec-top-product_summary_item_plan img {
  display: block;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_plan img {
    width: 25vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_plan img {
    width: 136px;
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_plan span {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_plan span {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_plan strong {
    font-size: calc(28 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_plan strong {
    font-size: calc(34 / var(--em) * 1rem);
  }
}
.sec-top-product_summary_item_price {
  grid-area: price;
  -ms-grid-row-align: start;
      align-self: start;
  font-weight: bold;
  margin-top: 1em;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_price {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_price {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.sec-top-product_summary_item_price span {
  color: #016B86;
  font-weight: 500;
}

.sec-top-product_summary_item_price strong {
  font-weight: 900;
  background: -webkit-gradient(linear, left bottom, left top, from(#17475b), to(#016b86));
  background: linear-gradient(360deg, #17475b 0%, #016b86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  display: inline-block;
  margin-top: 0.1em;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_price strong {
    font-size: calc(36 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_price strong {
    font-size: calc(48 / var(--em) * 1rem);
  }
}
.sec-top-product_summary_item_price small {
  font-weight: 500;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_price small {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_price small {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.sec-top-product_summary_item_more {
  grid-area: more;
}
@media only screen and (min-width: 641px){
  .sec-top-point_point_spec_ttl picture {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .sec-top-point_point_spec_ttl_sup {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .sec-top-point_point_spec_ttl_txt {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .sec-top-product_summary_item_img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .sec-top-product_summary_item_main > .sec-top-product_summary_item_img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .sec-top-product_summary_item_plan {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .sec-top-product_summary_item_price {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .sec-top-product_summary_item_more {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_more {
    margin: min(30 / var(--content-width) * 100vw, 30px);
    width: 100%;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_more {
    margin-top: 25px;
  }
}
.sec-top-product_summary_item_more .btn-round_silver {
  width: 100%;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_summary_item_more .btn-round_silver {
    height: 3.2em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_summary_item_more .btn-round_silver {
    height: 80px;
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.sec-top-product_detail {
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .sec-top-product_detail {
    padding-block: 0 min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail {
    padding-block: 0 80px;
  }
}

.sec-top-product_detail_plan_basic {
  --plan-color: #46AAD4;
  --plan-color-invert: #fff;
  --object-pos: 50% 70%;
  --btn-icon: url("../img/icon-arrow-green.png");
}

.sec-top-product_detail_plan_light {
  --plan-color: #BCF1E4;
  --plan-color-invert: #1E263F;
  --object-pos: 50% 30%;
  --btn-icon: url("../img/icon-arrow-green_bk.png");
}

.sec-top-product_detail_plan_ttl {
  background-color: var(--plan-color);
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_ttl {
    height: 25vw;
    overflow: hidden;
    position: relative;
    z-index: 0;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_ttl {
    height: 175px;
  }
}
.sec-top-product_detail_plan_ttl_inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.sec-top-product_detail_plan_ttl_txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--plan-color-invert);
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_ttl_txt {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_ttl_txt {
    font-size: calc(30 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_ttl_txt img {
    width: 22vw;
    margin-right: min(16 / var(--content-width) * 100vw, 16px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_ttl_txt img {
    width: 188px;
    margin-right: 20px;
  }
}
.sec-top-product_detail_plan_ttl_img {
  width: 464px;
  height: 175px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: var(--object-pos);
  object-position: var(--object-pos);
  opacity: 0.2;
  position: absolute;
  right: 0;
}

@media only screen and (max-width: 768px) {
  .sec-top-product_detail_plan_ttl_img {
    width: 30vw;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_ttl_img {
    width: 25vw;
  }
}
@media only screen and (max-width: 1024px) {
  .sec-top-product_detail_plan_detail_wrap {
    display: -ms-grid;
    display: grid;
    position: relative;
    z-index: 1;
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-product_detail_plan_detail_wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 740px 40px 1fr;
    grid-template-columns: 740px 1fr;
    gap: 0 40px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 20px;
  }
}
.sec-top-product_detail_plan_detail_item dl {
  display: -ms-grid;
  display: grid;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item dl {
    -ms-grid-columns: 6em 1fr;
    grid-template-columns: 6em 1fr;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item dl {
    -ms-grid-columns: 140px 1fr;
    grid-template-columns: 140px 1fr;
  }
}
.sec-top-product_detail_plan_detail_item dt,
.sec-top-product_detail_plan_detail_item dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item dt,
  .sec-top-product_detail_plan_detail_item dd {
    padding: 2em 1em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item dt,
  .sec-top-product_detail_plan_detail_item dd {
    padding: 2em;
  }
}
.sec-top-product_detail_plan_detail_item dt {
  border-bottom: 3px solid var(--plan-color);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item dt {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item dt {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_detail_item dd {
  border-bottom: 1px solid #8e8e8e;
  line-height: 1.2;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item_price {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item_price {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_detail_item_price strong {
  color: #016B86;
  display: inline-block;
  margin-inline: 0.1em;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item_price strong {
    font-size: calc(28 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item_price strong {
    font-size: calc(36 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item_price small {
    font-size: calc(10 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item_price small {
    font-size: calc(15 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_detail_item_body .list-dot {
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item_body .list-dot {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item_body .list-dot {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_detail_item_period {
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item_period {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item_period {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_detail_item_period strong {
  color: #016B86;
  display: inline-block;
  margin-inline: 0.1em;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item_period strong {
    font-size: calc(28 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item_period strong {
    font-size: calc(36 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_detail_item_support_list {
  display: -ms-grid;
  display: grid;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item_support_list {
    row-gap: 2em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item_support_list {
    -ms-grid-columns: (minmax(145px, 1fr))[3];
    grid-template-columns: repeat(3, minmax(145px, 1fr));
  }
}
.sec-top-product_detail_plan_detail_item_support_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item_support_item span {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item_support_item span {
    font-size: calc(15 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_detail_item_support_item small {
    font-size: calc(10 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_detail_item_support_item small {
    font-size: calc(12 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_img_wrap {
  position: relative;
}
@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_img_wrap {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

@media only screen and (max-width: 1024px) {
  .sec-top-product_detail_plan_img_wrap {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
    margin-inline: auto;
    width: 60vw;
  }
}
.sec-top-product_detail_plan_copy {
  background-color: var(--plan-color);
  color: var(--plan-color-invert);
  font-weight: bold;
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  position: absolute;
  bottom: 0;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_copy {
    font-size: calc(16 / var(--em) * 1rem);
    width: 7em;
    height: 7em;
    border-radius: 3.5em;
    right: -15vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_copy {
    width: 160px;
    height: 160px;
    border-radius: 80px;
    font-size: calc(20 / var(--em) * 1rem);
    right: 0;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_video {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_video {
    margin-top: 45px;
  }
}
.sec-top-product_detail_plan_btn {
  background-color: var(--plan-color);
  color: var(--plan-color-invert);
  margin-inline: auto;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_btn {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
    margin-bottom: min(60 / var(--content-width) * 100vw, 60px);
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_btn {
    margin-top: 32px;
    margin-bottom: 70px;
    font-size: calc(20 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_btn::after {
  background-image: var(--btn-icon);
}

.sec-top-product_detail_plan_btn:hover {
  background-color: var(--plan-color);
  opacity: 0.8;
}

.sec-top-product_detail_plan_function {
  background-color: #f2f2f2;
  border-radius: 10px;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_function {
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
    padding: 2em 1em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_function {
    margin-top: 46px;
    padding: 56px 40px;
  }
}
.sec-top-product_detail_plan_function_hd {
  display: block;
  text-align: center;
  margin-bottom: 1em;
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_function_hd {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_function_hd {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_function_txt {
  text-align: center;
  line-height: 1.8;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_function_txt {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_function_txt {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_function_content {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}

@media only screen and (max-width: 768px) {
  .sec-top-product_detail_plan_function_content {
    margin-top: min(80 / var(--content-width) * 100vw, 80px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_function_content {
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
  }
}
.sec-top-product_detail_plan_function_box {
  width: 40%;
}

@media only screen and (max-width: 768px) {
  .sec-top-product_detail_plan_function_box {
    width: 100%;
  }
}
.sec-top-product_detail_plan_function_box_ttl {
  border-radius: 10px 10px 0 0;
  font-weight: 500;
  background-color: #016B86;
  color: #fff;
  height: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_function_box_ttl {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_detail_plan_function_box_ttl {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.sec-top-product_detail_plan_function_box_body {
  padding: 1em;
  border-radius: 0 0 10px 10px;
  background-color: #fff;
}

.sec-top-product_detail_plan_function_box_list {
  line-height: 1.5;
}

.sec-top-product_detail_plan_function_img-wrap {
  width: 60%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 768px) {
  .sec-top-product_detail_plan_function_img-wrap {
    width: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_function_img-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(20 / var(--content-width) * 100vw, 20px);
  }
}
.sec-top-product_detail_plan_function_img {
  border-radius: 10px;
  width: calc(50% - 12px);
  height: 189px;
  -o-object-fit: cover;
  object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_detail_plan_function_img {
    width: 100%;
    height: 50vw;
  }
}
.sec-top-product_detail_plan_detail_list.one-column {
  grid-column: 1/-1;
}

.sec-top-product_option {
  background-image: url(../img/bg-top-option.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #f2f2f2;
  position: relative;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_option {
    padding-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_option {
    padding-block: 100px;
  }
}
.sec-top-product_option::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/icon-arrow-down.png);
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_option::after {
    width: 30vw;
    height: 30vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_option::after {
    width: 282px;
    height: 219px;
  }
}
.sec-top-product_option_ttl {
  position: relative;
  z-index: 1;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .sec-top-product_option_ttl {
    font-size: calc(20 / var(--em) * 1rem);
    line-height: 2;
    margin-bottom: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-product_option_ttl {
    font-size: calc(42 / var(--em) * 1rem);
  }
}
.sec-top-product_option_ttl strong {
  position: relative;
  color: #016B86;
}

@media only screen and (max-width: 1024px) {
  .sec-top-product_option_ttl strong {
    font-size: calc(36 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .sec-top-product_option_ttl strong {
    font-size: calc(56 / var(--em) * 1rem);
  }
}
.sec-top-product_option_ttl strong::after {
  content: "";
  display: block;
  background-color: #016B86;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
}

@media only screen and (max-width: 1024px) {
  .sec-top-product_option_ttl strong::after {
    width: 6px;
    height: 6px;
    border-radius: 3px;
  }
}
@media only screen and (min-width: 1026px) {
  .sec-top-product_option_ttl strong::after {
    width: 10px;
    height: 10px;
    border-radius: 5px;
  }
}
.sec-top-product_option_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_option_content {
    gap: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_option_content {
    gap: 30px;
    margin-top: 70px;
  }
}
.sec-top-product_option_item {
  overflow: hidden;
  background-color: #fff;
  border-radius: 10px;
}

.sec-top-product_option_item_ttl {
  background-color: #016B86;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1em;
  height: 3.4em;
  line-height: 1.5;
}

@media only screen and (max-width: 768px) {
  .sec-top-product_option_item_ttl {
    font-size: calc(16 / var(--em) * 1rem);
    text-align: center;
    height: auto;
  }
}
@media only screen and (min-width: 769px) {
  .sec-top-product_option_item_ttl {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 768px) {
  .sec-top-product_option_item_content {
    padding: 2em 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 770px) {
  .sec-top-product_option_item_content {
    padding: 32px 48px;
    display: -ms-grid;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-grid-columns: 1fr 50px 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
  }
}
.sec-top-product_option_item_link {
  display: inline-block;
  margin: 16px 0 12px;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_option_item_link {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_option_item_link {
    font-size: calc(15 / var(--em) * 1rem);
  }
}
.sec-top-product_option_item_txt {
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_option_item_txt {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_option_item_txt {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.sec-top-product_option_item_txt strong {
  display: inline-block;
  margin-bottom: 0.5em;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_option_item_txt strong {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_option_item_txt strong {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.sec-top-product_option_item_txt .list-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1em;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_option_item_txt .list-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(30 / var(--content-width) * 100vw, 30px);
  }
}
.sec-top-product_option_item_txt .list-ast {
  color: #777777;
  margin-top: 1em;
  line-height: 1.4;
}

@media only screen and (max-width: 640px) {
  .sec-top-product_option_item_txt .list-ast {
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-product_option_item_txt .list-ast {
    font-size: calc(13 / var(--em) * 1rem);
  }
}
.sec-top-product_option_item_txt a {
  color: #016B86;
  text-decoration: underline;
}

.sec-top-product_option_item_txt a:hover {
  text-decoration: none;
}

.sec-top-product_option_logo {
  width: 112px;
}

.sec-top-flow {
  background-color: transparent;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow {
    padding-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow {
    padding-block: 122px 100px;
  }
}
.sec-top-flow_inner {
  background-color: #fff;
  -webkit-box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.2);
          box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_inner {
    padding: min(50 / var(--content-width) * 100vw, 50px) 1em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_inner {
    padding: 60px 72px;
  }
}
.sec-top-flow_ttl {
  margin-bottom: 1em;
}

.sec-top-flow_ttl small {
  font-weight: 500;
}

.sec-top-flow_lead {
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_lead {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_lead {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.sec-top-flow_lead_strong {
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_lead_strong {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_lead_strong {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
.sec-top-flow_img_wrap {
  position: relative;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_img_wrap {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_img_wrap {
    margin-top: 40px;
  }
}
.sec-top-flow_img_anchor {
  position: absolute;
  display: inline-block;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.sec-top-flow_img_anchor:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_img_anchor {
    top: 15vw;
    left: 30vw;
    width: 38vw;
    height: 6vw;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_img_anchor {
    top: min(113 / var(--content-width) * 100vw, 113px);
    left: min(264 / var(--content-width) * 100vw, 264px);
    width: 13em;
    height: 1.5em;
  }
}
.sec-top-flow_notice {
  line-height: 1.7;
  color: #777777;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_notice {
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_notice {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.sec-top-flow_howtopay {
  background-color: #f2f2f2;
  border-radius: 10px;
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_howtopay {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
    padding: min(40 / var(--content-width) * 100vw, 40px) 1em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_howtopay {
    margin-top: 40px;
    padding: 56px;
  }
}
.sec-top-flow_howtopay_ttl {
  font-weight: bold;
  text-align: center;
  color: #016B86;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_howtopay_ttl {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_howtopay_ttl {
    font-size: calc(28 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 768px) {
  .sec-top-flow_howtopay_content {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-flow_howtopay_content {
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 770px) {
  .sec-top-flow_howtopay_content {
    margin-top: 50px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 40px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
.sec-top-flow_howtopay_content_txt {
  line-height: 1.8;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_howtopay_content_txt {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_howtopay_content_txt {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-flow_howtopay_content_table {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_howtopay_content_table {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 768px) {
  .sec-top-flow_howtopay_content_table {
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
  }
}
.sec-top-flow_howtopay_content_table_hd {
  border-radius: 10px 10px 0 0;
  color: #fff;
  background-color: #016B86;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 3em;
  padding: 0.5em;
}

.sec-top-flow_howtopay_content_table_body {
  border-radius: 0 0 10px 10px;
  border: 1px solid #016B86;
  background-color: #fff;
  padding: 1.5em;
}

.sec-top-flow_howtopay_content_table_body dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.5em;
}

.sec-top-flow_howtopay_content_table_body dl dt {
  width: 6em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.sec-top-flow_howtopay_content_table_body dl dd {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_howtopay_notice {
    margin-top: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_howtopay_notice {
    margin-top: 30px;
  }
}
.sec-top-flow_howtopay_notice_ttl {
  display: block;
  color: #016B86;
  margin-bottom: 1em;
}

@media only screen and (max-width: 640px) {
  .sec-top-flow_howtopay_notice_ttl {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_howtopay_notice_ttl {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-flow_howtopay_notice_list {
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-flow_howtopay_notice_list {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
.sec-top-faq {
  background-color: #fff;
}

@media only screen and (max-width: 640px) {
  .sec-top-faq {
    padding-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-faq {
    padding-block: 100px;
  }
}
.sec-top-faq_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media only screen and (max-width: 640px) {
  .sec-top-faq_list {
    margin-top: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-faq_list {
    margin-top: 40px;
  }
}
.sec-top-faq_item {
  line-height: 1.7;
  border-bottom: 1px solid #8e8e8e;
}

@media only screen and (max-width: 640px) {
  .sec-top-faq_item {
    padding-block: 1em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-faq_item {
    padding: 16px 20px 16px;
  }
}
.sec-top-faq_item:not(.is-open) {
  padding-bottom: 0;
}

.sec-top-faq_item:not(.is-open) dt::after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.sec-top-faq_item:not(.is-open) [class$=_a] {
  height: 0;
  padding-block: 0;
}

.sec-top-faq_item.is-open [class$=_a] {
  height: auto;
}

.sec-top-faq_item_q {
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

@media only screen and (max-width: 640px) {
  .sec-top-faq_item_q {
    font-size: calc(15 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-faq_item_q {
    padding-block: 20px;
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.sec-top-faq_item_q:hover {
  color: #016B86;
}

.sec-top-faq_item_q::before, .sec-top-faq_item_q::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}

.sec-top-faq_item_q::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2250%22%20height%3D%2251%22%20viewBox%3D%220%200%2050%2051%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20y%3D%220.857422%22%20width%3D%2250%22%20height%3D%2250%22%20rx%3D%2210%22%20fill%3D%22%23016B86%22%2F%3E%3Cpath%20d%3D%22M24.74%2035.1934C20.012%2035.1934%2016.796%2031.6894%2016.796%2025.9054C16.796%2020.1214%2020.012%2016.7854%2024.74%2016.7854C29.444%2016.7854%2032.66%2020.1454%2032.66%2025.9054C32.66%2031.6894%2029.444%2035.1934%2024.74%2035.1934ZM24.74%2032.2894C27.38%2032.2894%2029.06%2029.9134%2029.06%2025.9054C29.06%2022.1134%2027.38%2019.8334%2024.74%2019.8334C22.076%2019.8334%2020.42%2022.1134%2020.42%2025.9054C20.42%2029.9134%2022.076%2032.2894%2024.74%2032.2894ZM30.476%2039.6814C26.708%2039.6814%2024.116%2037.5934%2022.988%2034.7614L26.588%2034.4014C27.26%2036.1294%2029.084%2036.8494%2030.86%2036.8494C31.652%2036.8494%2032.3%2036.7294%2032.828%2036.5374L33.476%2039.1534C32.828%2039.4654%2031.772%2039.6814%2030.476%2039.6814Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
}

@media only screen and (max-width: 640px) {
  .sec-top-faq_item_q::before {
    width: 25px;
    height: 25px;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-faq_item_q::before {
    width: 50px;
    height: 50px;
  }
}
.sec-top-faq_item_q::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2230%22%20height%3D%2231%22%20viewBox%3D%220%200%2030%2031%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.2338%2014.4369L1.8749%200.953125L0.467285%202.3739L13.8262%2015.8577L0.467285%2029.3415L1.8749%2030.7622L15.2338%2017.2785L28.5923%2030.7618L29.9999%2029.341L16.6414%2015.8577L29.9999%202.37432L28.5923%200.953544L15.2338%2014.4369Z%22%20fill%3D%22%23016B86%22%2F%3E%3C%2Fsvg%3E");
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  position: relative;
}

@media only screen and (max-width: 640px) {
  .sec-top-faq_item_q::after {
    top: 8px;
    width: 15px;
    height: 15px;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-faq_item_q::after {
    top: 10px;
    width: 30px;
    height: 30px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-top-faq_item_q p {
    padding-inline: 0.5em;
    padding-bottom: 1em;
    width: calc(100% - 50px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-faq_item_q p {
    padding-top: 7px;
    padding-left: 0.5em;
    width: calc(100% - 80px);
  }
}
.sec-top-faq_item_a {
  background-color: #f2f2f2;
  letter-spacing: 0.02em;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

@media only screen and (max-width: 640px) {
  .sec-top-faq_item_a {
    font-size: calc(14 / var(--em) * 1rem);
    padding: 1em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-top-faq_item_a {
    padding: 16px 20px;
  }
}
.sec-top-faq_item_a a {
  color: #016B86;
  text-decoration: underline;
}

.bg-top-case::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(12, 52, 74, 0.7);
}

.sec-top-point_point_case,
.sec-plan-case {
  pointer-events: all;
}

.plan-basic_news {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 640px) {
  .plan-basic_news {
    margin-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .plan-basic_news {
    margin-block: 0 60px;
  }
}
.plan-basic_news a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  border: 1px solid #D9D9D9;
  border-radius: 10px;
  color: #016b86;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .plan-basic_news a {
    padding: 1em;
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .plan-basic_news a {
    padding: 27.5px;
    font-size: calc(18 / var(--em) * 1rem);
  }
}

.sec-plan-function {
  background-color: #fff;
}

@media only screen and (max-width: 640px) {
  .sec-plan-function {
    padding-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-plan-function {
    padding-block: 100px 0;
  }
}
.sec-plan-function_ttl {
  --font-color-hd: var(--plan-color) ;
}

@media only screen and (max-width: 1024px) {
  .sec-plan-function_list + .sec-plan-function_list {
    margin-top: 10px;
  }
}
@media only screen and (min-width: 1025px) {
  .sec-plan-function_list + .sec-plan-function_list {
    margin-top: 55px;
  }
}
@media only screen and (max-width: 1024px) {
  .sec-plan-function_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media only screen and (min-width: 1025px) {
  .sec-plan-function_list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 25px 1fr 25px 1fr 25px 1fr 25px 1fr;
    grid-template-columns: repeat(5, 1fr);
    gap: 55px 25px;
  }
}
.sec-plan-function_list a {
  display: block;
  position: relative;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

@media only screen and (min-width: 641px) {
  .sec-plan-function_list a:hover {
    opacity: 0.7;
  }
}
.sec-plan-function_list a::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/product-function-icon-plus.png);
  position: absolute;
}

@media only screen and (max-width: 1280px) {
  .sec-plan-function_list a::after {
    width: 20px;
    height: 20px;
    right: 20px;
    bottom: 50px;
  }
}
@media only screen and (min-width: 1281px) {
  .sec-plan-function_list a::after {
    width: 30px;
    height: 30px;
    right: 40px;
    bottom: 70px;
  }
}
.sec-plan-function_list li:has(a) {
  -ms-flex-item-align: self-end;
      -ms-grid-row-align: self-end;
      align-self: self-end;
}

.sec-plan-function_list li:not(:has(a)) {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

@media only screen and (max-width: 1024px) {
  .sec-plan-function_list li {
    width: 150px;
  }
}
.sec-plan-function_list_wrap {
  position: relative;
  background-color: #f2f2f2;
  border-radius: 10px;
  overflow: hidden;
}

@media only screen and (max-width: 1024px) {
  .sec-plan-function_list_wrap {
    margin-top: min(30 / var(--content-width) * 100vw, 30px);
    overflow-x: auto;
    padding: 60px min(20 / var(--content-width) * 100vw, 20px) 40px;
  }
}
@media only screen and (min-width: 1025px) {
  .sec-plan-function_list_wrap {
    margin-top: 40px;
    padding: 100px 40px;
  }
}
.sec-plan-function_list_ttl {
  color: #fff;
  background-color: #016b86;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
  padding: 0.5em 1em;
}

@media only screen and (max-width: 640px) {
  .sec-plan-function_list_ttl {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-plan-function_list_ttl {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.sec-plan-function_list_hd {
  font-weight: bold;
  color: #016b86;
  border: 2px solid #016b86;
  width: 100%;
  height: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1em;
}

@media only screen and (max-width: 640px) {
  .sec-plan-function_list_hd {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-plan-function_list_hd {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
/* modal-function */
.modal-function .modal_header_hd {
  color: #1e263f;
}

@media only screen and (min-width: 641px) {
  .modal-function .modal_body {
    width: 90vw;
    max-width: 1280px;
  }
}
@media only screen and (min-width: 641px) {
  .modal-function .modal_main {
    max-height: calc(100dvh - 250px);
  }
}
.modal-function .modal-function_table {
  border-top: 1px solid #d9d9d9;
  border-left: 1px solid #d9d9d9;
}

@media only screen and (max-width: 640px) {
  .modal-function .modal-function_table {
    -ms-grid-columns: 40% 60%;
    grid-template-columns: 40% 60%;
  }
}
@media only screen and (min-width: 641px) {
  .modal-function .modal-function_table {
    -ms-grid-columns: 15% 35% 15% 35%;
    grid-template-columns: 15% 35% 15% 35%;
  }
}
.modal-function .modal-function_table td, .modal-function .modal-function_table th {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5em;
  line-height: 1.5;
  border-right: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
}

@media only screen and (max-width: 640px) {
  .modal-function .modal-function_table td, .modal-function .modal-function_table th {
    font-size: calc(12 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .modal-function .modal-function_table td, .modal-function .modal-function_table th {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
.modal-function .modal-function_table th {
  text-align: left;
  background-color: #f2f2f2;
}

/* sec-clinic-feature */
.sec-clinic-feature {
  background-color: #fff;
}

.sec-clinic-feature_lead {
  position: relative;
  text-align: center;
  background-color: #016B86;
  color: #fff;
  font-weight: bold;
  line-height: 1.5;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_lead {
    padding-block: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_lead {
    padding-block: 40px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-clinic-feature_lead span {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_lead span {
    font-size: calc(42 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 640px) {
  .sec-clinic-feature_lead strong {
    font-size: calc(27 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_lead strong {
    font-size: calc(56 / var(--em) * 1rem);
  }
}
.sec-clinic-feature_lead::after {
  content: "";
  position: absolute;
  left: 50%;
  translate: -50% 90%;
  bottom: 0;
  display: block;
  background: #016B86;
  height: 31.7542648054px;
  width: 110px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

@media only screen and (min-width: 769px) {
  .sec-clinic-feature_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
  }
  .sec-clinic-feature_item.is-invert {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 768px) {
  .sec-clinic-feature_item:not(:first-child) {
    margin-top: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 769px) {
  .sec-clinic-feature_item:not(:first-child) {
    margin-top: 64px;
  }
}
.sec-clinic-feature_item_hd {
  display: block;
  line-height: 1.4;
  color: #016B86;
  font-weight: bold;
  padding-left: 1em;
  position: relative;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_item_hd {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_item_hd {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
.sec-clinic-feature_item_hd::before {
  content: "";
  height: 100%;
  width: 5px;
  background-color: #016B86;
  position: absolute;
  top: 0;
  left: 0;
}

.sec-clinic-feature_item_content {
  width: 100%;
}

.sec-clinic-feature_item_txt {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-top: 1.5em;
  line-height: 1.8;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_item_txt {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_item_txt {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (max-width: 768px) {
  .sec-clinic-feature_item_img {
    margin-top: 1em;
    margin-inline: auto;
  }
}
@media only screen and (min-width: 769px) {
  .sec-clinic-feature_item_img {
    width: 100%;
    max-width: 480px;
    height: auto;
  }
}
.sec-clinic-feature_recept {
  background-color: #fff;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept {
    padding-block: min(60 / var(--content-width) * 100vw, 60px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept {
    padding-block: 100px;
  }
}
.sec-clinic-feature_recept_ttl {
  background-color: #016B86;
  color: #fff;
  border-radius: 10px 10px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 3em;
  padding: 1em;
  line-height: 1.5;
  text-align: center;
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_ttl {
    font-size: calc(20 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_ttl {
    font-size: calc(32 / var(--em) * 1rem);
  }
}
.sec-clinic-feature_recept_main {
  border-radius: 0 0 10px 10px;
  border: #016B86 1px solid;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_main {
    padding: 1em;
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_main {
    padding: 40px 48px;
  }
}
@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_flow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(80 / var(--content-width) * 100vw, 80px);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_flow {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 70px 1fr 70px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 70px;
  }
}
.sec-clinic-feature_recept_flow li {
  position: relative;
}

.sec-clinic-feature_recept_flow li span {
  position: absolute;
  background-color: #016B86;
  color: #fff;
  display: inline-block;
  left: 0;
  top: 0;
  padding: 0.7em 1em;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_flow li span {
    font-size: calc(18 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_flow li span {
    font-size: calc(24 / var(--em) * 1rem);
  }
}
.sec-clinic-feature_recept_flow li p {
  margin-top: 1em;
  line-height: 1.8;
  font-weight: 500;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_flow li p {
    font-size: calc(13 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_flow li p {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
.sec-clinic-feature_recept_flow li:not(:last-child)::after {
  content: "";
  position: absolute;
  display: block;
  background: #016B86;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_flow li:not(:last-child)::after {
    left: 50%;
    bottom: 0;
    translate: -50% 150%;
    height: 30px;
    width: 60px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_flow li:not(:last-child)::after {
    right: -35px;
    top: 50%;
    translate: 50% -50%;
    height: 60px;
    width: 30px;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_settlement {
    margin-top: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    width: min(465px, 100%);
  }
}
@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_settlement > img {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    width: 20vw;
    display: block;
    margin: min(40 / var(--content-width) * 100vw, 40px) auto;
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_settlement > img {
    width: 120px;
  }
}
.sec-clinic-feature_recept_settlement_main {
  display: -ms-grid;
  display: grid;
  gap: 20px;
  place-items: center;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_settlement_main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_settlement_main img {
    width: min(310px, 100%);
  }
}
.sec-clinic-feature_recept_settlement_main p {
  text-align: center;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_settlement_main p {
    font-size: calc(13 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_settlement_main p {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
.sec-clinic-feature_recept_txt {
  line-height: 1.8;
  margin-top: 2.5em;
}

@media only screen and (max-width: 640px) {
  .sec-clinic-feature_recept_txt {
    font-size: calc(14 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_txt {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
@media only screen and (min-width: 641px) {
  .sec-clinic-feature_recept_txt {
    text-align: center;
  }
}
/* follow btn */
.follow-contact_btn {
  position: fixed;
  right: 0;
  z-index: 999;
}
@media only screen and (max-width: 640px) {
  .follow-contact_btn {
    bottom: 10px;
  }
}
@media only screen and (min-width: 641px) {
  .follow-contact_btn {
    bottom: 30px;
  }
}
.follow-contact_btn a {
  display: block;
  background: -webkit-gradient(linear, left top, right top, color-stop(34.6%, #FFB124), to(#FFC153));
  background: linear-gradient(90deg, #FFB124 34.6%, #FFC153 100%);
  border-radius: 10px 0 0 10px;
  color: #fff;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .follow-contact_btn a {
    padding: 10px;
    font-size: calc(10 / var(--em) * 1rem);
    line-height: 1.3;
    text-align: center;
  }
}
@media only screen and (min-width: 641px) {
  .follow-contact_btn a {
    padding: 20px 50px;
    font-size: calc(18 / var(--em) * 1rem);
  }
}