@font-face {
  font-family: "Local Noto Sans JP";
  src: local("Noto Sans JP");
}
.align-item-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.bk-color-theme-grd {
  width: 100%;
  background: linear-gradient(61deg, #231E19 0.5%, #4F473E 99.85%);
}

.bk-color-theme {
  width: 100%;
  background: linear-gradient(61deg, #231E19 0.5%, #4F473E 99.85%);
}

main ol li::before {
  color: #AF2038;
}
main ul.check > li::before {
  background: url(../images/icon_check_theme.svg) center center no-repeat;
}
main ul.list-anchor > li::before {
  background: url(../images/icon_anchor_theme.svg) center center no-repeat;
}
main ul.list-theme-icon > li::before {
  background-color: #AF2038;
}
@media (any-hover: hover) {
  main .text-link:hover,
  main .text-link-blue:hover {
    color: #AF2038;
  }
}
@media (any-hover: hover) {
  main .text-link:hover::after,
  main .text-link-blue:hover::after {
    background: url(../images/arrow_blank_theme.svg) center no-repeat;
  }
}

.page-title {
  background: linear-gradient(61deg, #231E19 0.5%, #4F473E 99.85%);
}
.page-title::after {
  background-image: url(../images/back_icon_title_theme.svg);
}
.page-title .h1-label {
  color: #fff;
}
.page-title h1 {
  color: #fff;
}

body h1.h1-type-center-theme::after,
.h1.h1-type-center-theme::after,
h2.h1-type-center-theme::after,
.h2.h1-type-center-theme::after {
  background: #AF2038;
}
body h1.h2-type-center-theme::after,
.h1.h2-type-center-theme::after,
h2.h2-type-center-theme::after,
.h2.h2-type-center-theme::after {
  background: #AF2038;
}

.entry-dtail-title-container h1::after {
  background: #AF2038;
}

body h1.h1-type-center::after,
.h1.h1-type-center::after {
  background: #AF2038;
}

h2.h2-type-underline::after,
.h2.h2-type-underline::after {
  background-color: #AF2038;
}
h2.h2-type-leftline,
.h2.h2-type-leftline {
  border-left: solid 2px #AF2038;
}

h3.h3-type-leftline,
.h3.h3-type-leftline {
  border-left: solid 2px #AF2038;
}

.copy-toast {
  background: #AF2038;
}

@media (any-hover: hover) {
  .search-form-block .search-form-block-btn:hover {
    color: #AF2038;
    border-color: #AF2038;
  }
  .search-form-block .search-form-block-btn:hover::before {
    background: url(../images/icon_search_theme.svg) center center no-repeat;
  }
}

.icon-theme {
  background-color: #F4D2D7;
  border: solid 1px #F4D2D7;
}

@media (any-hover: hover) {
  .page-top button:hover {
    color: #AF2038;
  }
  .page-top button:hover::after {
    background: #fff url(../images/arrow_t_theme.svg) center center no-repeat;
    border-color: #AF2038;
  }
}

@media (any-hover: hover) {
  a.tag-icon:hover {
    border: solid 1px #AF2038;
    background-color: #AF2038;
  }
}

.btn.color-theme {
  background: #AF2038;
  border: solid 1px #AF2038;
  color: #fff;
}
@media (any-hover: hover) {
  .btn.color-theme:hover {
    background: #fff;
    border: solid 1px #AF2038;
    color: #AF2038;
  }
  .btn.color-theme:hover.size-l::after {
    background: url(../images/arrow_r_theme_l.svg) center center no-repeat;
    background-size: contain;
  }
  .btn.color-theme:hover.size-m::after, .btn.color-theme:hover.size-s::after {
    background: url(../images/arrow_r_theme.svg) center center no-repeat;
    background-size: contain;
  }
  .btn.color-theme:hover.icon-blank::after {
    background: url(../images/arrow_blank_theme.svg) center center no-repeat;
    background-size: contain;
  }
}

@media (any-hover: hover) {
  a:hover .btn.color-theme {
    background: #fff;
    border: solid 1px #AF2038;
    color: #AF2038;
  }
  a:hover .btn.color-theme.size-l::after {
    background: url(../images/arrow_r_theme_l.svg) center center no-repeat;
    background-size: contain;
  }
  a:hover .btn.color-theme.size-m::after, a:hover .btn.color-theme.size-s::after {
    background: url(../images/arrow_r_theme.svg) center center no-repeat;
    background-size: contain;
  }
  a:hover .btn.color-theme.icon-blank::after {
    background: url(../images/arrow_blank_theme.svg) center center no-repeat;
    background-size: contain;
  }
}

@media (any-hover: hover) {
  main .pager-container .pager-container-inner .pager-item:not(.current):hover {
    color: #AF2038;
    border: solid 1px #AF2038;
  }
  main .pager-container .pager-container-inner .pager-item:not(.current):hover .pager-arrow-svg path {
    fill: #AF2038;
  }
}

@media (any-hover: hover) {
  .entry-dtail a:not(.tag-icon, .btn, .more-link-btn, .more-link-text, .btn-icon-radio):hover {
    color: #AF2038;
  }
}

.block-edit h2::after {
  background-color: #AF2038;
}
.block-edit h3 {
  border-left: solid 2px #AF2038;
}

@media (any-hover: hover) {
  .block-edit p a:hover,
  .block-edit2 p a:hover {
    color: #AF2038;
  }
}
@media (any-hover: hover) {
  .block-edit p a:hover::after,
  .block-edit2 p a:hover::after {
    background: url(../images/arrow_blank_theme.svg) center no-repeat;
  }
}
@media (any-hover: hover) {
  .block-edit .color-dark p a:hover,
  .block-edit2 .color-dark p a:hover {
    color: #fff;
    text-decoration: none;
  }
}
.block-edit .color-dark p a[target=_blank]::after,
.block-edit2 .color-dark p a[target=_blank]::after {
  background: url(../images/arrow_blank_white.svg) center no-repeat;
  background-size: contain;
}

.label-ribbon {
  background: linear-gradient(85deg, #C81C37 70%, #DE7787 100%);
}

@media (any-hover: hover) {
  .btn.tab-btn:hover, .btn.tab-btn.is-active {
    background: linear-gradient(85deg, #C81C37 70%, #DE7787 100%);
  }
}

@media (any-hover: hover) {
  #main-container .recommend a:hover {
    color: #AF2038;
  }
}
#main-container .recommend .recommend-title {
  border-left: solid 2px #AF2038;
}

main .entry-dtail .before-after .before-after-label {
  border-left: solid 2px #AF2038;
}

@media (any-hover: hover) {
  #main-container .source a:hover {
    color: #AF2038;
  }
  #main-container .source a:hover::after {
    background: url(../images/arrow_blank_theme.svg) center no-repeat;
    background-size: contain;
  }
}

@media (any-hover: hover) {
  .topic-path-container .topic-path li a:hover {
    color: #AF2038;
  }
}

#cta-section2 {
  background: linear-gradient(23deg, rgb(253, 216, 221), rgb(255, 255, 255) 50%);
}

