@import url('https://fonts.googleapis.com/css?family=Montserrat:400,700|Noto+Sans+JP:400,700|Lato:100,300,400');
/*font-family: 'Montserrat', sans-serif;*/
/*font-family: 'Noto Sans JP', sans-serif;*/
/*font-family: 'Lato', sans-serif;*/

  body { background: #ffffff;}
  body { font-family: 'Noto Sans JP', YuGothic; }
  .col{ margin:0; padding:0; }
  .row{ margin:0; padding:0; }

/*********************************************/
/* フェードイン                              */
/*********************************************/
.fade_in {
    transition: all 1200ms 0s ease;
    transform: translateY(30px);
    visibility: hidden;
    opacity: 0;
}

.fade_in.js_active {
    visibility: visible;
    transform: translateY(0px);
    opacity: 1;
}

/*********************************************/
/* ヘッダー                                  */
/*********************************************/
.navbar{
    padding:0px 20px 5px 20px;
    background-color:#ffffff;
}
/* ロゴ */
.logo_img{
    width:190px;
    height:auto;
    padding-top:8px;
}
/* メニューバー */
#bs-navi ul.navbar-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  list-style: none;
  margin-left:auto;
}
#bs-navi .nav-item a{
    border-bottom:solid 2px #ffffff;
}
#bs-navi .nav-item a:hover{
    border-bottom:solid 2px #1ba1dd;
}

#bs-navi ul li{
    font-size:13px;
    font-weight:bold;
}
#bs-navi ul li a{
    color:#000000;
    text-decoration: none;
}
#bs-navi ul li a:hover{
    opacity: 0.6;
}
#bs-navi .header_contact{
    margin-left:14px;
}
#bs-navi ul li .tel_description{
    font-size:11px;
    padding: 0;
    margin-left:30px;
    line-height:0px;
    font-weight:normal;
}
#bs-navi ul li .tel_number{
    font-size:20px;
    padding: 0px 2px 0px 7px;
    margin:0;
    line-height:0px;
}
#bs-navi .header_contact-tel img{
    width:20px;
    height:auto;
    margin-top: -10px;
}
#bs-navi .header_contact-mail{
    background: #1ba1dd;
    padding: 5px 15px 5px 15px;
    text-align:center;
}
#bs-navi .header_contact-mail img{
    width:18px;
    height:auto;
    margin-top: -2px;
}
#bs-navi .to_mailform{
    margin: 5px 0px 0px 7px;
    line-height:0px;
    color:#ffffff;
}
/* ハンバーガーメニューのデザイン */
.navbar-toggler{
    font-size: 1.5rem;
}
.navbar-light .navbar-toggler{
    border:none;
}
/* 中デバイス（タブレット, 992px 未満）*/
@media (max-width: 991.98px) {
  #bs-navi ul.navbar-nav {
    align-items: start;
  }
  #bs-navi .header_contact{
    margin-left:0px;
  }
  #bs-navi .toggle_tel img{
    width:18px;
    height:auto;
    margin-right:4px;
  }
}
/*********************************************/
/* トップ画像                                */
/*********************************************/
.jumbotron.special {
    position: relative;
    min-height: 597px;
    margin-bottom: 0;
    overflow: hidden;
    background-image: url(../images/fv.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: auto 100%;
    background-size: auto 100%;
    border-radius: 0px;
    height:90vh;
    margin-top:60px;
}
.jumbotron.special p{
    color: #ffffff;
    line-height: 1.2;
}
.jumbotron.special .fv_produce{
    font-size: 90px;
    font-weight:bold;
    margin-top:10px;
}
.jumbotron.special .fv_musician{
    font-size: 30px;
    font-weight:bold;
}
.jumbotron.special .fv_irodori{
    font-size: 28px;
    margin-top:30px;
}
.jumbotron.special .fv_irodori_description{
    font-size: 13px;
}
.jumbotron.special .fv_circle {	
    margin-top:20px;
    position: relative;
    display: inline-block;
    width: 136px;
    height: 136px;
    border-radius: 50%;
    margin-right:10px;
    border: solid 1px #ffffff;
}
.jumbotron.special .fv_circle span {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width :136px;
    text-align:center;
    color: #ffffff;
    font-size:15px;
}
/* 小デバイス（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
  .jumbotron.special {
      position: relative;
      min-height: 597px;
      margin-bottom: 0;
      overflow: hidden;
      background-image: url(../images/fv_sp.jpg);
      background-repeat: no-repeat;
      background-position: center;
      -webkit-background-size: auto 100%;
/*      background-size: auto 100%;*/
      background-size: cover;
      border-radius: 0px;
      height:90vh;
  }
  .jumbotron.special .fv_produce{
      font-size: 50px;
      font-weight:bold;
      margin: 10px 0px 10px 0px;
  }
  .jumbotron.special .fv_musician{
      font-size: 24px;
      font-weight:bold;
      margin-bottom:4px;
  }
  .jumbotron.special .fv_irodori{
      font-size: 18px;
      margin: 9px 0px 9px 0px;
      line-height: 1.2;
  }
  .jumbotron.special .fv_irodori_description{
      font-size: 9px;
      line-height: 1.2;
      margin: 0px;
  }
  .jumbotron.special .fv_circle {	
      margin-top:16px;
      position: relative;
      display: inline-block;
      width: 86px;
      height: 86px;
      border-radius: 50%;
      margin-right:8px;
      border: solid 1px #ffffff;
  }
  .jumbotron.special .fv_circle span {
      position: absolute;
      display: inline-block;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width :86px;
      text-align:center;
      color: #ffffff;
      font-size:10px;
  }

}

