@charset "utf-8";
/* CSS Document */

/* update */

/* ------------------------------------------
  title common
--------------------------------------------- */
.title-lv1{
    font-size: 28px;
    font-weight: bold;
    line-height: 1.5;
    padding-bottom: 30px;
}

.title-lv2{
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px;
}

.title-lv3{
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
    padding-bottom: 20px;
}

.title-lv4{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    padding-bottom: 10px;
}

@media screen and (max-width: 767px){
    .title-lv1{
        font-size: 18px;
        padding-bottom: 10px;
    }
    .title-lv2{
        font-size: 16px;
        padding-bottom: 10px;
    }
    .title-lv3{
        font-size: 14px;
        font-weight: bold;
        line-height: 1.5;
        padding-bottom: 10px;
    }
    .title-lv4{
        font-size: 12px;
    }
}

/*********
lower page
**********/

body.lower {
  /*font-size: 14px;*/
    font-size: 13px;
  color: #093F72;
}
@media screen and (max-width: 767px) {
    body.lower,body {
        font-size: 12px;
    }
}
/* .section_pdg {
  padding-top: 80px;
  padding-bottom: 80px;
} */
/*
.lower .head_logo {
  margin-top: 0;
  margin-left: 2px;
}
*/
.lower .g_navi{
 padding-bottom: 6px;
}
.lower #kv {
  width: 100%;
  max-height: 309px;
  background-image: url(../img/bg_kv.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.lower #kv h2.kv_ttl {
  font-size: 48px;
  font-weight: 500;
  font-family: 'Montserrat',sans-serif;
  color: #fff;
  text-align: center;
  line-height:0.6em;
  letter-spacing: -0.02em;
  margin-top: 8px;
  margin-right: 2px;
}
@media screen and (max-width: 767px) {
  .lower #kv h2.kv_ttl {
    line-height:0.8em;
  }
}
.lower #kv h2.kv_ttl span {
  font-size: 14px;
  font-weight: 600;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","メイリオ", sans-serif;
  color: rgba(255,255,255,0.7);
  line-height: 1em;
  letter-spacing: normal;
}
/**パンくずリストセパレート変更**/

.breadcrumb-item+.breadcrumb-item::before {
  content: ">";
}
.breadcrumb {
  font-size: 11px;
  width: 960px;
  margin: 0 auto;
  padding: 20px 0;
  background-color: #fff;
  font-weight: 500;
  margin-bottom: 52px!important;
}
.breadcrumb-item a {
    color: #093F72;
}
.breadcrumb-item.active {
  color: #376086;
}

@media (max-width: 768px){
    .breadcrumb {
        width: 100%;
        padding-left: 3%;
        padding-right: 3%;
    }
}

@media screen and (max-width: 576px){
  .lower .header {
    padding-bottom: 20px;
  }
  .breadcrumb {
    /* margin-bottom: 30px!important; */
    display: none;
  }
  .lower #kv {
    max-height: 138px;
    margin-bottom: 36px;
  }
  .lower #kv h2.kv_ttl {
    font-size: 29px;
  }
}

/**********
reason.html
************/
.reason_intro {
  padding-bottom: 62px;
  padding-top: 0;
}
 .reason_intro .content_wrap_m {
  padding-right: 47px;
  padding-left: 47px;
  position: relative;
}
 .reason_intro .content_wrap_m::after{
  content: "";
  display: block;
  width: 441px;
  height: 442px;
  background-image: url(../img/img_reason_ttl.png);
  background-repeat: no-repeat;
  background-size: auto;
  position: absolute;
  bottom: 30px;
  right: 80px;
}
.reason_intro h3 {
  margin-bottom: 44px;
}
.reason_intro li {
  font-size: 28px;
  font-weight: bold;
  line-height: 36px;
 padding-bottom: 23px;
}
.reason_intro li span {
  font-size: 36px;
  font-family: "DIN Next LT Pro", "Yu Gothic", sans-serif;
  font-weight: bold;
  padding-right: 18px;
  vertical-align: bottom;
  letter-spacing: -0.05em;
}
.reason6 {
  padding-bottom: 60px;
}
.ttl_b img {
  vertical-align: bottom;
  margin-right: 13px;
}
 .ttl_b {
  font-size: 42px;
  font-weight: bold;
  margin-bottom: 36px;
  line-height: 70px;
}
.reason6_item {
  border-top: 10px solid #093F72;
  width: 100%;
  padding-top: 36px;
  padding-bottom: 58px;
  overflow: hidden;
}
#reason6 .container, .reason6_item .col-sm-6, .reason6_item .container {
  padding-left: 0;
  padding-right: 0;
}
#reason6 .reason6_item .row {
  margin-right: 0;
  margin-left: 0;
}
.reason6_item .reason6_card {
  background-color: #F1F4F7;
  height: 100%;
  padding: 55px 44px;
  max-width: 474px;
}
.reason6_item h4 {
  font-size: 23px;
  font-weight: bold;
  line-height: 38px;
  padding-bottom: 22px;
}
.reason6_item p {
  font-size: 13px;
  line-height: 30px;
}
.reason6_item .col-sm-6 img {
  display: block;
  margin-left: -6px;
}

