/*
* howto.css
*
*/
/* --------------------------------
  intro
-------------------------------- */
@media (min-width: 1024px) {
  .intro {
    margin-bottom: 70px;
  }
}

.lead_content {
  padding-top: 40px;
}
@media (min-width: 1024px) {
  .lead_content {
    padding-top: 74px;
  }
}

.lead_copy {
  font-size: 1rem;
  font-weight: bold; 
  line-height: 1.75;
}
@media (min-width: 768px) {
  .lead_copy {
    margin: 0 auto;
    max-width: 1240px;
    font-size: 1.125rem;
    line-height: 2;
  }
}

.lead_detail {
  position: relative;
  margin: 32px auto 0;
  max-width: 440px;
}
@media (min-width: 1024px) {
  .lead_detail {
    margin-top: 70px;
    max-width: 1240px;
  }
}

.lead_detail_image {
  padding-top: 162.68657%;
  background: url(/sports/savas/img/howto/lead_detail_sm.webp?20230424) center center no-repeat;
  background-size: cover;
}
@media (min-width: 1024px) {
  .lead_detail_image {
    padding-top: 440px;
    background-image: url(/sports/savas/img/howto/lead_detail_lg.webp?20230424);
  }
}

.lead_note {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 23px 17px;
  color: #fff;
}
@media (min-width: 1024px) {
  .lead_note {
    right: 0;
    left: auto;
    padding: 20px;
  }
}
.lead_note li {
  margin-top: 2px;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.625rem;
  line-height: 1.6;
}
@media (min-width: 1024px) {
  .lead_note li {
    font-size: 0.75rem;
  }
}

.whey {
  margin: 24px 36px;
}
@media (min-width: 768px) {
  .whey {
    margin: 50px 10.48387% 0;
  }
}

.whey_container {
  padding: 36px 20px;
  background: #f0f0f0;
}
@media (min-width: 1024px) {
  .whey_container {
    margin: 0 auto; 
    padding: 58px 40px 68px;
    max-width: 1140px;
  }
}

.whey_heading {
  text-align: center; 
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 1024px) {
  .whey_heading {
    font-size: 1.375rem;
  }
}

.whey_txt {
  margin-top: 6px;
  font-size: 0.875rem;
  line-height: 1.78571;
}
@media (min-width: 1024px) {
  .whey_txt {
    margin-top: 12px;
    text-align: center; 
    line-height: 1.85714;
  }
}

.whey_btn {
  margin: 20px 0 0;
}
@media (min-width: 768px) {
  .whey_btn {
    margin: 26px auto 0; 
    max-width: 324px;
  }
}
.whey_btn img {
  width: 208px;
}
@media (min-width: 768px) {
  .whey_btn img {
    width: 235px;
  }
}

.btn-logo {
  overflow: hidden; 
  position: relative;
  padding: 3px;
  border-radius: 39px;
  height: 71px;
  background: #e3b865;
}
@media (min-width: 1024px) {
  .btn-logo {
    border-radius: 44px;
    height: 86px;
  }
}
.btn-logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 10px 28px;
  border-radius: inherit; 
  height: 100%;
  background: #fff;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1024px) {
  .btn-logo a {
    padding: 20px;
  }
  .btn-logo a:before {
    content: "";
    position: absolute;
    top: 0;
    right: -2%;
    width: 0;
    height: 100%;
    -webkit-transition: width 0.35s;
    transition: width 0.35s; 
    -webkit-transform: skewX(25deg); 
        -ms-transform: skewX(25deg); 
            transform: skewX(25deg);
    background: #000;
  }
  .btn-logo a:hover:before {
    left: -2%;
    width: 104%;
  }
  .btn-logo a:after {
    content: "";
    opacity: 0; 
    position: absolute; 
    top: 0; 
    right: 0; 
    bottom: 0; 
    left: 0;
    margin: auto;
    -webkit-transition: opacity 0.35s;
    transition: opacity 0.35s;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
  }
  .btn-logo a:after {
    background-image: url(/sports/savas/img/howto/logo_whey_ov.webp);
    background-position: center; 
    background-size: 235px auto;
  }
  .btn-logo a:hover:after {
    opacity: 1;
  }
}
.btn-logo a .icon_blank {
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  margin: auto;
  width: 9px;
  height: 8px;
}
@media (min-width: 1024px) {
  .btn-logo a .icon_blank {
    right: 19px;
    width: 11px;
    height: 9px;
  }
}
.btn-logo a .icon_blank:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.25s 0.15s;
  transition: opacity 0.25s 0.15s; 
  background: url(/sports/savas/img/common/icon_blank.webp) 0 0 no-repeat;
  background-size: contain;
}
@media (min-width: 1024px) {
  .btn-logo a .icon_blank:after {
    content: "";
    opacity: 0; 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity 0.25s 0.15s;
    transition: opacity 0.25s 0.15s;
    background: url(/sports/savas/img/common/icon_blank_ov.webp) 0 0 no-repeat;
    background-size: contain;
  }
}
@media (min-width: 1024px) {
  .btn-logo a:hover .icon_blank:before {
    opacity: 0;
  }
  .btn-logo a:hover .icon_blank:after {
    opacity: 1;
  }
}