/* 不要 */
section h2, section h3{
    font-family: 'Noto Sans JP', YuGothic;
    font-weight: bold;
}

/*********************************************/
/* MOVIE 動画                                */
/*********************************************/
.movie{
    padding-bottom: 20px;
    padding-top: 10px;
    text-align: center;
    background-color:#f4f4f4;
}
#cont-movie h2{
    color: #1ba1dd;
    margin: 52px 0px 8px 0px;
    font-size: 34px;
    font-weight: bold;
}
#cont-movie p{
    line-height:1.2;
}
#cont-movie .h2_ja{
    color: #004b96;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Montserrat', "Arial";
}
#cont-movie .h2_explanation{
    font-size: 11px;
    font-family: 'Montserrat', "Arial";
}
#cont-movie .youtube_outer {
    width: 35%;
    padding-top: 20%;
    position: relative;
    top: 0;
    left: 0;
}
#cont-movie .youtube_outer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    padding:5px;
}

/*********************************************/
/* SERVICE サービス                                */
/*********************************************/
.service{
    padding-bottom: 20px;
    padding-top: 10px;
    text-align: center;
}
#cont-service h2{
    color: #1ba1dd;
    margin: 60px 0px 8px 0px;
    font-size: 34px;
    font-weight: bold;
}
#cont-service p{
    line-height:1.2;
}
#cont-service .h2_ja{
    color: #004b96;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Montserrat', "Arial";
}
#cont-service .h2_explanation{
    font-size: 11px;
    font-family: 'Montserrat', "Arial";
}

#cont-service .service_circle {	
    margin-top:20px;
    position: relative;
    display: inline-block;
    width: 136px;
    height: 136px;
    border-radius: 50%;
    margin-right:10px;
    background-color:#1ba1dd;
}
#cont-service .service_circle span {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width :136px;
    text-align:center;
    color: #ffffff;
    font-size:26px;
}
#cont-service .service_situation{
    padding:10px;
}
#cont-service .service_heading{
    text-align:left;
    color:#004b96;
    font-weight:bold;
    margin-bottom:6px;
    font-size:16px;
}
#cont-service .service_txt{
    text-align:left;
    font-size:14px;
    line-height:1.1;
    margin-bottom:0;
    margin-top:4px;
}
#cont-service .service_note{
    padding:30px;
    background-color:#1ba1dd;
/*    margin:0px;*/
}
#cont-service .white_box{
    background-color:#ffffff;
    padding:20px;
}
#cont-service .service_note_heading{
    text-align:left;
    color:#004b96;
    font-weight:bold;
    margin-bottom:12px;
    font-size:16px;
}
#cont-service .service_note_txt{
    text-align:left;
    font-size:15px;
    line-height:1.2;
    margin:0;
}
#cont-service .service_note_txt_blue{
    text-align:left;
    font-size:15px;
    line-height:1.2;
    margin:4px 0px 0px 0px;
    color:#1ba1dd;
    font-weight:bold;
}
#cont-service .private_lesson{
    background-color:#004b96;
    text-align:left;
}
#cont-service .private_lesson_about{
    color:#ffffff;
    font-weight:bold;
    margin:10px 30px 0px 30px;
    font-size:17px;
    display:inline-block;
}
#cont-service .private_lesson_description{
    color:#ffffff;
    margin:4px 30px 10px 30px;
    font-size:12px;
    display:inline-block;
}

