.journal-contents figure img {
  width: 100%;
}

.journal-contents .c-redline-l {
  position: relative;
}

.journal-contents .c-redline-l::after {
  content: "";
  position: absolute;
  top: 130px;
  right: 0;
  width: 5px;
  height: 80px;
  background: url("../img/border01.jpg") no-repeat;
}

@media screen and (min-width: 961px) {
  .journal-contents .c-redline-l::after {
    top: 460px;
    right: inherit;
    left: 1100px;
    width: 7px;
    height: 300px;
  }
}

.journal-contents .c-redline-m {
  position: relative;
}

.journal-contents .c-redline-m::after {
  content: "";
  position: absolute;
  top: 130px;
  right: 0;
  width: 5px;
  height: 80px;
  background: url("../img/border01.jpg") no-repeat;
}

@media screen and (min-width: 961px) {
  .journal-contents .c-redline-m::after {
    top: 460px;
    right: inherit;
    left: 960px;
    width: 7px;
    height: 220px;
  }
}

.journal-contents .c-sp-figure-img {
  width: 70%;
}

.journal-contents .ecm--top-hero {
  max-width: none;
  width: 100vw;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin: 0 auto;
  margin-top: 20px;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm--top-hero {
    max-width: 1230px;
    width: calc(100vw - 17px);
    margin-top: 40px;
  }
}

.journal-contents .ecm-hero-item-logo-bg::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 120px;
  height: 158px;
  top: 100%;
  right: 0;
  background: url("../img/sp-bg-logo.jpg") no-repeat;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-hero-item-logo-bg::after {
    width: 480px;
    height: 633px;
    background: url("../img/bg-logo.jpg") no-repeat;
  }
}

.journal-contents .heading-box {
  padding-left: 20px;
  min-height: 288px;
}

@media screen and (min-width: 961px) {
  .journal-contents .heading-box {
    padding-left: 90px;
    padding-top: 30px;
    min-height: 280px;
  }
}

.journal-contents .text-category {
  display: block;
  font-size: 14px;
  color: #8f8f8f;
}

.journal-contents .ecm-text__name span {
  display: block;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-text__name span {
    display: inline;
  }
}

.journal-contents .ecm-heading1 {
  font-size: 22px !important;
  padding-top: 0 !important;
  position: relative;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-heading1 {
    font-size: 32px !important;
    padding-top: 0px !important;
  }
}

.journal-contents .ecm-heading1::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 5px;
  height: 334px;
  top: -60px;
  left: -26px;
  background: url("../img/border01.jpg") no-repeat;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-heading1::before {
    width: 7px;
    height: 357px;
    top: -90px;
    left: -34px;
  }
}

.journal-contents .ecm-heading1__s-size span {
  font-size: 22px !important;
}

.journal-contents .ecm-heading2 {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
  border-bottom: none !important;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-heading2 {
    margin-top: 60px !important;
    font-size: 22px !important;
  }
}

.journal-contents .ecm-heading3 {
  font-size: 15px !important;
  padding-left: 0 !important;
  margin-top: 20px !important;
  color: #DE0716;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-heading3 {
    font-size: 20px !important;
    margin-top: 60px !important;
    padding-left: 0 !important;
    margin-bottom: 10px !important;
  }
}

.journal-contents .ecm-heading3::before {
  content: "";
  display: inline;
  width: 0;
  height: 0;
  background-color: inherit;
  position: inherit;
}

.journal-contents .ecm-heading3 span {
  display: block;
  color: #212529;
}

.journal-contents .flex-lg-row-reverse .ecm-heading2 {
  margin-top: 20px !important;
}

.journal-contents .icon-section {
  position: relative;
}

.journal-contents .icon-section .icon-left-section {
  display: block;
  position: absolute;
  top: 20px;
  width: 12px;
  height: 85px;
  -webkit-transform: translateX(-20px);
          transform: translateX(-20px);
  background: url("../img/sp_img_red.svg") no-repeat top left;
}

@media screen and (min-width: 961px) {
  .journal-contents .icon-section .icon-left-section {
    top: 60px;
    width: 41px;
    height: 166px;
    -webkit-transform: translateX(-50vw) translateX(480px);
            transform: translateX(-50vw) translateX(480px);
    background: url("../img/img_red.svg") no-repeat top left;
  }
}

.journal-contents .icon-section .icon-right-section {
  display: block;
  position: absolute;
  top: 20px;
  width: 12px;
  height: 85px;
  -webkit-transform: translateX(-20px);
          transform: translateX(-20px);
  background: url("../img/sp_img_red.svg") no-repeat top left;
}

@media screen and (min-width: 961px) {
  .journal-contents .icon-section .icon-right-section {
    top: 60px;
    width: 41px;
    height: 166px;
    -webkit-transform: translateX(960px) translateX(50vw) translateX(-530px);
            transform: translateX(960px) translateX(50vw) translateX(-520px);
    background: url("../img/img_red.svg") no-repeat top left;
  }
}

@media screen and (min-width: 961px) {
  .journal-contents .recommend-position {
    top: 514px !important;
  }
}

.journal-contents .ecm-block .ecm-bootstrap table, .journal-contents .ecm-main .ecm-bootstrap table {
  border-collapse: separate;
}