body .hero-ts {
  position: relative;
  z-index: 0;
  width: 100%;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  gap: 8rem;
  background-color: #231E19;
  overflow-x: hidden;
}
@media screen and (max-width: 767.99px) {
  body .hero-ts {
    min-height: -webkit-fit-content;
    min-height: -moz-fit-content;
    min-height: fit-content;
  }
}
@media screen and (min-width: 961px) {
  body .hero-ts .section-inner-container {
    padding-block: clamp(2rem, 2rem + 1vw, 2.5rem);
  }
}
@media screen and (max-width: 960.99px) {
  body .hero-ts .section-inner-container {
    padding-block: 2.5rem;
  }
}
body .hero-ts .rl-layout {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  gap: 0;
  min-height: 410px;
}
body .hero-ts .rl-layout .rl-layout-inner {
  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;
}
@media screen and (max-width: 767.99px) {
  body .hero-ts .rl-layout .rl-layout-inner {
    width: 100%;
    text-align: center;
    min-height: unset;
  }
}
body .hero-ts .rl-layout .rl-layout-inner.hero-ts-img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 45%;
          flex: 0 0 45%;
}
body .hero-ts .rl-layout .rl-layout-inner.hero-ts-text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 55%;
          flex: 0 0 55%;
}
body .hero-ts .rl-layout .rl-layout-inner.hero-ts-text .text-inner {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767.99px) {
  body .hero-ts .rl-layout .rl-layout-inner.hero-ts-text .text-inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    text-align: center;
  }
}
body .hero-ts .rl-layout .rl-layout-inner.hero-ts-text .text-inner h1 {
  text-align: left;
  margin-bottom: 0;
}
body .hero-ts .rl-layout .rl-layout-inner .text-type-special1 {
  color: #E9A4AF;
  margin-bottom: 0.25rem;
}
@media screen and (min-width: 961px) {
  body .hero-ts .rl-layout .rl-layout-inner .text-type-special1 {
    font-size: clamp(1.5rem, 0.75rem + 1.25vw, 1.75rem);
  }
}
@media screen and (max-width: 960.99px) {
  body .hero-ts .rl-layout .rl-layout-inner .text-type-special1 {
    font-size: 24px;
  }
}
body .hero-ts .rl-layout .rl-layout-inner .text-type-special2 {
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 2rem;
  color: #fff;
}
@media screen and (min-width: 961px) {
  body .hero-ts .rl-layout .rl-layout-inner .text-type-special2 {
    font-size: clamp(2.25rem, 1.125rem + 1.88vw, 2.625rem);
  }
}
@media screen and (max-width: 960.99px) {
  body .hero-ts .rl-layout .rl-layout-inner .text-type-special2 {
    font-size: 32px;
  }
}
body .hero-ts .rl-layout .rl-layout-inner .text-type-special3 {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767.99px) {
  body .hero-ts .ts-hero-pc-img {
    display: none;
    z-index: -1;
  }
}
@media screen and (min-width: 768px) {
  body .hero-ts .ts-hero-pc-img {
    display: block;
    z-index: 1;
  }
}
body .hero-ts .ts-hero-sp-img {
  background-position: right center;
}
@media screen and (max-width: 767.99px) {
  body .hero-ts .ts-hero-sp-img {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
  }
}
@media screen and (min-width: 768px) {
  body .hero-ts .ts-hero-sp-img {
    display: none;
    z-index: -1;
  }
}
@media (any-hover: hover) {
  body .hero-ts .hero-ts-btn1:hover {
    background-color: #AF2038;
    border-color: #AF2038;
  }
}