.private_lesson_bg {
    min-height: 240px;
    background-image: url(../images/lesson01.jpg);
    background-size: 100% auto ; /*横幅100%、高さ可変*/
    background-size: cover;
}
section.service{
    margin-bottom:-63px;
}
/* 小デバイス（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
  #cont-service .service_circle {	
      position: relative;
      display: inline-block;
      width: 86px;
      height: 86px;
      border-radius: 50%;
      margin-right:8px;
      background-color:#1ba1dd;
      margin: 4px 4px 0px 4px;
  }
  #cont-service .service_circle span {
      position: absolute;
      display: inline-block;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width :86px;
      text-align:center;
      color: #ffffff;
      font-size:16px;
  }
  #cont-service .service_heading{
      text-align:left;
      color:#004b96;
      font-weight:bold;
      margin-bottom:4px;
      font-size:15px;
  }
  #cont-service .service_txt{
      text-align:left;
      font-size:12px;
      margin-top:2px;
      margin-bottom:0;
  }
  #cont-service .service_situation{
      padding:0px 10px 10px 10px;
  }
  #cont-service .service_note_txt{
      text-align:left;
      font-size:13px;
      line-height:1.2;
      margin:0;
  }
  #cont-service .service_note_txt_blue{
      text-align:left;
      font-size:14px;
      line-height:1.2;
      margin-top:4px;
      color:#1ba1dd;
  }
}

/*********************************************/
/* VOICE お客様の声                          */
/*********************************************/
.voice{
    padding-bottom: 20px;
    padding-top: 10px;
    text-align: center;
    background-color:#f4f4f4;
}
#cont-voice h2{
    color: #1ba1dd;
    margin: 52px 0px 8px 0px;
    font-size: 34px;
    font-weight: bold;
}
#cont-voice p{
    line-height:1.2;
}
#cont-voice .h2_ja{
    color: #004b96;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Montserrat', "Arial";
}
#cont-voice .voice_outer{
    margin:0px -30px 0px -30px;
}
#cont-voice .white_box{
    background-color:#ffffff;
    padding:20px;
    margin:10px 12px 10px 12px;
}
#cont-voice .voice_heading{
    text-align:left;
    color:#004b96;
    font-weight:bold;
    margin-bottom:6px;
    font-size:16px;
}
#cont-voice .voice_txt{
    text-align:left;
    font-size:15px;
    margin:0;
}
/* 小デバイス（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
  #cont-voice .voice_heading{
      text-align:left;
      color:#004b96;
      font-weight:bold;
      margin-bottom:6px;
      font-size:15px;
  }
  #cont-voice .voice_txt{
      text-align:left;
      font-size:13px;
      margin:0;
  }
    #cont-voice .voice_outer{
        margin:0px 0px 0px 0px;
    }
}

/*********************************************/
/* FAQ よくあるご質問                        */
/*********************************************/
.faq{
    background-image: url(../images/faq_bg.jpg);
    background-size: 100% auto ; /*横幅100%、高さ可変*/
    background-position:fixed;/* 背景固定 */
    background-size: cover;
    padding-bottom: 20px;
    padding-top: 10px;
    text-align: center;
    min-height:500px;
}
#cont-faq .faq_outer{
    margin-top:60px;
    margin-bottom:60px;
}
#cont-faq .white_box{
    background-color:#ffffff;
    padding:30px;
}
#cont-faq h2{
    color: #1ba1dd;
    margin: 20px 0px 8px 0px;
    font-size: 34px;
    font-weight: bold;
}
#cont-faq p{
    line-height:1.2;
}
#cont-faq .h2_ja{
    color: #004b96;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Montserrat', "Arial";
    margin-bottom:30px;
}
#cont-faq .faq_q{
    text-align:left;
    color:#004b96;
    font-weight:bold;
    font-size:15px;
}
#cont-faq .faq_a{
    text-align:left;
    font-size:15px;
    margin-bottom:24px;
}
#cont-faq ul.list{
    list-style-type:none;/*リセット*/
    margin:0;
    padding:0;
}
#cont-faq ul.list li.faq_q{
    margin-bottom:8px;
    line-height:1.2;
    padding-left:1.5em;
}
#cont-faq ul.list li.faq_a{
    margin-bottom:20px;
    line-height:1.2;
    padding-left:1.5em;
}
#cont-faq ul.list li.faq_q:before{
    content:"Q";
    display:inline-block;
    width:1.5em;
    margin-left:-1.5em;
    color:#1ba1dd;
}
#cont-faq ul.list li.faq_a:before{
    content:"A";
    display:inline-block;
    width:1.5em;
    margin-left:-1.5em;
    color:#cf90a3;
    font-weight:bold
}
/* 小デバイス（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
  #cont-faq .faq_q{
      text-align:left;
      color:#004b96;
      font-weight:bold;
      font-size:14px;
  }
  #cont-faq .faq_a{
      text-align:left;
      font-size:14px;
      margin-bottom:23px;
  }
  #cont-faq .white_box{
      background-color:#ffffff;
      padding:24px;
  }
}

/*********************************************/
/* PRICE 費用・お支払い                        */
/*********************************************/
.price{
    background-image: url(../images/price_bg.jpg);
    background-size: 100% auto ; /*横幅100%、高さ可変*/
    background-position:right;/* 背景固定 */
    background-size: cover;
    padding-bottom: 20px;
    padding-top: 10px;
    text-align: center;
    min-height:500px;
}
#cont-price .price_outer{
    margin-top:60px;
    margin-bottom:60px;
}
#cont-price .white_box{
    background-color:#ffffff;
    padding:30px;
}
#cont-price h2{
    color: #1ba1dd;
    margin: 20px 0px 8px 0px;
    font-size: 34px;
    font-weight: bold;
}
#cont-price p{
    line-height:1.2;
}
#cont-price .h2_ja{
    color: #004b96;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Montserrat', "Arial";
    margin-bottom:40px;
}
#cont-price th{
    margin:0px 20px 10px 0px;
    vertical-align:top;
}
#cont-price .price_th{
    background-color:#1ba1dd;
    padding:6px 20px 6px 20px;
    white-space: nowrap;
    color:#ffffff;
    font-weight:normal;
}
#cont-price .price_heading{
    text-align:left;
    color:#000000;
    font-weight:bold;
    margin-bottom:6px;
    font-size:16px;
    padding:0px 0px 0px 10px;
}
#cont-price .price_txt{
    text-align:left;
    font-size:15px;
    padding:0px 0px 0px 10px;
}

