@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: #AF2038;
    border: solid 1px #AF2038;
    color: #fff;
  }
}
@media (any-hover: hover) and (any-hover: hover) {
  a:hover .btn.color-theme:hover {
    background: #fff;
    border: solid 1px #AF2038;
    color: #AF2038;
  }
  a:hover .btn.color-theme:hover.size-l::after {
    background: url(../images/arrow_r_theme_l.svg) center center no-repeat;
    background-size: contain;
  }
  a:hover .btn.color-theme:hover.size-m::after, a:hover .btn.color-theme:hover.size-s::after {
    background: url(../images/arrow_r_theme.svg) center center no-repeat;
    background-size: contain;
  }
  a:hover .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) {
  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 .top-solution .section-inner-container {
  position: relative;
  overflow: visible;
}
body .top-solution .top-solution-text {
  gap: 1rem;
}
body .top-solution .top-solution-pc-bkimg {
  width: 100%;
  height: 100vh;
  right: 0;
  top: 44%;
  -webkit-transform: translatey(-50%);
          transform: translatey(-50%);
  background-position: right center;
  background-size: 56%;
  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 {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  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%;
  }
}