@charset"utf-8";
@media screen and (max-width: 768px) {

    /*common--------------------------------*/


    .plain_txt {
        font-size: 3.86vw;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .sec_ttl {
        padding-bottom: 12.08vw;
    }
    
    .sec_ttl b {
        font-size: 14.01vw;
    }
    
    .sec_ttl span {
        font-size: 3.62vw;
    
    }
    
    .btn_container a {
        width: 90vw;
        height: 19.32vw;
        font-size: 4.83vw;
        line-height: 17.87vw;
    }
    
    .nav_list_container + .btn_list_container .btn_list_item +  .btn_list_item {
        padding-top: 4.83vw;
    }
    
    .nav_list_container + .btn_list_container .btn_list_item a {
        width: 90vw;
        height: 19.32vw;
    }
    
    .nav_list_container + .btn_list_container .btn_list_item a span {
        font-size: 3.38vw;
        padding: 2.42vw 0;
    }
    
    .nav_list_container + .btn_list_container .btn_list_item a b {
        font-size: 5.31vw;
    }
    
    .btn_container a::after,
    .nav_list_container + .btn_list_container .btn_list_item a::after {
        width: 4.83vw;
        height: 4.83vw;
    }
    
    
    
    /*--------------------------------------*/
    
    /*header*/
    
    /*--------------------------------------*/
    
    header {
        height: 14.49vw;
    }
    
    header::after {
        content: '';
        display: block;
        width: 100%;
        height: 14.49vw;
        background-color: #fff;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
    }
    
    header .logo_container {
        width: 33.82vw;
        padding: 3.62vw 2.42vw 0;
        position: relative;
        z-index: 2;
    }
    
    header .gnav_container .btn_wrap {
        display: none;
    }
    
    header .ico_inst {
        width: 7.97vw;
    }
    
    header .ico_fb {
        width: 8.21vw;
    }
    
    header .ico_tw {
        width: 8.94vw;
    }
    
    
    
    /*menu_trigger--------------------------------*/
    
    .menu_trigger {
        width: 19.32vw;
        height: 14.49vw;
    }
    
    .menu_trigger span {
        position: absolute;
        left: 4.83vw;
        width: 9.66vw;
        height: 1.21vw;
    }
    
    .menu_trigger span:nth-of-type(1) {
        top: 4.35vw;
    }
    
    .menu_trigger span:nth-of-type(2) {
        top: 9.18vw;
    }
    
    .menu_trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(2.42vw) rotate(-45deg);
        transform: translateY(2.42vw) rotate(-45deg);
    }
    
    .menu_trigger.active span:nth-of-type(2) {
        -webkit-transform: translateY(-2.42vw) rotate(45deg);
        transform: translateY(-2.42vw) rotate(45deg);
    }
    
    
    
    /*menu_target--------------------------------*/
    
    .menu_target {
        height: 100%;
        padding: 28.99vw 6.67vw 0;
    }
    
    .menu_target .nav_list_item {
        padding-bottom: 7.25vw;
    }
    
    .menu_target .nav_list_item a {
        font-size: 4.83vw;
    }
    
    .menu_target .nav_list_container + .btn_list_container {
        padding-top: 7.25vw;
    }
    
    .menu_target .nav_list_container + .btn_list_container .btn_list_item a {
        width: 72.46vw;
        height: 16.91vw;
    }
    
    .menu_target .nav_list_container + .btn_list_container .btn_list_item a span {
        font-size: 3.14vw;
        padding: 2.42vw 0 1.21vw;
    }
    
    .menu_target .nav_list_container + .btn_list_container .btn_list_item a b {
        font-size: 4.83vw;
    }
    
    .menu_target .nav_list_container + .btn_list_container .btn_list_item a::after {
        width: 4.83vw;
        height: 4.83vw;
    }
    
    .menu_target .sns_list_container {
        padding-top: 12.08vw;
    }
    
    .menu_target .sns_list_item {
        padding: 0 4.83vw;
    }
    
    
    
    /*--------------------------------------*/
    
    /*mv*/
    
    /*--------------------------------------*/
    
    .mv_wrap {
        width: 100%;
        height: calc(100vh - 17.49vw);
        background: url('../img/mv_obj.jpg') center center no-repeat;
        background-size: cover;
        position: relative;
    }
    
    .catch_wrap {
        top: 55%;
    }
    
    .catch_ttl {
        font-size: 10.14vw;
    }
    
    .catch_lead {
        font-size: 5.31vw;
        text-align: justify;
        padding-top: 4.83vw;
    }
    
    .mv_wrap .news_container {
        width: 96vw;
        height: 26.6vw;
        bottom: -14.49vw;
        flex-wrap: wrap;
    }
    
    .mv_wrap .news_ttl {
        width: 24.15vw;
        height: 12.08vw;
        margin: 10px 0 0;
        box-sizing: border-box;
        font-size: 27px;
        font-weight: 300;
        color: #fff;
        text-align: center;
        line-height: 12.08vw;
    }
    
    .mv_wrap .news_txt {
        width: calc(100% - 24.15vw);
        padding: 3.62vw 2.42vw 0 4.84vw;
        box-sizing: border-box;
        font-size: 3.38vw;
        line-height: 1.5em;
    }
    
    .mv_wrap .news_txt b {
        display: block;
        padding-left: 0;
    }
    
    .mv_wrap .btn_container {
        width: 24.15vw;
        border-right: 1px solid #8ad1f4;
        box-sizing: border-box;
        position: absolute;
        top: 50%;
        left: 0;
    }
    
    .mv_wrap .btn_container a {
        width: 24.15vw;
        height: 12.08vw;
        font-size: 18px;
        line-height: 12.08vw;
    }
    
    .mv_wrap .btn_container a::before {
        width: 1.69vw;
        height: 1.69vw;
        right: 4.83vw;
    }
    
    
    
    /*--------------------------------------*/
    
    /*sec01*/
    
    /*--------------------------------------*/
    
    .top .sec01 {
        height: auto;
        display: block;
        padding: 38.65vw 0;
    }
    
    .about_wrap {
        width: 90vw;
        margin: 0 auto;
    }
    
    .about_container {
        display: block;
    }
    
    .about_container .img_container {
        width: 50vw;
        margin: 0 auto;
        padding-top: 10vw;
    }
    
    .about_container .txt_container {
        width: 90vw;
        margin: 0 auto;
        padding: 19.32vw 0 0;
    }
    
    .about_container .about_ttl b {
        display: block;
        font-size: 14.49vw;
        text-align: center;
    }
    
    .about_container .about_ttl span {
        display: block;
        font-size: 7.25vw;
        padding: 2vw 0 4vw 0;
        text-align: center;
    }
    
    .about_container .about_lead {
        padding-bottom: 8vw;
        margin-bottom: 7vw;
    }
    
    .about_container .about_lead b {
        display: block;
        font-size: 7.25vw;
        text-align: center;
        padding: 0 0 4vw 0;
    }
    
    .about_container .about_lead span {
        display: block;
        font-size: 5.31vw;
        text-align: center;
        padding-left: 0;
    }
    
    .about_container .about_txt {
        font-size: 3.86vw;
        line-height: 1.8em;
    }
    
    
    
    /*--------------------------------------*/
    
    /*sec02*/
    
    /*--------------------------------------*/
    
    .top .sec02 {
        padding: 14.49vw 0;
    } 
    
    .sec02 .bnr_list_container {
        width: 100%;
        display: block;
        padding-bottom: 20vw;
    }
    
    .sec02 .bnr_list_item {
        padding-bottom: 3vw;
    }
    
    .sec02 .bnr_list_item a {
        width: 100%;
        max-width: 100%;
        height: 43.48vw;
    }
    
    .sec02 .bnr_list_item:first-child a {
        background: url('../img/business_obj01.png') 90% 1.93vw no-repeat;
        background-size: 45.41vw auto;
    }
    
    .sec02 .bnr_list_item:nth-child(2) a {
        background: url('../img/business_obj02.png') right .72vw no-repeat;
        background-size: 57.97vw auto;
    }
    
    .sec02 .bnr_list_item:last-child a {
        background: url('../img/business_obj03.png') 95% 1.93vw no-repeat;
        background-size: 45.41vw auto;
    }
    
    .sec02 .business_bnr_ttl {
        font-size: 5.8vw;
        line-height: 43.48vw;
        padding-left: 4.83vw;
    }
    
    .sec02 .business_lead {
        font-size: 5.31vw;
        padding-bottom: 29vw;
    }
    
    .sec02 .business_list_item {
        width: 100%;
        height: auto;
        display: block;
    }
    
    .sec02 .business_list_item .img_container {
        width: 100%;
        height: 350px;
        position: relative
    }

    .sec02 .business_list_item .txt_container {
        width: 100%;
        height: auto;
        display: block;
        padding: 5vw 5vw 10vw;
        box-sizing: border-box;
    }
    
    .sec02 .business_list_item .business_list_ttl {
        padding-bottom: 3.62vw;
        margin-bottom: 4.83vw;
    }
    
    .sec02 .business_list_item .business_list_ttl b {
        font-size: 7.25vw;
    }
    
    .sec02 .business_list_item .business_list_ttl span {
        font-size: 3.38vw;
    }
    
    .sec02 .business_list_item .business_list_ttl::after {
        width: 9.66vw;
    }
    
    .sec02 .business_list_item .business_list_txt {
        max-width: 100%;
        font-size: 3.38vw;
    }
    
    
    
    /*--------------------------------------*/
    
    /*sec03*/
    
    /*--------------------------------------*/
    
    .top .sec03 {
        padding: 14.49vw 0;
    }
    
    .outline_list_container dt {
        font-size: 3.86vw;
        padding-left: 4.83vw;
    }
    
    .outline_list_container dd {
        width: 100%;
        padding: 4.83vw 4.83vw 4.83vw 12vw;
        margin: -2.9vw 0 3.62vw;
        font-size: 3.86vw;
    }
    
    .outline_list_container dd:after {
        border-top: 2.42vw solid transparent;
        border-right: 2.42vw solid #fff;
        border-bottom: 2.42vw solid #fff;
        border-left: 2.42vw solid transparent;
    }
    
    .outline_list_container dd .address_list_item {
        display: block;
    }
    
    .outline_list_container dd .address_list_item + .address_list_item {
        padding-top: 1em;
    }
    
    .outline_list_container dd .address_list_item span {
        display: block;
        width: 100%;
        font-size: 3.86vw;
    }
    
    .outline_list_container dd .address_list_item b {
        display: block;
        width: 100%;
        font-size: 3.86vw;
    }
    
    .outline_list_container dd .outline_txt {
        font-size: 3.86vw;
    }
    
    
    
    /*--------------------------------------*/
    
    /*sec04*/
    
    /*--------------------------------------*/
    
    .top .sec04 {
        padding: 14.49vw 0 3.86vw;
    }
    
    .sec04 .contact_list_container {
        width: 90vw;
        display: block;
    }
    
    .sec04 .contact_list_item {
        padding-bottom: 4.83vw;
    }
    
    .sec04 .contact_list_item a {
        display: block;
        width: 100%;
        height: 60vw;
    }
    
    .sec04 .contact_list_item a .img_container {
        width: 100%;
        height: 40vw;
    }
    
    .sec04 .contact_list_item a .txt_container {
        padding: 2.42vw;
    }
    
    .sec04 .contact_list_item a .txt_container span {
        font-size: 3.86vw;
    }
    
    .sec04 .contact_list_item a .txt_container b {
        font-size: 6.76vw;
    }
    
    .sec04 .contact_list_item a .txt_container::after {
        width: 4.83vw;
        height: 4.83vw;
        border-right: .97vw solid #fff;
        border-bottom: .97vw solid #fff;
        bottom: 1.21vw;
        right: 1.21vw;
    }
    
    
    
    /*--------------------------------------*/
    
    /*sec05*/
    
    /*--------------------------------------*/
    
    .top .sec05 {
        width: 100%;
        height: auto;
        padding: 28.99vw 0;
    }
    
    .top .sec05 .jablist_container .jobinfo_lead {
        font-size: 4.11vw;
        padding-bottom: 14.49vw;
    }
    
    
    
    /*--------------------------------------*/
    
    /*footer*/
    
    /*--------------------------------------*/
    
    footer {
        background-color: #222;
        padding: 14.49vw 0;
    }
    
    footer .sns_list_container {
        padding-bottom: 14.49vw;
    }
    
    footer .sns_list_item {
        width: 19.32vw;
    }
    
    footer .sns_list_item .ico_inst {
        width: 9.28vw;
    }
    
    footer .sns_list_item .ico_fb {
        width: 9.66vw;
    }
    
    footer .sns_list_item .ico_tw {
        width: 10.63vw;
    }
    
    .footer_container {
        width: 90vw;
        display: block;
    }
    
    .footer_container .logo_container {
        width: 50vw;
        margin: 0 auto;
        padding-bottom: 9.66vw;
    }

    .footer_container nav {
        width: 90vw;
        display: block;
    }
    
    .footer_container .nav_list_container {
        width: 90vw;
        padding: 0 0 7.25vw 0;
    }
    
    .footer_container .nav_list_item {
        width: 100%;
        padding: 0 0 7.25vw;
        text-align: center;
    }
    
    .footer_container .nav_list_item a {
        font-size: 3.86vw;
    }

    .footer_container .btn_list_container {
        padding-bottom: 14.49vw;
    }
    
    footer .copy small {
        font-size: 2.9vw;
    }



    /*--------------------------------------*/
    
    /*lower*/
    
    /*--------------------------------------*/
    
    .lower article {
        padding-top: 28.99vw;
    }



    /*--------------------------------------*/
    
    /*contact*/
    
    /*--------------------------------------*/

    .formContainer {
        width: 90vw;
        margin: 0 auto 4.83vw;
        padding: 2.42vw 0;
    }

    .confirm_container + .formContainer {
        margin-top: 4.83vw;
    }

    .formContainer th {
        padding: 4.83vw 2.42vw 2.42vw;
        width: 100%;
        display: block;
        border-bottom: none;
    }

    .formContainer td {
        padding: 0 0 4.83vw;
        width: 100%;
        display: block;
        border-bottom: 1px solid #eee;
    }

    .confirm_container + .formContainer td {
        padding: 0 6.04vw 4.83vw;
    }

    .input {
        height: 7.25vw;
        padding: 2.42vw;
    }

    .input-l {
        width: 90%;
        margin: 0 auto;
        display: block;
    }

    .input-s {
        width: 50%;
    }

    textarea {
        width: 90%;
        margin: 0 auto;
        display: block;
    }

    #submit,
    #btnTop {
        width: 90%;
        height: 19.32vw;
        font-size: 4.83vw;
        line-height: 17.87vw;
        margin: 0 auto;
        display: block;
    }

    #btnBack {
        width: 90%;
        height: 19.32vw;
        font-size: 4.83vw;
        line-height: 17.87vw;
        margin: 0 auto;
        display: block;
    }

    .submit {
        padding: 4.83vw 0 28.99vw;
    }

    .submitContainer {
        padding-bottom: 20%;
    }

    .formErrorContent {
        width: 90%!important;
    }

    .confirm_container {
        width: 90vw;
        margin: 0 auto;
    }

    .confirm_ttl {
        font-size: 4.83vw;
        text-align: center;
        padding-bottom: 4.83vw;
    }

    .confirm_container .plain_txt {
        text-align: left;
    }

    .contact .btn_container {
        margin: 7.25vw 0 28.99vw;
    }
    
    .contact .btn_container a {
        width: 90%;
        height: 19.32vw;
        font-size: 4.83vw;
        line-height: 17.87vw;
        margin: 0 auto;
        display: block;
    }
    
    .date_list_item {
        width: calc(100% / 3);
    }

    .date_list_item .formError {
        position: absolute!important;
        top: 94%!important;
        left: -120%!important;
    }
    
    .sex .date_list_item .formError {
        top: 0!important;
        left: -50%!important;
    }
    
    .select {
        width: 20vw;
    }

    .privacy_ttl {
        margin: 0 auto;
        padding-bottom: 2.42vw;
        font-size: 3.86vw;
    }
    
    .privacy_wrap {
        height: 60.4vw;
        padding: 1.21vw;
    }
    
    .privacy_container {
        padding: 2.42vw;
    }
    
    .privacy_txt {
        font-size: 3.38vw;
    }
    
    dl.privacy_list_container dt {
        font-size: 3.38vw;
    }
    
    dl.privacy_list_container dd {
        font-size: 3.38vw;
    }
    
    ul.privacy_list_container {
        padding-bottom: .5em;
    }
    
    .privacy_list_item {
        font-size: 3.38vw;
    }
    
    .agree_container {
      text-align: center;
      padding: 20px 0 30px;
    }
    
    .agree_container label {
      font-size: 3.62vw;
      line-height: 4.83vw;
      letter-spacing: .1em;
    }
    
    .checkbox {
      padding-left: 10.87vw;
    }
    
    .checkbox::before {
      width: 4.83vw;
      height: 4.83vw;
    }
    
    .checkbox::after {
      border-bottom: 1.21vw solid #317bbe;
      border-left: 1.21vw solid #317bbe;
      height: 2.17vw;
      width: 3.86vw;
      top: -2.42vw;
      left: .97vw;
    }
    
    .checkbox:checked::after {
      opacity: 1;
    }
    


/*-------------------------------------*/
}