/* 小デバイス（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
  #cont-price .white_box{
      background-color:#ffffff;
      padding:20px;
  }
  #cont-price .price_heading{
      text-align:left;
      color:#000000;
      font-weight:bold;
      margin-bottom:6px;
      font-size:15px;
      padding:0px 0px 0px 10px;
  }
  #cont-price .price_txt{
      text-align:left;
      font-size:13px;
      padding:0px 0px 0px 10px;
  }
  #cont-price th{
      display:block;
      margin:0;
  }
  #cont-price td{
      display:block;
  }
  #cont-price .price_th{
      padding:6px 6px 6px 6px;
      margin-bottom:4px;
  }
}


/*********************************************/
/* PRODUCER VIOLINIST                        */
/*********************************************/
.producer_violinist{
    padding-bottom: 20px;
    padding-top: 10px;
    text-align: center;
}
#cont-producer_violinist h2{
    color: #1ba1dd;
    margin: 20px 0px 8px 0px;
    font-size: 50px;
    font-weight: bold;
}
#cont-producer_violinist p{
    color:#ffffff;
}
#cont-producer_violinist .profile_box{
    background-image: url(../images/producer_violinist_bg.jpg);
    background-size: 100% auto ; /*横幅100%、高さ可変*/
    background-position:right;/* 背景固定 */
    background-size: cover;
    padding: 40px 50px 33px 50px;
    text-align:left;
}
#cont-producer_violinist .profile_box .name{
    font-size:30px;
    display:inline-block;
    margin-right:20px;
}
#cont-producer_violinist .profile_box .title{
    font-size:12px;
    display:inline-block;
}
#cont-producer_violinist .profile_box .profile_txt{
    font-size:12px;
}
#cont-producer_violinist .profile_box .facebook{
    font-size:12px;
    display:inline-block;
    margin-right:16px;
}
#cont-producer_violinist .profile_box .twitter{
    font-size:12px;
    display:inline-block;
    margin-right:16px;
}
#cont-producer_violinist .profile_box .instagram{
    font-size:12px;
    display:inline-block;
}
#cont-producer_violinist .profile_box img{
    width:28px;
    height:auto;
    margin-right:4px;
}
#cont-producer_violinist .profile_img_relative{
    position: relative;
}
#cont-producer_violinist .profile_img {
    position: absolute;
    width:250px;
    height:auto;
    right: 104px;
    bottom: 15px;
}
#cont-producer_violinist .profile_box a:hover{
    opacity: 0.6;
}

/* 中デバイス（タブレット, 992px 未満）*/
@media (max-width: 991.98px) {
  #cont-producer_violinist .profile_img {
      position: absolute;
      width:240px;
      height:auto;
      right: 60px;
      bottom: 15px;
  }
}

/* 小デバイス（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
  #cont-producer_violinist h2{
      margin: 20px 0px 20px 0px;
      font-size: 34px;
      line-height:1.1;
  }
  #cont-producer_violinist .profile_box{
      padding: 40px 30px 33px 30px;
  }
  #cont-producer_violinist .profile_box .name{
      font-size:30px;
      margin-right:20px;
      margin-top:20px;
      margin-bottom:0px;
  }
  #cont-producer_violinist .profile_box .facebook{
      font-size:10px;
      display:inline-block;
      margin-right:0px;
  }
  #cont-producer_violinist .profile_box img{
      width:20px;
      height:auto;
      margin-right:4px;
  }
  #cont-producer_violinist .profile_box img.profile_img{
      width:70%;
      height:auto;
      position:static;
  }
  #cont-producer_violinist .outer_producer_violinist{
      text-align:center;
  }
  #cont-producer_violinist .profile_img_outer{
    text-align:right;
  }
}
/* 極小デバイス（縦向きモバイル, 576px 未満）*/
@media (max-width: 575.98px) {
  #cont-producer_violinist .profile_box img.profile_img{
      width:100%;
      height:auto;
      position:static;
  }
}