@media screen and (max-width: 576px){
  .reason_intro .content_wrap_m {
    padding-right: 0;
    padding-left: 0;
  }
  .reason_intro h3 img {
    width: 50%;
    margin: 0 auto;
  }
  .reason_intro li, .reason_intro li span {
    font-size: 16px;
    line-height: 1.5;
  }
 .reason_intro .content_wrap_m::after{
    display: none;
  }
  .reason6_item .reason6_card {
    padding-right: 1em;
    padding-left: 1em;
    padding-top: 30px;
  }
  .reason6_item h3.ttl_b {
    display: flex;
    align-items: center;
    line-height: 1;
  }
  .reason6_item h3.ttl_b img {
    width: 12%;
  }
  .reason6_item h3.ttl_b span {
    display: inline-block;
    font-size: 22px;
    line-height: 1.2;
  }
  .reason6_item .col-sm-6 img {
    width: 100%;
    height: auto;
  }
  .reason6_item h4 {
    font-size: 16px;
  }
}

/***********
plan.html
************/
.price_plan {
  padding-top: 0;
  padding-bottom: 40px;
}
.ttl_c {
  font-size: 36px;
  font-weight: bold;
  line-height: 48px;
  padding-bottom: 34px;
/*  padding-top: 16px;*/
}
.price_plan .lead {
  font-size: 14px;
  line-height: 30px;
  padding-bottom: 40px;
  letter-spacing: 0.13em;
}
.price_item {
  padding-top: 60px;
  max-width: 710px;
  width: 100%;
  margin: 0 auto;
}
.price_item_ttl {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
.formula {
  max-width: 710px;
  margin: 36px auto 57px;
}
.formula div.glay {
  background-color: #EFEFEF;
  font-size: 16px;
  font-weight: bold;
  padding: 10px;
  width: 27.05%;
  max-width: 193px;
  min-height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.formula img.plus {
  width: 39px;
  height: 39px;
  margin:auto;
}
.formula img.equal {
  width: 28px;
  height: 15px;
  margin: auto 20px;
}
.formula div.orenge {
  background-color: #E86200;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 10px;
  width: 27.05%;
  max-width: 193px;
  min-height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.price_wrap {
  max-width: 521px;
  margin: 0 auto;
  padding-bottom: 27px;
}
.price_wrap p, .ex_price p {
  font-size: 15px;
  font-weight: bold;
  line-height: 20px;
  padding-bottom: 20px;
}
.price_inner {
  background-color: #F1F4F7;
  padding: 9px 36px 13px 36px;
}
.price_inner p.price_big {
  font-size: 50px;
  font-weight: bold;
/*  line-height: 70px;*/
/*  letter-spacing: 0.01em;*/
  padding: 26px 0 8px;
}
.price_inner p.price_big span.unit {
  font-size: 23px;
  font-weight: bold;
}
.price_big span.space {
  padding: 0 26px;
}
p.ast_txt, .p_plan_card .l_blue_inner .ast_txt {
  font-size: 11px;
  font-weight: normal;
  padding: 7px 0 0 0;
  text-align: left;
}
.p_plan_card .l_blue_inner .ast_txt {
  padding: 0;
}
.ex_price, .contract {
  max-width: 850px;
  margin: 0 auto 35px;
}
.contract {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .contract {
    margin-bottom: 40px;
  } 
}
.ex_price h5, .contract h4 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 23px;
  line-height: 32px;
}
.ex_price p {letter-spacing: 0.07em;}
.ex_price .formula {
  margin-top: 0;
  margin-bottom: 0;
  height: 85px;
}
.l_blue_inner {
  background-color: #F1F4F7;
  padding: 30px 37px 36px 37px;
  margin-bottom: 13px;
}
.contract .l_blue_inner {
  padding-left: 80px;
  padding-right: 80px;
}
.ex_price .formula .glay {
  background-color: #fff;
  font-size: 28px;
  line-height: 1em;
  padding: 7px 10px;
}
.ex_price .formula .orenge {
  font-size: 28px;
  line-height: 1em;
  padding: 7px 10px;
}
.ex_price .formula img.equal {
  display: block;
  margin: auto 20px;
}
.ex_price .formula .glay span, .ex_price .formula .orenge span{
  font-size: 13px;
  line-height: 2em;
}
.contract .l_blue_inner {
  padding-top: 32px;
}
.contract_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 5px;
  margin: -5px -5px 0;
  vertical-align: middle;
}
.contract_table th, .contract_table td {
  background-color: #fff;
  padding: 10px 10px 10px 20px;
  height: 85px;
}
.contract_table th {
  width: 190px;
  text-align: left;
  line-height: 26px;
  font-size: 15px;
  font-weight: bold;
  vertical-align: middle;
}
.contract_table td {
  font-size: 20px;
  font-weight: bold;
  padding-left: 25px;
  text-align: left;
  vertical-align: middle;
}
#hikaku {
  padding-bottom: 60px;
  overflow: hidden;
}
.hikaku_item {
   border-top: 10px solid #093F72;
   padding-top: 30px;
  padding-bottom: 82px;
  overflow: hidden;
}
.hikaku_item h3.ttl_b {
  margin-bottom: 27px;
}
.hikaku_item h4 {
  font-size: 24px;
  font-weight: bold;
  line-height: 38px;
  padding-bottom: 14px;
}
.hikaku_item p.lead {
  font-size: 13px;
  font-weight: normal;
  line-height: 30px;
  margin-bottom: 34px;

}
.p_plan_card {
/*  position: relative;*/
  text-align: center;
  height: 100%;
}
.p_plan_card h4 {
  display: block;
  width: 110%;
  max-width: 405px;
  padding: 9px;
  text-align: center;
  font-size: 20px;
  color: #fff;
  background-color:  #093F72;
  margin-top: -100px;
  margin-left: -7.5px;
  margin-bottom: 40px;
/*  margin: -100px auto 40px;*/
/*  position: absolute;*/
/*  top: -27.5px;*/
}
.p_plan_card .l_blue_inner {
  padding-top: 70px;
  padding-bottom: 53px;
  margin-bottom: 0;
  height: 100%;
}
.p_plan_card .l_blue_inner p {
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 11px;
}
.p_plan_card .l_blue_inner p.price_m {
  font-size: 44px;
  font-weight: bold;
  line-height: 44px;
  padding-bottom: 0;
  letter-spacing: normal;
}