.journal-contents .ecm-block .ecm-bootstrap .table-bordered, .journal-contents .ecm-block .ecm-bootstrap .table-bordered td, .journal-contents .ecm-block .ecm-bootstrap .table-bordered th, .journal-contents .ecm-main .ecm-bootstrap .table-bordered, .journal-contents .ecm-main .ecm-bootstrap .table-bordered td, .journal-contents .ecm-main .ecm-bootstrap .table-bordered th {
  border: none;
}

.journal-contents .table-journal {
  border: 2px solid #99a2a1 !important;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
}

.journal-contents .table-journal thead th, .journal-contents .table-journal thead th, .journal-contents .table-journal tbody th, .journal-contents .table-journal tbody td {
  padding: .6em 3em;
  border-bottom: 1px solid #000 !important;
}

.journal-contents .table-journal thead th {
  background-color: #DE0716;
  color: #040404;
}

.journal-contents .table-journal tbody th {
  background-color: #ccc;
  color: #040404;
}

.journal-contents .table-journal thead th + th, .journal-contents .table-journal tbody td {
  border-left: 1px solid #000 !important;
}

.journal-contents .table-journal tbody tr:last-child th, .journal-contents .table-journal tbody tr:last-child td {
  border-bottom: none !important;
}

.journal-contents .table-journal thead tr:first-child th:first-child {
  border-radius: 6px 0 0 0;
}

.journal-contents .table-journal thead tr:first-child th:last-child {
  border-radius: 0 6px 0 0;
}

.journal-contents .table-journal tbody tr:last-child th:first-child {
  border-radius: 0 0 0 6px;
}

.journal-contents .table-journal tbody tr:last-child th:last-child {
  border-radius: 0 0 6px 0;
}

.journal-contents .ecm-skincare-review-contents {
  background-color: #D3D2D2;
  padding: 20px;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-product-list__bg {
    background: url("../img/bg-product-list.gif") top left repeat-x;
    background-size: 960 310;
  }
}

.journal-contents .ecm-main .ecm-product-list-item__contents__title {
  margin-top: 20px;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-main .ecm-product-list-item__contents__title {
    font-size: 16px;
    margin-top: 10px;
  }
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-main .ecm-product-list-item__contents__price {
    font-size: 14px;
  }
}

.journal-contents .ecm-product-list-item__image {
  padding: 0;
}

.journal-contents .ecm-product-list-item__image::before {
  padding-top: 114%;
}

.journal-contents .ecm-product-list-item__image img {
  position: absolute;
  max-width: calc(100% - 20px * 2);
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  -webkit-box-shadow: 0 0 4px #999999;
          box-shadow: 0 0 4px #999999;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-product-list-item__image img {
    max-width: 100%;
  }
}

.journal-contents .ecm-product-list-item__contents {
  padding-top: 144%;
}

.journal-contents .ecm-product-list-item__contents__price {
  bottom: 22px;
}

.journal-contents .ecm-product-list-item__contents__button {
  padding-top: 80px;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-main .ecm-product-list--column-4 .ecm-product-list-item {
    padding: 0 15px;
  }
}

.journal-contents .ecm-main .ecm-product-list--column-4 .ecm-product-list-item__image::before {
  padding-top: 140%;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-main .ecm-product-list--column-4 .ecm-product-list-item__image::before {
    padding-top: 160%;
  }
}

.journal-contents .ecm-main .ecm-product-list--column-4 .ecm-product-list-item__contents {
  padding-top: 180%;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-main .ecm-product-list--column-4 .ecm-product-list-item__contents {
    padding-top: 184%;
  }
}

.journal-contents .ecm-recommend-contents {
  margin-top: 20px;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-recommend-contents {
    margin-top: 60px;
  }
}

.journal-contents .ecm-recommend-contents .ecm-recommend-contents__ttl {
  font-size: 20px;
  line-height: 2;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-recommend-contents .ecm-recommend-contents__ttl {
    font-size: 28px;
  }
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-recommend-contents .ecm-recommend-contents-list {
    margin-top: 20px;
  }
}

.journal-contents .ecm-recommend-contents .ecm-recommend-contents-list .ecm-recommend-contents-list-item {
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-recommend-contents .ecm-recommend-contents-list .ecm-recommend-contents-list-item {
    -ms-flex-preferred-size: 385px;
        flex-basis: 385px;
    margin-right: 18px;
  }
}

.journal-contents .ecm-recommend-contents .ecm-recommend-contents-list .ecm-recommend-contents-list-item .ecm-recommend-contents-list-item__image img {
  width: 100%;
}

.journal-contents .ecm-recommend-contents .ecm-recommend-contents-list .ecm-recommend-contents-list-item .ecm-recommend-contents-list-item__contents {
  padding: 14px 0;
}

.journal-contents .ecm-recommend-contents .ecm-recommend-contents-list .ecm-recommend-contents-list-item .ecm-recommend-contents-list-item__contents .ecm-heading2 {
  margin-top: 0 !important;
  font-size: 16px !important;
  line-height: 1.4;
}

@media screen and (min-width: 961px) {
  .journal-contents .ecm-recommend-contents .ecm-recommend-contents-list .ecm-recommend-contents-list-item .ecm-recommend-contents-list-item__contents .ecm-heading2 {
    font-size: 22px !important;
  }
}