/*********************************************/
/* MISSION                                   */
/*********************************************/
.mission{
    background-color: #1ba1dd;
    padding-bottom: 20px;
    padding-top: 10px;
    text-align: center;
}
.mission .relative{
    position:relative;
    min-height:900px;
}
.mission .photo_absolute{
    position:absolute;
    left: 80px;
    top: 38px;
    width:260px;
    height:auto;
}
.mission .music_absolute{
    position:absolute;
    right: 80px;
    bottom: -20px;
    width:500px;
    height:auto;
}
#cont-mission h2{
    color: #ffffff;
    margin: 30px 0px 8px 0px;
    font-size: 48px;
    font-weight: bold;
}
#cont-mission p{
    color:#ffffff;
}
#cont-mission .mission_title{
    font-size:27px;
    margin:20px 0px 24px 0px;
}
#cont-mission .mission_txt{
    font-size:14px;
    font-weight:normal;
}
/* 中デバイス（タブレット, 992px 未満）*/
@media (max-width: 991.98px) {
    .mission .photo_absolute{
        left: 0px;
        width:220px;
    }
    .mission .music_absolute{
        right: 0px;
    }
}
/* 小デバイス（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
    .mission .relative{
        min-height:800px;
    }
    .mission .photo_absolute{
        left: 0px;
        top: 29px;
        width:180px;
    }
    .mission .music_absolute{
        right: 50px;
        width:330px;
    }
    #cont-mission h2{
        margin: 20px 0px 8px 0px;
        font-size: 34px;
    }
    #cont-mission .mission_title{
        font-size:22px;
        margin:4px 0px 24px 0px;
    }
    #cont-mission .mission_txt{
        font-size:13px;
    }
    #cont-mission p{
        margin-bottom: 0.7rem;
    }
}
/* 極小デバイス（縦向きモバイル, 576px 未満）*/
@media (max-width: 575.98px) {
    .mission .relative{
        min-height:830px;
    }
    .mission .photo_absolute{
        left: 30px;
        width:140px;
    }
    .mission .music_absolute{
        right: 20px;
    }
    #cont-mission .mission_txt{
        font-size:12px;
    }
}

/*********************************************/
/* CONTACT お問い合わせ                      */
/*********************************************/
.contact{
    background-image: url(../images/contact_bg.jpg);
    background-size: 100% auto ; /*横幅100%、高さ可変*/
    background-position:right;/* 背景固定 */
    background-size: cover;
    padding-bottom: 20px;
    padding-top: 10px;
    text-align: center;
    min-height:500px;
}
#cont-contact .contact_outer{
    margin-top:60px;
    margin-bottom:60px;
}
#cont-contact .white_box{
    background-color:#ffffff;
    padding:30px;
}
#cont-contact h2{
    color: #1ba1dd;
    margin: 20px 0px 8px 0px;
    font-size: 34px;
    font-weight: bold;
}
#cont-contact p{
    line-height:1.2;
}
#cont-contact .h2_ja{
    color: #004b96;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Montserrat', "Arial";
}
#cont-contact .h2_explanation{
    font-size: 11px;
    font-family: 'Montserrat', "Arial";
}
#cont-contact .tel{
    font-size: 28px;
    line-height:0px;
    display:inline-block;
    margin: 20px 30px 0px 0px;
}
#cont-contact .tel img{
    width:28px;
    height:auto;
    margin:0px 6px 6px 0px;
}
#cont-contact .to_mailform{
    font-size: 18px;
    line-height:0px;
    color:#ffffff;
    background: #1ba1dd;
    padding:10px 34px 5px 34px;
    display:inline-block;
}
#cont-contact .to_mailform img{
    width:28px;
    height:auto;
    margin:0px 6px 6px 0px;
}
#cont-contact .contact_logo{
    width:210px;
    height:auto;
}
#cont-contact .copyright{
    color:#ffffff;
    font-size: 12px;
    line-height:0px;
    margin:30px 0px 50px 0px;
}
  #cont-contact .tel{
      margin: 30px 30px 0px 0px;
      color:#000000;
  }
  #cont-contact a{
      color:#000000;
  }
  #cont-contact a:hover{
      opacity: 0.6;
      text-decoration: none;
  }

/* 中デバイス（タブレット, 992px 未満）*/
@media (max-width: 991.98px) {
  #cont-contact .tel{
      display:block;
      margin: 30px 0px 0px 0px;
  }
  #cont-contact .to_mailform{
    margin-top:10px;
  }
}


