@keyframes circle-arrow-move {
  0% {
    background-position: 50% 50%;
    animation-timing-function: ease-in;
  }
  49.9% {
    background-position: 200% 50%;
  }
  50% {
    background-position: -100% 50%;
    animation-timing-function: ease-out;
  }
  100% {
    background-position: 50% 50%;
  }
}
@keyframes circle-arrow-move {
  0% {
    background-position: 50% 50%;
    animation-timing-function: ease-in;
  }
  49.9% {
    background-position: 200% 50%;
  }
  50% {
    background-position: -100% 50%;
    animation-timing-function: ease-out;
  }
  100% {
    background-position: 50% 50%;
  }
}
.page-ttl {
  background: #f5f7f9;
  border-bottom: 1px solid #e2e6ea;
}
.page-ttl__body {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  max-width: 1300px;
  min-height: 200px;
  margin: auto;
  padding: 1rem 1.5rem 2.5rem;
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.95) 30%, rgba(245, 247, 249, 0.65) 70%, rgba(245, 247, 249, 0.4) 100%), url(../img/about/flow/bg_header.webp);
  background-repeat: no-repeat;
  background-position: center, bottom center;
  background-size: cover;
}
@media screen and (min-width: 681px) {
  .page-ttl__body {
    min-height: 300px;
  }
}
@media screen and (min-width: 1025px) {
  .page-ttl__body {
    display: grid;
    grid-template-rows: auto auto;
    row-gap: 0.5rem;
    min-height: 360px;
    padding-inline: 50px;
    background-image: linear-gradient(to right, #f5f7f9 30%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/about/flow/bg_header.webp);
  }
}
@media screen and (min-width: 1025px) {
  .page-ttl__body.page-ttl-lead {
    grid-template-columns: auto min(50%, 640px);
    -moz-column-gap: 5rem;
         column-gap: 5rem;
    padding-block: 2.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .page-ttl__body.page-ttl-lead .page-ttl__group {
    grid-row: 1/2;
    grid-column: 1/2;
  }
}
.page-ttl__body.page-ttl-lead .page-ttl__lead {
  order: 3;
  padding-left: 1.25rem;
  border-left: 4px solid #a89b6e;
}
@media screen and (min-width: 1025px) {
  .page-ttl__body.page-ttl-lead .page-ttl__lead {
    grid-row: 1/3;
    grid-column: 2/3;
    margin-top: 5rem;
    align-self: end;
  }
}
.page-ttl__body.page-ttl-lead .lead__copy {
  margin: 0;
  font-size: 1.25rem;
  color: #243b55;
  line-height: 1.5;
}
.page-ttl__body.page-ttl-lead .lead__txt {
  margin-top: 1rem;
}
.page-ttl__body.page-ttl-lead .lead__txt > :first-child {
  margin-top: 0;
}
.page-ttl__body.page-ttl-lead .lead__txt > :last-child {
  margin-bottom: 0;
}
.page-ttl__group {
  order: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-shadow: 0 0 0.25rem #f5f7f9, 0 0 1.5rem rgba(245, 247, 249, 0.3);
  line-height: 1.3;
}
@media screen and (min-width: 1025px) {
  .page-ttl__group {
    justify-content: end;
  }
}
.page-ttl__en {
  margin: 0;
  font-size: 0.75rem;
  font-family: "Libre Baskerville", sans-serif;
  color: #a89b6e;
}
@media screen and (min-width: 681px) {
  .page-ttl__en {
    font-size: 1rem;
  }
}
.page-ttl__cn {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 500;
}
@media screen and (min-width: 681px) {
  .page-ttl__cn {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1025px) {
  .page-ttl__cn {
    font-size: 3.5rem;
  }
}

.breadcrumbs {
  order: 1;
  display: flex;
  font-size: 0.75rem;
}
@media screen and (min-width: 1025px) {
  .breadcrumbs {
    grid-row: 2/3;
    grid-column: 1/2;
  }
}
.breadcrumbs span {
  position: relative;
  display: block;
  padding-left: 1.5em;
  white-space: nowrap;
}
.breadcrumbs span::before {
  position: absolute;
  left: 0.25em;
  top: 0.25em;
  display: block;
  width: 14px;
  height: 14px;
  content: "";
  background: url(../img/common/icn_arrow03.svg) no-repeat;
  background-size: contain;
}
.breadcrumbs span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
}
.breadcrumbs span:first-child {
  padding-left: 0;
}
.breadcrumbs span:first-child::before {
  display: none;
}
.breadcrumbs span a {
  color: #7d8894;
  text-decoration: underline;
}

.contents {
  padding: 3rem 1.5rem;
}
@media screen and (min-width: 1025px) {
  .contents {
    width: 94vw;
    max-width: 1200px;
    margin: auto;
    padding: 5rem 0;
  }
}
.contents + .contents {
  padding-top: 1rem;
}
@media screen and (min-width: 1025px) {
  .contents + .contents {
    padding-top: 2rem;
  }
}

.column-box {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 801px) {
  .column-box {
    flex-direction: row;
  }
}
@media screen and (min-width: 1025px) {
  .column-box {
    gap: 5rem;
  }
}
.column-box__clm01 > :first-child {
  margin-top: 0;
}
.column-box__clm01 > :last-child {
  margin-bottom: 0;
}
.column-box__clm01 {
  flex-grow: 1;
}
.column-box__clm01 img {
  width: 100%;
}
.column-box__clm02 {
  flex-shrink: 0;
  margin: 0;
}
@media screen and (min-width: 801px) {
  .column-box__clm02 {
    width: 40%;
  }
}
@media screen and (min-width: 1200px) {
  .column-box__clm02 {
    width: 42%;
  }
}
.column-box__clm02 img {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .column-box__clm02.w30 {
    width: 30% !important;
  }
}
@media screen and (min-width: 1025px) {
  .column-box__clm02.w40 {
    width: 40% !important;
  }
}
@media screen and (min-width: 1025px) {
  .column-box__clm02.w50 {
    width: 50% !important;
  }
}
@media screen and (min-width: 1025px) {
  .column-box__clm02.w60 {
    width: 60% !important;
  }
}
@media screen and (min-width: 1200px) {
  .column-box__clm02.w_half {
    width: calc(50% - 2.5rem);
  }
}
@media screen and (min-width: 801px) {
  .column-box__clm02.w_half_all {
    width: calc(50% - 0.75rem);
  }
}
@media screen and (min-width: 1200px) {
  .column-box__clm02.w_half_all {
    width: calc(50% - 2.5rem);
  }
}
@media screen and (min-width: 801px) {
  .column-box--reverse {
    flex-direction: row-reverse;
  }
}
.column-box + .column-box, .column-box + .column-box--three {
  margin-top: 3rem;
}
@media screen and (min-width: 1025px) {
  .column-box + .column-box, .column-box + .column-box--three {
    margin-top: 5rem;
  }
}

.column-box--three {
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 801px) {
  .column-box--three {
    grid-template-columns: 1fr 40%;
    grid-template-rows: auto auto;
    row-gap: 1rem;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .column-box--three {
    grid-template-columns: 1fr 1fr 35%;
    grid-template-rows: auto;
  }
}
@media screen and (min-width: 1200px) {
  .column-box--three {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
.column-box--three__clm01 > :first-child {
  margin-top: 0;
}
.column-box--three__clm01 > :last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 801px) {
  .column-box--three__clm01 {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
@media screen and (min-width: 1025px) {
  .column-box--three__clm01 {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.column-box--three__clm02 > :first-child {
  margin-top: 0;
}
.column-box--three__clm02 > :last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 801px) {
  .column-box--three__clm02 {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
@media screen and (min-width: 1025px) {
  .column-box--three__clm02 {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
.column-box--three__clm03 {
  flex-shrink: 0;
  margin: 0;
  text-align: center;
}
@media screen and (min-width: 801px) {
  .column-box--three__clm03 {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
@media screen and (min-width: 1025px) {
  .column-box--three__clm03 {
    grid-column: 3/4;
    grid-row: 1/2;
  }
}
@media screen and (min-width: 1200px) {
  .column-box--three__clm03 {
    padding-left: 1rem;
  }
}
.column-box--three__clm03 img {
  width: 100%;
}
.column-box--three + .column-box, .column-box--three + .column-box--three {
  margin-top: 3rem;
}
@media screen and (min-width: 1025px) {
  .column-box--three + .column-box, .column-box--three + .column-box--three {
    margin-top: 5rem;
  }
}

.headline01 {
  margin-block: 0 1.5rem;
  padding: 0.25rem 0 0.25rem 1.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  border-left: 4px solid #a89b6e;
}
@media screen and (min-width: 681px) {
  .headline01 {
    margin-bottom: 2rem;
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 1025px) {
  .headline01 {
    margin-bottom: 2.5rem;
    font-size: 2rem;
  }
}

.headline02, .headline05 {
  margin-block: 0 1.5rem;
  padding: 0.5rem 1.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  background: #faf7ed;
}
@media screen and (min-width: 681px) {
  .headline02, .headline05 {
    margin-bottom: 2rem;
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 1025px) {
  .headline02, .headline05 {
    margin-bottom: 2.5rem;
    font-size: 1.5rem;
  }
}

.headline03 {
  position: relative;
  margin-block: 0 1rem;
  padding-left: 1.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 681px) {
  .headline03 {
    font-size: 1.1875rem;
  }
}
@media screen and (min-width: 1025px) {
  .headline03 {
    font-size: 1.25rem;
  }
}
.headline03::before {
  position: absolute;
  left: 0;
  top: 0.75em;
  display: block;
  content: "";
  width: 1rem;
  height: 2px;
  background: #a89b6e;
}

.headline04 {
  margin-block: 0 1rem;
  padding-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 500;
  border-bottom: 1px solid #a89b6e;
}

.headline05 {
  padding: 0.25rem 0 0.5em;
  background: none;
  border-bottom: 2px solid #a89b6e;
}

table {
  border-collapse: collapse;
  table-layout: fixed;
  word-break: break-all;
  width: 100%;
  margin-block: 1.5rem;
}
table th,
table td {
  padding: 0.75rem 1rem;
  line-height: 1.5;
}
table th > :first-child,
table td > :first-child {
  margin-top: 0;
}
table th > :last-child,
table td > :last-child {
  margin-bottom: 0;
}
table th {
  font-weight: 500;
  border-bottom: 1px solid #fff;
}
table thead th {
  background: #d4c89c;
  color: rgb(25.0535714286, 31.5892857143, 35.9464285714);
  border-right: 1px solid #fff;
}
table thead th:last-of-type {
  border-right: none;
}
table tbody tr {
  border-block: 2px solid #fff;
}
table tbody th {
  background: rgb(230.5323943662, 223.7042253521, 198.6676056338);
}
table tbody td {
  position: relative;
  background: #fff;
  border-right: 1px solid rgb(230.5323943662, 223.7042253521, 198.6676056338);
}
table tbody td::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: rgb(230.5323943662, 223.7042253521, 198.6676056338);
}

.vertical-table thead {
  display: none;
}
@media screen and (min-width: 801px) {
  .vertical-table thead {
    display: table-header-group;
  }
}
.vertical-table th,
.vertical-table td {
  display: block;
}
@media screen and (min-width: 801px) {
  .vertical-table th,
  .vertical-table td {
    display: table-cell;
  }
}
.vertical-table tr {
  border: none;
}
@media screen and (max-width: 800px) {
  .vertical-table tbody :where(th) {
    background: #d4c89c;
    color: rgb(25.0535714286, 31.5892857143, 35.9464285714);
  }
}
.vertical-table tbody :where(td) {
  border-bottom: 1px solid rgb(230.5323943662, 223.7042253521, 198.6676056338);
  border-left: 1px solid rgb(230.5323943662, 223.7042253521, 198.6676056338);
}
.vertical-table tbody :where(td)::before {
  content: attr(data-label);
  display: block;
  margin-bottom: 0.25rem;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  color: #5e5432;
  background: rgb(242.5875, 240.7327586207, 234.3125);
}
@media screen and (min-width: 801px) {
  .vertical-table tbody :where(td)::before {
    display: none;
  }
}
.vertical-table tbody :where(td)::after {
  display: none;
}

.supplement-box01, .supplement-box03, .supplement-box02 {
  margin-top: 3rem;
  padding: 1.5rem;
  border: 1px solid #476486;
  border-left: 0.5rem solid #476486;
}
.supplement-box01 > :first-child, .supplement-box03 > :first-child, .supplement-box02 > :first-child {
  margin-top: 0;
}
.supplement-box01 > :last-child, .supplement-box03 > :last-child, .supplement-box02 > :last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 681px) {
  .supplement-box01, .supplement-box03, .supplement-box02 {
    padding-inline: 3rem;
  }
}
@media screen and (min-width: 1025px) {
  .supplement-box01, .supplement-box03, .supplement-box02 {
    padding-inline: 5rem;
  }
}

.supplement-box02 {
  border-color: #a89b6e;
}

.supplement-box03 {
  border: none;
  background: #f5f7f9;
}

.bg_gray {
  position: relative;
  background: #f5f7f9;
  mix-blend-mode: multiply;
}
.bg_gray::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../img/common/bg_noise.webp) repeat;
  opacity: 0.04;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.bg_gray .headline02, .bg_gray .headline05 {
  border: 2px solid #fff;
}
.bg_gray .contents + .contents {
  padding-top: 0;
}

.lead__list {
  list-style-type: none;
  padding-left: 1rem;
  color: #3b558d;
}

.target-dis {
  list-style-type: none;
  padding-left: 0;
}
.target-dis li {
  position: relative;
  padding: 0.75rem 1rem 0.75rem 1.875rem;
  background: #f5f7f9;
  line-height: 1.5;
}
@media screen and (min-width: 681px) {
  .target-dis li {
    width: -moz-fit-content;
    width: fit-content;
    min-width: 400px;
  }
}
.target-dis li::before {
  position: absolute;
  top: 1.375rem;
  left: 1rem;
  content: "";
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  background: #243b55;
  border-radius: 50%;
}
.target-dis li + li {
  margin-top: 0.5rem;
}

@media screen and (min-width: 1025px) {
  .benefits {
    display: grid;
    grid-template-columns: 136px 1fr;
    -moz-column-gap: 5rem;
         column-gap: 5rem;
  }
}
@media screen and (min-width: 1200px) {
  .benefits {
    grid-template-columns: 240px 1fr;
  }
}
.benefits__ttl {
  margin-top: 0;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.5;
}
.benefits__list {
  margin: 0;
}
.benefits__list dt {
  font-size: 1.125rem;
  color: #30487c;
}
.benefits__list dd {
  margin: 0.5rem 0 0;
}
.benefits__box {
  position: relative;
  padding: 1.5rem 1.5rem 1.5rem 1.75rem;
  background: #fff;
}
@media screen and (min-width: 681px) {
  .benefits__box {
    padding-inline: 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .benefits__box {
    padding-inline: 5rem;
  }
}
.benefits__box::before {
  position: absolute;
  top: -0.5rem;
  left: 0.75rem;
  content: "";
  display: block;
  width: 0.2rem;
  height: calc(100% - 0.5rem);
  background: #a89b6e;
  transition: 0.2s;
}
@media screen and (min-width: 681px) {
  .benefits__box::before {
    left: 1.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .benefits__box::before {
    left: 2rem;
  }
}
.benefits__box + .benefits__box {
  margin-top: 1rem;
}
@media screen and (min-width: 1025px) {
  .benefits.benefits-ul {
    grid-template-columns: 240px 1fr;
  }
}
.benefits.benefits-ul .benefits__list {
  list-style-type: none;
  padding-left: 0;
}
.benefits.benefits-ul .benefits__box {
  font-size: 1.125rem;
  color: #30487c;
}

.feature {
  position: relative;
  background: rgb(242.5875, 240.7327586207, 234.3125);
  mix-blend-mode: multiply;
}
.feature::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../img/common/bg_noise.webp) repeat;
  opacity: 0.05;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.feature__list {
  list-style-type: none;
  counter-reset: featurenum 0;
  padding: 0;
}
.feature__list .feature-box__ttl {
  position: relative;
}
.feature__list .feature-box__ttl::before {
  display: block;
  counter-increment: featurenum 1;
  content: "Feature" counter(featurenum, decimal-leading-zero);
  font-family: "Libre Baskerville", sans-serif;
  font-size: 0.875rem;
  color: #a89b6e;
}
.feature__list .feature-box__contents {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 801px) {
  .feature__list .feature-box__contents {
    flex-direction: row;
  }
}
@media screen and (min-width: 1025px) {
  .feature__list .feature-box__contents {
    gap: 5rem;
  }
}
.feature__list .feature-box__txt > :first-child {
  margin-top: 0;
}
.feature__list .feature-box__txt > :last-child {
  margin-bottom: 0;
}
.feature__list .feature-box__img {
  flex-shrink: 0;
  margin: 0;
  text-align: center;
}
@media screen and (min-width: 801px) {
  .feature__list .feature-box__img {
    width: 40%;
  }
}
@media screen and (min-width: 1200px) {
  .feature__list .feature-box__img {
    width: 45%;
  }
}
.feature__list .feature-box__img img {
  width: 100%;
}
@media screen and (min-width: 1200px) {
  .feature__list .feature-box__img.w30 {
    width: 30% !important;
  }
}
@media screen and (min-width: 1200px) {
  .feature__list .feature-box__img.w40 {
    width: 40% !important;
  }
}
@media screen and (min-width: 1200px) {
  .feature__list .feature-box__img.w50 {
    width: 50% !important;
  }
}
@media screen and (min-width: 1200px) {
  .feature__list .feature-box__img.w60 {
    width: 60% !important;
  }
}
@media screen and (min-width: 1200px) {
  .feature__list .feature-box__img.w_half {
    width: calc(50% - 2.5rem);
  }
}
@media screen and (min-width: 801px) {
  .feature__list .feature-box--reverse {
    flex-direction: row-reverse;
  }
}
.feature__list .feature-box + .feature-box {
  margin-top: 3rem;
}
@media screen and (min-width: 1025px) {
  .feature__list .feature-box + .feature-box {
    margin-top: 5rem;
  }
}
.feature__list .sblist-ul {
  list-style-type: none;
  margin-top: 1.5rem;
  padding-left: 0;
}
.feature__list .sblist-ul li + li {
  margin-top: 0.75rem;
}
.feature__list .sblist-ul li a {
  width: 100%;
  max-width: 320px;
}
.feature__list .sblist-ol {
  padding-left: 2rem;
}
.feature__list .sblist-ol__item::marker {
  color: #5e5432;
}
.feature__list .sblist-ol__ttl {
  margin-bottom: 0.25rem;
  color: #5e5432;
  font-weight: 500;
}
.feature__list .sblist-ol__txt {
  margin: 0;
}

.flow {
  position: relative;
  background: #fff;
  mix-blend-mode: multiply;
}
.flow::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../img/common/bg_noise.webp) repeat;
  opacity: 0.04;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.flow__list {
  counter-reset: stepnum 0;
  list-style-type: none;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding: 0;
}
@media screen and (min-width: 801px) {
  .flow__list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem;
    min-width: 720px;
    margin: auto;
  }
}
@media screen and (min-width: 1200px) {
  .flow__list {
    gap: 2.5rem;
  }
}
.flow__step {
  position: relative;
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 1.5rem;
  justify-content: flex-start;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 1.5rem;
}
@media screen and (min-width: 681px) {
  .flow__step {
    grid-template-columns: 120px 1fr;
  }
}
@media screen and (min-width: 801px) {
  .flow__step {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    align-items: flex-start;
  }
}
.flow__step::after {
  position: absolute;
  top: 0;
  left: 46px;
  z-index: 1;
  content: "";
  display: block;
  width: 4px;
  height: calc(100% + 1px);
  background: #a89b6e;
}
@media screen and (min-width: 681px) {
  .flow__step::after {
    left: 58px;
  }
}
@media screen and (min-width: 801px) {
  .flow__step::after {
    top: 58px;
    left: 100%;
    width: 100%;
    height: 4px;
  }
}
@media screen and (min-width: 1025px) {
  .flow__step::after {
    top: 78px;
  }
}
@media screen and (min-width: 1200px) {
  .flow__step::after {
    top: 86px;
  }
}
.flow__step:last-of-type::after {
  height: 60px;
}
@media screen and (min-width: 801px) {
  .flow__step:last-of-type::after {
    display: none;
  }
}
.flow__contents {
  grid-column: 2/3;
  grid-row: 1/2;
  position: relative;
  line-height: 1.5;
}
@media screen and (min-width: 801px) {
  .flow__contents {
    grid-column: 1/2;
    grid-row: 2/3;
    text-align: center;
  }
}
.flow__contents::before {
  counter-increment: stepnum 1;
  content: "step" counter(stepnum, decimal-leading-zero);
  color: #a89b6e;
  font-family: "Libre Baskerville", sans-serif;
}
.flow__ttl {
  margin: 0;
  font-weight: 500;
  font-size: 1.25rem;
}
.flow__txt {
  margin: 0;
  font-size: 0.875rem;
  color: #5d6773;
}
.flow__img {
  grid-column: 1/2;
  grid-row: 1/2;
  overflow: hidden;
  z-index: 2;
  width: 96px;
  height: 96px;
  margin: 0;
  border-radius: 50%;
  transition: 0.2s;
}
@media screen and (min-width: 681px) {
  .flow__img {
    width: 120px;
    height: 120px;
  }
}
@media screen and (min-width: 1025px) {
  .flow__img {
    width: 160px;
    height: 160px;
  }
}
@media screen and (min-width: 1200px) {
  .flow__img {
    width: 176px;
    height: 176px;
  }
}

.stroke .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.97) 10%, rgba(245, 247, 249, 0.7) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/stroke/bg_header.webp);
  background-position: center;
}
@media screen and (min-width: 1025px) {
  .stroke .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/stroke/bg_header.webp);
    background-position: center;
    background-size: cover;
  }
}
.stroke .stroke-table01 td {
  text-align: center;
}
@media screen and (min-width: 801px) {
  .stroke .stroke-table01 th:first-of-type {
    width: 15%;
  }
}
@media screen and (min-width: 801px) {
  .stroke .stroke-table02 th:first-of-type {
    width: 20%;
  }
}

.spinal .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.97) 10%, rgba(245, 247, 249, 0.7) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/spinal/bg_header.webp);
  background-position: center, center calc(50% + 20px);
}
@media screen and (min-width: 681px) {
  .spinal .page-ttl__body {
    background-position: center;
  }
}
@media screen and (min-width: 1025px) {
  .spinal .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/spinal/bg_header.webp);
    background-position: center, right;
    background-size: cover, 80%;
  }
}
.spinal .bg_gray .contents + .contents {
  margin-top: -1.5rem;
  padding-top: 0;
}
@media screen and (min-width: 1025px) {
  .spinal .bg_gray .contents + .contents {
    margin-top: -2.5rem;
  }
}
@media screen and (min-width: 801px) {
  .spinal .spinal-table01 th:first-of-type {
    width: 22%;
  }
}
@media screen and (min-width: 1025px) {
  .spinal .spinal-table01 th:first-of-type {
    width: 16%;
  }
}
@media screen and (min-width: 801px) {
  .spinal .spinal-table02 th:first-of-type {
    width: 25%;
  }
}

.osteoarthritis .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.97) 10%, rgba(245, 247, 249, 0.7) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/osteoarthritis/bg_header.webp);
  background-position: center;
}
@media screen and (min-width: 1025px) {
  .osteoarthritis .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/osteoarthritis/bg_header.webp);
    background-position: center, right center;
    background-size: cover, 80%;
  }
}

