@media screen and (min-width: 769px), print {
  figure {
    display: block;
    text-align: center;
  }
  picture img {
    width: 100%;
  }
  h2,
  h3 {
    text-align: center;
  }
  .row h2 {
    padding: 40px 0;
  }
  .row figure {
    display: block;
    text-align: center;
    padding-bottom: 40px;
  }
  .hbanner {
    text-align: center;
    position: relative;
  }
  .contact_btns {
    background-color: #48b03b;
    padding: 20px 0;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 99;
  }
  .contact_btns .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .contact_btns .row a {
    width: 40%;
  }
  .part01,
  .part02,
  .part05,
  .ipf {
    padding: 60px 0;
    background: url(../images/page_topbg.png);
    background-position: top;
    background-repeat: repeat-x;
  }
  .part01 .link2 {
    text-align: center;
  }
  .part02 .link3 {
    position: relative;
  }
  .part02 .link3_l1, .part02 .link3_l2 {
    position: absolute;
    -webkit-transform: translateX(50%);
       -moz-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
    right: 50%;
    width: 100%;
  }
  .part02 .link3_l1 {
    top: 50%;
  }
  .part02 .link3_l2 {
    top: 70%;
  }
  .part03 h2 {
    background-color: #48b03b;
    padding: 50px 0;
    margin-bottom: 40px;
  }
  .part03 h3 {
    background-color: #f7b52d;
    padding: 40px 0;
  }
  .part03 figure {
    padding-bottom: 60px;
  }
  .ipf {
    padding: 50px 0;
    margin-top: 60px;
    text-align: center;
  }
  .ipf h2 {
    margin: 80px 0 30px;
    font-weight: bold;
    font-size: 5.4rem;
  }
  .ipf .form_outer {
    background-color: #48b03b;
    padding: 50px 0 80px;
  }
  .ipf .form_outer p {
    color: white;
    font-size: 2.4rem;
    padding-bottom: 40px;
  }
  .ipf .form_outer .row form {
    text-align: center;
    background-color: #eff0f0;
    padding: 30px 0 40px;
    margin-bottom: 40px;
  }
  .ipf .form_outer .row form .formstyle {
    text-align: left;
    padding: 10px 80px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .ipf .form_outer .row form .formstyle label {
    color: #3d4145;
    font-size: 2.4rem;
    font-weight: bold;
  }
  .ipf .form_outer .row form .formstyle label span {
    margin-left: 25px;
    color: #e40012;
    font-weight: normal;
  }
  .ipf .form_outer .row form .formstyle .form1 {
    width: 100%;
    height: 50px;
    font-size: 2.2rem;
    padding: 0 20px;
    margin-top: 15px;
    border: solid 2px #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle .form2 {
    width: 150px;
    height: 50px;
    font-size: 2.2rem;
    padding: 0 20px;
    margin-top: 15px;
    border: solid 2px #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle .add {
    font-size: 3.2rem;
    font-weight: bold;
    color: #707e88;
    margin: 0 20px;
  }
  .ipf .form_outer .row form .formstyle ::-webkit-input-placeholder {
    color: #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle ::-moz-placeholder {
    color: #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle :-ms-input-placeholder {
    color: #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle ::placeholder {
    color: #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle textarea {
    min-width: 100%;
    max-width: 100%;
    height: 200px;
    font-size: 2.2rem;
    padding: 20px;
    margin: 15px 0 30px;
    border: solid 2px #ccd5dc;
  }
  .ipf .form_outer .row form .form_year {
    -webkit-box-pack: start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .ipf .form_outer .row form .form_year .label_year {
    width: 100%;
  }
  .ipf .form_outer .row form .form_year span {
    font-size: 2.4rem;
    margin-left: 15px;
    -webkit-transform: translateY(25%);
       -moz-transform: translateY(25%);
        -ms-transform: translateY(25%);
            transform: translateY(25%);
  }
  .ipf .form_outer .row form .btn_tnc {
    margin: 30px 0;
  }
  .ipf .form_outer .row form .text_tnc {
    font-size: 1.8rem;
    color: black;
  }
  .ipf .form_outer .row form .text_tnc a {
    color: black;
    text-decoration: underline;
  }
  .ipf .form_outer .row form .btn_sm button {
    padding: 18px 120px;
    font-size: 2.8rem;
    font-weight: bold;
    background-color: white;
    -moz-border-radius: 30px;
         border-radius: 30px;
    margin-top: 40px;
  }
  .inf {
    padding: 40px 0;
  }
  .location {
    background-color: #ededee;
    padding: 0 0;
  }
  .location iframe {
    width: 100%;
    height: 580px;
  }
  .links {
    text-align: center;
    padding: 30px 0 60px;
  }
  .links ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .links ul li {
    width: 50%;
  }
}

@media screen and (max-width: 768px) {
  figure {
    display: block;
    text-align: center;
  }
  picture img {
    width: 100%;
  }
  h2,
  h3 {
    text-align: center;
  }
  .row h2 {
    padding: 7.8125vw 0;
  }
  .row figure {
    display: block;
    text-align: center;
    padding-bottom: 5.20833vw;
  }
  .hbanner {
    text-align: center;
    position: relative;
  }
  .contact_btns {
    background-color: #48b03b;
    padding: 2.60417vw 0;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 99;
  }
  .contact_btns .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .contact_btns .row a {
    width: 49%;
  }
  .part01,
  .part02,
  .part05,
  .ipf {
    padding: 7.8125vw 0;
    background: url(../images/page_topbg.png);
    background-position: top;
    background-repeat: repeat-x;
  }
  .part01 .link2 {
    text-align: center;
  }
  .part02 .link3 {
    position: relative;
  }
  .part02 .link3_l1, .part02 .link3_l2 {
    position: absolute;
    -webkit-transform: translateX(50%);
       -moz-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
    right: 50%;
    width: 100%;
  }
  .part02 .link3_l1 {
    top: 50%;
  }
  .part02 .link3_l2 {
    top: 70%;
  }
  .part03 h2 {
    background-color: #48b03b;
    padding: 6.51042vw 13.02083vw;
    margin-bottom: 5.20833vw;
  }
  .part03 h3 {
    background-color: #f7b52d;
    padding: 5.20833vw 5.85938vw;
  }
  .part03 figure {
    padding-bottom: 7.8125vw;
    margin: 0 10.41667vw;
  }
  .part03 figure:first-of-type {
    margin: 0;
  }
  .ipf {
    padding: 6.51042vw 0;
    margin-top: 7.8125vw;
    text-align: center;
  }
  .ipf h2 {
    margin: 10.41667vw 0 3.90625vw;
    font-weight: bold;
    font-size: 5.72917vw;
  }
  .ipf .form_outer {
    background-color: #48b03b;
    padding: 6.51042vw 0 10.41667vw;
  }
  .ipf .form_outer p {
    color: white;
    font-size: 3.38542vw;
    padding-bottom: 5.20833vw;
  }
  .ipf .form_outer .row form {
    text-align: center;
    background-color: #eff0f0;
    padding: 3.90625vw 0 5.20833vw;
    margin-bottom: 5.20833vw;
  }
  .ipf .form_outer .row form .formstyle {
    text-align: left;
    padding: 1.30208vw 10.41667vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .ipf .form_outer .row form .formstyle label {
    color: #3d4145;
    font-size: 3.38542vw;
    font-weight: bold;
  }
  .ipf .form_outer .row form .formstyle label span {
    margin-left: 3.25521vw;
    color: #e40012;
    font-weight: normal;
  }
  .ipf .form_outer .row form .formstyle .form1 {
    width: 100%;
    height: 6.51042vw;
    font-size: 3.38542vw;
    padding: 0 2.60417vw;
    margin-top: 1.95313vw;
    border: solid 0.26042vw #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle .form2 {
    width: 19.53125vw;
    height: 6.51042vw;
    font-size: 3.38542vw;
    padding: 0 2.60417vw;
    margin-top: 1.95313vw;
    border: solid 0.26042vw #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle .add {
    font-size: 4.16667vw;
    font-weight: bold;
    color: #707e88;
    margin: 0 2.60417vw;
  }
  .ipf .form_outer .row form .formstyle ::-webkit-input-placeholder {
    color: #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle ::-moz-placeholder {
    color: #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle :-ms-input-placeholder {
    color: #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle ::placeholder {
    color: #ccd5dc;
  }
  .ipf .form_outer .row form .formstyle textarea {
    min-width: 100%;
    max-width: 100%;
    height: 26.04167vw;
    font-size: 3.38542vw;
    padding: 2.60417vw;
    margin: 1.95313vw 0 3.90625vw;
    border: solid 0.26042vw #ccd5dc;
  }
  .ipf .form_outer .row form .form_year {
    -webkit-box-pack: start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .ipf .form_outer .row form .form_year .label_year {
    width: 100%;
  }
  .ipf .form_outer .row form .form_year span {
    font-size: 3.38542vw;
    margin-left: 1.95313vw;
    -webkit-transform: translateY(25%);
       -moz-transform: translateY(25%);
        -ms-transform: translateY(25%);
            transform: translateY(25%);
  }
  .ipf .form_outer .row form .btn_tnc {
    margin: 3.90625vw 0;
  }
  .ipf .form_outer .row form .text_tnc {
    margin-bottom: 3.25521vw;
    font-size: 3.125vw;
    padding: 0 5.85938vw;
    color: black;
  }
  .ipf .form_outer .row form .text_tnc a {
    color: black;
    text-decoration: underline;
  }
  .ipf .form_outer .row form .btn_sm button {
    padding: 2.34375vw 15.625vw;
    font-size: 4.16667vw;
    font-weight: bold;
    background-color: white;
    -moz-border-radius: 3.90625vw;
         border-radius: 3.90625vw;
    margin-top: 5.20833vw;
  }
  .inf {
    padding: 5.20833vw 0;
  }
  .location {
    background-color: #ededee;
    padding: 0 0;
  }
  .location iframe {
    width: 100%;
    height: 75.52083vw;
  }
  .links {
    text-align: center;
    padding: 3.90625vw 0 7.8125vw;
  }
  .links ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .links ul li {
    width: 50%;
  }
}
