@charset "UTF-8";
/*-----------------
variables
-----------------*/
:root {
  --color-base:#ffffff;
  --color-main:#0086BF;
  --color-accent:#ED9022;
  --color-accent2:#007EB3;
  --color-gray:#F4F6F8;
  --color-text:#49565E;
}
:root .nega {
  --color-base:#0086BF;
  --color-main:#ffffff;
}

/*-----------------
reset
-----------------*/
p, div, ul, li, dl, dt, dd, table, tr, th, td {
  padding: 0;
  margin: 0;
  margin-top: 0;
  margin-bottom: 0;
}

/*-----------------
common
-----------------*/
#LP article {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
#LP article h1, #LP article h2, #LP article h3, #LP article h4, #LP article h5, #LP article h6, #LP article dt, #LP article div, #LP article p {
  font-size: 16px;
  font-weight: 500;
  margin-top: 0;
  margin-bottom: 0;
}
#LP article h1.h1, #LP article h1.h2, #LP article h1.h3, #LP article h1.h4, #LP article h1.h5, #LP article h1.h6, #LP article h2.h1, #LP article h2.h2, #LP article h2.h3, #LP article h2.h4, #LP article h2.h5, #LP article h2.h6, #LP article h3.h1, #LP article h3.h2, #LP article h3.h3, #LP article h3.h4, #LP article h3.h5, #LP article h3.h6, #LP article h4.h1, #LP article h4.h2, #LP article h4.h3, #LP article h4.h4, #LP article h4.h5, #LP article h4.h6, #LP article h5.h1, #LP article h5.h2, #LP article h5.h3, #LP article h5.h4, #LP article h5.h5, #LP article h5.h6, #LP article h6.h1, #LP article h6.h2, #LP article h6.h3, #LP article h6.h4, #LP article h6.h5, #LP article h6.h6, #LP article dt.h1, #LP article dt.h2, #LP article dt.h3, #LP article dt.h4, #LP article dt.h5, #LP article dt.h6, #LP article div.h1, #LP article div.h2, #LP article div.h3, #LP article div.h4, #LP article div.h5, #LP article div.h6, #LP article p.h1, #LP article p.h2, #LP article p.h3, #LP article p.h4, #LP article p.h5, #LP article p.h6 {
  line-height: 1.5;
}
#LP article h1.h1, #LP article h1 .h1, #LP article h2.h1, #LP article h2 .h1, #LP article h3.h1, #LP article h3 .h1, #LP article h4.h1, #LP article h4 .h1, #LP article h5.h1, #LP article h5 .h1, #LP article h6.h1, #LP article h6 .h1, #LP article dt.h1, #LP article dt .h1, #LP article div.h1, #LP article div .h1, #LP article p.h1, #LP article p .h1 {
  font-size: 32px;
}
#LP article h1.h2, #LP article h1 .h2, #LP article h2.h2, #LP article h2 .h2, #LP article h3.h2, #LP article h3 .h2, #LP article h4.h2, #LP article h4 .h2, #LP article h5.h2, #LP article h5 .h2, #LP article h6.h2, #LP article h6 .h2, #LP article dt.h2, #LP article dt .h2, #LP article div.h2, #LP article div .h2, #LP article p.h2, #LP article p .h2 {
  font-size: 24px;
}
#LP article h1.h3, #LP article h1 .h3, #LP article h2.h3, #LP article h2 .h3, #LP article h3.h3, #LP article h3 .h3, #LP article h4.h3, #LP article h4 .h3, #LP article h5.h3, #LP article h5 .h3, #LP article h6.h3, #LP article h6 .h3, #LP article dt.h3, #LP article dt .h3, #LP article div.h3, #LP article div .h3, #LP article p.h3, #LP article p .h3 {
  font-size: 20px;
}
#LP article h1.h4, #LP article h1 .h4, #LP article h2.h4, #LP article h2 .h4, #LP article h3.h4, #LP article h3 .h4, #LP article h4.h4, #LP article h4 .h4, #LP article h5.h4, #LP article h5 .h4, #LP article h6.h4, #LP article h6 .h4, #LP article dt.h4, #LP article dt .h4, #LP article div.h4, #LP article div .h4, #LP article p.h4, #LP article p .h4 {
  font-size: 18px;
}
#LP article h1.h5, #LP article h1 .h5, #LP article h2.h5, #LP article h2 .h5, #LP article h3.h5, #LP article h3 .h5, #LP article h4.h5, #LP article h4 .h5, #LP article h5.h5, #LP article h5 .h5, #LP article h6.h5, #LP article h6 .h5, #LP article dt.h5, #LP article dt .h5, #LP article div.h5, #LP article div .h5, #LP article p.h5, #LP article p .h5 {
  font-size: 16px;
}
#LP article h1.h5.oneup, #LP article h1 .h5.oneup, #LP article h2.h5.oneup, #LP article h2 .h5.oneup, #LP article h3.h5.oneup, #LP article h3 .h5.oneup, #LP article h4.h5.oneup, #LP article h4 .h5.oneup, #LP article h5.h5.oneup, #LP article h5 .h5.oneup, #LP article h6.h5.oneup, #LP article h6 .h5.oneup, #LP article dt.h5.oneup, #LP article dt .h5.oneup, #LP article div.h5.oneup, #LP article div .h5.oneup, #LP article p.h5.oneup, #LP article p .h5.oneup {
  font-size: 18px;
}
#LP article h1.hight-light, #LP article h2.hight-light, #LP article h3.hight-light, #LP article h4.hight-light, #LP article h5.hight-light, #LP article h6.hight-light, #LP article dt.hight-light, #LP article div.hight-light, #LP article p.hight-light {
  color: #003162;
}
#LP article h1.bold, #LP article h2.bold, #LP article h3.bold, #LP article h4.bold, #LP article h5.bold, #LP article h6.bold, #LP article dt.bold, #LP article div.bold, #LP article p.bold {
  font-weight: 700;
}
#LP article h1.smallish, #LP article h2.smallish, #LP article h3.smallish, #LP article h4.smallish, #LP article h5.smallish, #LP article h6.smallish, #LP article dt.smallish, #LP article div.smallish, #LP article p.smallish {
  font-size: 14px;
}
#LP article h1.small, #LP article h2.small, #LP article h3.small, #LP article h4.small, #LP article h5.small, #LP article h6.small, #LP article dt.small, #LP article div.small, #LP article p.small {
  font-size: 12px;
}
@media (min-width: 992px) {
  #LP article h1.h1, #LP article h1 .h1, #LP article h2.h1, #LP article h2 .h1, #LP article h3.h1, #LP article h3 .h1, #LP article h4.h1, #LP article h4 .h1, #LP article h5.h1, #LP article h5 .h1, #LP article h6.h1, #LP article h6 .h1, #LP article dt.h1, #LP article dt .h1, #LP article div.h1, #LP article div .h1, #LP article p.h1, #LP article p .h1 {
    font-size: 43px;
  }
  #LP article h1.h2, #LP article h1 .h2, #LP article h2.h2, #LP article h2 .h2, #LP article h3.h2, #LP article h3 .h2, #LP article h4.h2, #LP article h4 .h2, #LP article h5.h2, #LP article h5 .h2, #LP article h6.h2, #LP article h6 .h2, #LP article dt.h2, #LP article dt .h2, #LP article div.h2, #LP article div .h2, #LP article p.h2, #LP article p .h2 {
    font-size: 32px;
  }
  #LP article h1.h3, #LP article h1 .h3, #LP article h2.h3, #LP article h2 .h3, #LP article h3.h3, #LP article h3 .h3, #LP article h4.h3, #LP article h4 .h3, #LP article h5.h3, #LP article h5 .h3, #LP article h6.h3, #LP article h6 .h3, #LP article dt.h3, #LP article dt .h3, #LP article div.h3, #LP article div .h3, #LP article p.h3, #LP article p .h3 {
    font-size: 24px;
  }
  #LP article h1.h4, #LP article h1 .h4, #LP article h2.h4, #LP article h2 .h4, #LP article h3.h4, #LP article h3 .h4, #LP article h4.h4, #LP article h4 .h4, #LP article h5.h4, #LP article h5 .h4, #LP article h6.h4, #LP article h6 .h4, #LP article dt.h4, #LP article dt .h4, #LP article div.h4, #LP article div .h4, #LP article p.h4, #LP article p .h4 {
    font-size: 20px;
  }
  #LP article h1.h5, #LP article h1 .h5, #LP article h2.h5, #LP article h2 .h5, #LP article h3.h5, #LP article h3 .h5, #LP article h4.h5, #LP article h4 .h5, #LP article h5.h5, #LP article h5 .h5, #LP article h6.h5, #LP article h6 .h5, #LP article dt.h5, #LP article dt .h5, #LP article div.h5, #LP article div .h5, #LP article p.h5, #LP article p .h5 {
    font-size: 18px;
  }
}
#LP article .tx-blue {
  color: var(--color-main);
}
#LP article *.break-lineheight {
  display: block;
  margin-top: -0.25em;
  margin-bottom: -0.25em;
}
#LP article .mg8 {
  margin-bottom: 8px;
}
@media (min-width: 992px) {
  #LP article .mg8.mg0pc {
    margin-bottom: 0;
  }
}
@media (max-width: 991px) {
  #LP article .mg8.mg0sp {
    margin-bottom: 0;
  }
}
#LP article .mg16 {
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  #LP article .mg16.mg0pc {
    margin-bottom: 0;
  }
}
@media (max-width: 991px) {
  #LP article .mg16.mg0sp {
    margin-bottom: 0;
  }
}
#LP article .mg32 {
  margin-bottom: 32px;
}
@media (min-width: 992px) {
  #LP article .mg32.mg0pc {
    margin-bottom: 0;
  }
}
@media (max-width: 991px) {
  #LP article .mg32.mg0sp {
    margin-bottom: 0;
  }
}
@media (max-width: 991px) {
  #LP article .sp {
    display: block;
  }
  #LP article .pc {
    display: none;
  }
  #LP article .sp-hidden {
    display: none;
  }
}
@media (min-width: 992px) {
  #LP article .sp {
    display: none;
  }
  #LP article .pc {
    display: block;
  }
  #LP article .pc-hidden {
    display: none;
  }
}
#LP article .no-wrap {
  white-space: nowrap;
}