.diabetes .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.97) 10%, rgba(245, 247, 249, 0.7) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/diabetes/bg_header.webp);
  background-position: center;
}
@media screen and (min-width: 1025px) {
  .diabetes .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/diabetes/bg_header.webp);
    background-position: center, right center;
    background-size: cover, 80%;
  }
}
.diabetes .caution__ttl {
  margin-bottom: 0.25rem;
  font-weight: 500;
  color: #5d6773;
}
.diabetes .caution p:first-of-type {
  margin-top: 0;
}

.liver .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.97) 10%, rgba(245, 247, 249, 0.7) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/liver/bg_header.webp);
  background-position: center;
}
@media screen and (min-width: 1025px) {
  .liver .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/liver/bg_header.webp);
    background-position: center, right center;
    background-size: cover, 80%;
  }
}
.liver .headline02, .liver .headline05 {
  margin-top: 3rem;
}
@media screen and (min-width: 1025px) {
  .liver .headline02, .liver .headline05 {
    margin-top: 3rem;
  }
}
.liver .headline03 {
  margin-top: 2rem;
}
.liver .liver-cause {
  display: grid;
  row-gap: 1rem;
  margin-block: 1.5rem 0;
}
@media screen and (min-width: 681px) {
  .liver .liver-cause {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .liver .liver-cause {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}
.liver .liver-cause__box {
  padding: 1.5rem;
  background: #f5f7f9;
}
@media screen and (min-width: 1025px) {
  .liver .liver-cause__box {
    padding: 2rem;
  }
}
.liver .liver-cause__box dd {
  margin: 0.5em 0 0;
}
.liver .target-dis {
  display: grid;
  gap: 0.5rem;
}
@media screen and (min-width: 681px) {
  .liver .target-dis {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .liver .target-dis {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}
@media screen and (min-width: 681px) {
  .liver .target-dis li {
    width: initial;
    min-width: initial;
  }
}
.liver .target-dis li + li {
  margin: 0;
}
@media screen and (min-width: 1025px) {
  .liver .hepatitis {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .liver .hepatitis__box {
    padding-inline: 3rem;
  }
}

.sports-injury .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.97) 10%, rgba(245, 247, 249, 0.7) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/sports-injury/bg_header.webp);
  background-position: center;
}
@media screen and (min-width: 1025px) {
  .sports-injury .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/sports-injury/bg_header.webp);
    background-position: center, right center;
    background-size: cover, 80%;
  }
}
.sports-injury .lead__img img {
  width: 100%;
}
.sports-injury .target-dis {
  display: grid;
  gap: 0.5rem;
  padding-left: 0;
}
@media screen and (min-width: 681px) {
  .sports-injury .target-dis {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .sports-injury .target-dis {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}
@media screen and (min-width: 681px) {
  .sports-injury .target-dis li {
    width: initial;
    min-width: initial;
  }
}
.sports-injury .target-dis li + li {
  margin: 0;
}
.sports-injury .supplement-box02 .target-dis li {
  background: #fff;
}
.sports-injury .supplement-box02 .target-dis li::before {
  background: #a89b6e;
}
.sports-injury .headline02, .sports-injury .headline05 {
  margin-top: 3rem;
}
@media screen and (min-width: 1025px) {
  .sports-injury .headline02, .sports-injury .headline05 {
    margin-top: 3rem;
  }
}

.chronic-pain .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.99) 10%, rgba(245, 247, 249, 0.7) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/chronic-pain/bg_header.webp);
  background-position: center;
  background-size: cover, 110%;
}
@media screen and (min-width: 1025px) {
  .chronic-pain .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/chronic-pain/bg_header.webp);
    background-position: center, right center;
    background-size: cover, 80%;
  }
}
.chronic-pain .headline02, .chronic-pain .headline05 {
  margin-top: 3rem;
}
@media screen and (min-width: 1025px) {
  .chronic-pain .headline02, .chronic-pain .headline05 {
    margin-top: 3rem;
  }
}
@media screen and (min-width: 801px) {
  .chronic-pain .chronic-pain-table01 th:first-of-type {
    width: 20%;
  }
}
.chronic-pain .target-dis {
  display: grid;
  gap: 0.5rem;
  padding-left: 0;
}
@media screen and (min-width: 681px) {
  .chronic-pain .target-dis {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .chronic-pain .target-dis {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}
@media screen and (min-width: 681px) {
  .chronic-pain .target-dis li {
    width: initial;
    min-width: initial;
  }
}
.chronic-pain .target-dis li + li {
  margin: 0;
}

.ed .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.97) 10%, rgba(245, 247, 249, 0.7) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/ed/bg_header.webp);
  background-position: center;
}
@media screen and (min-width: 1025px) {
  .ed .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/ed/bg_header.webp);
    background-position: center, right center;
    background-size: cover, 80%;
  }
}
.ed .ed-list {
  list-style-type: none;
  display: grid;
  gap: 1rem;
  margin-block: 1.5rem 0;
  padding: 0;
}
.ed .ed-list__box {
  height: 100%;
  padding: 1.5rem;
  background: #f5f7f9;
}
.ed .ed-list__item {
  position: relative;
  padding-left: 1.375em;
}
.ed .ed-list__item::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0.3125em;
  width: 0.75rem;
  height: 0.75rem;
  background: url(../img/common/icn_check_gold.svg) no-repeat;
  background-size: cover;
}
.ed .ed-list__detail {
  margin: 0.5rem 0 0;
}
@media screen and (min-width: 801px) {
  .ed .causes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}