/*youtube*/
.movie-img-wrap {
    position: relative;
    display: block;
    margin-bottom: 10px;
}
.movie-img-wrap p {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    margin: 0;
    padding: 0;
}
.mfp-bg{
    background: #f2f2f2;
}
.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
    color: #333333;
}
@media (max-width: 480px) {
    .movie-icon img{
        width: 50px;
    }
}


/*
弊社のエンジニアが選ばれる理由
================================================== */
.passion {
    min-height: 800px;
    background-image: url(../images/cont-passion_bg.jpg);
    background-size: 100% auto ; /*横幅100%、高さ可変*/
    background-position:fixed;/* 背景固定 */
    background-size: cover;
    padding-top: 10px;
}
#cont-passion h2{
    color: #ffffff;
    text-align: center;
    margin: 52px 0px 8px 0px;
    font-size: 30px;
    font-weight: bold;
}
#cont-passion span{
    color: #00bfdf;
    font-size: 20px;
    font-family: 'Montserrat', "Arial";
    text-align: center;
  position: relative;
  display: inline-block;
  padding: 0 55px;
}
#cont-passion span:before, #cont-passion span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background-color: #00bfdf;
}
#cont-passion span:before {
  left:0;
}
#cont-passion span:after {
  right: 0;
}
#cont-passion p{
    font-size: 19px;
    font-weight: bold;
    margin: 0 0 30px;
}

/*弊社のエンジニアが選ばれる理由*/
  /*特徴1、特徴２（strength1-2）*/
.strength1-2{
    margin: 50px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
}
.strength1-2 .row{
    margin: 0;
}
.strength1-2 .col-outer{
    background: #ffffff;
    padding:20px 10px 20px 10px;
}
.strength1-2 .col-inner-txt{
    padding-right:10px;
    padding-left:10px;
}
.strength1-2 .col-inner-img{
    padding-right:10px;
    padding-left:10px;
}
  /*特徴３（strength3）*/
.strength3{
    margin: 50px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
}
.strength3 .row{
    margin: 0;
}
.strength3 .col-outer{
    background: #ffffff;
    padding:20px 10px 10px 10px;
}
.strength3 .col-inner-txt{
    padding-right:10px;
    padding-left:10px;
}
.strength3 .col-inner-img{
    padding-right:10px;
    padding-left:10px;
    margin: 0px 0px 10px 0px;
}
  /*特徴４（strength4）*/
.strength4{
    margin: 50px 0px 180px 0px;
    padding: 0px 0px 0px 0px;
}
.strength4 .row{
    margin: 0;
}
.strength4 .col-outer{
    background: #ffffff;
    padding:20px 10px 20px 10px;
}
.strength4 .col-inner-txt{
    padding-right:10px;
    padding-left:10px;
}
.strength4 .col-inner-img{
    padding-right:10px;
    padding-left:10px;
}
  /*特徴１-４の見出しと本文*/
#cont-strength{
    margin: 80px 0px 0px 0px;
}
#cont-strength h3{
    font-size: 24px;
    color: #2b388f;
    font-weight: bold;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 4px 0px;
}
#cont-strength h3 span{
    color: #00bfdf;
}
#cont-strength h3 {
  border-bottom: solid 2px #2b388f;
  position: relative;
}
#cont-strength h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #00bfdf;
  bottom: -2px;
  width: 12%;
}
#cont-strength p{
    font-size: 15px;
    margin: 12px 0px 10px 0px;
}

/*各スキル保持者の割合*/
.sec_skillholder {
    background: #f5f5f5;
}
#cont-skillholder{
    margin: 0px 0px 80px 0px;
    background: #ffffff;
}
#cont-skillholder .row {
    margin-top: -70px;
}
#cont-skillholder h3{
    text-align: center;
    font-size: 24px;
    color: #2b388f;
    font-weight: normal;
    margin: 20px;
}
#cont-skillholder p{
    font-size: 15px;
    margin: 20px;
}

/*エンジニアの声*/
.sec_engineer_voice {
    background-image: url(../images/cont-engineer_voice_bg.jpg);
    background-size: 100% auto ; /*横幅100%、高さ可変*/
    background-position:fixed;/* 背景固定 */
    background-size: cover;
    padding-top: 50px;
    padding-bottom: 80px;
}
#engineer_voice{
    margin: 50px 0px 0px 0px;
    padding: 28px 28px 28px 28px;
    background: #ffffff;
    background: rgba(247,247,247,0.85);
}
#engineer_voice h2{
    color: #2b388f;
    text-align: center;
    margin: 20px 0px 8px 0px;
    font-size: 30px;
    font-weight: bold;
}
#engineer_voice span{
    color: #00bfdf;
    font-size: 20px;
    font-family: 'Montserrat', "Arial";
    text-align: center;
    position: relative;
    display: inline-block;
    padding: 0 55px;
}
#engineer_voice span:before, #engineer_voice span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background-color: #00bfdf;
}
#engineer_voice span:before {
  left:0;
}
#engineer_voice span:after {
  right: 0;
}