span.month {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  color: #fff;
  width: 50px;
  height: 50px;
  margin-right: 14px;
  vertical-align: text-top;
}
span.month.orenge {
  background-color: #E86200;
}
.text_orenge {
  color: #E86200;
}
span.month.blue {
  background-color: #093F72;
}
span.unit {
  font-size: 18px;
  font-weight: bold;
}
.p_plan_card dl {
  width: 100%;
  max-width: 321px;
  border-top: 1px solid #093F72;
  border-bottom: 1px solid #093F72;
  margin: 18px auto 18px;
  padding: 30px 0 15px 0;
  text-align: left;
  font-size: 16px;
  line-height: 1em;
}
.p_plan_card dl dt {
  float: left;
  min-width: 8em;
  clear: both;
}
.p_plan_card dl dt, .p_plan_card dl dd {
  padding-bottom: 14px;
}
.p_plan_card  .tokyo_syutten dt {
  width: 15em;
}
.w_321 {
  display: inline-block;
  width: 100%;
  max-width: 321px;
  margin: 0 auto;
}
.ast_txt.w_321 {
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 0.2em;
}
.syutten .p_plan_card .l_blue_inner {
  padding-bottom: 35px;
}
/* .syutten {
  padding-bottom: 48px;
} */
.syutten .price_m.text_orenge, .syucho .price_m.text_orenge {
  margin-left: -1em;
}
@media screen and (max-width: 576px){
  .ttl_c, .hikaku_item h3.ttl_b {
    font-size: 18px;
    line-height: 1.2;
  }
  .price_plan .lead {
    font-size: 13px;
    line-height: 1.8;
  }
  .price_plan {
    padding-bottom: 0;
  }
  .price_item {
    padding-top: 30px;
  }
  .price_item_ttl, .ex_price h5, .contract h4, .hikaku_item h4 {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 1em;
  }
  .price_inner {
    padding-left: 5px;
    padding-right: 5px;
  }
  .price_inner p.price_big {
    font-size: 32px;
    line-height: 1.2;
  }
  .ex_price p, .price_wrap p {
    letter-spacing: normal;
    font-size: 13px;
  }
  p.ast_txt, .ex_price p.ast_txt, .price_wrap p.ast_txt, .p_plan_card p.ast_txt, .p_plan_card .l_blue_inner .ast_txt {
    font-size: 10px;
    text-align: left;
  }
  .contract p.ast_txt {
    padding-left: 16px;
  }
  .p_plan_card .l_blue_inner .ast_txt {
    padding-top: 12px;
  }
  .formula div.glay, .formula div.orenge {
    font-size: 13px;
    line-height: 1.3;
  }
  .ex_price .formula .glay {
    font-size: 13px;
    flex-direction: column;
    line-height: 1em;
    max-width: 193px;
    min-width: 75px;
    min-height: 72px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* letter-spacing: -0.08em; */
  }
  .ex_price .formula .orenge {
    font-size: 13px;
    /* letter-spacing: -0.08em; */
  }
  .ex_price .formula .glay span, .ex_price .formula .orenge span {
    line-height: 1.2em;
  }
  .l_blue_inner, .contract .l_blue_inner {
    padding: 5%;
  }
  .p_plan_card .l_blue_inner {
    padding-bottom: 18px;
    padding-left: 5%;
    padding-right: 5%;
  }
  .contract_table th {
    width: 50%;
    padding: 1em 0.5em;
    font-size: 13px;
  }
  .contract_table td {
    font-size: 13px;
    padding: 1em 0.5em;
  }
  .formula img.plus, .formula img.equal,.ex_price .formula img.equal  {
    width: 4.86%;
    height: auto;
    margin: auto 5px;
  }
  .price_big span.space {
  padding: 0;
  }
  .p_plan_card h4 {
    width: 90%;
    font-size: 13px;
    margin-left: auto;
    margin-right: auto;
  }
  .hikaku_item .row .col-sm-6:not(:last-child) {
    margin-bottom: 50px;
  }
  .hikaku_item.syucho {
    padding-bottom: 0;
  }
  .hikaku_item h3.ttl_b {
    font-size: 22px;
    line-height: 1.5em;
  }
  #price_plan .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
  .p_plan_card dl {
    width: 100%;
  }
  .p_plan_card .l_blue_inner p.price_m {
    font-size: 32px;
    line-height: 1;
  }
  .p_plan_card dt, .p_plan_card dd {
    font-size: 13px;
  }
  span.month {
    width: 36px;
    height: 36px;
  }
  .hikaku_item p.lead {
    line-height: 2;
  }
}

