/* common
====================== */
body{
overflow-x: hidden;
}

/* prepare
====================== */
.prepare .wrapper p {
  text-align: center;
  font-size: 16px;
  margin: 100px 0 60px;
}
/* home
====================== */
/* gmap */

.box_map {
  position: relative;
   overflow: hidden;
    }
.gmap {
    position: relative; 
    background: gray;
 overflow: hidden;
  }
 #map_customize_top {
    position: absolute;
   width: 100%;
    height: 100%;
   top: 0;
   left: 0;
   overflow: hidden;
    }
@media screen and (min-width: 768px) {
  .gmap {
    
    height: 328px;
  }
  .home_sec6 .box img {
  height: 232px;
  }
  .home_sec6 .wrapper .box_wrap .box p a .img {
  height: 232px;
  }

}
@media screen and (max-width: 767px) {
  .gmap {
  height: 300px;
  }
    .home_sec6 .wrapper .box_wrap .box p a .img {
  width: 100%;
  }
}
/* END gmap */
.home_sec6 .wrapper .box_wrap .box p a:hover,
    .home_sec6 .wrapper .box_wrap .box p a:hover img {
        text-decoration: none;
        opacity: 1;
        filter: alpha(opacity=100);
        -ms-filter: "alpha(opacity=100)";
    }
.home_sec6 .wrapper .box_wrap .box p a {
  color: #5f636e;
}
.home_sec7 .head {
        margin-bottom: 10px;
    }