#engineer_voice p{
    color: #000000;
    font-size: 16px;
    margin: 50px 0px 30px 0px;
}
#engineer_voice .headline{
    font-size: 20px;
    font-weight: bold;
}

/*取引実績*/
.accomplishment{
    background: #f5f5f5;
    padding-top: 10px;
}
#cont-accomplishment h2{
    color: #2b388f;
    text-align: center;
    margin: 52px 0px 8px 0px;
    font-size: 30px;
    font-weight: bold;
}
#cont-accomplishment span{
    color: #00bfdf;
    font-size: 20px;
    font-family: 'Montserrat', "Arial";
    text-align: center;
  position: relative;
  display: inline-block;
  padding: 0 55px;
}
#cont-accomplishment span:before, #cont-accomplishment span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background-color: #00bfdf;
}
#cont-accomplishment span:before {
  left:0;
}
#cont-accomplishment span:after {
  right: 0;
}

.accomplishment_company{
    margin-top: 60px;
    margin-bottom: 70px;
}
#cont-accomplishment p{
    font-size: 16px;
    margin: 0 0 20px;
}
.accomplishment-img img{
    width: 100%;
}
.accomplishment-detail{
    padding: 0px 0px 0px 0px;
}
.accomplishment-detail p.lead{
    font-size: 15px;
}
.accomplishment-detail p.company-name{
    font-size: 16px;
    font-weight: bold;
}

/*クライアント様の声*/
.client_voice {
    background-image: url(../images/client_voice_bg.jpg);
    background-size: 100% auto ; /*横幅100%、高さ可変*/
    background-position:fixed;/* 背景固定 */
    background-size: cover;
    padding-top: 50px;
    padding-bottom: 80px;
}
#cont-client_voice{
    margin: 50px 0px 0px 0px;
    padding: 28px 28px 28px 28px;
    background: #ffffff;
    background: rgba(247,247,247,0.85);
}
#cont-client_voice p{
    color: #000000;
    font-size: 16px;
    margin: 50px 0px 30px 0px;
}
#cont-client_voice .headline{
    font-size: 20px;
    font-weight: bold;
}

#cont-client_voice h2{
    color: #2b388f;
    text-align: center;
    margin: 20px 0px 8px 0px;
    font-size: 30px;
    font-weight: bold;
}
#cont-client_voice span{
    color: #00bfdf;
    font-size: 20px;
    font-family: 'Montserrat', "Arial";
    text-align: center;
  position: relative;
  display: inline-block;
  padding: 0 55px;
}
#cont-client_voice span:before, #cont-client_voice span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background-color: #00bfdf;
}
#cont-client_voice span:before {
  left:0;
}
#cont-client_voice span:after {
  right: 0;
}


/*
会社概要
================================================== */
.company {
    background: #f5f5f5;
    padding-bottom:80px;
}
.company_center{
    margin: 0px 0px 20px 0px;
    text-align: center;
}
#cont-company h2{
    color: #2b388f;
    text-align: center;
    margin: 40px 0px 8px 0px;
    font-size: 30px;
    font-weight: bold;
}
#cont-company span{
    color: #00bfdf;
    font-size: 20px;
    font-family: 'Montserrat', "Arial";
    text-align: center;
  position: relative;
  display: inline-block;
  padding: 0 55px;
}
#cont-company span:before, #cont-company span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background-color: #00bfdf;
}
#cont-company span:before {
  left:0;
}
#cont-company span:after {
  right: 0;
}

.company .content{
    background: #ffffff;
    margin-top: 100px;
    padding-bottom: 28px;
}
.company table{
/*    border-collapse: collapse;*/
    border-collapse: separate;
/*    border: none;*/
    width: 100%;
    font-size: 16px;
    margin-top: 40px;
}
.company table th{
    color: #2171ba;
    width: 30%;
    padding: 8px 12px 8px 12px;
    vertical-align: top;
    background: #ffffff;
    border-bottom: 1px solid #00bfdf;
}
.company table td{
    background: #ffffff;
    padding: 8px 12px 8px 12px;
    border-bottom: 1px solid #00bfdf;
}
.company table tr:last-child th {
/*	border-bottom: 0px;*/
}
.company table tr:last-child td {
/*	border-bottom: 0px;*/
}