*[lang=en] {
  font-family: HelveticaNeueLTPro-Th, "Helvetica", "Helvetica Neue", "Segoe UI", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

hr {
  border: 1px solid var(--color-text);
  border-width: 1px 0 0 0;
  margin: 0;
}

.box-w-shadow {
  background: var(--color-base);
  padding: 32px;
  box-shadow: 10px 10px 10px -5px rgba(73, 86, 94, 0.2);
}

/*-----------------
header
-----------------*/
header {
  position: fixed;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  height: 100dvh;
  max-height: 60px;
  padding: 10px 20px;
  color: var(--color-base);
  background: rgba(73, 86, 94, 0.3);
  backdrop-filter: blur(5px);
  transition: 0.25s;
  z-index: 5;
  transition: gap 0.25s, max-height 0.25s;
}
@media (min-width: 992px) {
  header {
    gap: 16px;
    height: auto;
    max-height: none;
    padding: 16px 40px;
  }
}
header .information {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header .information svg#main-logo {
  width: 180px;
  height: auto;
  aspect-ratio: 40/9;
}
header .information svg#main-logo [fill=white],
header .information svg#main-logo [fill="#fff"],
header .information svg#main-logo [fill="#ffffff"] {
  fill: var(--color-base);
  transition: fill 0.25s;
}
@media (min-width: 992px) {
  header .information svg#main-logo {
    width: 240px;
  }
}
.on-main header .information svg#main-logo [fill=white],
.on-main header .information svg#main-logo [fill="#fff"],
.on-main header .information svg#main-logo [fill="#ffffff"] {
  fill: var(--color-text);
}
header .information .call-to-action {
  display: flex;
  gap: 8px;
}
header .information .call-to-action .telephone-number {
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: center;
  gap: 4px;
}
header .information a.button {
  width: 196px;
}
header .tel-icon {
  position: relative;
  padding-left: 28px;
}
header .tel-icon::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 50%;
  width: 20px;
  height: 20px;
  background: var(--color-base);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-image: url(../images/healthcare/icon-call.svg);
  transform: translateY(-50%);
  transition: background 0.25s;
}
header .tel-icon.h2 {
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin-top: 0.125em !important;
  margin-bottom: -0.1em !important;
}
header .sub-text {
  text-align: right;
}
header a:link:not(.button), header a:visited:not(.button) {
  color: var(--color-white);
}
header a:link:not(.button):hover, header a:visited:not(.button):hover {
  opacity: 1;
  color: var(--color-white);
}
.on-main header {
  color: var(--color-text);
  background: rgba(255, 255, 255, 0.5);
}
.on-main header .tel-icon::before {
  background-color: var(--color-text);
}
.on-main header a:link:not(.button), .on-main header a:visited:not(.button) {
  color: var(--color-text);
}
.on-main header a:link:not(.button):hover, .on-main header a:visited:not(.button):hover {
  opacity: 1;
  color: var(--color-main);
}
header nav ul.pc-fully-horizontal {
  display: grid;
  max-width: 987px;
  margin: 0 auto;
}
header nav ul.pc-fully-horizontal:has(li:hover) li:not(:hover) {
  opacity: 0.5;
}
header nav ul.pc-fully-horizontal li {
  transition: opacity 0.25s ease;
}
@media (max-width: 991px) {
  header nav ul.pc-fully-horizontal {
    grid-auto-flow: column;
    grid-template-rows: repeat(6, auto);
    grid-template-columns: repeat(1fr, 1fr);
    column-gap: 16px;
  }
  header nav ul.pc-fully-horizontal li {
    padding: 16px;
    border-bottom: 1px solid var(--color-base);
    transition: opacity 0.25s ease;
  }
  header nav ul.pc-fully-horizontal li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: -0.25em;
    margin-bottom: -0.25em;
  }
  header nav ul.pc-fully-horizontal li a::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 2px solid var(--color-base);
    border-right: 2px solid var(--color-base);
    transform: rotate(45deg);
    transform-origin: center;
  }
  .on-main header nav ul.pc-fully-horizontal li {
    border-bottom: 1px solid var(--color-text);
  }
  .on-main header nav ul.pc-fully-horizontal li a::after {
    border-top: 2px solid var(--color-text);
    border-right: 2px solid var(--color-text);
  }
}
header nav ul.pc-fully-horizontal:has(li.is-current) li:not(.is-current) {
  opacity: 0.5;
}
@media (min-width: 992px) {
  header nav ul.pc-fully-horizontal {
    grid-auto-flow: column;
    justify-content: space-between;
    align-items: center;
  }
  header nav ul.pc-fully-horizontal li:first-child {
    display: none;
  }
}
@media (min-width: 992px) {
  header nav .grid-content.col1 {
    display: none;
  }
}
header nav .grid-content.col1 a {
  margin: 0 auto;
}
header nav svg#main-logo {
  width: 240px;
  height: auto;
  aspect-ratio: 40/9;
}
.on-main header nav svg#main-logo [fill=white],
.on-main header nav svg#main-logo [fill="#fff"],
.on-main header nav svg#main-logo [fill="#ffffff"] {
  fill: #000000;
}
header nav .call-to-action {
  display: flex;
  gap: 8px;
}
header label {
  position: absolute;
  right: 20px;
  top: 10px;
  width: 36px;
  height: 13px;
  margin: 0;
  padding: 10px 0 40px;
  box-sizing: content-box;
  cursor: pointer;
}
@media (min-width: 992px) {
  header label {
    display: none;
  }
}
header label .nav-hidden-check {
  display: none;
}
header label span.menu-icon {
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-base);
  transition: 0.25s;
}
header label span.menu-icon::before {
  content: "";
  position: absolute;
  top: 6px;
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-base);
  transition: 0.25s;
}
header label span.menu-icon::after {
  content: "";
  position: absolute;
  top: 12px;
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-base);
  transition: 0.25s;
}
.on-main header label span.menu-icon {
  background: var(--color-text);
}
.on-main header label span.menu-icon::before {
  background: var(--color-text);
}
.on-main header label span.menu-icon::after {
  background: var(--color-text);
}
header label:has(.nav-hidden-check:checked) span {
  top: 15px;
  transform: rotate(30deg);
}
header label:has(.nav-hidden-check:checked) span::before {
  top: 0;
  transform: rotate(-60deg);
}
header label:has(.nav-hidden-check:checked) span::after {
  top: 0;
  transform: rotate(-30deg);
  opacity: 0;
}
header:has(.nav-hidden-check:checked) {
  gap: 16px;
  max-height: 100dvh;
}
header:has(.nav-hidden-check:checked) .sp-onoff {
  grid-template-rows: 1fr;
}
@media (max-width: 991px) {
  header .sp-onoff {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows 0.25s ease-out;
  }
  header .sp-onoff nav {
    min-height: 0;
  }
}