/***********
solution.html
************/
.lower #solution {
  padding-top: 80px;
}
.solution .wrapper {
  max-width: none;
}

.bnr_area_solution {
/*  padding-top: 60px;*/
}
.bnr_area_solution img {
  max-width: 1047px;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 576px){
  .lower #solution {
    padding-top: 33px;
  }
}


/*********
company.html
************/

.lower_section_ttl {
    text-align: center;
    margin-bottom: 25px;
  position: relative;
}
.lower_section_ttl>span {
    display: inline-block;
    padding: 0 15px;
    font-size: 0.867em;
    letter-spacing: .36em;
    font-family: Oswald;
    background: #fff;
}
.lower_section_ttl::before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #ddd;
    position: absolute;
    top: 50%;
    left: 0;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: -1;
}
.table {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    line-height: 2;
}
.table>dt {
    -ms-flex-basis: 160px;
    -webkit-flex-basis: 160px;
    flex-basis: 160px;
    font-size: 0.867em;
    border-bottom: 1px solid #21b6c1;
    padding: 20px;
    font-weight: 600;
}
.table>dd {
    -webkit-box-flex: 1 1 0%;
    -moz-box-flex: 1 1 0%;
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    border-bottom: 1px solid #ddd;
    padding: 20px 20px 20px 30px;
}
.table>dd .is-companyName {
    margin-left: -20px;
}
.table>dd>dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.table>dd>dl>dt {
    -ms-flex-basis: 142px;
    -webkit-flex-basis: 142px;
    flex-basis: 142px;
  font-weight: normal;
}
/****** access *****/
.bg_gray {
    background: #f1f1f1;
    overflow: hidden;
}
.office_wrap {
  margin-bottom: 90px;
}
.address h3 {
      font-size: 1.5em;
    letter-spacing: 3px;
    margin: 10px 0;
}
.address p {
    font-size: 0.867em;
    letter-spacing: 2px;
    line-height: 20px;
    color: #9a9a9a;
}
.access_map_area {
    width: 100%;
    height: 340px;
    margin: 20px 0 0 0;
  background-color: #ccc;
  position: relative;
}
.sp_br {
  display: none;
}
@media screen and (max-width: 767px){
    .sp_br {
        display: block;
    }
    .table>dt, .table>dd {
        -ms-flex-basis: 100%;
        -webkit-flex-basis: 100%;
        flex-basis: 100%;
    }
}
/* ------------------------------------------
  subpage message
--------------------------------------------- */
.message{
    display: flex;
}

.message .img-box{
    width: 28%;
    background: url(../img/img-message.png) no-repeat bottom center;
}

.message .img-box img{
    width: 100%;
    height: auto;
}

.message .text-box{
    width: 72%;
    padding: 40px 40px;
    background: #fafafa;
}

.message .text-box .title-small{
    display: block;
    padding-bottom: 15px;
    font-size: 15px;
    font-weight: 700;
    color: #848484;
}

.message .text-box .title{
    font-size: 18px;
    line-height: 1.5;
    padding-bottom: 25px;
    font-weight: bold;
}

@media screen and (max-width: 767px){
    .message{
        display: flex;
        flex-wrap: wrap;
    }

    .message .text-box{
        width: 100%;
        padding: 20px;
        background: #fafafa;
    }

    .message .img-box{
        width: 100%;
        height: auto;
        background: none;
    }

    .message .text-box .title-small{
        display: block;
        padding-bottom: 15px;
        font-size: 14px;
    }

    .message .text-box .title{
        font-size: 16px;
        line-height: 1.5;
        padding-bottom: 15px;
    }
}
/* ------------------------------------------
  recruit
--------------------------------------------- */
.recruit{
    padding-bottom: 0px;
}
.recruit-table{
    display: flex;
    width: 100%;
    margin-top: -1px;
}

.recruit-table dt,.recruit-table dd{
    border: 1px solid #ccc;
    padding: 15px;
}

.recruit-table dt{
    width: 220px;
    background-color: #f6f6f6;
    border-right: none;
}

.recruit-table dd{
    width: calc(100% - 200px);
}

@media screen and (max-width: 767px){
    .recruit{
        padding-bottom: 20px;
    }
    .recruit-table{
        display: block;
        width: 100%;
    }
    .recruit-table dt,.recruit-table dd{
        width: 100%;
        padding: 10px;
    }
    .recruit-table dt{
        border-bottom: none;
    }
}

/* ------------------------------------------
  subpage sitemap
--------------------------------------------- */
.sitemap{}

.sitemap li{
    border-bottom: 1px solid #ececec;
}

.sitemap li a{
    display: block;
    position: relative;
    padding: 20px;
    width: 100%;
}