/*
会社お問い合わせ
================================================== */
.company_contact {
    background-image: url(../images/top_gaiyo_bg2.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    background-size: cover;
}
.company_contact .to-contact-form{
    background: #2b388f;
    color: #ffffff;
    padding: 21px 0px;
    margin-top: 120px;
    text-align: center;
    min-height: 160px;
}
.company_contact .to-contact-form p.to-contact-form-mail{
    font-size: 28px;
/*    font-weight: bold;*/
    margin-bottom: 15px;
}
.company_contact .to-contact-form img{
    margin-right: 15px;
}
.company_contact .to-contact-form p.to-contact-form-cont{
    font-size: 16px;
}

.company_contact .to-contact-tel{
    background: #ffffff;
    color: #000000;
    padding: 21px 0px;
    margin-top: 120px;
    margin-bottom: 120px;
    text-align: center;
    min-height: 160px;
}
.company_contact .to-contact-tel a{
    font-family: 'Montserrat', "Arial";
    color: #2b388f;
    font-family: 'Noto Sans JP', YuGothic;
    font-weight: bold;
    font-size: 31px;
    vertical-align: middle;
}
.company_contact .to-contact-tel p.to-contact-tel-cont{
    font-size: 16px;
    margin-bottom: 10px;
}
.company_contact .to-contact-tel p.to-contact-tel-time{
    font-size: 16px;
    margin-bottom: 0px;
}

/*
情報セキュリティ方針
================================================== */
.security{
    padding-top: 55px;
    padding-bottom: 55px;
    background: #ffffff;
}
#cont-security h2{
    color: #2b388f;
/*    padding: 30px 200px 20px 200px;*/
    text-align: center!important;
    float:none;
    font-size: 30px;
    font-weight: bold;
}

.security p{
    font-size: 16px;
    margin-top: 30px;
    margin-bottom: 30px;
}
.security span{
    font-weight: bold;
}

.isms{
    min-height: 333px;
    height: auto;
    background: url(../images/top_isms_bg.jpg) #73c3e5 right no-repeat;
    background-size: auto 100%;
}
#cont-isms h2{
    color: #2b388f;
    padding: 30px 30px 20px 30px;
    border-radius: 40px;
    text-align: center!important;
    float:none;
    font-size: 30px;
    font-weight: bold;
}
.isms p.isms-cont{
    font-size: 16px;
    margin: 32px 0px 25px 0px
}
.isms p.isms-num{
    font-size: 19px;
    font-weight: bold;
}

footer{
    color: #ffffff;
    font-family: 'Noto Sans JP', YuGothic;
}
footer .fnav{
    background: #2b388f;
    text-align: center;
    font-size: 16px;
}
footer .fnav ul.fnav-sitemap{
    margin-top: 25px;
}
footer .fnav .fnav-sitemap li{
    display: inline;
}
footer .fnav .fnav-sitemap li a{
    padding-left: 20px;
    padding-right: 20px;
/*    font-weight: bold; */
    color: #ffffff;
}
footer .fnav .fnav-name{
    font-size: 27px;
/*    font-weight: bold;*/
    vertical-align: middle;
}
footer .fnav ul.fnav-system{
    margin-bottom: 30px;
}
footer .fnav .fnav-system li{
    display: inline;
}
footer .fnav .fnav-system li a{
    padding-left: 15px;
    padding-right: 15px;
    color: #ffffff;
    border-right: 1px solid #ffffff;
}
footer .fnav .fnav-system li:last-child a{
    border-right: none;
}

footer .copyright-bg{
    background: #808080;
    text-align: center;
}
footer p.copyright {
    font-size: 16px;
    padding: 10px 0px;
    margin: 0px;
}
#pageTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
}
#pageTop a {
    display: block;
    z-index: 999;
    padding-top: 6px;
    border-radius: 30px;
    width: 57px;
    height: 57px;
    background-color: #1ba1dd;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    font-family: 'Noto Sans JP', YuGothic;
    line-height:16px;
}
.pagetop_arrow{
    width:24px;
    height:auto;
}
.mb0{
    margin-bottom: 0px;
}
.ul-none a{
    text-decoration: none;
}
.ul-none a :hover{
    text-decoration: none;
}
/*お問い合わせフォーム*/
.contact-form{
    margin:57px 0px;
}
.contact-form-bg{
    background: #f7f7f7;
    padding: 45px 0px;
}
.contact-form h2{
    color: #2b388f;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
}
.contact-form p.form-lead{
    font-size: 17px;
}
.contact-form label{
    color: #2b388f;
    font-size: 19px;
}
.contact-form span{
    margin-left: 5px;
    background: #00bfdf;
    color: #ffffff;
    font-weight: bold;
    font-size: 16px;
    padding: 1px 5px;
}
.contact-form .btn-default {
    color: #ffffff;
    background-color: #2b388f;
    border-color: #2b388f;
    width: 125px;
}
.contact-form .btn-default:hover {
    color: #ffffff;
    background-color: #2b388f;
    border-color: #2b388f;
}
.contact-form table{
    border-collapse: collapse;
    border: none;
    width: 100%;
    font-size: 18px;
}
.contact-form table th{
    color: #2171ba;
    border: none;
    padding: 12px;
    vertical-align: top;
}
.contact-form table td{
    border: none;
    padding: 12px;
}