.home_sec7 .sns_wrap {
  position: relative;
}
.wrapper .sns_wrap a .insta_dammy {
  position: absolute;
  width: 100%;
  height: auto;
}
/* ================================================
pp
================================================ */
.pp_sec1 {
  text-align: center;
}
@media screen and (min-width: 768px) {
    .pp_sec1 {
        background: url(../images/about/sec1_bg.png) no-repeat center top;
        padding: 87px 0 20px;
    }
    .pp_sec1 .txt_box {
        font-size: 14px;
        line-height: 32.5px;
        text-align: center;
        background: #f2f5f7;
        width: 690px;
        margin-left: auto;
        margin-right: auto;
        padding: 20px 30px 30px;
        margin-bottom: 55px;
        border-radius: 3px;
    }
    .pp_sec1 .note {
        position: relative;
        background-image: linear-gradient(to right, #f2f5f7 2px, transparent 1px), linear-gradient(to bottom, #5f636e 1px, transparent 1px);
        background-size: 3px 32.5px;
        line-height: 32.5px; 
        padding-bottom: 0.2em;/*0.1emを0.2emに変更*/
    }
     .pp_sec1 .note:before {
        content: "";
        width: 100%;
        height: 3px;
        position: absolute;
        top: -1px; 
        left: 0;
        background: #f2f5f7;
    }
   .pp_sec2 {
       padding-bottom: 1px; 
    }
  .pp_sec2_block {
    position: relative;
        background-color: #fff;
        border-top: solid 2px #3c3c44;
        padding: 40px 50px 52px;
        margin-bottom: 335px;
        z-index: 10;
  }
  .pp_sec2_block:after {
    content: "";
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 12px;
        background: url(../images/common/pagecurl_shadow.png) no-repeat center top;
        background-size: 100% 100%;
  }
   .pp_sec2 h3 {
       font-weight: 600;
     font-size: 16px;
     margin-top: 25px;
    }
   .pp_sec2 h3:first-child {
     margin-top: 0px;
    }
}

@media screen and (max-width: 767px) {
    .pp_sec1 {
        background: url(../images/about/sec1_bg_sp.png) no-repeat center top;
        background-size: contain;
        padding-top: 40px;
        margin-bottom: 43px;
    }
   .pp_sec1 .txt_box {
        font-size: 13px;
        line-height: 32.5px;
        text-align: center;
        background: #f2f5f7;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
       padding: 10px 15px 20px;
        margin-bottom: 20px;
        border-radius: 3px;
    }
     .pp_sec1 .txt_box br{
        display:none;
     }
    .pp_sec1 .note {
     position: relative;
        background-image: linear-gradient(to right, #f2f5f7 2px, transparent 1px), linear-gradient(to bottom, #5f636e 1px, transparent 1px);
        background-size: 3px 31px;
        line-height: 31px;
        padding-bottom: 0.2em;/*0.1emを0.2emに変更*/
    }
     .pp_sec1 .note:before {
        content: "";
        width: 100%;
        height: 3px;
        position: absolute;
        top: -1px;
        left: 0;
        background: #f2f5f7;
    }
   .pp_sec2 {
        padding-bottom: 1px; 
    }
  .pp_sec2_block {
    position: relative;
       /* background-color: #fff; */
       /* border-top: solid 2px #3c3c44;*/
        padding: 0 0 52px;
        margin-bottom: 135px;
        z-index: 10;
  }
   .pp_sec2 h3 {
        font-weight: 600;
    font-size: 15px;
      margin-top: 23px;
    margin-bottom: 5px;
    }
   .pp_sec2 h3:first-child {
    margin-top: 0px;
    }
}
/* ================================================
faq
================================================ */
.faq_sec1 h2 {
  background-color: #3c3c44;
  color: #ffffff;
  position: relative;
}
.faq_block h2:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}
.faq_sec1 .q_no {
  font-family: 'Roboto', serif;
  font-weight: 500;
}
.faq_block p {
    background-color: #ffffff;
  display: block;
  }
.faq_block .btn {
    display: block;
    font-family: 'Roboto';
    font-weight: 500;
    line-height: 1;
}
.faq_block .btn a {
    color: #3C3C44;
    background-color: #fff;border: solid 1px #3C3C44;
    width: 100%;
    line-height: 42px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
.faq_block .btn a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    color: #fff;
    background-color: #3C3C44;
}
.faq_block .btn a .jp {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

@media screen and (min-width: 768px) {
    .faq_sec1 {
        background: url(../images/about/sec1_bg.png) no-repeat center top;
        padding: 87px 0 20px;
    position: relative;
    }
   .faq_sec1:before {
        content: '';
        position: absolute;
        top: 610px; /*調整*/
        left: -20%; /*140%*/
        width: 140%; /*fullsize*/
        height: 67%; /*調整*/
        background: #f2f5f7;
        -webkit-transform: rotate(-11.8deg);
        transform: rotate(-11.8deg);
    }
  .faq_sec1 h2 {
      font-size: 16px;
    padding: 0 20px;
    line-height: 57px;
    }
  .faq_block h2:before {
        top: 57px;
        border: 12px solid transparent;
        border-top: 16px solid #3c3c44;
    }
  .faq_sec1 .q_no {
      font-size: 24px;
    margin-right: 10px;
    vertical-align: -1px;
    }
  .faq_block {
      margin-bottom: 40px;
      border-right: 1px solid #3C3C44;
    border-left: 1px solid #3C3C44;
    border-bottom: 1px solid #3C3C44;
    
  }
  .faq_block p {
    padding: 30px;
  }

  .faq_block .btn {
        width: 285px;
    padding-top: 0px;
    margin-top: 20px;
        /*position: absolute;
        left: 34px;
        bottom: 30px;*/
    }
    .faq_block .btn a {
        font-size: 18px;
        background-image: url(../images/faq/faq_btn_admission.png);
        background-repeat: no-repeat;
        background-size: 32px auto;
        background-position: 232px center;
        height: 44px;
        padding: 0 50px 0 17px;
    }
    .faq_block .btn a:hover {
        background-image: url(../images/flow/flow_btn_hover.png);
    }
    .faq_block .btn a .jp {
        font-size: 13px;
        margin-left: 12px;
        position: absolute;
        top: 0;
    }
}
@media screen and (max-width: 767px) {
  .faq_sec1 .wrapper {
    padding: 0;
  }
   .faq_sec1 {
        background: url(../images/about/sec1_bg_sp.png) no-repeat center top;
        background-size: contain;
        padding-top: 40px;
        margin-bottom: 60px;
    }
  .faq_sec1_sp { 
    background-color: #f2f5f7;
        background-image: url(../images/about/sec2_bg_top_sp.png), url(../images/about/sec2_bg_bottom_sp.png);
        background-position: center top, center bottom;
        background-size: contain, contain;
        background-repeat: no-repeat, no-repeat;
        padding-bottom: 0px;
      }
  .q_ttl {
    display: table;
    table-layout: fixed;
        width: 100%;
    
  }
  .faq_sec1 h2 {
      font-size: 14px;
    padding: 0 20px;
    height: 65px;
    width: 100%;  
    }
  .faq_block h2:before {
        top: 65px;
        border: 10px solid transparent;
        border-top: 13px solid #3c3c44;
    }
  .faq_sec1 .q_no {
      font-size: 24px;
    display: table-cell;
    vertical-align: middle;
    width: 48px;
    line-height: 60px;
       
    }
  .faq_sec1 .q_question {
    display: table-cell;
    vertical-align: middle;
    line-height: 18px;
    
    }
  .faq_block {
      border-right: 1px solid #3C3C44;
    border-left: 1px solid #3C3C44;
    border-bottom: 1px solid #3C3C44;
    margin: 0 6.67% 40px;
  }
  .faq_block p {
    padding: 20px;
  }
  
  .faq_block .btn {
       
    padding-top: 0px;
    margin-top: 15px;
    }
    .faq_block .btn a {
        font-size: 17px;
        background: url(../images/faq/faq_btn_admission_sp.png) no-repeat right center;
        background-size: 47px auto;
        height: 48px;
    line-height: 44px;
        padding: 0 60px 0 20px;
    }
    .faq_block .btn a .jp {
        font-size: 12px;
        margin-left: 12px;
        position: absolute;
        top: 0;
    }
}
/* ================================================
access
================================================ */
.access_sec1 {}
.access_sec1 .box_img img {width: 100%}
.access_sec1 .sm {
    font-size: 85%;
}
.access_sec1_table th  {
  text-align: left;
}
.access_sec2 .head {
    font-weight: 700;
    color: #fff;
    text-align: center;
    background: -webkit-gradient(linear, left top, right top, from(rgba(60,60,68,0)),color-stop(13%, #3c3c44),color-stop(87%, #3c3c44),to(rgba(60,60,68,0)));
    background: linear-gradient(to right, rgba(60,60,68,0) 0%,#3c3c44 13%,#3c3c44 87%,rgba(60,60,68,0) 100%);
    margin-left: auto;
    margin-right: auto;
}
.access_view .head {
    font-weight: 700;
    color: #fff;
    text-align: center;
    background: -webkit-gradient(linear, left top, right top, from(rgba(60,60,68,0)),color-stop(13%, #3c3c44),color-stop(87%, #3c3c44),to(rgba(60,60,68,0)));
    background: linear-gradient(to right, rgba(60,60,68,0) 0%,#3c3c44 13%,#3c3c44 87%,rgba(60,60,68,0) 100%);
    margin-left: auto;
    margin-right: auto;
}
.access_sec3 {
  background: #f3f5f1;
}
.map_car {
    position: relative;
    background-color: #fff;
}
.map_car:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}
.map_car:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
}
.map_car .ttl {
    font-weight: 700;
    color: #fff;
    background-color: #3c3d44;
}
.map_car .ttl::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    border-style: solid;
    border-color: transparent;
    border-right-color: #67676d;
}
.map_car .ttl::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    border-style: solid;
    border-color: transparent;
    border-right-color: #fff;
}
@media screen and (min-width: 768px) {
    .access_sec1 {
        background: url(../images/about/sec1_bg.png) no-repeat center top;
        padding-top: 87px
    }
    .access_sec1 .box_wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
  .access_sec1 .box_img {
    width: 360px;
  }
    .access_sec1 .box_txt {
    width: 660px;
  }
  .access_sec1_table {
      border-bottom: 1px solid #5F636E;
    font-size: 14px;
    line-height: 19px;
  }
  .access_sec1_table tr {
      border-top: 1px solid #5F636E;
  }
  .access_sec1_table th {
      background: #f2f5f7;
      text-align: center;
    width: 156px;
  }
  .access_sec1_table td {
      padding: 18px;
    width: 374px;
  }
　  .access_sec2 {
        margin-bottom: 43px;
    }
     .access_view {
        margin-bottom: px;
    }
    .access_sec2 .head {
    margin-top: 145px;
    font-weight: 700;
        font-size: 22px;
        line-height: 50px;
        width: 255px;
        margin-bottom: 65px
    }
        .access_view .head {
    margin-top: 125px;
    font-weight: 700;
        font-size: 22px;
        line-height: 50px;
        width: 255px;
        margin-bottom: 65px
    }
  .access_sec2 .gmap_wrapper {
    width: 960px;
    margin: 0 auto;
  }
      .access_view .gmap_wrapper {
    width: 960px;
    margin: 0 auto;
  }
  #gmap_access {
    width: 100%;
    height: 495px;
    /*background: red;*/
  }
    #view_access {
    width: 100%;
    height: 495px;
    /*background: red;*/
  }
  .access_sec3 {
        margin: 62px 0 135px;
    padding: 95px 0 35px;
    }
  .map_car {
        margin-left: 12px;
    margin-right: 60px;
        margin-bottom: 57px;
    /* 以下のpadding-bottomで縦幅調整(PC) */
        padding: 108px 380px 20px 34px;
        min-height: 260px;
    }
    /*.map_car:after {
        height: 13px;
        background: url(../images/common/pagecurl_shadow.png) no-repeat center top;
        background-size: 100% 100%;
    }*/
    .map_car .ttl {
        position: absolute;
        top: 36px;
        left: -12px;
        font-size: 21px;
        line-height: 48px;
        height: 48px;
        width: 486px;
        padding-left: 46px;
    }
    .map_car .ttl::before {
    border-width: 0 12px 19px 0;
  }
    .map_car .ttl::after {
    border-width: 48px 27px 0 0;
  }
  .access_sec3 .map_car_pc {
      width: 368px;
    position: absolute;
    top: -53px;
    right: 0;
     } 
  .access_sec3 .map_car_pc img {
      width: 368px;
     } 
    .access_sec3 .map_car_sp {
    display: none;
     } 
}
@media screen and (max-width: 767px) {
    .access_sec1 {
        background: url(../images/about/sec1_bg_sp.png) no-repeat center top;
        background-size: contain;
        padding-top: 30px;
        margin-bottom: 60px;
    font-size: 13px;
    line-height: 21px;
    }
    .access_sec1 .box_img {
    margin-bottom: 8px;
  }
  .access_sec1_table {
    width: 100%;
    margin-top: 30px;
    border-bottom: 1px solid #5F636E;
  }
  .access_sec1_table tr {
      border-top: 1px solid #5F636E;
  }
  .access_sec1_table td {
      padding: 18px;
    text-align: center; 
        display: block;
        border-top: none;
  }
  .access_sec1_table th {
      background: #f2f5f7; 
      text-align: center; 
    line-height: 43px;
        display: block;
    position: relative;
  }
   .access_sec1_table th:before {
        content: "";
        width: 0;
        height: 0;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
      top: 43px;
        border: 10px solid transparent;
        border-top: 13px solid #f2f5f7;
    }
    .access_sec2 {
        padding-bottom: 25px;
    }
        .access_view {
        padding-bottom: 25px;
            margin-bottom: 40px;
    }
    .access_sec2 .head {
        font-size: 15px;
        line-height: 34px;
        width: 175px;
        margin-bottom: 28px
    }
        .access_view .head {
        font-size: 15px;
        line-height: 34px;
        width: 175px;
        margin-bottom: 28px
    }
  #gmap_access {
    width: 100%;
    height: 300px;
    /*background: red;*/
  }
      #view_access {
    width: 100%;
    height: 300px;
    /*background: red;*/
  }
   .access_sec3 {
     padding: 25px 0;
      margin-bottom: 60px;
    }
   .map_car {
        padding: 64px 4.6% 15px;
    }
    .map_car:after {
        height: 7px;
        background: url(../images/common/pagecurl_shadow_sp.png) no-repeat center top;
        background-size: 100% 100%;
    }
    .map_car p {
        margin-bottom: 15px
    }
    .map_car .ttl {
        position: absolute;
        top: 15px;
        left: -10px;
        font-size: 15.5px;
        line-height: 39px;
        height: 39px;
        width: calc(100% - 5px);
        padding-left: 12px;
    }
    .map_car .ttl::before {border-width: 0 10px 15px 0;}
    .map_car .ttl::after {border-width: 39px 21px 0 0;}  
    .access_sec3 .map_car_sp {
      width: 100%;
     } 
  .access_sec3 .map_car_sp img {
       width: 100%;
     } 
  .access_sec3 .map_car_pc {
    display: none;
     } 
}
/* ================================================
price
================================================ */
.price_sec1 .info_head {
  font-family: "Noto Serif Japanese";
    color: #3c3c44;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.price_sec1 .box_img img {width: 100%}

.price_sec2 .staff_head .txt_name {
    font-family: "Noto Serif Japanese";
}
.price_sec1 .btn a {
    display: block;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: #fff;
    background-color: #a48f63;
}
.price_sec1 .btn a {
    background-color: #a48f63;
 }
.price_sec1 .btn a .jp {     
  font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
}
.price_sec1 h4 {
  font-family: "Noto Serif Japanese";
  color: #fff;
  text-align: center;
  background-color: #3c3c44;
  position: relative;
}
.price_sec1 h4:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}
.price_sec1 h5 {
  color: #fff;
  font-weight: 700;
    text-align: center;
    background: -webkit-gradient(linear, left top, right top, from(rgba(60,60,68,0)),color-stop(13%, #3c3c44),color-stop(87%, #3c3c44),to(rgba(60,60,68,0)));
    background: linear-gradient(to right, rgba(60,60,68,0) 0%,#3c3c44 13%,#3c3c44 87%,rgba(60,60,68,0) 100%);
    margin-left: auto;
    margin-right: auto;
}
.credit_wrap {
  background-color: #f2f5f7;
}
@media screen and (min-width: 768px) {
    .price_sec1 {
        background: url(../images/about/sec1_bg.png) no-repeat center top;
        padding-top: 87px;
     position: relative;
    }
    .price_sec1:before {
        content: '';
        position: absolute;
        top: 450px; /*調整*/
        left: -20%; /*140%*/
        width: 140%; /*fullsize*/
        height: 77.5%; /*調整*/
        background: #f3f5f1;
        -webkit-transform: rotate(-11.8deg);
        transform: rotate(-11.8deg);
    }
  .price_sec1 .info_block {
        position: relative;
        background-color: #fff;
        border-top: solid 2px #3c3c44;
        padding: 0px 30px 52px;
        margin-bottom: 42px;
        z-index: 10;
    }
    .price_sec1 .info_block:last-of-type {margin-bottom: 0;}
    .price_sec1 .info_block:after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 12px;
        background: url(../images/common/pagecurl_shadow.png) no-repeat center top;
        background-size: 100% 100%;
    }
   .price_sec1 .info_block .info_head {
  font-size: 22px;
  line-height: 39px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  margin-bottom: 50px;
  position: relative;
    }
    .price_sec1 .info_block .info_head:after {
        content: "";
        width: 0;
        height: 0;
        border: 146px solid transparent; /* 116px */
        border-top: 120px solid #f9f9f6; /* 94px */
        position: absolute;
        top: 0px;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1
    }
    .price_sec1 .box_wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .price_sec1 .box_img {
    width: 308px;
  }
    .price_sec1 .box_txt_taiken {
    width: 562px;
    color: #3c3c44;
  }
   .price_sec1 .box_txt_pair {
    width: 562px; 
    color: #3c3c44;
  }
  .price_sec1 .info_block ul {
     border-top: solid 1px #e8e8e8;
  }
    .price_sec1 .info_block li {
    font-family: "Noto Serif Japanese";
    font-size: 22px;
    line-height: 39px;
        background: url(../images/common/list_icon_diamond.png) no-repeat left 33px;
        background-size: 13px auto;
        border-bottom: solid 1px #e8e8e8;
      padding: 18px 0px 22px 20px;
        position: relative;
    overflow: hidden;
    }
  .price_sec1 .info_block li img {
    display: none;
    }
  .price_sec1 .info_block li p {
    font-family: 'Noto Sans JP', sans-serif;
        font-weight: 500;
      font-size: 13px;
    line-height: 16px;
    color: #5f636e;
      margin-top: 8px;
    margin-left: -20px;
    padding: 7px;
      border-radius: 15px;
    background: #f2f5f7;
    letter-spacing: 0;
    }
  .taiken_price {
    float: right;
  }
  .price_sec1 .tax {
    margin: 10px 0 0;
    color: #9fa1a8;
    font-size: 13px;
    text-align: left;
  }
  .price_sec1 .btn {
        width: 273px;
        margin: 30px auto 0;
    }
    .price_sec1 .btn a {
        font-size: 18px;
        line-height: 1;
        background-image: url(../images/home/sec3_btn_arrow.png);
        background-repeat: no-repeat;
        background-size: 32px auto;
        background-position: 232px center;
        padding: 13px 50px 13px 22px;
        /*20180424  display: flex;*/
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: relative;
    }
    .price_sec1 .btn a .jp {
        font-size: 13px;
        margin-left: 12px;
        position: absolute;
        top: 15px;
    }
  .price_sec1 .info_block .training_head {
        padding-top: 30px;
    }
  .price_sec1 h4 {
      font-size: 21px;
    line-height: 52px;
    margin-top: 70px;
    margin-bottom: 35px;
    }
    .price_sec1 h4:before {
        top: 52px;
        border: 12px solid transparent;
        border-top: 16px solid #3c3c44;
    }
  .price_sec1 h4 img {
      width: auto;
    height: 35px;
    vertical-align: -7px;
    margin-right: 10px;
    }
  .price_sec1 .training_wrap {
    text-align: center;
  }
  .training_txt {
    font-size: 17px;
    margin-bottom: 40px;
  }
  .pair_txt {
    font-size: 17px;
    margin-bottom: 23px;
    color: #5f636e;
  }
  .pair_txt br {
    display: none;
  }
  .price_sec1 .personal_wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
        /*flex-direction: row-reverse;*/
    }
    .price_sec1 .box_personal {
    width: 280px;
    color: #3c3c44;
  }
  .price_sec1 h5  {
      width: 250px;
      font-size: 15px;
    line-height: 35px;
    margin-bottom: 30px;
    }
  
  .price_personal_table,.price_pair_table {
      border-bottom: 1px solid #5F636E;
    font-size: 14px;
    line-height: 19px;
    color: #5f636e;
  }
  .price_personal_table tr, .price_pair_table tr {
      border-top: 1px solid #5F636E;
  }
  .price_personal_table th {
      background: #f2f5f7;
      text-align: center;
    width: 192px;
  }
  .price_pair_table th {
    background: #f2f5f7;
      text-align: center;
    width: 217px;
  }
  .price_personal_table td {
      padding: 16px;
    width: 243px;
  }
  .price_pair_table td {
      padding: 16px;
    width: 345px;
  }
  .price_sec1 .pair_wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .price_sec1 .box_txt_pair {
    width: 562px;
    color: #3c3c44;
  }
    .dietpack {
        width: 720px;
        height: auto;
    }
  .credit_wrap {
    width: 700px;
    margin: 0 auto 85px;
    padding: 18px;
    border-radius: 6px;
      overflow: hidden;
    }
  .credit_txt {
      float: left;
    width: 306px;
    text-align: center;
    padding-top: 17px;
    }
  .credit_img {
      float: right;
    width: 323px;
    background-color: #fff;
    }
  .credit_img h6 {
      color: #fff;
    background-color: #999999;
    text-align: center;
    }
  .credit_img img {
      width: 300px;
    height: auto;
    margin: 10px;
    }
  .credit_txt .note {
        position: relative;
        background-image: linear-gradient(to right, #f2f5f7 2px, transparent 1px), linear-gradient(to bottom, #5f636e 1px, transparent 1px);
        background-size: 3px 32.5px;
        line-height: 32.5px; 
        padding-bottom: 0.2em;/*0.1emを0.2emに変更*/
    }
     .credit_txt .note:before {
        content: "";
        width: 100%;
        height: 3px;
        position: absolute;
        top: -1px; 
        left: 0;
        background: #f2f5f7;
    }
    /* おすすめコースへのリンク*/
    .link-course {
        margin: 40px auto 0;
        width: 600px;
        background-image: url("../images/price/bg_course.png");
        background-size: 396px auto;
        background-position: top center;
        background-repeat: no-repeat;
        min-height: 180px;
        padding-top: 105px;
    }
    .link-course p {
        display: block;
        text-align: left;
    }
    .link-course p.txt {
        margin-top: 27px;
        line-height: 1.7;
    }
  .price_sec2 {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
    .price_sec1 {
        background: url(../images/about/sec1_bg_sp.png) no-repeat center top;
        background-size: contain;
        padding-top: 22px;
        margin-bottom: 0px;
    text-align: center;
    }
     .price_sec1_wrapper {
        background-color: #f3f5f1;
        background-image: url(../images/about/sec2_bg_top_sp.png), url(../images/about/sec2_bg_bottom_sp.png);
        background-position: center top, center bottom;
        background-size: contain, contain;
        background-repeat: no-repeat, no-repeat;
        padding-bottom: 60px;
    }
  .price_sec1 .info_block {
        position: relative;
        background-color: #fff;
        border-top: solid 2px #3c3c44;
        padding: 0px 15px 25px;
        margin-bottom: 28px;
        z-index: 10;
    }
    .price_sec1 .info_block:last-of-type {margin-bottom: 0;}
    .price_sec1 .info_block:after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 7px;
        background: url(../images/common/pagecurl_shadow_sp.png) no-repeat center top;
        background-size: 100% 100%;
    }
  .price_sec1 .info_block .info_head {
        font-size: 17px;
    line-height: 32px;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        padding-top: 12px;
        margin-bottom: 20px;
    }
    .price_sec1 .info_block .info_head:after {
        content: "";
        width: 0;
        height: 0;
        border: 95px solid transparent;
        border-top: 90px solid #f9f9f6;
        border-bottom: none;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1
    }
    .price_sec1 .box_img {
    margin-bottom: 16px;
  }
  .price_sec1 .info_block ul {
      border-top: solid 1px  #e8e8e8;
  }
    .price_sec1 .info_block li {
    font-family: "Noto Serif Japanese";
        font-size: 16px;
        line-height: 26px;
        padding: 16px 0 16px 0;
        border-bottom: solid 1px #e8e8e8;
    }
  .price_sec1 .info_block li img {
    width: 10px;
    height: auto;
    vertical-align: 1px;
    margin-right: 5px;
    }
  .price_sec1 .info_block li p {
    color: #5f636e;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 12px;
    line-height: 21px;
        font-weight: 500;
      margin-top: 8px;
    margin-left: 0px;
    padding: 15px;
      border-radius: 15px;
    background: #f2f5f7;
    letter-spacing: 0;
    }
    .price_sec1 .box_txt_taiken {
    color: #3c3c44;
  }
  .taiken_price {
    display: block;
  }
  .price_sec1 .tax {
    margin: 10px 0 0;
    color: #9fa1a8;
    font-size: 13px;
  }
    .price_sec1 .box_txt p {margin-bottom: 25px}
    .price_sec1 .box_txt p:last-of-type {margin-bottom: 0}
    .price_sec1 .btn {
        width: 100%;
        margin-top: 22px;
    }
    .price_sec1 .btn a {
        font-size: 19px;
        line-height: 1;
        background-image: url(../images/home/sec3_btn_arrow_sp.png);
        background-repeat: no-repeat;
        background-size: 55px auto;
        background-position: right center;
        padding: 17px 60px 17px 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .price_sec1 .btn a .jp {
        font-size: 13px;
        margin-left: 20px;
    }
  .price_sec1 .info_block .training_head {
        padding-top: 20px;
    }
  .price_sec1 h4 {
      font-size: 16px;
    line-height: 41px;
    margin-top: 35px;
    margin-bottom: 35px;
    }
  .price_sec1 h4:before {
        top: 41px;
        border: 10px solid transparent;
        border-top: 13px solid #3c3c44;
    }
  .price_sec1 h4 img {
      width: auto;
    height: 20px;
    vertical-align: -3px;
    margin-right: 10px;
    }
  .price_sec1 .training_wrap {
    text-align: center;
  }
  .training_txt {
    font-size: 14px;
    margin-bottom: 40px;
  }
  .pair_txt {
    font-size: 14px;
    margin-top: 30px;
    margin-bottom: 30px;
    color: #5f636e;
  }
    .price_sec1 .box_personal {
    color: #3c3c44;
    margin-bottom: 60px;
  }
  .price_sec1 h5  {
      width: 200px;
      font-size: 15px;
    line-height: 30px;
    margin-top: 40px;
    margin-bottom: 0px;
    }
  .price_sec1 .nakai {
    margin-top: -15px;
    }
  .price_personal_table, .price_pair_table {
    width: 100%;
    margin-top: 20px;
    border-bottom: 1px solid #5F636E;
    color: #5f636e;
  }
  .price_personal_table tr, .price_pair_table tr {
      border-top: 1px solid #5F636E;
  }
  .price_personal_table td, .price_pair_table td {
      padding: 18px;
    text-align: center; 
        display: block;
        border-top: none;
  }
  .price_personal_table th, .price_pair_table th {
      background: #f2f5f7; 
      text-align: center; 
    line-height: 43px;
        display: block;
    position: relative;
  }
   .price_personal_table th:before, .price_pair_table th:before {
        content: "";
        width: 0;
        height: 0;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
      top: 43px;
        border: 10px solid transparent;
        border-top: 13px solid #f2f5f7;
    }
  .credit_wrap {
    width: 100%;
    margin: 0 auto;
    padding: 18px;
    border-radius: 6px;
    }
  .credit_txt {
    text-align: center;
    margin-bottom: 18px;
    }
  .credit_img {
    background-color: #fff;
    }
  .credit_img h6 {
      color: #fff;
    line-height: 24px;
    background-color: #999999;
    text-align: center;
    }
  .credit_img img {
      width: 320px;
    height: auto;
    margin: 10px;
    }
   .credit_txt .note {
     position: relative;
        background-image: linear-gradient(to right, #f2f5f7 2px, transparent 1px), linear-gradient(to bottom, #5f636e 1px, transparent 1px);
        background-size: 3px 31px;
        line-height: 31px;
        padding-bottom: 0.2em;/*0.1emを0.2emに変更*/
    }
     .credit_txt .note:before {
        content: "";
        width: 100%;
        height: 3px;
        position: absolute;
        top: -1px;
        left: 0;
        background: #f2f5f7;
    }
    .info_block h4 span {
    display: none;
}
    /* おすすめコースへのリンク*/
        .link-course {
            margin: 40px auto 0;
            width: 100%;
            background-image: url("../images/price/bg_course.png");
            background-size: 280px auto;
            background-position: top center;
            background-repeat: no-repeat;
            min-height: 160px;
            padding-top: 82px;
        }

        .link-course p {
            display: block;
            text-align: center;
        }

        .link-course p.txt {
            margin-top: 0;
            line-height: 1.8;
        }

        .price_sec1 .link-course .btn {
            margin-top: 16px;
        }

        .price_sec2 {
            margin-bottom: 60px;
        }

}
/* ================================================
price追加(定額)
================================================ */
.teigaku_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
@media screen and (min-width: 768px) {
    .price_sec1 .box_teigaku {
        width: 562px;
    }
    .price_sec1 .box_teigaku.tokuten_teigaku {
        width: 34%;
        line-height: 1.7;
        background-color: #f2f5f7;
        border-radius: 5px;
    }
     .price_sec1 .box_teigaku .price_personal_table {
        width: 100%;
    }
    .price_sec1 h4 img.icon_teigaku {
        width: auto;
        height: 35px;
        vertical-align: -8px;
        margin-right: 10px;
        
    }
    }

}

.tokuten_teigaku {
    background-color: #f2f5f7;
    padding: 1%;
    border-radius: 10px;
}
.price_sec1 .box_personal.tokuten_teigaku h5 {
    background: #f2f5f7;
    color: #3c3c44;
    font-size: 16px;
    margin-bottom: 0px;
    line-height: 3;
}
.price_sec1 .box_personal.tokuten_teigaku .mark {
    color: #a48f63;
}



@media screen and (max-width: 767px) {
    .teigaku_wrap {
        display: block;
    }
      .price_sec1 .box_personal .box_teigaku {
        margin-bottom: 30px;
          
    }  
    .tokuten_teigaku {
        padding: 4%;
        background-color: #f2f5f7;
    }  
    .price_sec1 .box_personal.tokuten_teigaku h5 {
    
    font-size: 14px;
        margin-top: -3px;
    margin-bottom: 0px;
    line-height: 3;
}


    
    
}

 .price_sec1 .box_teigaku .price_personal_table span {
        color: #a48f63;
     margin-left: 10px;
}


/* ================================================
about追加(山下)
================================================ */
.staff_head .txt_name {
    font-family: "Noto Serif Japanese";
}
.info_block .info_head {
    font-family: "Noto Serif Japanese";
}
.info_block .staff_head {
  color: #3c3c44;
}
@media screen and (min-width: 768px) {
    .about_sec2_yamashita {
  position: relative;
  margin-top: 147px;
  margin-bottom: 43px;
    }
    .about_sec2_yamashita:before {
        content: '';
        position: absolute;
        top: 290px; /*調整*/
        left: -20%; /*140%*/
        width: 140%; /*fullsize*/
        height: 72%; /*調整*/
        background: #f3f5f1;
        -webkit-transform: rotate(-11.8deg);
        transform: rotate(-11.8deg);
    }
    .about_sec2_inner_yamashita {
        width: 100%;
        height: 100%;
        margin: 0 auto;
        padding-bottom: 42px
    }
    .about_sec2_yamashita .staff_block {
        padding-left: 440px;
        min-height: 682px;
        position: relative;
    }
    .about_sec2_yamashita .staff_head {
        border-top: solid 2px #3c3c44;
        padding-top: 13px;
        padding-bottom: 13px;
        border-bottom: solid 2px #3c3c44;
        margin-bottom: 33px;
    }
    .about_sec2_yamashita .staff_head .txt_post {
        font-size: 18px;
        margin-bottom: 6px;
    }
    .about_sec2_yamashita .staff_head .txt_name .jp {
    font-size: 22px;
  }
    .about_sec2_yamashita .staff_head .txt_name .en {
        font-size: 17px;
        margin-left: 10px
    }
    .about_sec2_yamashita .staff_block .box_img {
        position: relative;
    }
    .about_sec2_yamashita .staff_block .man {
        width: 260px;
        height: auto;
        position: absolute;
        top: -142px;
        left: -370px;
        z-index: 10;
    }
    .about_sec2_yamashita .man img {width: 100%}
    .about_sec2_yamashita .info_block {
        position: relative;
        background-color: #fff;
        border-top: solid 2px #3c3c44;
        padding: 0px 50px 52px;
        margin-bottom: 42px;
        z-index: 10;
    }
    .about_sec2_yamashita .info_block:last-of-type {margin-bottom: 0;}
    .about_sec2_yamashita .info_block:after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 12px;
        background: url(../images/common/pagecurl_shadow.png) no-repeat center top;
        background-size: 100% 100%;
    }
    .about_sec2_yamashita .info_block .info_head {
        font-size: 20px;
        color: #fff;
        text-align: center;
        width: 232px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 18px;
        margin-bottom: 34px;
        position: relative;
    }
    .about_sec2_yamashita .info_block .info_head:after {
        content: "";
        width: 0;
        height: 0;
        border: 116px solid transparent;
        border-top: 94px solid #3c3c44;
        position: absolute;
        top: -1px;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1
    }
  .about_sec2_yamashita .txt_yamashita {
    margin-bottom: 16px;
  }
    .about_sec2_yamashita .info_block ul {}
    .about_sec2_yamashita .info_block li {
        background: url(../images/common/list_icon_diamond.png) no-repeat left 15px;
        background-size: 10px auto;
        padding: 5px 0px 6px 18px;
        border-bottom: solid 1px #e8e8e8;
        position: relative;
    }
     #tanaka .about_sec2_inner .man img {
         width: 100%;
         margin-top: -40px;
    }
    #oba .about_sec2_inner .man img {
         width: 100%;
         margin-top: -40px;
    }
}
@media screen and (max-width: 767px) {
    .about_sec2_yamashita {
        background-color: #f3f5f1;
        background-image: url(../images/about/sec2_bg_top_sp.png), url(../images/about/sec2_bg_bottom_sp.png);
        background-position: center top, center bottom;
        background-size: contain, contain;
        background-repeat: no-repeat, no-repeat;
        padding-bottom: 60px;
    }
    .about_sec2_yamashita .staff_block {
        position: relative;
        margin-bottom: 30px;
    }
    .about_sec2_yamashita .staff_head {
        letter-spacing: -.01em;
        text-align: center;
        border-top: solid 1px #3c3c44;
        padding-top: 9px;
        padding-bottom: 9px;
        border-bottom: solid 1px #3c3c44;
        margin-bottom: 24px;
    }
    .about_sec2_yamashita .staff_head .txt_post {
        font-size: 13px;
    }
    .about_sec2_yamashita .staff_head .txt_name .jp {
    font-size: 17px;
  }
    .about_sec2_yamashita .staff_head .txt_name .en {
        font-size: 12px;
        margin-left: 10px
    }
    .about_sec2_yamashita .staff_block .box_img {
        padding-left: 34%;
        min-height: 342px;
        position: relative;
    }
    .about_sec2_yamashita .staff_block .man {
        width: 138px;
        position: absolute;
        top: -4px;
        left: -15px;
        z-index: 10;
    }
    .about_sec2_yamashita .man img {width: 100%}
    .about_sec2_yamashita .info_block {
        position: relative;
        background-color: #fff;
        border-top: solid 2px #3c3c44;
        padding: 0px 15px 25px;
        margin-bottom: 28px;
        z-index: 10;
    }
    .about_sec2_yamashita .info_block:last-of-type {
    margin-bottom: 0;
  }
      .about_sec2_abad .info_block:last-of-type {
    margin-top: 25px;
  }
    .about_sec2_yamashita .info_block:after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 7px;
        background: url(../images/common/pagecurl_shadow_sp.png) no-repeat center top;
        background-size: 100% 100%;
    }
    .about_sec2_yamashita .info_block .info_head {
        font-size: 15px;
        color: #fff;
        text-align: center;
        width: 170px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 12px;
        margin-bottom: 32px;
    }
    .about_sec2_yamashita .info_block .info_head:after {
        content: "";
        width: 0;
        height: 0;
        border: 85px solid transparent;
        border-top: 70px solid #3c3c44;
        border-bottom: none;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1
    }
    .about_sec2_yamashita .info_block li {
        font-size: 12px;
        line-height: 20px;
        background: url(../images/common/list_icon_diamond.png) no-repeat left 14px;
        background-size: 7px auto;
        padding: 7px 0px 7px 12px;
        border-bottom: solid .5px #e8e8e8;
    }
}
/* ================================================
about追加(富田)
================================================ */
@media screen and (min-width: 768px) {
    .add_tomita .staff_block .man {
        width: 255px;
        height: auto;
        position: absolute;
        top: -168px;
        left: -350px;
        z-index: 10;
    }  
}
@media screen and (max-width: 767px) {
   .add_tomita .staff_block .man {
        width: 135px;
       height: auto;
        position: absolute;
        top: -8px;
        left: 0px;
        z-index: 10;
    } }
    

 @media screen and (max-width: 767px) {
.add_tomita .staff_block .man_abad {
    left: -13px;
}}
/* ================================================
about追加(高木)
================================================ */
@media screen and (min-width: 768px) {
    .add_tomita .staff_block .takagi {
        width: 356px;
        height: auto;
        position: absolute;
        top: -168px;
        left: -420px;
        z-index: 10;
    }  
}
@media screen and (max-width: 767px) {
   .add_tomita .staff_block .takagi {
        width: 165px;
       height: auto;
        position: absolute;
        top: -8px;
        left: -40px;
        z-index: 10;
    } }