.sitemap li a:after{
    position: relative;
}

.sitemap li a::before{
    display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border-radius: 50%;
	background: #093f72;
}

.sitemap li a::after{
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 26px;
    margin-top: -3px;
}

.sitemap li a:hover{
    background: #093f72;
    color: #fff;
}

.sitemap li a:hover:before{
	background: #fff;
}

.sitemap li a:hover:after{
    border-top: solid 2px #093f72;
    border-right: solid 2px #093f72;
}

@media screen and (max-width: 767px){
}

/* ------------------------------------------
  faq
--------------------------------------------- */
.faq_list ul {
  width: 100%;
  padding-left: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px){
  .faq_list ul {
    padding-right: 15px;
    margin-bottom: 15px;
  }
}

.faq_list ul li {
  font-weight: normal;
  padding: 0 12px;
  border-right: 1px solid #ddd;
  margin-bottom: 10px;
}

.faq_list ul li:last-child {
  padding-right: 0;
  border-right: none;
}

.faq-item {
    border: 1px solid #ddd;
    padding: 30px;
    margin-bottom: 30px;
}

.faq-title {
    position: relative;
    padding-left: 35px;
    padding-bottom: 20px;
    font-size: 16px;
}

.faq-title:before{
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    top: -2px;
    left: 0;
    background: #093f72;
}

.faq-title:after{
    content: "Q";
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    color: #fff;
    line-height: 24px;
    top: -2px;
    left: 6px;
    font-size: 16px;
}

.faq-answer{
    background: #ecf4f9;
    padding: 20px;
    line-height: 1.8;
}

@media screen and (max-width: 767px){
    .faq-item {
        padding: 15px;
        margin: 0 auto 15px;
    }

    .faq-item:last-child {
        margin: 0 auto 0;
    }


    .faq-title {
        position: relative;
        padding-bottom: 15px;
        line-height: 1.5;
        font-size: 14px;
    }

    .faq-answer{
        padding: 15px;
    }
}

/* ------------------------------------------
  company
--------------------------------------------- */
.company-table {
    display: flex;
    flex-wrap: wrap;
    line-height: 2;
}

.company-table>dt {
    flex-basis: 160px;
    border-bottom: 1px solid #093f72;
    padding: 20px;
}

.company-table>dd {
    flex: 1 1 0%;
    border-bottom: 1px solid #ddd;
    padding: 20px 20px 20px 30px;
}

.company-table:first-of-type dt,.company-table:first-of-type dd {
    padding-top: 0;
}

.google-maps{
    padding-bottom: 0px;
}


@media screen and (max-width: 767px){
    .company-table {
        display: flex;
        flex-wrap: wrap;
        line-height: 2;
    }

    .company-table>dt {
        flex-basis: 140px;
        padding: 15px;
    }

    .company-table>dd {
        flex: 1 1 0%;
        padding: 15px;
    }

    .google-maps {
        width: 100%;
        position: relative;
        padding-bottom: 75%;
        height: 0;
        overflow: hidden;
    }

    .google-maps iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
    }
    .google-maps{
        padding-bottom: 0;
    }

}

/* ------------------------------------------
  case
--------------------------------------------- */
.case-list{
}

.case-list-item{
    border: 1px solid #ddd;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
}

.case-list-item .image {
    display: block;
}


.case-list-item .text {
    width: calc(100% - 270px);
}

.case-list-item .title{
    font-size: 18px;
    font-weight: 700;
    color: #093f72;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
}

.case-list-item .title span{
    background: #093f72;
    color: #fff;
    width: 80px;
    text-align: center;
    margin-right: 15px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    padding: 3px 0;
}

.case-list-detail{
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 20px;
}

.case-list-detail dl{
    display: flex;
    width: 50%;
    padding-top: 10px;
}

.case-list-detail dl dt{
    border: 1px solid #00a0e9;
    color: #00a0e9;
    background: #fff;
    width: 80px;
    height: 21px;
    text-align: center;
    margin-right: 15px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    line-height: 21px;
}
.page-item.active .page-link {
  margin-left: 10px;
  margin-right: 10px;
}
li.page-item:first-child .page-link {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.page-item:last-child .page-link  {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}



@-moz-document url-prefix() {
    .case-list-detail dl dt{
        line-height: 19px;
    }
}

.case-list-detail dl dd{
    width: calc(100% - 95px);
}


.case-list-item .text .btn{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #d1deea;
    position: relative;
    font-size: 13px;
}

.case-list-item .text .btn:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 1px #221815;
    border-right: solid 1px #221815;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -2px;
}

/*case-detail*/
.case-detail{
}

