@media screen and (min-width: 769px), print {
  .media .row_sm {
    max-width: 1000px;
  }
  .media .info_list dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 15px 0;
    line-height: 1.625;
    border-top: 1px solid #dfe0e0;
  }
  .media .info_list dl:last-of-type {
    border-bottom: 1px solid #dfe0e0;
  }
  .media .info_list dl dt {
    font-size: 2rem;
    color: #de0b0b;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 218px;
    border-right: 1px solid #dfe0e0;
    padding: 5px 0;
  }
  .media .info_list dl dd {
    font-size: 1.8rem;
    width: -webkit-calc(100% - 218px);
    width: -moz-calc(100% - 218px);
    width: calc(100% - 218px);
    padding: 0 20px 0 30px;
  }
  .media_intro {
    padding-bottom: 100px;
  }
  .media_intro h4 {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    font-family: "Noto Serif JP", serif;
    display: inline-block;
    border-bottom: solid 1px;
    position: relative;
  }
  .media_intro h4:after {
    position: absolute;
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    bottom: -3px;
    left: 0;
    background-color: #de0b0b;
  }
  .media_intro h5 {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    font-family: "Noto Serif JP", serif;
    display: inline-block;
  }
  .media_intro .intro_txt {
    font-size: 1.6rem;
    line-height: 1.625;
  }
  .media_intro .intro_txt + h4 {
    margin-top: 30px;
  }
  .media_intro .section_title {
    margin-top: 63px;
  }
  .media_intro .section_title span {
    font-size: 2.2rem;
    padding: 0 20px;
    border-width: 1px;
  }
  .media_intro .media_cont {
    padding: 0 40px;
  }
  .media_intro figure {
    width: 100%;
    margin-top: 28px;
  }
  .media_intro figure img {
    width: 100%;
  }
  .media_intro .info_list {
    margin-top: 40px;
  }
  .media_intro .info_list > p {
    text-align: right;
    margin-top: 1em;
  }
  .media_contact {
    background: url("../images/yl_pattern.png");
    padding: 80px 0;
  }
  .media_contact .contact_box {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 42px;
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
    letter-spacing: 0.075em;
  }
  .media_contact .contact_box .left {
    width: 500px;
    padding-right: 20px;
  }
  .media_contact .contact_box .left .ct_title {
    padding-left: 60px;
  }
  .media_contact .contact_box .right {
    width: 500px;
    padding-left: 30px;
  }
  .media_contact .contact_box .right .ct_title {
    padding-right: 60px;
  }
  .media_contact .contact_box .ct_title {
    font-weight: bold;
    text-align: center;
    font-size: 2.2rem;
  }
  .media_contact .contact_box .phone {
    text-align: right;
    font-size: 2.6rem;
    padding-right: 20px;
    margin-top: 10px;
  }
  .media_contact .contact_box .phone .tel {
    font-size: 4.5rem;
  }
  .media_contact .contact_box .mail {
    margin-top: 13px;
    margin-left: 14px;
    width: 373px;
    height: 78px;
    font-size: 2.2rem;
  }
  .media_contact .contact_box .mail:after {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 768px) {
  .media .info_list dl {
    padding: 3.90625vw 0;
    line-height: 1.625;
    border-top: 1px solid #dfe0e0;
  }
  .media .info_list dl:last-of-type {
    border-bottom: 1px solid #dfe0e0;
  }
  .media .info_list dl dt {
    font-size: 3.90625vw;
    color: #de0b0b;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .media .info_list dl dd {
    margin-top: 2.60417vw;
    font-size: 3.125vw;
  }
  .media_intro {
    padding-bottom: 13.02083vw;
  }
  .media_intro h4 {
    text-align: center;
    font-size: 4.16667vw;
    font-weight: bold;
    margin-bottom: 2.60417vw;
    font-family: "Noto Serif JP", serif;
    display: inline-block;
    border-bottom: solid 1px;
    position: relative;
  }
  .media_intro h4:after {
    position: absolute;
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    bottom: -3px;
    left: 0;
    background-color: #de0b0b;
  }
  .media_intro h5 {
    text-align: center;
    font-size: 4.16667vw;
    font-weight: bold;
    margin-bottom: 2.60417vw;
    font-family: "Noto Serif JP", serif;
    display: inline-block;
  }
  .media_intro .intro_txt {
    font-size: 3.38542vw;
    line-height: 1.625;
  }
  .media_intro .intro_txt + h4 {
    margin-top: 7.8125vw;
  }
  .media_intro .section_title {
    margin-top: 10.41667vw;
  }
  .media_intro .section_title span {
    font-size: 4.16667vw;
    padding: 0 3.90625vw;
    border-width: 1px;
  }
  .media_intro figure {
    width: 100%;
    margin-top: 5.20833vw;
  }
  .media_intro figure img {
    width: 100%;
  }
  .media_intro .info_list {
    margin-top: 6.51042vw;
  }
  .media_intro .info_list > p {
    text-align: right;
    margin-top: 1em;
    font-size: 2.86458vw;
  }
  .media_contact {
    background: url("../images/yl_pattern.png");
    padding: 13.02083vw 0;
  }
  .media_contact .contact_box {
    margin-top: 7.8125vw;
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
    letter-spacing: 0.075em;
  }
  .media_contact .contact_box .right {
    margin-top: 7.8125vw;
  }
  .media_contact .contact_box .ct_title {
    font-weight: bold;
    text-align: center;
    font-size: 4.16667vw;
  }
  .media_contact .contact_box .phone {
    text-align: center;
    font-size: 4.6875vw;
  }
  .media_contact .contact_box .phone .tel {
    font-size: 8.46354vw;
  }
  .media_contact .contact_box .mail {
    margin-top: 3.90625vw;
    width: 100%;
    height: 15.625vw;
    font-size: 4.16667vw;
  }
  .media_contact .contact_box .mail:after {
    font-size: 4.94792vw;
  }
}
