@media screen and (min-width: 769px), print {
  .banner img {
    width: 100%;
    height: auto;
  }
  .section_fac_ttl .sec_ttl {
    margin: 72px auto 54px;
  }
  .section_fac_ttl .sec_ttl__jp {
    margin: 31px 0 46px;
  }
  .section_fac .time_table {
    display: table;
    margin: 20px auto 70px;
  }
  .section_fac .time_table dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.6rem;
  }
  .section_fac .time_table dt {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 8em;
    margin-right: 1em;
  }
  .section_fac .gr_fac {
    background-color: #f7f7f7;
    padding: 74px 0 67px;
  }
  .section_fac .gr_fac .ttl_art {
    font-size: 2rem;
    line-height: 20px;
    font-weight: 500;
    position: relative;
    text-align: center;
    padding-top: 96px;
  }
  .section_fac .gr_fac .ttl_art:before {
    content: "";
    width: 90px;
    height: 90px;
    position: absolute;
    top: -20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section_fac .gr_fac .bx_about {
    background-color: #fff;
    margin-bottom: 70px;
  }
  .section_fac .gr_fac .bx_about .ttl_art:before {
    background: url(../images/icon_01.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .section_fac .gr_fac .bx_about_main {
    padding: 0 150px 82px 152px;
    margin-top: 71px;
  }
  .section_fac .gr_fac .bx_about_main dl:not(:last-child) {
    margin-bottom: 80px;
  }
  .section_fac .gr_fac .bx_about_main dl:not(:last-child) dt {
    margin-bottom: 47px;
  }
  .section_fac .gr_fac .bx_about_main dl:nth-of-type(2) dd figure img {
    max-width: 807px;
  }
  .section_fac .gr_fac .bx_about_main dl dt {
    font-size: 1.6rem;
    line-height: 20px;
    font-weight: 500;
  }
  .section_fac .gr_fac .bx_about_main dl dt span {
    font-family: "Noto Serif", serif;
    font-size: 4.8rem;
    margin-right: 17px;
  }
  .section_fac .gr_fac .bx_about_main dl dt span small {
    font-size: 3.8rem;
    margin-left: 3px;
  }
  .section_fac .gr_fac .bx_about_main dl dd figure img {
    width: 100%;
    height: auto;
  }
  .section_fac .gr_fac .bx_service {
    background-color: #fff;
    margin-bottom: 91px;
  }
  .section_fac .gr_fac .bx_service .ttl_art:before {
    background: url(../images/icon_02.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .section_fac .gr_fac .bx_service_main {
    margin: 46px 0 0 0;
    padding: 0 0 46px 0;
    text-align: center;
  }
  .section_fac .gr_fac .bx_service_main ul li {
    font-size: 1.6rem;
    line-height: 30px;
    font-weight: 500;
  }
  .section_fac .gr_fac .bx_service_main ul + p {
    font-size: 1.4rem;
    margin-top: 25px;
  }
  .section_fac .gr_fac .bx_par {
    background-color: #fff;
    padding: 0 0 34px 0;
  }
  .section_fac .gr_fac .bx_par .ttl_art:before {
    background: url(../images/icon_03.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .section_fac .gr_fac .bx_par h4 {
    margin-top: 40px;
    font-size: 2rem;
    line-height: 20px;
    font-weight: 500;
    letter-spacing: 2px;
    text-align: center;
  }
  .section_fac .gr_fac .bx_par span {
    font-size: 1.6rem;
    line-height: 30px;
    display: block;
    text-align: center;
    letter-spacing: 4px;
    font-weight: 500;
    margin-top: 14px;
  }
  .section_fac .gr_fac .bx_par span + span {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .banner img {
    width: 100%;
    height: auto;
  }
  .section_fac_ttl .sec_ttl {
    margin: 7.68229vw auto 11.19792vw;
  }
  .section_fac_ttl .sec_ttl__jp {
    margin: 6.11979vw 0 8.20312vw;
  }
  .section_fac .time_table {
    display: table;
    margin: 2.60417vw auto 9.11458vw;
  }
  .section_fac .time_table dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .section_fac .time_table dt {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 8em;
    margin-right: 1em;
  }
  .section_fac .gr_fac {
    background-color: #f7f7f7;
    padding: 9.11458vw 0;
  }
  .section_fac .gr_fac .ttl_art {
    font-size: 4.16667vw;
    line-height: 1.5;
    font-weight: 500;
    position: relative;
    text-align: center;
    padding-top: 16.92708vw;
    letter-spacing: 0.39062vw;
  }
  .section_fac .gr_fac .ttl_art:before {
    content: "";
    height: 16.92708vw;
    width: 16.92708vw;
    position: absolute;
    top: -3.90625vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section_fac .gr_fac .bx_about {
    background-color: #fff;
    margin-bottom: 10.41667vw;
  }
  .section_fac .gr_fac .bx_about .ttl_art:before {
    background: url(../images/icon_01.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .section_fac .gr_fac .bx_about_main {
    padding: 0 3.90625vw 7.8125vw;
    margin-top: 9.11458vw;
  }
  .section_fac .gr_fac .bx_about_main dl:not(:last-child) {
    margin-bottom: 10.41667vw;
  }
  .section_fac .gr_fac .bx_about_main dl:not(:last-child) dt {
    margin-bottom: 6.51042vw;
  }
  .section_fac .gr_fac .bx_about_main dl:nth-of-type(2) dd figure img {
    max-width: 76.17188vw;
  }
  .section_fac .gr_fac .bx_about_main dl dt {
    font-size: 3.90625vw;
    line-height: 20px;
    font-weight: 500;
  }
  .section_fac .gr_fac .bx_about_main dl dt span {
    font-family: "Noto Serif", serif;
    font-size: 7.8125vw;
    margin-right: 3.25521vw;
  }
  .section_fac .gr_fac .bx_about_main dl dt span small {
    font-size: 5.46875vw;
    margin-left: 0.65104vw;
  }
  .section_fac .gr_fac .bx_about_main dl dd figure img {
    width: 100%;
    height: auto;
  }
  .section_fac .gr_fac .bx_service {
    background-color: #fff;
    margin-bottom: 10.41667vw;
  }
  .section_fac .gr_fac .bx_service .ttl_art:before {
    background: url(../images/icon_02.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .section_fac .gr_fac .bx_service_main {
    margin: 6.51042vw 0 0 0;
    padding: 0 3.90625vw 6.51042vw;
    text-align: center;
  }
  .section_fac .gr_fac .bx_service_main ul {
    padding-left: 1.30208vw;
  }
  .section_fac .gr_fac .bx_service_main ul li {
    font-size: 3.90625vw;
    line-height: 7.8125vw;
    font-weight: 500;
  }
  .section_fac .gr_fac .bx_service_main ul + p {
    font-size: 3.64583vw;
    line-height: 6.25vw;
    font-style: normal;
    font-weight: 500;
    display: block;
    margin-top: 3.90625vw;
    padding-left: 1.30208vw;
  }
  .section_fac .gr_fac .bx_par {
    background-color: #fff;
    padding: 0 0 6.51042vw 0;
  }
  .section_fac .gr_fac .bx_par .ttl_art:before {
    background: url(../images/icon_03.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .section_fac .gr_fac .bx_par h4 {
    margin-top: 5.20833vw;
    font-size: 4.16667vw;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.26042vw;
    text-align: center;
  }
  .section_fac .gr_fac .bx_par span {
    font-size: 3.90625vw;
    line-height: 1.5;
    display: block;
    text-align: center;
    letter-spacing: 0.52083vw;
    font-weight: 500;
    margin-top: 2.60417vw;
  }
  .section_fac .gr_fac .bx_par span + span {
    font-size: 3.38542vw;
  }
}