@media screen and (min-width: 1200px) {
  .ed .causes {
    gap: 1.5rem;
  }
}
@media screen and (min-width: 681px) {
  .ed .symptom {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .ed .symptom {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .ed .symptom {
    gap: 1.5rem;
  }
}
.ed .self-check {
  max-width: 840px;
  margin: 1.5rem auto 0;
  padding: 1.5rem;
  background: rgb(242.5875, 240.7327586207, 234.3125);
  position: relative;
  background: rgb(242.5875, 240.7327586207, 234.3125);
  mix-blend-mode: multiply;
}
.ed .self-check::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../img/common/bg_noise.webp) repeat;
  opacity: 0.03;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.ed .self-check {
  border: 1px solid rgba(255, 255, 255, 0.3);
  outline: 1px solid rgb(225.375, 220.9482758621, 205.625);
}
@media screen and (min-width: 801px) {
  .ed .self-check {
    padding: 2rem 3rem;
  }
}
@media screen and (min-width: 1025px) {
  .ed .self-check {
    margin-top: 2rem;
    padding: 3rem 5rem;
  }
}
.ed .self-check .check-list {
  list-style-type: none;
  counter-reset: checklist 0;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 1025px) {
  .ed .self-check .check-list {
    padding: 2rem;
  }
}
.ed .self-check .check-list__item {
  position: relative;
  display: flex;
  padding: 0.75rem 0.5rem;
  line-height: 1.5;
  border-bottom: 1px solid rgb(234.9375, 231.9396551724, 221.5625);
}
.ed .self-check .check-list__item::before {
  counter-increment: checklist 1;
  content: "Q" counter(checklist);
  padding-right: 0.75rem;
  font-size: 1.25rem;
  font-family: "Libre Baskerville", sans-serif;
  color: #a89b6e;
}
.ed .self-check .check-list__item:first-of-type {
  padding-top: 0;
}
.ed .self-check .check-list__item:last-of-type {
  padding-bottom: 0;
  border: none;
}
.ed .self-check .result {
  margin-top: 1.5rem;
}
.ed .self-check .result__ttl {
  font-size: 1.125rem;
}
.ed .self-check .result__answer {
  margin: 0;
}
.ed .self-check .result__answer dt {
  position: relative;
  padding-left: 1.25em;
  margin-top: 0.75rem;
  font-weight: 500;
  color: #5e5432;
}
.ed .self-check .result__answer dt::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0.3125em;
  width: 0.75rem;
  height: 0.75rem;
  background: url(../img/common/icn_check_gold.svg) no-repeat;
  background-size: cover;
}
.ed .self-check .result__answer dt:first-of-type {
  margin-top: 0;
}
.ed .self-check .result__answer dd {
  margin-left: 1.5rem;
}
.ed {
  --diag-step-box-margin: 1.5rem;
}
@media screen and (min-width: 1025px) {
  .ed {
    --diag-step-box-margin: 2rem;
  }
}
.ed .diag-step {
  list-style-type: none;
  counter-reset: diag-step 0;
  max-width: 840px;
  margin: auto;
  padding-left: 0;
}
.ed .diag-step__box {
  position: relative;
  margin-top: var(--diag-step-box-margin);
  padding: 1.5rem;
  background: #f5f7f9;
}
@media screen and (min-width: 801px) {
  .ed .diag-step__box {
    padding: 2rem 3rem;
  }
}
@media screen and (min-width: 1025px) {
  .ed .diag-step__box {
    padding-inline: 5rem;
  }
}
.ed .diag-step__box::before {
  position: absolute;
  bottom: calc(var(--diag-step-box-margin) * -1);
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: 0.25rem;
  height: var(--diag-step-box-margin);
  background: #a89b6e;
}
.ed .diag-step__box:last-of-type::before {
  display: none;
}
.ed .diag-step__ttl {
  margin-block: 0 0.5rem;
  line-height: 1.5;
  vertical-align: middle;
}
.ed .diag-step__ttl::before {
  padding-right: 0.5rem;
  counter-increment: diag-step 1;
  content: counter(diag-step, decimal-leading-zero);
  font-size: 2rem;
  font-family: "Libre Baskerville", sans-serif;
  color: #a89b6e;
  line-height: 1;
}
.ed .diag-step__body > :first-child {
  margin-top: 0;
}
.ed .diag-step__body > :last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 801px) {
  .ed .diag-sblist__box {
    display: grid;
    grid-template-columns: 7.5rem 1fr;
  }
}
.ed .diag-sblist__box + .diag-sblist__box {
  margin-top: 0.75rem;
}
.ed .diag-sblist__ttl {
  color: #30487c;
}
.ed .diag-sblist__body {
  margin-left: 0.5rem;
  padding-left: 0.5rem;
  border-left: 1px solid #e2e6ea;
}
@media screen and (min-width: 801px) {
  .ed .diag-sblist__body {
    padding-left: 1rem;
  }
}
.ed .caution__ttl {
  margin-block: 0 0.25rem;
  font-weight: 500;
  color: #5e5432;
}
.ed .caution p:first-of-type {
  margin-top: 0;
}

