@charset "UTF-8";
/* mixin
--------------------------*/
/* value
--------------------------*/
/* function
--------------------------*/
* {
  margin: 0;
  padding: 0;
  font-weight: normal;
  line-height: 120%;
  color: #333;
  list-style: none;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica,sans-serif;
  text-decoration: none;
  font-style: normal;
}

img {
  max-width: 100%;
  height: auto;
}

body {
  padding-bottom: 0px;
}

header {
  height: 50px;
}

.blc_header {
  position: fixed;
  width: 100%;
  height: 50px;
  top: 0;
  padding: 2% 2% 2% 4%;
  background-color: #16664f;
  box-shadow: 0px 6px 4px -4px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 4px 3px -3px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0px 6px 4px -4px rgba(0, 0, 0, 0.2);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 1000;
}
.blc_header .header_logo {
  position: absolute;
  width: 52%;
  height: auto;
  display: inline-block;
  transform: translateY(-50%);
  top: 50%;
}
.blc_header .area_tab {
  display: none;
  position: absolute;
  right: 1%;
  top: 54%;
  transform: translateY(-50%);
}
.blc_header .area_tab .tel img {
  height: 40px;
  width: auto;
}
.blc_header .company_tab {
  display: block;
  position: absolute;
  right: 57px;
  top: 54%;
  transform: translateY(-50%);
}
.blc_header .company_tab .btn_company img {
  height: 39px;
}
.blc_header .menu_tab {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(36, 72, 62, 0.9);
  padding: 14px;
}
.blc_header .menu_tab .hamburger {
  width: 24px;
  height: 21px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.blc_header .menu_tab .hamburger_line {
  display: block;
  width: 100%;
  height: 1px;
  border-radius: 2px;
  -webkit-transition: all .5s;
  transition: all .5s;
  background: #FFF;
}
.blc_header .menu_tab .is-open {
  justify-content: center;
  align-items: center;
}
.blc_header .menu_tab .is-open .hamburger_line:nth-child(2) {
  display: none;
}
.blc_header .menu_tab .is-open .hamburger_line:first-child {
  transform: rotate(45deg);
}
.blc_header .menu_tab .is-open .hamburger_line:last-child {
  transform: rotate(-45deg);
  margin-top: -1px;
}

.menu_index {
  display: none;
  background: rgba(28, 69, 57, 0.95);
  padding: 30px 16%;
  position: fixed;
  top: 49px;
  width: 68%;
  height: 100%;
  z-index: 2000;
}
.menu_index .menu_title {
  background: #FFF;
  color: #284e43;
  padding: 6px 0 4px;
  font-size: 4.53125vw;
  font-weight: bold;
  text-align: center;
}
.menu_index .menu_list {
  text-align: center;
  padding: 18px 0 22px;
}
.menu_index .menu_list .menu_list-item {
  border-top: solid 1px #FFF;
}
.menu_index .menu_list .menu_list-item .menu_list-link {
  font-size: 4.6875vw;
  color: #FFF;
  letter-spacing: 0.02em;
  padding: 3% 0;
  display: block;
}
.menu_index .menu_list .menu_list-item:last-child {
  border-bottom: solid 1px #FFF;
}

.inline {
  clear: both;
  padding: 0 10px;
}
.inline img {
  width: 100%;
  height: auto;
}

.blc_back_top {
  background: #FFF;
  width: 100%;
  padding-top: 17px;
  margin: 0 auto;
}
.blc_back_top a {
  display: block;
  width: 150px;
  margin: 0 auto;
}

.blc_global_pagetop {
  overflow: hidden;
  padding: 30px 20px 30px 15px;
}
.blc_global_pagetop img {
  max-width: 35%;
  height: auto;
  float: right;
}

.blc-breadcrumb {
  padding: 5px 15px 7px 15px;
  border-top: solid 2px #16664f;
}
.blc-breadcrumb ul li {
  display: inline-block;
}
.blc-breadcrumb ul li a {
  text-decoration: none;
  font-size: 3.125vw;
}
.blc-breadcrumb ul li a span {
  font-size: 3.125vw;
}
.blc-breadcrumb ul li:after {
  content: ">";
  margin: 0 7px;
}
.blc-breadcrumb ul li:last-child:after {
  content: "";
  margin: 0;
}

.blc-footermenu * {
  font-size: 3.4375vw;
  line-height: 100%;
  letter-spacing: 0;
}

.blc-footermenu {
  background: #16664f;
}
.blc-footermenu .logo {
  text-align: center;
  padding: 8px 0 7px;
}
.blc-footermenu .menu {
  font-size: 3.4375vw;
}
.blc-footermenu .menu .menu-title {
  background: #135642;
  border: solid #135642;
  border-width: 1px 0 0;
  color: #FFF;
  font-weight: bold;
  padding: 7px 30px 6px;
  letter-spacing: 0.08em;
}
.blc-footermenu .menu .index li {
  border: solid #267b65;
  border-width: 1px 0 0;
  color: #FFF;
  padding: 6.5px 30px 5px;
  position: relative;
}
.blc-footermenu .menu .index li a {
  color: #FFF;
  letter-spacing: 0.08em;
  display: block;
}
.blc-footermenu .menu .index li a::after {
  content: ">";
  display: inline-block;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.blc-footermenu .menu .index li:first-of-type {
  border-width: 0;
}
.blc-footermenu .menu .index .child li:first-of-type {
  border-width: 1px 0 0;
}

footer {
  font-size: 3.125vw;
  text-align: center;
}
footer .blc_global_footer {
  padding-bottom: 75px;
}
footer .blc_global_footer address {
  padding: 13px 20px;
  margin-bottom: 15px;
  background: #e6f1ee;
  font-size: 3.125vw;
}
footer .blc_global_footer a {
  text-decoration: underline;
  font-size: 3.125vw;
}
footer .blc-footer-contact-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(129, 117, 104, 0.97);
  padding: 18px 5px 19px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 3000;
}
footer .blc-footer-contact-fixed a {
  display: flex;
  justify-content: center;
  align-items: center;
}
footer .blc-footer-contact-fixed a img {
  width: 45%;
  padding-left: 4%;
}
footer .blc-footer-contact-fixed a .footer-contact-area-text {
  color: #FFF;
  font-weight: bold;
  font-size: 4.0625vw;
}

.blc-footer-contact {
  display: block;
  position: relative;
  margin: 20px 3.90625%;
  background-color: #fff;
  padding: 2.3% 2.6%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-image: none;
  width: auto;
}
.blc-footer-contact * {
  letter-spacing: 0;
  font-size: 3.75vw;
}
.blc-footer-contact img {
  padding: 0;
}
.blc-footer-contact .blc-footer-contact-detail {
  overflow: hidden;
  margin: 1.5625% 0 3.90625% 0;
  /*
  img {
    float: left;
    width: 27.6%
  }
  p {
    padding-top: calcsize(25);
    float: right;
    width: 70%;
    span {
      color: red;
      font-weight: bold;
    }
  }
  */
}
.blc-footer-contact .blc-footer-contact-btn a {
  display: inline-block;
  width: 48.5%;
}

.short img {
  padding: 3px 15px 0px 15px;
}
.short .blc-footer-contact-text h3 {
  padding: 5px 4px;
}
.short .blc-footer-contact-btn img {
  margin-top: -3px;
  padding-bottom: 0;
}

/*
.blc-footer-contact {
  background-color: #535353;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: none;
  h3 {
    display: inline-block;
    width: 100%;
    padding: 5px 0;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    font-weight: bold;
    @include font-size(12);
    border-bottom: solid 1px #363636
  }
  ul {
    li {
      display: inline-block;
      width: 33%;
      
      //border-top: solid 1px #348c78;
      //border-left: solid 1px #0c4733;
      //border-right: solid 1px #348c78;
      //background-color: #16664f;
      
      border-top: solid 1px #c3753f;
      border-left: solid 1px #64350e;
      border-right: solid 1px #c3753f;
      background-color: #e56f0d;
      box-sizing: border-box;
      padding-top: 5px;
      a {
        width: 100%;
        display: inline-block;
        text-align: center;
        img {
          max-width: 40px;
          height: auto;
        }
      }
    }
    li:first-child {
      border-left: none;
    }
    li:nth-child(2) {
      width: 34%;
    }
    li:last-child {
      border-right: none;
    }
  }
}
*/
.blc_bottom_response {
  width: 100%;
  position: fixed;
  z-index: 100;
  bottom: 0;
  padding: 6px 6px 4px 6px;
  background-color: rgba(0, 0, 0, 0.8);
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.blc_bottom_response img {
  max-width: 100%;
  height: auto;
  padding-bottom: 1%;
}
.blc_bottom_response .blc_response_btn .blc_btn_index {
  background-image: url(../img/common/btn_advice.png);
  background-repeat: no-repeat;
  -moz-background-size: 100%;
  background-size: 100%;
  padding: 4% 0;
}
.blc_bottom_response .blc_response_btn .blc_btn_index a {
  font-size: 4.0625vw;
  font-weight: bold;
  color: #fff449;
  text-shadow: 2px 4px 3px rgba(0, 0, 0, 0.2);
}

.blc-noarea p {
  text-align: center;
  margin: 80px 0;
  font-size: 5.625vw;
}

.blc-bottom-response {
  padding: 10px;
}
.blc-bottom-response a img {
  margin: 10px 0;
}
.blc-bottom-response img {
  margin: 10px 0;
}

.blc-tel-modal {
  display: none;
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.blc-tel-modal .blc-modal-inner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  background: #fff;
  padding: 25px;
  border-radius: 5px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.blc-tel-modal .blc-modal-inner p {
  font-size: 4.375vw;
  margin-top: 15px;
  text-align: center;
}
.blc-tel-modal .blc-modal-inner p:first-child {
  margin-top: 0;
}
.blc-tel-modal .blc-modal-inner .btn-tel-modal-close {
  position: absolute;
  top: -15px;
  right: -15px;
}
.blc-tel-modal .blc-modal-inner .blc-modal-buttons {
  margin-top: 20px;
}
.blc-tel-modal .blc-modal-inner .blc-modal-buttons .btn-tel-call,
.blc-tel-modal .blc-modal-inner .blc-modal-buttons .btn-tel-cancel {
  display: inline-block;
  width: 100%;
  padding: 15px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 5px;
  font-size: 5.625vw;
  text-align: center;
  margin: 7px auto;
  text-decoration: none;
  color: #fff;
}
.blc-tel-modal .blc-modal-inner .blc-modal-buttons .btn-tel-call {
  background-color: #e56f0d;
}
.blc-tel-modal .blc-modal-inner .blc-modal-buttons .btn-tel-cancel {
  font-size: 4.375vw;
  padding: 10px;
  background-color: #999;
}

.btn-response-hide {
  display: none !important;
}

.blc-hurry-tel {
  padding: 10px 10px 3px 10px;
}

.pg-teaching-seikyo .blc-tab,
.pg-teaching-yomei .blc-tab,
.pg-teaching-jizen .blc-tab {
  margin-top: 20px;
}

/* public */
.blc-cost-by-region {
  position: relative;
  margin-top: 14px;
}
.blc-cost-by-region a {
  background: url(../img/top/btn_cost_meyashu.png) no-repeat;
  background-size: cover;
  padding-top: 23.7%;
  display: block;
}
.blc-cost-by-region span {
  position: absolute;
  top: 16%;
  left: 28%;
  font-size: 5.625vw;
  text-decoration: underline;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 1.5px;
  line-height: 135%;
  text-shadow: 1px 2px 3px #808080;
}

.pg-index .blc-strength,
.pg-kasou .blc-strength,
.pg-kazoku .blc-strength,
.pg-ippan .blc-strength {
  width: 100%;
  margin-top: 15px;
  padding-top: 16%;
  background: url(../img/common/bg_no1_top.jpg) no-repeat;
  background-size: contain;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}
.pg-index .blc-strength p,
.pg-kasou .blc-strength p,
.pg-kazoku .blc-strength p,
.pg-ippan .blc-strength p {
  position: absolute;
  top: 36.8%;
  left: 10.4%;
  font-weight: bold;
  font-size: 4.2vw;
}
.pg-index .blc-strength .text-large,
.pg-kasou .blc-strength .text-large,
.pg-kazoku .blc-strength .text-large,
.pg-ippan .blc-strength .text-large {
  letter-spacing: -1px;
}

.pg-kasou .blc-strength,
.pg-kazoku .blc-strength,
.pg-ippan .blc-strength {
  margin: 25px 0 9px 0;
}

.pg-kasou .blc-strength {
  background: url(../img/common/bg_no1_kasou.jpg) no-repeat;
  background-size: contain;
}

.pg-kazoku .blc-strength {
  background: url(../img/common/bg_no1_kazoku.jpg) no-repeat;
  background-size: contain;
}

.pg-ippan .blc-strength {
  background: url(../img/common/bg_no1_musyukyo.jpg) no-repeat;
  background-size: contain;
}

.blc-campaign {
  width: 100%;
  margin-top: 9px;
  padding-top: 24.5%;
  background: url(../img/common/bg_campaign.png) no-repeat;
  background-size: contain;
  -moz-box-sizing: boder-box;
  -webkit-box-sizing: boder-box;
  box-sizing: boder-box;
  position: relative;
}
.blc-campaign a {
  position: absolute;
  display: inline-block;
  width: 44.4%;
  top: 47%;
}
.blc-campaign .btn-campaign-phone {
  left: 3.9%;
}
.blc-campaign .btn-campaign-mail {
  right: 7%;
}

.blc_contents_menu h2 {
  background-color: #16664f;
  color: #fff;
  text-align: center;
  font-size: 17px;
  display: inline-block;
  width: 100%;
  padding: 6px;
}
.blc_contents_menu ul {
  margin-top: 13px;
}

.sub-section .blc-inline {
  padding: 0.18281% 3.65625% !important;
  box-sizing: border-box;
}
.sub-section .blc-inline .blc-sub-section {
  margin-top: 4.57031%;
}
.sub-section h2 {
  background-color: #3E3E3E;
  color: #fff;
  text-align: center;
  font-size: 4.0625vw;
  font-weight: bold;
  margin-bottom: 10px;
  height: 30px;
  box-sizing: border-box;
  padding-top: 6px;
}
.sub-section .list-cost li {
  display: inline-block;
  width: 32%;
  margin-right: 2%;
}
.sub-section .list-cost li:last-child {
  margin-right: 0;
  margin-bottom: 4.02188%;
}

.sub-section-border {
  border: solid 1px #a1a1a1;
  margin-top: 4.57031%;
}

.no-padding .blc-inline {
  padding: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}