.bridge {
  margin: 40px auto 0;
  padding: 0 20px;
  max-width: 670px;
}
@media (min-width: 1024px) {
  .bridge {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; 
    margin: 0 auto;
    padding: 0;
    max-width: 990px;
  }
}

@media (min-width: 1024px) {
  .bridge_img {
    width: 480px;
  }
}

.bridge_img img {
  width: 100%;
}

.bridge_txts {
  padding: 23px 24px 31px; 
  background: #f0f0f0;
}
@media (min-width: 1024px) {
  .bridge_txts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 40px 0 48px; 
    width: calc(100% - 480px);

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
  }
}
.bridge_txts a {
  text-decoration: underline;
}
.bridge_txts a:hover {
  text-decoration: none;
}

.bridge_ttl {
  letter-spacing: 0.05em;
  font-size: 1.1875rem; 
  font-weight: bold;
  line-height: 1.6;
}
@media (min-width: 1024px) {
  .bridge_ttl {
    font-size: 1.75rem;
  }
}

.bridge_txt {
  padding-top: 7px; 
  letter-spacing: 0.02em;
  font-size: 0.875rem;
  line-height: 1.8;
}
@media (min-width: 1024px) {
  .bridge_txt {
    padding-top: 14px; 
    font-size: 1rem;
  }
}

.bridge_list {
  padding-top: 9px;
}
@media (min-width: 1024px) {
  .bridge_list {
    padding-top: 10px;
  }
}
.bridge_list li,
.bridge_list a {
  font-size: 0.625rem;
}
@media (min-width: 1024px) {
  .bridge_list li,
  .bridge_list a {
    font-size: 0.75rem;
  }
}
.bridge_list li + li {
  margin-top: 8px;
}
@media (min-width: 1024px) {
  .bridge_list li + li {
    margin-top: 5px;
  }
}

.timing {
  margin: 62px 20px 48px;
}
@media (min-width: 768px) {
  .timing {
    margin: 75px 6.45161% 70px;
  }
}

@media (min-width: 1024px) {
  .timing_container {
    margin: 0 auto;
    max-width: 1240px;
  }
}

.timing_heading {
  font-size: 1.25rem;
  font-weight: bold;
}
@media (min-width: 1024px) {
  .timing_heading {
    font-size: 1.5rem;
  }
}

.timing_txt {
  margin-top: 13px;
  font-size: 0.875rem;
  line-height: 1.78571;
}
@media (min-width: 1024px) {
  .timing_txt {
    line-height: 1.85714;
  }
}

.timing_detail {
  margin: 25px auto 0;
  max-width: 440px;
}
@media (min-width: 1024px) {
  .timing_detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 32px;
    max-width: 1240px;
  }
  .timing_detail li {
    width: calc(100% / 3);
  }
}

.timing_note {
  margin-top: 22px;
}
@media (min-width: 1024px) {
  .timing_note {
    margin-top: 32px;
  }
}
.timing_note li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.625rem;
  line-height: 1.6;
}
@media (min-width: 1024px) {
  .timing_note li {
    font-size: 0.75rem;
    line-height: 1.83333;
  }
}
.timing_note li a {
  text-decoration: underline;
}
.timing_note li a:hover {
  text-decoration: none;
}

.products_link {
  margin: 0 20px;
}
@media (min-width: 768px) {
  .products_link {
    margin: 50px 9.28571% 0;
  }
}

@media (min-width: 1024px) {
  .products_link_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    max-width: 1140px;
  }
}

.products_link_img {
  width: 100%;
  height: 158px;
  background-position: center;
  background-size: cover;
}
@media (min-width: 1024px) {
  .products_link_img {
    width: 58%;
    height: 270px;
  }
}
@media (min-width: 1400px) {
  .products_link_img {
    height: 310px;
  }
}
.products_link_img img {
  display: none;
}

.products_link_txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 198px;
  background-color: #f0f0f0; 

  -webkit-box-pack: center; 

      -ms-flex-pack: center; 

          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1024px) {
  .products_link_txt {
    padding: 0 30px;
    width: 42%;
    height: auto;
  }
}

.produnts_link_ttl {
  margin-top: -8px;
  text-align: center; 
  letter-spacing: 0.05em;
  font-size: 1.0625rem;
  font-weight: bold;
}
@media (min-width: 1024px) {
  .produnts_link_ttl {
    margin-top: 0;
    letter-spacing: 0.04em; 
    font-size: 1.5rem;
  }
}

.produnts_link_btn {
  margin-top: 20px;
  width: 263px;
}
@media (min-width: 1024px) {
  .produnts_link_btn {
    margin-top: 30px;
    width: 80%; 
    max-width: 330px;
  }
}
.produnts_link_btn .c-btn {
  border-radius: 36px;
}
@media (min-width: 1024px) {
  .produnts_link_btn .c-btn {
    border-radius: 53px;
  }
}
.produnts_link_btn .c-btn_mask {
  padding: 24px;
  border-radius: 36px;
  letter-spacing: -0.03em;
}
@media (min-width: 1024px) {
  .produnts_link_btn .c-btn_mask {
    padding: 30px;
    border-radius: 53px;
    letter-spacing: 0.01em; 
    font-size: 1.25rem;
  }
}

.magazine_top_btn {
  margin: 39px auto 70px;
  width: 220px;
}
@media (min-width: 768px) {
  .magazine_top_btn {
    margin: 80px auto 100px;
  }
}