.case-detail .case-list-item{
    padding: 0;
    border: none;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.case-detail .case-list-item > .title {
    width: 100%;
    font-size: 28px;
    padding-bottom: 20px;
}

.case-detail .text {
    width: calc(50% - 20px);
    background: #f5f5f5;
    padding: 20px;
}

.case-detail .text .title {
    padding-bottom: 0;
}

.case-detail .image {
    width: 50%;
}

.case-detail .image img {
    width: 100%;
    height: auto;
}

.case-detail .case-list-detail:first-of-type {
    padding-bottom: 30px;
}

.case-detail dl{
    display: flex;
    width: 100%;
    padding-top: 10px;
}

.case-detail dl dt{
    width: 140px;
}

@media (max-width: 768px){
    .case-list-item {
        flex-wrap: wrap;
    }
    .case-list-item .image {
        width: 100%;
    }
    .case-list-item .image img{
        width: 100%;
        height: auto;
    }
    .case-list-item .text {
        width: 100%;
        padding-top: 15px;
    }
    .case-list-item .text .btn{
        font-size: 12px;
    }
    .case-list-detail dl {
        width: 100%;
    }
    .case-list-detail {
        padding-bottom: 15px;
    }
    /*detail*/
    .case-detail .case-list-item > .title {
        font-size: 18px;
        padding-bottom: 15px;
        order: 1;
    }
    .case-detail .case-list-item .text {
        order: 3;
        padding: 15px;
    }
    .case-detail .text .title {
        font-size: 14px;
    }
    .case-detail .case-list-item .image {
        order: 2;
    }
    .case-detail .case-list-detail:first-of-type {
        padding-bottom: 15px;
    }
}

/* ------------------------------------------
  news
--------------------------------------------- */

.newsList_item>a {
    width: 100%;
    padding: 38px 0 38px 35px;
    color:  #093F72;
    border-bottom: 1px solid #ddd;
  position: relative;
  line-height: 1em;
}
.newsList_item>a .el_data {
    width: 100px;
  padding: 10px 0;
}
.newsList_item>a .el_category {
    width: 100px;
  background-color:  #093F72;
  padding: 10px;
  text-align: center;
  color: #fff;
  vertical-align: baseline;

}

.newsList_item>a:hover {
    color: #fff;
    background:  #093F72;
    opacity: 1;
}
.newsList_item>a:hover .el_category{
  background-color: #fff;
  color:  #093F72;
}
.newsList_item>a .el_text {
  padding: 10px 20px;
}
.newsList_item>a::after {
  content: "\f105";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  right: 10px;
  top: 40%;
  width: 20px;
}

@media (max-width: 768px){
    .newsList_item > a {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        padding: 15px 0 15px 15px;
        border-bottom: 1px solid #ddd;
        position: relative;
    }

    .newsList_item>a .el_data, .newsList_item>a .el_category, .newsList_item>a .el_text {
        display: block;
    }

    .newsList_item>a .el_data {
        width: auto;
        padding: 2px 10px 0px 0;
    }

    .newsList_item>a .el_category {
        width: auto;
        padding: 2px 10px 0px 0;
    }

    .newsList_item>a .el_category>span {
        display: block;
        padding: 2px 8px;
        font-size: 11px;
    }

    .newsList_item>a .el_text {
        width: calc(100% - 30px);
        padding: 7px 0 0;
    }

    .newsList_item>a::after {
        content: '';
        width: 6px;
        height: 6px;
        border: 0px;
        border-top: solid 1px #343434;
        border-right: solid 1px #343434;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: 50%;
        right: 10px;
        margin-top: -5px;
    }

    .newsList_item:first-child a {
    }

    .newsList_item:last-child a {
        border-bottom: 0;
    }

    .newsList_item > a:hover {
        background: #1c2047;
        opacity: 1;
        color: #fff;
    }

    .newsList_item > a:hover .el_category>span{
        color: #1c2047;
        background: #fff;
    }

    .newsList_item>a .el_thumbnail {
        width: 150px;
        height: 90px;
    }

    .newsList_item>a .el_thumbnail + .el_data {
        width: auto;
        padding-left: 20px;
        display: flex;
        align-items: center;
    }

}

/* ------------------------------------------
  news detail
--------------------------------------------- */
.newsDetail_data {
    margin-bottom: 20px;
    font-size: 0;
}

.newsDetail_data>span {
    display: inline-block;
    font-size: 14px;
}

.newsDetail_data>span:first-child{
    padding-right: 10px;
    margin-right: 10px;
    border-right: 1px solid #b2b2b2;
}

.newsDetail_data>span:last-child{
    border-right: none;
}

.newsDetail_title {
    font-size: 28px;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 40px;
}

.newsDetail_cont{
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.btn-back a {
  display: inline-block;
  width: 160px;
  font-size: 12px;
  height: auto;
  text-decoration: none;
  color: #fff;
  background-color: #003366;
  text-align: center;
  box-shadow: 0 4px 0 0 #003366;
  transform: translateY(-4px);
  transition: 0.3s all;
  vertical-align: middle;
  margin: 5px 0;
  padding: 7px 4px 3px 0px;
}

.btn-back a:hover {
  box-shadow: 0 2px 0 0 #003366;
  transform: translateY(-2px);
}

.flex {
  display: flex;
}

.f-center {
  justify-content: center;
}


.newsDetail_image {
    width: 400px;
    padding-top: 6px;
}

.newsDetail_image img{
    width: 100%;
    height: auto;
    margin-bottom: 30px;
}

.newsDetail_cont p {
    line-height: 2;
    word-break: break-all;
    width: calc(100% - 450px);
}

@media (max-width: 768px){
    .newsDetail_data {
        margin-bottom: 12px;
        font-size: 0;
    }

    .newsDetail_data>span {
        display: inline-block;
        font-size: 1.4rem;
    }

    .newsDetail_data>span:first-child{
        padding-right: 10px;
        margin-right: 10px;
        border-right: 1px solid #b2b2b2;
    }

    .newsDetail_title {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 20px;
    }

    .newsDetail_cont{
        display: flex;
        flex-wrap: wrap-reverse;
    }

    .newsDetail_image {
        width: 100%;
        padding-bottom: 15px;
        padding-top: 0;
    }

    .newsDetail_image img{
        width: 100%;
        height: auto;
        margin-bottom: 0;
    }

    .newsDetail_image img:nth-child(2){
        display: none;
    }

    .newsDetail_cont p {
        line-height: 2;
        margin-bottom: 0;
        width: 100%;
    }
}




/************* post.html ********************/

.post-content__inner {
    margin: 0 0 56px;
    border-bottom: 1px solid #eee;
}
.post_block .article-thumb__text h3{
    margin: 0 0 1em;
    padding: 6px 0 6px 12px;
    border-left: 5px solid #1374e9;
    font-size: 22px;
    box-sizing: border-box;
}
@media (min-width: 768px){
.article-thumb__date {
    margin: 0 0 24px;
}
}
.article-thumb__date {
    margin: 0 0 12px;
    font-size: .8em;
}
.post-content__inner p {
    display: block;
    margin: 0 0 32px;
}
@media (min-width: 768px){
.post .more-link {
    width: 200px;
    text-align: center;
}
}
.post .more-link {
    float: right;
    border: 1px #1374e9 solid;
    margin: 24px 0 24px 0;
    padding: 12px 24px;
    line-height: 26px;
    box-sizing: border-box;
    clear: both;
    color: #1374e9;
    font-size: 14px;
}

.post a {
    cursor: pointer;
    text-decoration: none;
    color: #1374e9;
    outline: 0;
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
.post a {
    -webkit-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s;
}
.post .more-link:hover {
    background: #1374e9;
    color: #FFF;
    text-decoration: none;
}
.post-title {
    margin: 0;
    padding: 12px 12px 12px 17px;
    font-size: 1.867em;
    clear: both;
    border-left: 5px solid #1374e9;
    font-weight: bold;
    background: #f9f9f9;
    color: #1374e9;
    box-sizing: border-box;
}
.post-content {
    padding: 56px 20px 56px;
    border-right: 1px #eee solid;
    border-bottom: 1px #eee solid;
    border-left: 1px #eee solid;
    position: relative;
    top: 0;
    left: 0;
    display: block;
    max-width: 912px;
}
.post-content h2 {
    padding: 12px 0 12px 12px;
    clear: both;
    border-bottom: 1px solid #1374e9;
    border-top: 1px solid #1374e9;
    font-size: 24px;
    font-weight: bold;
    box-sizing: border-box;
  margin-bottom: 1em;
}
.post-content p {
    margin: 0 0 1.6em;
    line-height: 1.6;
}
.post-content .post_img {
  width: 100%;
  max-height: 350px;
  height: 500px;
  background-color: #ccc;
  margin-bottom: 1.6em;
}
.contact p {
    line-height: 2;
}
.contactFlow {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    overflow: hidden;
}
.contactFlow li {
    position: relative;
    -webkit-box-flex: 1 1 0%;
    -moz-box-flex: 1 1 0%;
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    line-height: 60px;
    height: 60px;
    font-size: 1em;
    text-align: center;
    text-decoration: none;
    font-weight: 500;
    background: #f5f5f5;
}
.contactFlow li.is-current::before, .contactFlow li.is-current::after {
    border: none;
    background-color: #21b6c1;
}
.contactFlow li::before {
    position: absolute;
    bottom: 29px;
    right: -10px;
    z-index: 1;
    background-color: #f5f5f5;
    border-right: 2px solid #fff;
    content: " ";
    display: block;
    float: right;
    height: 32px;
    transform: skew(30deg);
    -webkit-transform: skew(30deg);
    width: 30px;
    border-bottom: 1px solid #f5f5f5;
}
.contactFlow li::after {
    position: absolute;
    top: 30px;
    right: -10px;
    z-index: 1;
    background-color: #f5f5f5;
    border-right: 2px solid #fff;
    content: " ";
    display: block;
    height: 32px;
    transform: skew(-30deg);
    -webkit-transform: skew(-30deg);
    width: 30px;
}
.contactAttention {
    text-align: center;
    color: red;
    margin: 20px;
}
.contactTable>dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 20px;
    border-bottom: 1px solid #ddd;
}
.contactTable>dl dt {
    -ms-flex-basis: 200px;
    -webkit-flex-basis: 200px;
    flex-basis: 200px;
    padding-top: 8px;
    font-weight: 500;
}

#formWrap h4 {
  margin-bottom: 20px;
}
#formWrap .error_messe,
.formTable th,
.formTable td {
    padding: 20px;
    border-bottom: 1px solid #ddd;
}
.contactTable input[type='submit'] {
  cursor: pointer;
}
.contactTable input[type='submit']:hover {
  opacity: .8;
}

#formWrap .formTable,
.contactTable>dl:last-of-type {
    margin-bottom: 40px!important;
}

.contactTable>dl dd {
    -webkit-box-flex: 1 1 0%;
    -moz-box-flex: 1 1 0%;
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    font-size: 16px;
    line-height: 2;
}
input, button, textarea, select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.contactTable input[type='email'], .contactTable input[type='text'], .contactTable textarea {
    width: 100%;
    background: #f5f5f5;
    padding: 10px;
    font-size: 16px;
}
.contactFlow li.is-current {
    background-color: #21b6c1;
    color: #fff;
}
.mwform-tel-field input[type="text"], .mwform-zip-field input[type="text"] {
    display: inline-block;
    width: auto;
}

.contactTable input[name="tel[data][0]"], .contactTable input[name="tel[data][1]"], .contactTable input[name="tel[data][2]"] {
    width: 60px !important;
}
.contactTable_agree {
    text-align: center;
    margin: 40px 0;
}
.contactTable input[type='checkbox']:checked {
    position: relative;
}

.contactTable_agree input[type='checkbox'] {
    margin-right: -4px;
}
.contactTable input[type='checkbox'] {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 1px solid #ddd;
    vertical-align: middle;
    margin-right: 8px;
}
.contactTable input[type='checkbox']:checked::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 22px;
    color: #21b6c1;
  line-height: 1.1;
}
#formWrap input[type="submit"],
#formWrap input[type="button"],
.contactTable input[type='submit'] {
    display: block;
    margin: 5px auto;
    width: 240px;
    height: 43px;
    font-size: 1em;
    font-weight: 500;
    text-align: center;
    color: #fff;
    background: #093f72;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s;
    cursor: pointer;
}
#formWrap input[type="submit"]:hover,
#formWrap input[type="button"]:hover,
.contactTable input[type='submit']:hover {
  opacity: .8;
}