.beauty .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.97) 10%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/beauty/bg_header.webp);
  background-position: center, right calc(50% + 10px);
  background-size: cover;
}
@media screen and (min-width: 1025px) {
  .beauty .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/beauty/bg_header.webp);
    background-position: center, right center;
    background-size: cover, 80%;
  }
}
.beauty .beauty-lead-list {
  list-style-type: none;
  display: grid;
  gap: 0.5rem;
  padding: 0;
}
.beauty .beauty-lead-list li {
  position: relative;
  padding: 0.5rem 1rem 0.5rem 2.75rem;
  font-size: 1.25rem;
  border-bottom: 2px solid rgb(242.5875, 240.7327586207, 234.3125);
}
.beauty .beauty-lead-list li::before {
  content: "";
  position: absolute;
  top: 1em;
  left: 1rem;
  width: 0.875rem;
  height: 0.875rem;
  background: url(../img/common/icn_check_gold.svg) no-repeat;
  background-size: cover;
}
.beauty .worries .target-ttl {
  margin-top: 2rem;
}
.beauty .worries .target-dis li {
  width: 100%;
  min-width: initial;
}
.beauty .conventional-treatment__box {
  padding: 1.5rem;
  background: #f5f7f9;
}
@media screen and (min-width: 1025px) {
  .beauty .conventional-treatment__box {
    padding-inline: 3rem;
  }
}
.beauty .conventional-treatment__list {
  margin: 0;
  padding: 0;
}
.beauty .conventional-treatment__list li {
  position: relative;
  padding: 0.75rem 1rem 0.75rem 2rem;
  background: #fff;
  border: 1px solid rgb(235.4375, 239.35, 243.2625);
}
.beauty .conventional-treatment__list li::before {
  content: "";
  position: absolute;
  top: 1em;
  left: 0.75em;
  width: 0.75rem;
  height: 0.75rem;
  background: url(../img/common/icn_check_gold.svg) no-repeat;
  background-size: cover;
}
@media (min-width: 1025px) and (max-width: 1200px) {
  .beauty .benefits {
    grid-template-columns: 168px 1fr;
  }
}