body .top-solution .rl-layout {
  position: relative;
  overflow: visible;
}
@media screen and (min-width: 768px) and (min-width: 961px) {
  body .top-solution .top-solution-rl-layout {
    padding-block: clamp(6rem, 6rem + 1vw, 8.75rem);
  }
}
@media screen and (min-width: 768px) and (max-width: 960.99px) {
  body .top-solution .top-solution-rl-layout {
    padding-block: 0rem;
  }
}
body .top-solution .top-solution-text {
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  body .top-solution .top-solution-text {
    left: 2rem;
  }
}
body .top-solution .top-solution-pc-bkimg {
  width: 100%;
  height: 100vh;
  right: 0;
  top: 50%;
  -webkit-transform: translatey(-50%);
          transform: translatey(-50%);
  background-position: right center;
  background-size: 53%;
  background-repeat: no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 767.99px) {
  body .top-solution .top-solution-pc-bkimg {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  body .top-solution .top-solution-pc-bkimg {
    display: block;
  }
}
body .top-solution .top-solution-sp-bkimg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767.99px) {
  body .top-solution .top-solution-sp-bkimg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  body .top-solution .top-solution-sp-bkimg {
    display: none;
  }
}
body .top-solution .top-solution-sp-bkimg img {
  max-width: 480px;
}
@media screen and (max-width: 767.99px) {
  body .top-solution .top-solution-sp-bkimg img {
    max-width: 100%;
  }
}

.ts-table-img {
  max-width: 800px;
}
@media screen and (max-width: 960.99px) {
  .ts-table-img {
    max-width: 100%;
  }
}