button {
  display: block;
  margin: 5px auto;
  width: 240px;
  height: 43px;
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  color: #fff;
  background: #093f72;
  transition: all 0.5s;
  -moz-transition: all 0.5s;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  -ms-transition: all 0.5s;
  cursor: pointer;
}

button:hover {
  opacity: .8;
}

/* ------------------------------------------
  flow
--------------------------------------------- */
.flow-introduction {
    padding-top: 0px;
    text-align: center;
    margin: 0 auto;
    padding-bottom: 30px;
    line-height: 1.8;
}

.flow-introduction .copylight {
    letter-spacing: 2px;
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.6;
}

.flow-whitegray-area{
}

.work-flow-group {
	margin: 0 auto;
    padding-bottom: 40px;
}

.work-flow-group-inner {
	position: relative;
	padding: 20px 0;
	background: #e0e0e0;
    display: flex;
    margin-bottom: 20px;
}

.work-flow-group-inner .days {
	width: 25%;
	font-size: 20px;
	color: #666;
	text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.work-flow-group-inner .days-title {
	color: #000000;
}

.flow-contents{
    width: 50%;
    display: flex;
    flex-wrap: wrap;
}

.flow-row-comment-wrap{
}

.flow-row-comment{
    padding-bottom: 20px;
}

.flow-row-comment:last-child{
    padding-bottom: 0;
}

.flow-row-comment .title{
    padding-bottom: 5px;
    font-weight: bold;
}

.work-flow-side {
	width: 25%;
	font-size: 12px;
	padding: 20px;
}

.work-flow-group .white-space {
	float: left;
	margin: -10px 0 0 0;
	height: 20px;
	width: 100%;
	background-color: #ececec;
}

.work-flow-group .white-space.last {
	margin: -10px 0 -10px 0;
}

.work-flow .center-line {
	background-image: url("../img/center-line.jpg");
	background-position: center;
	background-repeat: repeat-y;
	-moz-background-size: auto;
	background-size: auto;
}

.flow-row-wrap{
    width: 70%;
}

.work-flow-box{
	float: none;
	background-color: #fff;
	color: #333;
	text-align: center;
    margin: 10px auto;
    padding: 15px 0 12px 0;
	border: 1px solid #ccc;
}

.work-flow-center {
	float: left;
	margin: 10px 0;
}

.flow-actiong{
    padding: 30px;
    border: 1px solid #ddd;
    line-height: 1.8;
}

.flow-actiong .title{
    font-weight: bold;
    padding-bottom: 10px;
    font-size: 16px;
}

@media (max-width: 767px) {
    .work-flow-group {
        padding-bottom: 15px;
    }
    .flow-introduction .copylight {
        margin-bottom: 20px;
        font-size: 16px;
        line-height: 1.6;
    }
    .work-flow-group-inner {
        display: block;
    }
    .work-flow-group-inner .days {
        width: 100%;
    }
    .flow-contents {
        width: 100%;
    }
    .flow-row-wrap {
        width: 90%;
        margin: 0 auto;
    }
    .work-flow-side {
        width: 90%;
        margin: 0 auto;
        padding: 10px 0;
    }
    .flow-row-comment {
        padding: 0;
        margin: 0 auto 15px;
    }
    .work-flow-box {
        padding: 15px 12px;
    }

    .flow-actiong{
        padding: 20px;
        line-height: 1.8;
    }

    .flow-actiong .title{
        font-size: 14px;
    }
}
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
