@charset "UTF-8";
/*Font
------------------------------------------*/
/*Color
------------------------------------------*/
/* z-index
------------------------------------------*/
/* Media queries PCファースト
------------------------------------------*/
/*
よく使用するmixin
------------------------------------------*/
.l-lower-contents {
  margin-bottom: var(--vw-size17);
}
@media screen and (max-width: 991px) {
  .l-lower-contents {
    margin-bottom: var(--vw-size36);
  }
}

@media screen and (min-width: 992px) {
  .step-list {
    background: rgba(0, 0, 0, 0.05);
    border-top: 1px solid rgba(0, 0, 0, 0.2);
  }
  .step-list__item {
    position: relative;
    padding-top: var(--vw-size56);
    padding-left: var(--vw-size27);
    padding-right: var(--vw-size74);
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  }
  .step-list__item:nth-child(1), .step-list__item:nth-child(2) {
    height: var(--vw-size200);
  }
  .step-list__item:nth-child(3) {
    height: auto;
    padding-right: 0;
    padding-bottom: var(--vw-size56);
  }
  .step-list__item:nth-child(4) {
    height: auto;
    padding-right: 0;
    padding-bottom: var(--vw-size56);
  }
  .step-list__item::after {
    content: "";
    width: var(--vw-size104);
    height: 1px;
    background: #006261;
    position: absolute;
    top: -1px;
    left: 0;
  }
  .step-list__item dl {
    display: flex;
  }
  .step-list__item dl dt {
    display: flex;
  }
  .step-list__item dl dt .num {
    font-family: YakuHanMP, "EB Garamond", serif;
    font-size: max(11px, var(--vw-size50));
    color: #006261;
    line-height: 1.3;
  }
  .step-list__item dl dt .num::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.3) * 0.5em);
    content: "";
  }
  .step-list__item dl dt .num::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.3) * 0.5em);
    content: "";
  }
  .step-list__item dl dt .title {
    font-family: YakuHanMP, "Noto Serif JP", serif;
    font-size: max(11px, var(--vw-size30));
    color: #006261;
    line-height: 1.3;
    width: calc(var(--vw-size180) * 2);
    margin-left: var(--vw-size80);
  }
  .step-list__item dl dd {
    display: flex;
    margin-left: var(--vw-size68);
  }
  .step-list__item dl dd .text {
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  .step-list__item dl dd .text span {
    font-size: max(12px, var(--vw-size17));
    line-height: 1.8;
  }
  .step-list__item dl dd .text .c-button__black span {
    font-weight: 500;
  }
  .step-list__item dl dd .text .caption {
    font-size: max(11px, var(--vw-size11));
    margin-top: var(--vw-size10);
  }
  .step-list__item dl dd .text a {
    margin-top: var(--vw-size20);
  }
  .step-list__item dl dd .img {
    width: calc(var(--vw-size158) * 2);
    padding: 0 var(--vw-size74);
  }
  .step-list__item dl dd .img img {
    width: auto;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
  }
}
@media screen and (max-width: 991px) {
  .step-list {
    display: flex;
    flex-direction: column;
    gap: var(--vw-size46);
  }
  .step-list__item dl dt .num {
    font-family: YakuHanMP, "EB Garamond", serif;
    font-size: max(11px, var(--vw-size50));
    color: #006261;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: var(--vw-size8);
  }
  .step-list__item dl dt .num::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #006261;
  }
  .step-list__item dl dt .title {
    font-family: YakuHanMP, "Noto Serif JP", serif;
    font-size: max(11px, var(--vw-size30));
    color: #006261;
    line-height: 1.3;
    display: block;
    margin-top: var(--vw-size10);
  }
  .step-list__item dl dd .text {
    display: flex;
    flex-direction: column;
    margin-top: var(--vw-size12);
  }
  .step-list__item dl dd .text > span {
    font-size: max(12px, var(--vw-size17));
    line-height: 1.8;
  }
  .step-list__item dl dd .text .caption {
    font-size: max(11px, var(--vw-size11));
    margin-top: var(--vw-size10);
  }
  .step-list__item dl dd .text a {
    width: var(--vw-size170);
    height: var(--vw-size40);
    justify-content: flex-start;
    margin-top: var(--vw-size20);
  }
}
@media screen and (max-width: 991px) and (max-width: 991px) {
  .step-list__item dl dd .text a {
    width: var(--vw-size200);
  }
}
@media screen and (max-width: 991px) {
  .step-list__item dl dd .img {
    margin-top: var(--vw-size28);
  }
  .step-list__item dl dd .img img {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
  }
}