/*-----------------
button
-----------------*/
a.button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 290px;
  height: 52px;
  padding: 6.725px 16px;
  color: var(--color-main);
  font-size: 18px;
  font-weight: 700;
  border: 1px solid var(--color-main);
  background-color: var(--color-base);
  transition: background-color 0.25s, color 0.25s;
}
a.button:hover {
  opacity: 1;
  color: var(--color-main);
  background-color: #E8F8FF;
}
a.button.icon {
  gap: 8px;
}
a.button.icon::before {
  content: "";
  height: 20px;
  width: 20px;
  background-color: var(--color-main);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center center;
}
a.button.icon.mail::before {
  mask-image: url(../images/healthcare/icon-mail.svg);
}
a.button.icon.download::before {
  mask-image: url(../images/healthcare/icon-download.svg);
}
a.button.icon.call::before {
  mask-image: url(../images/healthcare/icon-call.svg);
}
a.button.arrow {
  position: relative;
  justify-content: flex-start;
  padding: 6.725px 44px 6.725px 16px;
}
a.button.arrow::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 23px;
  height: 10px;
  mask-image: url(../images/icon/icon-outer-allow.svg);
  background-color: var(--color-main);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center center;
  transform: translateY(-50%);
  transition: right 0.25s, background-color 0.25s;
}
a.button.arrow:hover::after {
  right: 8px;
}
a.button.call {
  color: var(--color-base);
  border: 1px solid var(--color-accent);
  background-color: var(--color-accent);
}
a.button.call:hover {
  color: var(--color-accent);
  background-color: var(--color-base);
}
a.button.call:hover::before {
  background-color: var(--color-accent);
}
a.button.call:hover::after {
  right: 8px;
  background-color: var(--color-accent);
}
a.button.call::before, a.button.call::after {
  background-color: var(--color-base);
}
a.button[target=_blank] {
  color: var(--color-base);
  border: 1px solid #FFF;
  background-color: var(--color-main);
}
a.button[target=_blank]:hover {
  color: var(--color-base);
  background-color: #2E9DCC;
}
a.button[target=_blank]:hover::after {
  right: 8px;
}
a.button[target=_blank]::before, a.button[target=_blank]::after {
  background-color: var(--color-base);
}
a.button span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
  line-height: 1;
}
a.button span > span {
  display: block;
  font-size: 10px;
}