/*=======================================
20200606top追加
=======================================*/
@media screen and (min-width: 768px) {
    .txt-desc {
        margin-top: 150px;
        width: 80%;
    }
    .txt-desc p {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.7;
    }
}
@media screen and (max-width: 767px) {
    .txt-desc {
        margin-top: 30px;
/*        width: 100%;*/
    }
    .txt-desc p {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.6;
    }
}


/*=======================================
20230306top追加
=======================================*/
.home_sec3.wide .box.odd {
    padding-right: 0;
}

.home_sec3.wide .box .head {
    width: 100%;
    display: block;

}

.home_sec3.wide .box .head:after {
    width: 100%;
}

.home_sec3 .youtube_wrap {
    padding-right: 0;
    margin-bottom: 64px;
    display: flex;
    justify-content: space-between;

}

.home_sec3 .youtube_wrap .left {
    width: 440px;

}

.home_sec3 .youtube_wrap .right {
    width: 440px;

}

.home_sec3 .youtube_wrap .right .youtube {
    position: relative;
    width: 100%;
    /* 横幅は100%で固定 */
    height: 0;
    /* 高さは0にしておく(padding-topで高さを指定するため) */
    padding-top: 56.25%;
    /* 高さを指定(16:9) */
}

.home_sec3 .youtube_wrap .right .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 767px) {
    .home_sec3 .youtube_wrap {
        display: block;
    }
    .home_sec3 .youtube_wrap .right {
        width: 100%;
        margin-top: 5%;
    }

    .home_sec3 .youtube_wrap .left {
        width: 100%;
    }

    .home_sec3.wide .youtube_wrap {
        margin-bottom: 0;
    }
}

/*aboutページyoutube*/
.youtube_about {
    width: 700px;
    margin: 40px auto 40px;
}
.youtube_about .youtube {
    position: relative;
    width: 100%;
    /* 横幅は100%で固定 */
    height: 0;
    /* 高さは0にしておく(padding-topで高さを指定するため) */
    padding-top: 56.25%;
    /* 高さを指定(16:9) */
}

.youtube_about .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 767px) {
    .youtube_about {
    width: 100%;

}
}