.aga {
  position: relative;
}
.aga .page-ttl__body {
  background-image: linear-gradient(to bottom, rgba(245, 247, 249, 0.97) 10%, rgba(245, 247, 249, 0.7) 70%, rgba(245, 247, 249, 0.5) 100%), url(../img/treatment/aga/bg_header.webp);
  background-position: center;
}
@media screen and (min-width: 1025px) {
  .aga .page-ttl__body {
    background-image: linear-gradient(to right, #f5f7f9 20%, rgba(245, 247, 249, 0.5) 70%, rgba(245, 247, 249, 0.35) 85%, #f5f7f9 100%), url(../img/treatment/aga/bg_header.webp);
    background-position: center, right center;
    background-size: cover, 80%;
  }
}
.aga .lead__btn {
  margin-block: 1.5rem;
}
.aga .diffuse-alopecia {
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .aga .aga-table01 th:first-of-type {
    width: 15%;
  }
}
@media screen and (min-width: 1025px) {
  .aga .aga-table01 th:nth-of-type(2) {
    width: 15%;
  }
}
@media screen and (min-width: 1025px) {
  .aga .aga-table01 th:nth-of-type(3) {
    width: 25%;
  }
}
@media screen and (min-width: 1025px) {
  .aga .aga-table01 td:nth-of-type(1) {
    text-align: center;
  }
}
.aga .aga-table01 thead {
  display: none;
}
@media screen and (min-width: 1025px) {
  .aga .aga-table01 thead {
    display: table-header-group;
  }
}
.aga .aga-table01 th,
.aga .aga-table01 td {
  display: block;
}
@media screen and (min-width: 1025px) {
  .aga .aga-table01 th,
  .aga .aga-table01 td {
    display: table-cell;
  }
}
.aga .aga-table01 tr {
  border: none;
}
@media screen and (max-width: 1024px) {
  .aga .aga-table01 tbody :where(th) {
    background: #d4c89c;
    color: rgb(25.0535714286, 31.5892857143, 35.9464285714);
  }
}
.aga .aga-table01 tbody :where(td) {
  border-bottom: 1px solid rgb(230.5323943662, 223.7042253521, 198.6676056338);
  border-left: 1px solid rgb(230.5323943662, 223.7042253521, 198.6676056338);
}
.aga .aga-table01 tbody :where(td)::before {
  content: attr(data-label);
  display: block;
  margin-bottom: 0.25rem;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  color: #5e5432;
  background: rgb(242.5875, 240.7327586207, 234.3125);
}
@media screen and (min-width: 1025px) {
  .aga .aga-table01 tbody :where(td)::before {
    display: none;
  }
}
.aga .aga-table01 tbody :where(td)::after {
  display: none;
}
.aga .aga-table01__main th {
  font-weight: bold;
  color: #fff;
  background: #243b55;
  border: 3px solid #243b55;
}
.aga .aga-table01__main td {
  border: 3px solid #243b55;
  border-top: none;
}
@media screen and (min-width: 1025px) {
  .aga .aga-table01__main td {
    border-top: 3px solid #243b55;
  }
}
.aga .aga-table01__main td::before {
  color: #30487c;
  background: #f5f7f9;
}
@media screen and (min-width: 1025px) {
  .aga .aga-faq .contents {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 5rem;
  }
}
.aga .aga-faq__ttl {
  height: -moz-fit-content;
  height: fit-content;
}