#LP {
  /*-----------------
  components
  -----------------*/
  /*-----------------
  accordion
  -----------------*/
  /*-----------------
  section
  -----------------*/
}
#LP .table-scroll div.tableWrap {
  display: grid;
  width: 100%;
  max-width: 750px;
}
@media (min-width: 780px) {
  #LP .table-scroll div.tableWrap {
    margin: 0 auto;
  }
}
#LP .table-scroll table {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
}
#LP .table-scroll table.respo {
  display: block;
  overflow-x: scroll;
  padding-bottom: 24px;
}
@media (min-width: 780px) {
  #LP .table-scroll table.respo {
    overflow-x: initial;
    padding-bottom: 0;
  }
}
#LP .table-scroll table.respo::-webkit-scrollbar {
  width: 4px;
  height: 15px;
}
#LP .table-scroll table.respo::-webkit-scrollbar-track {
  background: #D9D9D9;
  border-radius: 100rem;
}
#LP .table-scroll table.respo::-webkit-scrollbar-thumb {
  background: #848282;
  border-radius: 100rem;
}
#LP .table-scroll table thead, #LP .table-scroll table tbody {
  display: block;
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  width: 750px;
}
#LP .table-scroll table tr {
  display: grid;
  grid-template-columns: 220px 1fr 1fr;
  gap: 0;
  width: 100%;
  border: 1px solid #CFCFCF;
  border-width: 0 0 1px;
}
#LP .table-scroll table tr td, #LP .table-scroll table tr th {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  width: 220px;
  min-width: 260px;
  min-height: 68px;
  background: #fff;
  border: none;
  margin: 0;
  padding: 28px 16px;
  text-align: center;
}
#LP .table-scroll table tr td.like-colspan, #LP .table-scroll table tr th.like-colspan {
  grid-column: span 2;
  width: 100%;
}
#LP .table-scroll table tr td p, #LP .table-scroll table tr th p {
  line-height: 1.5;
  margin-top: -0.25em;
  margin-bottom: -0.25em;
}
#LP .table-scroll table tr td p.small-text, #LP .table-scroll table tr th p.small-text {
  font-size: 14px;
  font-weight: 500;
}
#LP .table-scroll table tr td p.mini-text, #LP .table-scroll table tr th p.mini-text {
  font-size: 12px;
  font-weight: 500;
}
#LP .table-scroll table tr th {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  height: 59px;
  min-height: 0;
  padding: 0;
  background: var(--color-base);
  color: var(--color-accent2);
  font-weight: 700;
  line-height: 1;
}
#LP .table-scroll table tr td:first-child {
  min-width: none;
  gap: 8px;
  color: var(--color-text);
  font-weight: 700;
  text-align: left;
  padding: 0 14px 0 16px;
  padding-left: 16px;
  padding-right: 14px;
  background: #F4F6F8;
}
#LP .table-scroll table tr td:first-child p {
  font-weight: 700 !important;
}
#LP .table-scroll table tr td:first-child p.small-text {
  font-size: 14px;
  font-weight: 500;
}
#LP .table-scroll table tr td:first-child p.mini-text {
  font-size: 12px;
  font-weight: 500;
}
#LP .flex-layout {
  display: flex;
  flex-wrap: wrap;
}
#LP .flex-layout.column {
  flex-direction: column;
}
#LP .grid-content {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  text-align: left;
  gap: 8px;
}
@media (min-width: 992px) {
  #LP .grid-content {
    grid-template-columns: repeat(4, 1fr);
  }
}
#LP .grid-content.col1 {
  grid-template-columns: repeat(1, 1fr);
}
#LP .grid-content.col2 {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 992px) {
  #LP .grid-content.col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
#LP .grid-content.col3 {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 992px) {
  #LP .grid-content.col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
#LP .grid-content.col4 {
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 992px) {
  #LP .grid-content.col4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.apeal-point #LP .grid-content {
  gap: 8px;
}
#LP .grid-content.white-bg-gap-slash {
  gap: 48px;
}
@media (min-width: 992px) {
  #LP .grid-content.white-bg-gap-slash {
    gap: 28px;
  }
}
#LP .grid-content.white-bg-gap-slash div.content-box {
  position: relative;
  padding: 40px 24px;
  background: var(--color-base);
}
@media (min-width: 992px) {
  #LP .grid-content.white-bg-gap-slash div.content-box {
    padding: 24px 30px 20px;
  }
}
#LP .grid-content.white-bg-gap-slash div.content-box:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 99.9%;
  height: 40px;
  width: 100%;
  background: var(--color-base);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
@media (min-width: 992px) {
  #LP .grid-content.white-bg-gap-slash div.content-box:first-child::before {
    left: 99.9%;
    top: 0;
    height: 100%;
    width: 20px;
  }
}
#LP .grid-content.white-bg-gap-slash div.content-box:last-child::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 99.9%;
  height: 40px;
  width: 100%;
  background: var(--color-base);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
@media (min-width: 992px) {
  #LP .grid-content.white-bg-gap-slash div.content-box:last-child::before {
    right: 99.9%;
    bottom: auto;
    top: 0;
    height: 100%;
    width: 20px;
  }
}
#LP .grid-content.gray-bg-tab {
  gap: 30px;
}
#LP .grid-content.gray-bg-tab div.content-box {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 31px;
  padding: 30px 20px;
  background: #F5F5F5;
  border-top: 2px solid #004098;
}
#LP .grid-content.gray-bg-tab div.content-box h3 {
  margin: 0;
}
#LP .grid-content.gray-bg-tab div.content-box .tab {
  position: absolute;
  left: 0;
  bottom: 100%;
  height: 31px;
  display: flex;
  align-items: center;
  font-size: 14px;
  color: var(--color-base);
  padding: 0 6px 0 10px;
  background: #004098;
}
#LP .grid-content.gray-bg-tab div.content-box .tab::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 0;
  display: block;
  width: 18px;
  height: 100%;
  border-right: 18px solid transparent;
  border-bottom: 31px solid #004098;
}
#LP .grid-content .btn {
  margin: 0 !important;
}
#LP ul li, #LP ol li {
  list-style-type: none;
}
#LP ul.fully-horizontal, #LP ol.fully-horizontal {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 987px;
  margin: 0 auto;
}
#LP ul.check-list, #LP ol.check-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
  height: min-content;
  margin: 0 auto;
}
#LP ul.check-list li, #LP ol.check-list li {
  position: relative;
  padding-left: 36px;
}
#LP ul.check-list li::before, #LP ol.check-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: -1px;
  width: 26px;
  height: 26px;
  background: var(--color-text);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-image: url(../images/healthcare/icon-check.svg);
}
#LP ul.dot-list, #LP ol.dot-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#LP ul.dot-list li, #LP ol.dot-list li {
  position: relative;
  padding-left: 12px;
}
#LP ul.dot-list li::before, #LP ol.dot-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 4px;
  height: 4px;
  border-radius: 10rem;
  background: var(--color-text);
  transform: translateY(-50%);
}
#LP ul.number-list, #LP ol.number-list {
  padding: 0;
  list-style: none;
  counter-reset: step-count;
}
#LP ul.number-list li, #LP ol.number-list li {
  counter-increment: step-count;
  display: flex;
  gap: 20px;
  padding: 16px;
  border-bottom: 1px solid rgba(29, 34, 38, 0.2);
}
#LP ul.number-list li:first-child, #LP ol.number-list li:first-child {
  padding-top: 8px;
}
#LP ul.number-list li:last-child, #LP ol.number-list li:last-child {
  padding-bottom: 8px;
  border-bottom: none;
}
@media (max-width: 991px) {
  #LP ul.number-list li, #LP ol.number-list li {
    padding-left: 0;
    padding-right: 0;
  }
}
#LP ul.number-list li .number-side, #LP ol.number-list li .number-side {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: HelveticaNeueLTPro-Th, "Helvetica", "Helvetica Neue", "Segoe UI", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.04em;
  line-height: 1.4;
  color: var(--color-main);
}
#LP ul.number-list li .number-side::before, #LP ol.number-list li .number-side::before {
  content: "STEP";
  font-size: 14px;
  font-weight: 300;
}
#LP ul.number-list li .number-side::after, #LP ol.number-list li .number-side::after {
  content: counter(step-count, decimal-leading-zero);
  font-size: 32px;
  line-height: 1;
  font-weight: 300;
}
#LP ul.number-list li .content-side, #LP ol.number-list li .content-side {
  gap: 8px;
}
#LP ul.number-list li .content-side .h5, #LP ol.number-list li .content-side .h5 {
  font-size: 18px;
  font-weight: 700;
}
#LP .phase-2 .number-list {
  counter-reset: step-count 5;
}
#LP .phase-3 .number-list {
  counter-reset: step-count 8;
}
#LP dl {
  margin: 0;
}
#LP dl div {
  display: grid;
  text-align: left;
}
#LP dl.phase-separate {
  position: relative;
}
#LP dl.phase-separate::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 29px solid transparent;
  border-left: 29px solid transparent;
  border-top: 20.25px solid #007eb3;
  border-bottom: 0;
  transform: translate(-50%, 0);
}
#LP dl.phase-separate.last::after {
  display: none;
}
#LP dl.phase-separate div.wrap {
  padding: 16px;
  background: var(--color-base);
  box-shadow: 10px 10px 10px -5px rgba(73, 86, 94, 0.2);
  gap: 16px;
}
@media (min-width: 992px) {
  #LP dl.phase-separate div.wrap {
    grid-template-columns: 170px 1fr;
    gap: 25px;
    padding: 16px 24px;
  }
}
#LP dl.phase-separate div.wrap dt {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text);
  margin: 0;
  margin: -0.25em 0;
}
@media (min-width: 992px) {
  #LP dl.phase-separate div.wrap dt {
    flex-direction: column;
    align-items: start;
    gap: 0;
  }
}
#LP dl.phase-separate div.wrap dd {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin: -0.25em 0;
}
#LP dl.phase-separate div.wrap dd div.block {
  padding-left: 20px;
  border: 1px solid #DBE3EA;
  border-width: 0 0 0 1px;
}
@media (min-width: 992px) {
  #LP dl.phase-separate div.wrap dd div.block {
    padding-left: 25px;
  }
}
#LP dl.phase-separate div.wrap dd div.block p {
  margin-bottom: 25px;
}
#LP dl.phase-separate div.wrap dd div.block p:last-child {
  margin-bottom: 0;
}
#LP dl.gray-separate {
  display: flex;
  flex-direction: column;
  gap: 42px;
}
#LP dl.gray-separate div.wrap {
  position: relative;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 992px) {
  #LP dl.gray-separate div.wrap {
    grid-template-columns: 224px 1fr;
  }
}
#LP dl.gray-separate div.wrap::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  display: block;
  border-left: 26px solid transparent;
  border-right: 26px solid transparent;
  border-top: 22px solid #EDEDED;
  transform: translate(-50%, 10px);
}
#LP dl.gray-separate div.wrap:last-child::after {
  content: "";
  display: none;
}
#LP dl.gray-separate div.wrap dt {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  color: var(--color-base);
  background: #657289;
  margin: 0;
  text-align: center;
  font-weight: normal;
  margin: 0;
  padding: 15px;
}
#LP dl.gray-separate div.wrap dt span {
  font-size: 12px;
}
#LP dl.gray-separate div.wrap dd {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0;
  padding: 20px 10px;
  background: #EDEDED;
}
@media (min-width: 992px) {
  #LP dl.gray-separate div.wrap dd {
    padding: 20px 50px;
  }
}
#LP dl.gray-separate div.wrap dd div p {
  margin: -0.25em 0;
}
#LP dl.gray-separate div.wrap dd div p.h3 {
  font-size: 18px;
  color: #003162;
  font-weight: 700;
  margin-bottom: 14px;
}
#LP dl.check-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
  height: min-content;
  margin: 0 auto;
}
#LP dl.check-list div.wrap {
  grid-template-columns: 99px 1fr;
  align-items: center;
  gap: 10px;
}
#LP dl.check-list div.wrap dt {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--color-base);
  background: #003162;
  text-align: center;
  padding: 0 6px;
  height: 100%;
  min-height: 30px;
}
#LP dl.check-list div.wrap dt::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  display: block;
  width: 2px;
  height: 11px;
  background: #003162;
  transform: translate(-50%, -5%);
}
#LP dl.check-list div.wrap:last-child dt::after {
  content: "";
  display: none;
}
#LP dl.check-list div.wrap dd {
  font-size: 18px;
  margin: 0;
  line-height: 1.5;
}
#LP .accordion {
  border-top: 1px solid rgba(29, 34, 38, 0.2);
  max-width: 750px;
  margin: 0 auto;
}
#LP .accordion .bundle {
  border-bottom: 1px solid rgba(29, 34, 38, 0.2);
}
#LP .accordion .bundle dt {
  position: relative;
}
#LP .accordion .bundle dt label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 16px 30px 16px 8px;
  margin: 0;
  cursor: pointer;
}
@media (min-width: 992px) {
  #LP .accordion .bundle dt label {
    align-items: center;
    gap: 16px;
    padding: 16px 50px 16px 32px;
  }
}
#LP .accordion .bundle dt label .accordion-hidden-check {
  display: none;
}
#LP .accordion .bundle dt label::before {
  content: "Q";
  display: block;
  font-size: 16px;
  font-family: HelveticaNeueLTPro-Th, "Helvetica", "Helvetica Neue", "Segoe UI", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.04em;
  line-height: 1.4;
  font-weight: 300;
}
@media (min-width: 992px) {
  #LP .accordion .bundle dt label::before {
    font-size: 32px;
  }
}
#LP .accordion .bundle dt label::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--color-main);
  border-right: 2px solid var(--color-main);
  transform: translate(0, -50%) rotate(135deg);
  transform-origin: center;
  transition: transform 0.3s;
}
@media (min-width: 992px) {
  #LP .accordion .bundle dt label::after {
    right: 32px;
  }
}
#LP .accordion .bundle dt label:has(.accordion-hidden-check:checked)::after {
  transform: translate(0, -50%) rotate(-45deg);
}
#LP .accordion .bundle:has(dt label .accordion-hidden-check:checked) dd {
  grid-template-rows: 1fr;
}
#LP .accordion .bundle:has(dt label .accordion-hidden-check:checked) dd .accordion-inner {
  padding: 16px 8px;
}
@media (min-width: 992px) {
  #LP .accordion .bundle:has(dt label .accordion-hidden-check:checked) dd .accordion-inner {
    padding: 16px 32px;
  }
}
#LP .accordion dd {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.25s ease-out;
  background: var(--color-gray);
  overflow: hidden;
}
#LP .accordion dd .accordion-inner {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-height: 0;
  padding: 0 8px;
  transition: padding 0.25s ease-out;
}
@media (min-width: 992px) {
  #LP .accordion dd .accordion-inner {
    padding: 0 32px;
  }
}
#LP .accordion dd .accordion-inner::before {
  content: "A";
  display: block;
  font-size: 16px;
  font-family: HelveticaNeueLTPro-Th, "Helvetica", "Helvetica Neue", "Segoe UI", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.04em;
  line-height: 1.4;
  color: var(--color-main);
  font-weight: 300;
}
@media (min-width: 992px) {
  #LP .accordion dd .accordion-inner::before {
    font-size: 32px;
  }
}
#LP .floating-cv {
  position: fixed;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 66px;
  z-index: 4;
  background: rgba(73, 86, 94, 0.3);
  backdrop-filter: blur(5px);
}
#LP .floating-cv a.button {
  width: 164px;
  padding-left: 12px;
  padding-right: 8px;
}
#LP section {
  --padding-vertical: 80px;
  --padding-horizontal: 20px;
}
#LP section.content-pad {
  padding: var(--padding-vertical) var(--padding-horizontal);
}
#LP section.bg-area {
  background: var(--color-gray);
}
#LP section#hero-area {
  position: relative;
  height: 667px;
  max-height: 100dvh;
  color: var(--color-base);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 992px) {
  #LP section#hero-area {
    justify-content: end;
    height: 690px;
    max-height: 690px;
  }
}
#LP section#hero-area .h1, #LP section#hero-area .h2, #LP section#hero-area .h3, #LP section#hero-area .h4 {
  font-weight: 700;
}
#LP section#hero-area h1 div.h1 {
  line-height: 1;
}
#LP section#hero-area .main-image {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#LP section#hero-area .main-image img {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
#LP section#hero-area .main-texts {
  height: 100%;
  justify-content: space-between;
  padding: 82px 19px 70px 20px;
}
@media (min-width: 992px) {
  #LP section#hero-area .main-texts {
    justify-content: start;
    height: auto;
    padding: 0;
    padding-left: 11.4%;
    padding-bottom: 105px;
  }
}
#LP section#hero-area .main-catch {
  display: flex;
  flex-direction: column;
  gap: 10px;
  filter: drop-shadow(0 0 4px var(--color-text));
}
#LP section#hero-area .main-catch .h3 {
  font-size: 16px;
}
@media (min-width: 992px) {
  #LP section#hero-area .main-catch .h3 {
    font-size: 24px;
  }
}
#LP section#hero-area .main-catch .h4 {
  font-size: 16px;
}
@media (min-width: 992px) {
  #LP section#hero-area .main-catch .h4 {
    white-space: nowrap;
  }
}
#LP section#hero-area .call-to-action {
  width: fit-content;
  filter: drop-shadow(0 0 4px var(--color-text));
}
#LP section#hero-area .call-to-action .telephone-number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 8px;
}
#LP section#hero-area .call-to-action .telephone-number .icon {
  display: flex;
  align-items: center;
  height: 100%;
  font-size: 13.451px;
  padding: 8px;
  margin: -0.25em 0;
  border: var(--color-base) 1px solid;
}
#LP section#hero-area .call-to-action .telephone-number .tel-icon {
  position: relative;
  padding-left: 28px;
}
#LP section#hero-area .call-to-action .telephone-number .tel-icon::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 50%;
  width: 20px;
  height: 20px;
  background: var(--color-base);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-image: url(../images/healthcare/icon-call.svg);
  transform: translateY(-50%);
  transition: background 0.25s;
}
#LP section#hero-area .call-to-action .telephone-number .sub-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1;
}
#LP section#hero-area .apeal-point {
  display: block;
  height: auto;
  filter: drop-shadow(0 0 4px var(--color-text));
}
#LP section#hero-area .apeal-point ul {
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-end;
}
@media (min-width: 992px) {
  #LP section#hero-area .apeal-point ul {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
#LP section#hero-area .flex-layout {
  gap: 50px;
}
#LP section#hero-area .flex-layout.buttons {
  gap: 8px;
  justify-content: start;
}
#LP section#hero-area .laurel {
  height: 75px;
  gap: 16px;
}
#LP section#hero-area .laurel li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 192px;
  padding: 0 9px;
  /*box-sizing: content-box;*/
  font-size: 16px;
}
@media (min-width: 992px) {
  #LP section#hero-area .laurel li {
    width: 186px;
  }
}
#LP section#hero-area .laurel li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  aspect-ratio: 0.314;
  background-color: var(--color-base);
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-image: url(../images/healthcare/laurel.svg);
  opacity: 0.5;
  z-index: -1;
}
#LP section#hero-area .laurel li::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  aspect-ratio: 0.314;
  background-color: var(--color-base);
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-image: url(../images/healthcare/laurel.svg);
  transform: scaleX(-1);
  opacity: 0.5;
  z-index: -1;
}
#LP section.in-disp .inner {
  transform: translateY(0);
  opacity: 1;
}
#LP section .inner {
  max-width: 988px;
  margin: 0 auto;
  transform: translateY(100px);
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
}
#LP section .inner.flex-section {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 992px) {
  #LP section .inner.flex-section {
    gap: 48px;
  }
}
#LP section .inner .content-introduction {
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: center;
}
#LP section .inner .content-introduction .h2 {
  line-height: 1.2;
}
#LP .worries.grid-content.col2 {
  gap: 24px;
  align-items: flex-start;
}
@media (min-width: 992px) {
  #LP .worries.grid-content.col2 {
    gap: 48px;
    grid-template-columns: 1fr 168px;
  }
}
#LP .worries.grid-content.col2 img {
  display: block;
  margin: 0 auto;
}
#LP .worries .box-w-shadow {
  padding: 16px;
}
@media (min-width: 992px) {
  #LP .worries .box-w-shadow {
    padding: 32px;
  }
}
#LP .protrude {
  position: relative;
  overflow: hidden;
  gap: 0;
}
@media (min-width: 992px) {
  #LP .protrude {
    padding: 40px 0;
  }
}
#LP .protrude.grid-content {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 992px) {
  #LP .protrude.grid-content {
    grid-template-columns: 1fr 390px;
  }
}
#LP .protrude.grid-content::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-gray);
  z-index: -1;
}
@media (min-width: 992px) {
  #LP .protrude.grid-content::before {
    top: 0;
    left: -50px;
  }
}
#LP .protrude.grid-content.reverse {
  direction: rtl;
}
@media (min-width: 992px) {
  #LP .protrude.grid-content.reverse::before {
    left: 50px;
  }
}
#LP .protrude.grid-content.reverse * {
  direction: ltr;
}
#LP .protrude .text-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 16px;
}
@media (min-width: 992px) {
  #LP .protrude .text-side {
    padding: 0 48px;
  }
}
#LP .protrude .text-side .h3 {
  line-height: 1.2;
}
@media (max-width: 991px) {
  #LP .protrude .text-side .h3 {
    font-size: 18px;
  }
}
#LP .protrude .image-side {
  padding: 0 16px;
}
@media (min-width: 992px) {
  #LP .protrude .image-side {
    padding: 0;
  }
}
#LP .no-protrude {
  position: relative;
  overflow: hidden;
  background: var(--color-base);
  padding-bottom: 16px;
}
@media (min-width: 992px) {
  #LP .no-protrude {
    padding: 40px 0;
  }
}
#LP .no-protrude.grid-content {
  grid-template-columns: repeat(1, 1fr);
  gap: 0;
}
@media (min-width: 992px) {
  #LP .no-protrude.grid-content {
    grid-template-columns: 1fr 390px;
  }
}
#LP .no-protrude.grid-content.reverse {
  direction: rtl;
}
#LP .no-protrude.grid-content.reverse * {
  direction: ltr;
}
#LP .no-protrude .text-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 16px;
}
@media (min-width: 992px) {
  #LP .no-protrude .text-side {
    padding: 0 48px;
  }
}
#LP .no-protrude .text-side .h3 {
  line-height: 1.2;
}
@media (max-width: 991px) {
  #LP .no-protrude .text-side .h3 {
    font-size: 18px;
  }
}
#LP .merit.grid-content.col2 {
  max-width: 750px;
  gap: 40px;
}
@media (min-width: 992px) {
  #LP .merit.grid-content.col2 {
    gap: 48px;
  }
}
#LP .merit > .text-side {
  height: 100%;
  color: var(--color-main);
  border: 1px solid var(--color-main);
  background: var(--color-base);
  padding: 24px;
}
#LP .merit > .text-side .check-list {
  gap: 8px;
}
#LP .merit > .text-side .check-list li {
  line-height: 1.2;
}
#LP .merit > .text-side .check-list li::before {
  background-color: var(--color-main);
  top: -5px;
}
#LP .merit > .text-side.nega {
  border: 1px solid var(--color-base);
}
#LP .merit .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
#LP .merit .icon img {
  content: "";
  height: 40px;
}
#LP .chat-style {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 750px;
  margin: 0 auto;
}
#LP .chat-style .grid-content {
  grid-template-columns: 54px 1fr;
  gap: 16px;
}
@media (min-width: 992px) {
  #LP .chat-style .grid-content {
    gap: 32px;
    grid-template-columns: 80px 1fr;
  }
}
#LP .chat-style .grid-content.reverse {
  direction: rtl;
}
#LP .chat-style .grid-content.reverse * {
  direction: ltr;
}
#LP .chat-style .grid-content .text-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  background: var(--color-base);
}
@media (min-width: 992px) {
  #LP .chat-style .grid-content .text-side {
    padding: 16px 32px;
  }
}
#LP .chat-style .grid-content .image-side {
  height: 40px;
}
#LP .chat-style .grid-content .image-side img {
  width: 100%;
  aspect-ratio: 1/1;
}
#LP .chat-style hr {
  border-color: rgba(29, 34, 38, 0.2);
}
#LP .case-block {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 16px;
}
@media (min-width: 992px) {
  #LP .case-block {
    padding: 32px;
  }
}
@media (max-width: 991px) {
  #LP .case-block .h3 {
    font-size: 24px;
  }
}
#LP .case-block .grid-content.col2 {
  gap: 24px;
}
#LP .case-block .grid-content.col2 > div {
  background: var(--color-gray);
  padding: 16px;
  height: 100%;
}
#LP .case-block .grid-content.col3 {
  gap: 8px;
}
@media (min-width: 992px) {
  #LP .case-block .grid-content.col3 {
    gap: 16px;
  }
}
#LP .case-block .grid-content.col3 li {
  display: flex;
  align-items: center;
  gap: 16px;
}
#LP .case-block .grid-content.col3 li .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  padding: 4px;
  line-height: 1;
  color: var(--color-main);
  border: 1px solid var(--color-main);
}
#LP .case-block.box-w-shadow {
  box-shadow: 0 0 7px 0 rgba(73, 86, 94, 0.25), 10px 10px 10px -5px rgba(73, 86, 94, 0.2);
}
#LP .icon-healthcare .content-box {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 30px !important;
  padding: 46px 16px 24px;
  background: var(--color-base);
}
#LP .icon-healthcare .content-box .floating-icon {
  position: absolute;
  top: 0;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background: var(--color-main);
  border-radius: 10rem;
  transform: translate(-50%, -50%);
}
#LP .icon-healthcare .content-box .floating-icon img {
  width: 40px;
  aspect-ratio: 1/1;
}
#LP .icon-healthcare .content-box > .h4 {
  text-align: center;
  font-weight: 700;
}
#LP section.cv-panel {
  position: relative;
  background: var(--color-text);
  color: var(--color-base);
  padding: 32px var(--padding-horizontal);
  overflow: hidden;
}
#LP section.cv-panel .bg-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#LP section.cv-panel .bg-image img {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
#LP section.cv-panel .flex-section {
  position: relative;
  gap: 32px;
  z-index: 1;
}
#LP section.cv-panel .grid-content {
  grid-template-columns: repeat(1, 1fr);
  gap: 16px;
}
#LP section.cv-panel .grid-content > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: center;
}
@media (min-width: 992px) {
  #LP section.cv-panel .grid-content > div {
    gap: 16px;
  }
}
#LP section.cv-panel .grid-content > div a {
  margin: 0 auto;
}
@media (min-width: 992px) {
  #LP section.cv-panel .grid-content > div .sp-hidden {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
}
#LP section.cv-panel .grid-content hr {
  border-color: var(--color-base);
}
@media (min-width: 992px) {
  #LP section.cv-panel .grid-content {
    grid-template-columns: 233px 1px 290px;
    justify-content: center;
    gap: 40px;
  }
  #LP section.cv-panel .grid-content hr {
    width: 0;
    height: 100%;
    border-color: var(--color-base);
    border-width: 0 1px 0 0;
  }
}
#LP section.cv-panel .tel-icon {
  position: relative;
  padding-left: 28px;
}
#LP section.cv-panel .tel-icon::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 50%;
  width: 20px;
  height: 20px;
  background: var(--color-base);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-image: url(../images/healthcare/icon-call.svg);
  transform: translateY(-50%);
  transition: background 0.25s;
}

/*# sourceMappingURL=lp.css.map */
