@charset "UTF-8";
/*color*/
/*font*/
/*widht*/
/*flex*/
/*margin*/
/*common*/
a {
  text-decoration: none; }

a:link {
  color: #999999; }

a:hover {
  opacity: 0.67777777; }

body {
  font-size: 14px;
  font-family: 'Josefin Sans', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',"游ゴシック Medium",YuGothic,YuGothicM,'メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic', Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-size: 14px;
  color: #5C6C79; }

.min {
  font-family: 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN',游明朝,"Yu Mincho",YuMincho, 'HG明朝E', 'ＭＳ Ｐ明朝', serif; }

.max_width {
  max-width: 1000px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
 }

.max_submenu_width {
  max-width: 900px;
  width: 100%;
  padding: 18px; }

.content-width {
  max-width: 910px;
  width: 100%; }

.under-width {
  max-width: 925px;
  width: 100%; }

.block {
  display: block; }

.flex {
  display: -webkit-box;
  display: flex; }

.flex_sub_news {
  display: -webkit-box;
  display: flex; }

.flex_center_y {
  -webkit-box-align: center;
  align-items: center; }

.flex_center_x {
  -webkit-box-pack: center;
  justify-content: center; }

.space-between {
  -webkit-box-pack: justify;
  justify-content: space-between; }

.flex_column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column; }

.flex-column-re {
  -webkit-box-align: end;
  align-items: flex-end; }

.replacement {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  flex-direction: row-reverse; }

.wrap {
  flex-wrap: wrap; }

/*margin*/
.w100p {
  width: 100%; }

.w80p {
  width: 80%; }

.w70p {
  width: 70%; }

.news-img {
  width: 75%; }

.mgt5 {
  margin-top: 5px; }
  
.mgt155 {
  margin-top: 155px; }

.mgb5 {
  margin-bottom: 5px; }

.mgb_base {
  margin-bottom: 45px; }

.mgt20 {
  margin-top: 20px; }

.mgb0 {
  margin-bottom: 0 !important; }

.mgb10 {
  margin-bottom: 10px; }

.mgb20 {
  margin-bottom: 20px; }

.mgb25 {
  margin-bottom: 25px; }

.mgb30 {
  margin-bottom: 30px; }

.mgb35 {
  margin-bottom: 35px; }

.mgb40 {
  margin-bottom: 40px; }

.mgb50 {
  margin-bottom: 50px; }

.mgb60 {
  margin-bottom: 60px; }

.mgb80 {
  margin-bottom: 80px; }

.mgb100 {
  margin-bottom: 100px; }

.mgl15 {
  margin-left: 15px; }

.mgl20 {
  margin-left: 20px; }

.mgl35 {
  margin-left: 35px; }

.mglr15 {
  margin-left: 15px;
  margin-right: 15px; }

/*sppc onoff*/
.visible_sp {
  display: none; }

.visible_sp_flex {
  display: none; }

.visible_pc {
  display: block; }

.visible_pc_flex {
  margin: 0;
  display: -webkit-box;
  display: flex; }

/*font*/
.fs10 {
  font-size: 10px; }

.fs11 {
  font-size: 11px; }

.fs12 {
  font-size: 12px; }

.fs13 {
  font-size: 13px; }

.fs14 {
  font-size: 14px; }

.fs17 {
  font-size: 17px; }

.fs18 {
  font-size: 18px; }

.fs19 {
  font-size: 19px; }

.fs24 {
  font-size: 24px; }

.fs26 {
  font-size: 26px; }

.fs29 {
  font-size: 29px; }

.bold {
  font-weight: 900; }

.pc_bold {
  font-weight: 900; }

.palt {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt"; }

.lh_18 {
  line-height: 1.8; }

.white {
  color: #fff; }

.dgray {
  color: #333; }

.lgray {
  color: #ececec; }

.light {
  color: #688396; }

.blue1st {
  color: #4592BC; }

.basegray {
  color: #5C6C79; }

.shadow-ccc {
  text-shadow: 0.2px 0.2px 0.1px #000, -0.2px 0.2px 0.1px #000, 0.2px -0.2px 0.1px #000, -0.2px -0.2px 0.1px #000; }

/*text-align*/
.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.text-padding {
  padding: 0px 10px; }

/*btn*/
.basic_btn a {
  height: 65px;
  background-color: #72b2d5;
  color:#ececec;
  position: relative; }

.basic_btn a:before {
  font-family: FontAwesome;
  content: "\f0da";
  position: absolute;
  right: 20px;
  font-size: 26px;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.basic_btn2 a {
  height: 65px;
  background-color: #72b2d5;
  color:#ececec;
  position: relative;
  display:none;}

.basic_btn2 a:before {
  font-family: FontAwesome;
  content: "\f0da";
  position: absolute;
  right: 20px;
  font-size: 26px;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.border_title {
  position: relative;
  padding-bottom: 10px; }

.border_title:before {
  content: "";
  display: block;
  width: 350px;
  height: 1px;
  background-color: #688396;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto; }

.bg_note {
  background-color: #fff;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #eee), color-stop(0.1, transparent));
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.1em, #eee), color-stop(0.1em, transparent));
  background-image: -webkit-linear-gradient(#eee 0.1em, transparent 0.1em);
  background-image: linear-gradient(#eee 0.1em, transparent 0.1em);
  background-size: 100% 28px; }

#global-nav ul {
  border-top: 1px solid #ececec; }

#global-nav ul li {
  width: 25%;
  border-left: 5px solid #fff; }

#global-nav ul li:first-child {
  border-left: none; }

#global-nav ul li a {
  width: 100%;
  color: #6C6E70;
  border-bottom: 3px solid #ececec;
  padding: 8px 0; }

#global-nav ul li a:hover {
  opacity: 1;
  border-color: #7bd4ff; }

#global-nav ul li a.here {
  color: #4592BC;
  border-color: #7bd4ff; }

#page-nav ul {
  border-top: 0px solid #ececec; }

#page-nav ul li {
  width: 25%;
  border-left: 5px solid #fff; }

#page-nav ul li:first-child {
  border-left: none; }

#page-nav ul li a {
  width: 100%;
  color: #6C6E70;
  border-bottom: 3px solid #ececec;
  padding: 4px 0; }

#page-nav ul li a:hover {
  opacity: 1;
  border-color: #bac8d1; }

#page-nav ul li a.here {
  color: #4592BC;
  border-color: #bac8d1; }

#page-sub-nav ul {
  border-top: 0px solid #ececec; }

#page-sub-nav ul li {
  width: 50%;
  border-left: 5px solid #fff; }

#page-sub-nav ul li:first-child {
  border-left: none; }

#page-sub-nav ul li a {
  width: 100%;
  color: #6C6E70;
  border-bottom: 1px solid #ececec;
  padding: 4px 0; }

#page-sub-nav ul li a:hover {
  opacity: 1;
  border-color: #bac8d1; }

#page-sub-nav ul li a.here {
  color: #4592BC;
  border-color: #bac8d1; }

/*footer*/
footer h4 {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 20px; }

footer h4:after {
  content: "";
  position: absolute;
  bottom: 0;
  display: block;
  height: 2px;
  width: 550px;
  background-color: #5C6C79;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%); }

/*index*/
.key_v {
  width: 100%;
  height: 480px;
  position: relative;
  overflow: hidden;
  box-shadow: 10px 10px 10px rgba(0,0,0,0.1); }

.key_v img {
  width: auto;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.key_v .text_box {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.key_v .text_box .title {
  font-size: 31px;
  line-height: 1.8;
  margin-top: 30px;
  margin-bottom: 230px; }

.key_v .text_box .btn a {
  width: 415px;
  padding: 10px 0;
  position: relative;
  border: 1px solid #5C6C79;
  font-size: 20px;
  font-weight: 100;
  background-color: rgba(255,255,255,0.6);
  }

.key_v .text_box .btn a:before {
  content: "\f04b";
  font-family: FontAwesome;
  position: absolute;
  right: 10px;
  font-size: 12px;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.key_v_contact {
  width: 100%;
  padding:30px;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  box-sizing: border-box; }
  .key_v_contact .text_box {
    width: 100%;
    margin:10px 20px;}
    .key_v_contact .text_box .title {
      font-size: 38px;
      line-height: 1.5; }
    .key_v_contact .text_box .text {
      font-size: 15px; }

.key_v_privacy {
  width: 100%;
  height: 80px;
  position: relative;
  overflow: hidden; }

.key_v_privacy .text_box {
  width: 100%; }

.key_v_privacy .text_box .title {
  font-size: 28px;
  line-height: 1.8;
  margin-top: 20px;
  margin-bottom: 20px; }

.key_v_privacy .text_box .title02 {
  width: 90%;
  font-size: 22px;
  line-height: 1.8;
  margin-top: 10px;
  margin-bottom: 10px;
  background: #F5F5F5; }
  
.key_v_tospbtn
{display:none;}

/*スペシャルサイト対応用追加*/
/*-- PC版表示CSS  --*/
pc_block{
  display:block;
}
sp_block{
  display:none;
}

/*-- スマホ版表示CSS  --*/
@media screen and (max-width: 768px){
  pc_block{
    display:none;
  }
  sp_block{
    display:block;
  }
}
  
.privacy ol li {
  list-style-position: outside;
  margin-left: 1.5em;
  margin-bottom: 10px;
  counter-increment: cnt;
  font-size: 14px; }

.privacy ol li:before {
  display: marker;
  content: "(" counter(cnt) ") "; }

.privacy ul li.lev02 {
  list-style-position: outside;
  margin-left: 1.5em;
  margin-bottom: 10px; }

.privacy ul li.lev02:before {
  display: marker; }

.privacy dt {
  font-size: 16px;
  margin-bottom: 30px; }

.privacy dd {
  padding: 0px 10px;
  color: #333;
  font-size: 14px;
  margin-bottom: 20px; }

.privacy table {
  border-collapse: collapse;
  width: 95%;
  cellspacing: 0;
  font-size: 14px;
  margin: 15px;
  table-layout: fixed; }

.privacy table th {
  background: #F5F5F5;
  border: solid 1px #a9a9a9;
  padding: 5px; }

.privacy table td {
  border: solid 1px #a9a9a9;
  padding: 5px; }

@media screen and (max-width: 767px) {
  .privacy dd {
    font-size: 12px;
    margin-bottom: 15px; }
  .privacy dt {
    font-size: 15px;
    margin-bottom: 15px; }
  .privacy table {
    font-size: 13px;
    border-collapse: collapse;
    width: 95%;
    cellspacing: 0;
    margin: 15px;
    font-size: 12px;
    table-layout: fixed; }
  .privacy td {
    word-wrap: break-word; }
  .privacy ol li {
    list-style-position: outside;
    margin-left: 1.5em;
    margin-bottom: 10px;
    counter-increment: cnt;
    font-size: 12px; }
  .key_v_privacy .text_box .title {
    font-size: 22px;
    line-height: 1.2;
    margin-top: 20px;
    margin-bottom: 20px; }
  .key_v_privacy .text_box .title02 {
    font-size: 18px;
    line-height: 1.2;
    margin-top: 20px;
    margin-bottom: 20px; } }

.gray_box {
  background: #F5F5F5;
  padding: 5px;
  border: 1px solid #EEEEEE; }

.gray_box .small_content {
  width: 422px;
  height: 245px; }

.gray_box .big_content {
  width: 570px;
  height: 245px; }
  
.app_box {
  background: #FFFFFF;
  padding: 5px;
  border: 1px solid #F5F5F5; }

.app_box .small_content {
  width: 422px;
  height: 245px; }

.app_box .big_content {
  width: 570px;
  height: 245px; }

.platform_img img {
  height: 245px; }

.news .gray_box {
  background: #F5F5F5;
  padding: 20px 55px;
  border: 1px solid #EEEEEE; }

.news .gray_box li {
  position: relative;
  padding-top: 30px; }

.news .gray_box li .time {
  color: #8F9193; }

.news .gray_box li .category {
  width: 105px;
  height: 25px; }

.news .gray_box li .title {
  color: #139BBA; }

.news .gray_box li .view {
  color: #139BBA;
  position: absolute;
  bottom: 0;
  right: 0; }

.news .gray_box li .view:after {
  content: "\f04b";
  font-family: FontAwesome;
  margin-left: 10px; }

.news .gray_box li:before {
  content: "";
  display: block;
  width: 10px;
  height: 1px;
  /* background-color: #8E9092;*/
  position: absolute;
  top: 0;
  left: 0; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.orange1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.green1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.orange1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.green1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.pink1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .category.green1s {
  background-color: #72b2d5; }

.news .gray_box .category.green1s {
  background-color: #72b2d5; }

.news .gray_box .category.blue1s {
  background-color: #72b2d5; }

.news .gray_box .all_btn {
  text-align: right; }

.news .gray_box .all_btn a {
  color: #5C6C79; }

.news .gray_box .all_btn:before {
  content: none; }

.recruiting .img_box {
  width: 100%;
  height: 650px;
  position: relative;
  overflow: hidden; }

.recruiting .img_box img {
  width: auto;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.recruiting .img_box .text_box {
  position: absolute;
  left: 0;
  bottom: 10px; }

.recruiting .img_box .text_box .title {
  font-size: 31px;
  line-height: 1.8;
  padding-bottom: 30px;
  margin-bottom: 40px;
  position: relative; }

.recruiting .img_box .text_box .title:after {
  content: "";
  height: 1px;
  width: 430px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%); }

.recruiting .img_box .text_box .btn {
  margin-bottom: 45px; }

.recruiting .img_box .text_box .btn a {
  width: 430px;
  display: inline-block;
  padding: 10px 0;
  position: relative;
  background-color: #fff;
  font-size: 24px;
  font-weight: 100;
  color: #888988; }

/*under*/
.key_v.under .text_box .title {
  width: 100%;
  font-size: 38px;
  line-height: 1.8;
  padding-bottom: 10px;
  margin-top: 0;
  margin-bottom: 15px;
  position: relative; }

.key_v.under .text_box .title:before {
  content: "";
  width: 600px;
  height: 1px;
  display: block;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto; }

.basic_col {
  width: 420px; }

/*about*/
.message .box .text_box {
  width: 525px; }

.ggmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }

.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.history .bg_note {
  padding: 28px 35px 0 35px; }

.history .title {
  width: 130px;
  margin-top: 4px;
  margin-bottom: 28px; }

.history .text {
  width: 670px;
  margin-top: 4px;
  margin-bottom: 28px; }

.service .link_list li a {
  width: 235px;
  height: 175px;
  position: relative;
  /*border: 1px solid #5B86A3*/ }

.service .link_list li a .img {
  padding: 0 30px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%); }

.service .link_list li a .text {
  position: absolute;
  bottom: 15px;
  color: #688396; }

.service_img {
  width: 235px;
  height: 175px;
  padding: 0 0px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%); }
  
.service_appimg {
height:200px;
}
  
.service_qr {
height:120px;
}

.service .link_list li a .text {
  position: absolute;
  bottom: 15px;
  color: #688396; }

.service .link_list_img li a {
  width: 235px;
  height: 175px;
  position: relative;
  border: 1px solid #5B86A3; }

.news_release .content {
  border-top: 1px solid #C7C7C7;
  padding: 55px 0; }

.news_release .content .time {
  width: 750px;
  text-align: right; }

.news_release .content .category {
  width: 120px;
  height: 40px;
  max-width: 120px;
  min-width: 120px;
  background-color: #72b2d5; }

.news_release .content .title {
  color: #139BBA; }

.news_release .content .title a {
  color: #139BBA; }

.news_release .content .text {
  margin-left: 0; }

.col_1, .col_2, .col_3 {
  position: relative; }

@media screen and (min-width: 767px) {
  .col_1, .col_2 {
    float: left; }
  .col_3 {
    　　　clear: left; }
  .col_1 {
    width: 70%;
    margin: 10px; }
  .col_2 {
    width: 30%;
    margin: 10px; }
  .col_3 {
    width: 100%; } }

.recruit .content {
  width: 840px; }

.recruit .content ul li a {
  width: 265px;
  height: 100%;
  background-color: #F0F0F0;
  border: 1px solid #C7C7C7; }

.recruit .content ul li a .text_box {
  padding: 20px; }

.recruit .content ul li a .text_box .title {
  color: #139BBA; }

.recruit .content ul li a .text_box .text {
  color: #666; }

.contact {
  max-width: 1000px;
  margin: 0 auto 60px;
  color: #5c6c79; }
  .contact .displaySP {
    display: none; }

.contact .step {
  list-style-type: none;
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 60px;
  margin: 0;
  padding: 0;
  overflow: hidden; }
  .contact .step li {
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    width: 33.3%;
    background: #f0f0f0; }
    .contact .step li:after {
      content: "";
      position: absolute;
      width: 0;
      height: 0;
      margin: auto;
      top: 0px;
      right: -20px;
      border-style: solid;
      border-color: transparent transparent transparent #f0f0f0;
      border-width: 30px 0 30px 20px;
      z-index: 10; }
    .contact .step li:last-child:after {
      display: none; }
    .contact .step li.is-current {
      background: #5c6c79;
      color: #fff; }
      .contact .step li.is-current:after {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        margin: auto;
        top: 0px;
        right: -20px;
        border-style: solid;
        border-color: transparent transparent transparent #5c6c79;
        border-width: 30px 0 30px 20px;
        z-index: 10; }
      .contact .step li.is-current:last-child:after {
        display: none; }
    .contact .step li span {
      font-size: 16px;
      line-height: 60px; }
    .contact .step li .number {
      font-size: 20px;
      margin-left: 10px;
      margin-right: 5px; }

.contact .kind-wrap {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
          align-items: stretch;
  margin: 40px 0 0; }

.contact .kind {
  width: calc(50% - 15px); }
  .contact .kind .list-button li {
    position: relative;
    margin: 15px 0 0; }
    .contact .kind .list-button li:first-child {
      margin-top: 0; }
    .contact .kind .list-button li.icn-browser a:after {
      content: url("../images/common/icn_browser.svg");
      position: relative;
      margin-left: 5px; }
    .contact .kind .list-button li a {
      display: block;
      width: 100%;
      height: 45px;
      padding: 0 15px;
      background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
      background: -webkit-linear-gradient(top, #ffffff 0%, #f5f5f5 100%);
      background: linear-gradient(to bottom, #ffffff 0%, #f5f5f5 100%);
      border: 1px solid #C7C7C7;
      border-radius: 4px;
      box-sizing: border-box;
      font-size: 15px;
      line-height: 45px;
      color: #139bba;
      white-space: nowrap;}
  .contact .kind .sublist-button {
    margin: 10px 0 0 1rem; }
    .contact .kind .sublist-button li {
      position: relative;
      margin-top: 3px;
      padding: 0 0 0 1rem;
      font-size: 13px;
      line-height: 1.4em;
      color: #5c6c79; }
      .contact .kind .sublist-button li:before {
        content: "・";
        position: absolute;
        top: 0;
        left: 0; }

.contact .kind-box {
  padding: 25px 20px;
  border: 1px solid #EEEEEE;
  border-radius: 4px;
  box-sizing: border-box; }
  .contact .kind-box .title {
    margin: 0 0 25px;
    font-size: 16px;
    line-height: 1em;
    font-weight: 600; }

.contact .thanks {
  width: 100%;
  height: calc(100vh - 470px);
  padding: 150px 0;
  box-sizing: border-box;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  text-align: center; }
  .contact .thanks h2 {
    font-size: 26px;
    line-height: 1.5em; }
  .contact .thanks p {
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.5em; }
    .contact .thanks p br {
      display: none; }

.contact .form {
  max-width: 850px;
  margin: 40px auto 0; }
  .contact .form .lead {
    margin: 0 0 40px;
    font-size: 14px;
    line-height: 1.7em;
    text-align: center; }
  .contact .form .dl-form {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: stretch;
            align-items: stretch;
    border: 1px solid #C7C7C7;
    border-radius: 4px;
    box-sizing: border-box;
    overflow: hidden;
    margin: 15px 0 0; }
    .contact .form .dl-form dt {
      position: relative;
      width: 210px;
      padding: 13px 15px 12px;
      background: #f5f5f5;
      box-sizing: border-box;
      font-size: 14px;
      line-height: 1.5em; }
      .contact .form .dl-form dt span {
        position: absolute;
        top: 14.5px;
        right: 15px;
        width: 30px;
        height: 16px;
        background: #E13B3B;
        border-radius: 2px;
        font-size: 11px;
        line-height: 16px;
        font-weight: bold;
        color: #fff;
        text-align: center; }
    .contact .form .dl-form dd {
      width: calc(100% - 210px);
      /*padding: 12px 15px;*/
      padding: 12px 15px;
      line-height: 1.5em;
      box-sizing: border-box; }
      .contact .form .dl-form dd.dd-textarea {
        padding-top: 2px;
        padding-bottom: 2px; }
  .contact .form .input,
  .contact .form .select,
  .contact .form .textarea,
  .contact .form .agree {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
    .contact .form .input:focus,
    .contact .form .select:focus,
    .contact .form .textarea:focus,
    .contact .form .agree:focus {
      outline: none; }
  .contact .form .input-area {
    -webkit-transform: scale(0.88);
            transform: scale(0.88);
    /*font-size: 14px*/
    margin: 0 -6%; }
  .contact .form .input,
  .contact .form .select,
  .contact .form .textarea {
    width: 100%;
    background: #fff;
    border: 0;
    box-sizing: border-box;
    color: #5c6c79;
    font-size: 16px;
    line-height: 1.5em; }
    .contact .form .input::-webkit-input-placeholder,
    .contact .form .select::-webkit-input-placeholder,
    .contact .form .textarea::-webkit-input-placeholder {
      opacity: 0.4; }
    .contact .form .input::-moz-placeholder,
    .contact .form .select::-moz-placeholder,
    .contact .form .textarea::-moz-placeholder {
      opacity: 0.4; }
    .contact .form .input:-ms-input-placeholder,
    .contact .form .select:-ms-input-placeholder,
    .contact .form .textarea:-ms-input-placeholder {
      opacity: 0.4; }
    .contact .form .input::-ms-input-placeholder,
    .contact .form .select::-ms-input-placeholder,
    .contact .form .textarea::-ms-input-placeholder {
      opacity: 0.4; }
    .contact .form .input::placeholder,
    .contact .form .select::placeholder,
    .contact .form .textarea::placeholder {
      opacity: 0.4; }
  .contact .form .input,
  .contact .form .select {
    height: 21px; }
  .contact .form .textarea {
    height: 156px;
    resize: none; }
  .contact .form .select {
    position: relative;
    text-overflow: ellipsis; }
    .contact .form .select::-ms-expand {
      display: none; }
  .contact .form .agree-checkbox {
    display: none;
    width: 20px;
    height: 20px; }
  .contact .form .agree-checkbox:checked + .agree-label:before {
    background: #5c6c79;
    border-color: #5c6c79; }
  .contact .form .agree-checkbox:checked + .agree-label:after {
    border-color: #fff; }
  .contact .form .agree-label {
    display: block;
    position: relative;
    padding-left: 28px;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 20px;
    font-weight: bold;
    vertical-align: middle;
    white-space: nowrap;
    cursor: pointer; }
    .contact .form .agree-label:before, .contact .form .agree-label:after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      margin: auto; }
    .contact .form .agree-label:before {
      left: 0;
      bottom: 0;
      width: 20px;
      height: 20px;
      border: solid 1px #5c6c79;
      background: #fff;
      box-sizing: border-box; }
    .contact .form .agree-label:after {
      left: 3px;
      bottom: 2px;
      width: 14px;
      height: 7px;
      border-bottom: solid 2px #fff;
      border-left: solid 2px #fff;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
  .contact .form .select-wrap {
    position: relative; }
    .contact .form .select-wrap:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      width: 0;
      height: 0;
      margin: auto;
      border-style: solid;
      border-width: 8px 5px 0 5px;
      border-color: #5c6c79 transparent transparent transparent;
      pointer-events: none; }
  .contact .form .notes {
    margin: 40px 0 0;
    font-size: 14px;
    line-height: 1.7em;
    text-align: center; }
    .contact .form .notes a {
      padding-right: 16px;
      background: url("../images/common/icn_browser.svg") no-repeat right center;
      color: #139bba; }
  .contact .form .agree-wrap {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    margin: 15px 0 0; }
    .contact .form .agree-wrap span {
      width: 30px;
      height: 16px;
      margin-left: 15px;
      background: #E13B3B;
      border-radius: 2px;
      font-size: 11px;
      line-height: 16px;
      color: #fff;
      text-align: center; }
  .contact .form .submit {
    width: 360px;
    height: 60px;
    margin: 40px auto 0; }
    .contact .form .submit a {
      display: block;
      width: 100%;
      height: 100%;
      background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
      background: -webkit-linear-gradient(top, #ffffff 0%, #f5f5f5 100%);
      background: linear-gradient(to bottom, #ffffff 0%, #f5f5f5 100%);
      border: 1px solid #c7c7c7;
      border-radius: 4px;
      box-sizing: border-box;
      font-size: 18px;
      line-height: 58px;
      font-weight: bold;
      color: #139bba;
      text-align: center; }
      
    .contact .kind-banner_pc {
     display:block;}
    .contact .kind-banner_sp {
     display:none;}
     .contact .kind-banner_pc img {
     width:100%;
     max-width: 100%;
     height: auto;
     margin:0 0 20px 0;}

@media (max-width: 600px) {
  .tbl.wantedly iframe {
    width: 320px; }
  .pconly {
    display: none; } }

@media (min-width: 767px) {
  .pc_service-padding-right {
    padding-right: 10px; }
  .form-parent {
    width: 600px;
    margin: auto;
    padding: 20px;
    border: 0px;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    position: relative; }
  .form-inner {
    border: 0px;
    padding: 5px;
    margin: auto;
    width: 500px;
    display: table-cell; }
  .text_img_caption {
    position: absolute;
    top: 2px; }
  .text_img_title {
    position: absolute;
    top: 22px; }
  ul.formlink {
    margin: auto;
    padding: 0.5em 1em 0.5em 2.3em;
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    /* 左右均等分布 */
    white-space: nowrap; }
  ul li.formlink {
    border-radius: 8px;
    margin-left: 5px;
    line-height: 1.2;
    padding-left: 20px;
    padding: 1em;
    list-style-type: none !important;
    text-indent: 5px;
    list-style-position: inside;
    display: inline-block;
    margin-right: 1em;
    white-space: nowrap; }
  ul li.formlink:before {
    /*疑似要素*/
    font-family: "FontAwesome";
    content: "\f138";
    /*アイコンの種類*/
    position: relative;
    left: -5px;
    /*左端からのアイコンまでの距離*/
    color: skyblue;
    /*アイコン色*/ } }

@media (max-width: 767px) {
  .tbl.wantedly iframe {
    width: 320px; }
  .text_img_caption {
    position: absolute;
    top: 20px;
    color: #688396;
    text-align: center; }
  .text_img_title {
    position: absolute;
    top: 35px;
    color: #688396;
    text-align: center; }
  .text_img_more {
    position: static;
    bottom: 0px; }
  .service_img {
    height: 0px;
    pointer-events: none; } 

.contact .form span span .radio input {
  width: 10%; }
.contact .kind-banner_pc{
     display:none;}
.contact .kind-banner_sp {
     display:block;}
.contact .kind-banner_sp img {
     width:100%;
     max-width: 100%;
     height: auto;
     margin:0 0 20px 0;}
}
.formlinkbox {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
          align-items: stretch;
  border: 1px solid #aaa;
  text-align: center;
  height: 150px;
  padding: 100px;
  margin: 50px; }

.formlink_block .content {
  border-top: 1px solid #C7C7C7;
  padding: 55px 55px; }

.formlink_block .content .time {
  width: 750px;
  text-align: right; }

.formlink_block .content .category {
  width: 120px;
  height: 40px;
  max-width: 120px;
  min-width: 120px;
  background-color: #72b2d5; }

.formlink_block .content .title {
  color: #139BBA; }

.formlink_block .content .title a {
  color: #139BBA; }

.formlink_block .content .text {
  margin-left: 20; }

.color-gray-box {
  color: #5C6C79; }

ol.list_style {
  list-style-type: decimal;
  list-style-position: outside; }

ul.list_style {
  list-style-type: circle;
  list-style-position: inside; }

.nowrap {
  white-space: nowrap; }

.tbl_center {
  text-align: center; }

.disabled_link {
  pointer-events: none; }

.text_img_more {
  position: absolute;
  bottom: 2px; }

.img_center { 
  width: 90%;
  display: block;
  margin: auto;
}

.cp_card02 {
    font-size: 14px;
    line-height: 1.45em;
    position: relative;
    overflow: hidden;
    width: 90%;
    height: 200px;
    margin: 0 auto 1.6%;
    -webkit-transition: height 0.3s ease;
    transition: height 0.3s ease;
    border-radius: 3px;
    background: #ffffff;
    -webkit-box-shadow: 0 3px 7px -3px rgba(0, 0, 0, 0.3);
    box-shadow: 0 3px 7px -3px rgba(0, 0, 0, 0.3);
    }
    .cp_card02:hover .details {
    left: 0;
    }
    .cp_card02:hover.alt .details {
    right: 0;
    }
    .cp_card02.alt .details {
    right: -100%;
    left: inherit;
    }
    .cp_card02 .photo {
    position: relative;
    float: left;
    width: 40%;
    height: 100%;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    }
    .cp_card02:hover .photo {
    -webkit-transform: rotate(5deg) scale(1.3);
    transform: rotate(5deg) scale(1.3);
    }
    .cp_card02 .photo.photo1 {
    background: url('../images/yukipoyo.jpg') center no-repeat;
    background-size: cover;
    }
    .cp_card02 .photo.photo2 {
        background: url('../images/sena.jpg') center top no-repeat;
        background-size: cover;
    }
    .cp_card02 .photo.photo3 {
        background: url('../images/chipitan.jpg')  center no-repeat;
        background-size: cover;
    }

    .cp_card02 .photo.photo4 {
        background: url('../images/shipitan.jpg')  center top no-repeat;
        background-size: cover;
    }
    .cp_card02 .photo.photo5 {
        background: url('../images/kaori.jpg')  center no-repeat;
        background-size: cover;
    }

    .cp_card02 .photo.photo6 {
        background: url('../images/nemoyayo.jpg')  center no-repeat;
        background-size: cover;
    }

    .cp_card02 .photo.photo7 {
        background: url('../images/rio.jpg')  center no-repeat;
        background-size: cover;
    }
    .cp_card02 .photo.photo8 {
        background: url('../images/marin.jpg')  center top no-repeat;
        background-size: cover;
    }
    .cp_card02 .photo.photo9 {
        background: url('../images/yun.jpg')  center no-repeat;
        background-size: cover;
    }

    .cp_card02 .details {
    position: absolute;
    top: 0;
    left: -100%;
    width: 40%;
    height: 200px;
    margin: 0;
    padding: 10px 15px;
    list-style: none;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #ffffff;
    background: rgba(51, 44, 42, 0.4);
    }
    .cp_card02 .details > li {
    padding: 3px 0;
    }
    .cp_card02 .details li::before,
    .cp_card02 .details .tags ul::before {
    font-family: FontAwesome;
    margin-right: 10px;
    vertical-align: middle;
    }
    .cp_card02 .details .author::before {
    content: '\f007';
    }
    .cp_card02 .details .date::before {
    content: '\f133';
    }
    .cp_card02 .details .tags ul {
    margin: 0;
    padding: 0;
    list-style: none;
    }
    .cp_card02 .details .tags ul::before {
    content: '\f02b';
    }
    .cp_card02 .details .tags li {
    display: inline-block;
    margin-right: 3px;
    }
    .cp_card02 .details a {
    color: inherit;
    }
    .cp_card02 .details a:hover {
    color: #80b1d2;
    }
    .cp_card02 .description {
    position: relative;
    z-index: 0;
    float: left;
    width: 60%;
    padding: 10px;
    min-height: 200px;
    }
    .cp_card02 .description::before {
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: -15px;
    width: 100%;
    content: '';
    -webkit-transform: skewX(-8deg);
    transform: skewX(-8deg);
    background: #ffffff;
    }
    .cp_card02 .description h1 {
    font-size: 1.4em;
    line-height: 1em;
    margin: 0 0 10px 0;
    }
    .cp_card02 .description h2 {
    font-size: 1em;
    line-height: 1.2em;
    margin: 1.2% 0;
    color: #9b9b9b;
    }
    .cp_card02 .description p {
    position: relative;
    margin: 0;
    padding-top: 20px;
    }
    .cp_card02 .description a {
    float: right;
    margin-bottom: 10px;
    text-decoration: none;
    color: #80b1d2;
    }
    .cp_card02 .description a::after {
    font-family: FontAwesome;
    margin-left: -10px;
    content: '\f061';
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    vertical-align: middle;
    opacity: 0;
    }
    .cp_card02 .description a:hover::after {
    margin-left: 5px;
    opacity: 1;
    }
    @media screen and (max-width: 480px) {
    .cp_card02 .description h1 {
    font-size: 1.3em;
    }
    }



/************************************
** スマホで見やすい比較表
************************************/
.comparison-table-wrap{
  width:100%;
  max-width:800px;
  margin: 0 auto 2em;
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.comparison-table-title{
  background : linear-gradient(90deg, rgba(71, 206, 255, 1) 0%, rgba(56, 224, 248, 1) 100%);
  text-align: center;
   color: #fff;
   font-weight: bold;
   padding: 1em;
   letter-spacing: 1px;
  margin: 0;
  font-size:14px;
  box-shadow: 0 2px 5px rgba(100,100,100,0.1);
}
.comparison-table{
  background:#f8f9fb;
  margin:0;
  padding:0.3em 1em;
}
.comparison-table table{
  border-collapse: separate;
  border-spacing:5px 10px;
  border:none;
  margin-bottom: 0;
  width: 100%;
}
.comparison-table table th,.comparison-table table td {
    width: calc(100% / 3);
}
.comparison-table table thead th{
  background : #d1d1d1;
  border:none;
  color:#fff;
  box-shadow: 0 2px 5px rgba(100,100,100,0.1);
  padding: 0.8em 0.5em;
  line-height: 1.5;
  border-radius: 3px;
  font-size: 14px;
}
.comparison-table table tbody th{
  background : linear-gradient(90deg, rgba(71, 206, 255, 1) 0%, rgba(56, 224, 248, 1) 100%);
  text-align: center;
  color:#fff;
  border:none;
  border-radius:30px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  padding: 0.4em 1em;
  font-size: 14px;
  line-height: 1.3;
}
.comparison-table table tbody td{
  background:#fff;
  box-shadow: 0 2px 5px rgba(100,100,100,0.1);
  border-radius:3px;
  border:none;
  padding:1.2em;
  color: #555;
  line-height: 1.8;
  text-align:justify;
  vertical-align:top;
}
.comparison-table table tbody td p{
  margin:0;
  padding:0;
  margin-bottom:1em;
  font-size: 14px;
}
.comparison-table table tbody td .td-h{
  text-align:center;
  font-weight:bold;
  color:#33ccff;
  font-size: 16px;
  margin-bottom:7px;
}
@media screen and (max-width: 768px){
  .comparison-table{
    padding:7px;
  }
  .comparison-table table{
    border-spacing:3px 10px;
  }
  .comparison-table table thead th{
    position: -webkit-sticky;
    position: sticky;
    top:0px;
    z-index:100;
  }
}



/************************************
** スマホ特化比較表(ピンク)
************************************/
/* 大見出し背景 */
.comparison-table-pink .comparison-table-title{
  background:#f7bcbc!important;
}
/* 中見出し背景 */
.comparison-table-pink .comparison-table table tbody th{
  background:#f7bcbc!important;
}
/* 強調文字 */
.comparison-table-pink .comparison-table table tbody td .td-h{
  color:#f7bcbc!important;
}
/* 全体背景 */
.comparison-table-pink .comparison-table{
background:#fdf1f1!important;
}
/* 比較名背景 */
.comparison-table-pink .comparison-table table thead th{
  background:#d1baba!important;
}
/************************************
** スマホで見やすい比較表(イエロー)
************************************/
/* 大見出し背景 */
.comparison-table-yellow .comparison-table-title{
  background:#fdc44f !important;
}
/* 中見出し背景 */
.comparison-table-yellow .comparison-table table tbody th{
  background:#fdc44f !important;
}
/* 強調文字 */
.comparison-table-yellow .comparison-table table tbody td .td-h{
  color:#fdc44f !important;
}
/* 全体背景 */
.comparison-table-yellow .comparison-table{
background:#fef9ed!important;
}
/* 比較名背景 */
.comparison-table-yellow .comparison-table table thead th{
  background:#d4c096 !important;
}
/************************************
** スマホで見やすい比較表(グリーン)
************************************/
/* 大見出し背景 */
.comparison-table-green .comparison-table-title{
  background:#2fcdb4 !important;
}
/* 中見出し背景 */
.comparison-table-green .comparison-table table tbody th{
  background:#2fcdb4 !important;
}
/* 強調文字 */
.comparison-table-green .comparison-table table tbody td .td-h{
  color:#2fcdb4 !important;
}
/* 全体背景 */
.comparison-table-green .comparison-table{
background:#eafaf7 !important;
}
/* 比較名背景 */
.comparison-table-green .comparison-table table thead th{
  background:#97c7bf !important;
}
/************************************
** スマホで見やすい比較表(シンプル)
************************************/
/* 大見出し背景 */
.comparison-table-simple .comparison-table-title{
  box-shadow:none !important;
}
/* 中見出し背景 */
.comparison-table-simple .comparison-table table tbody th{
  box-shadow:none !important;
}
/* 全体背景 */
.comparison-table-simple .comparison-table{
  background:none !important;
}
/* 比較名背景 */
.comparison-table-simple .comparison-table table thead th{
  box-shadow:none !important;
}
/* コンテンツ背景 */
.comparison-table-simple .comparison-table table tbody td{
  box-shadow:none !important;
  padding: 0.5em 1em;
}
/************************************
** スマホで見やすい比較表(画像比較)
************************************/
/* 比較名背景 */
.comparison-table-img .comparison-table table thead th{
  box-shadow:none !important;
  padding:0;
  margin:0;
}
.comparison-table-img .comparison-table table thead tr{
  background:none !important;
}
.comparison-table-img .comparison-table table thead th img{
  display:block;
}
.comparison-table table thead th p{
  margin:0;
}
/* 画像タイトル */
.comparison-table-img .comparison-table table thead th .th-h{
  color:#fff;
  padding-top:10px;
  margin-bottom:10px;
  font-size:14px;
}
/************************************
** スマホで見やすい比較表(固定追尾なし)
************************************/
@media screen and (max-width: 768px){
  .no-sticky .comparison-table table thead th{
    position:static;
  }
}


.footer_fix_btn {
  margin-bottom:0px;
  position:fixed;
  bottom:0;
  width:100%;
  padding:0px 0 0px 0;
  text-align:right;
  font-size:16px; // テキストの大きさ
  color:#000000; // 文字色
}
.footer_fix_btn a {
  display:block;
  width:100%;
  text-decoration:none;
}
.footer_fix_btn a:hover {
  opacity:0.8;
}

ul.menu {
color: #fff;text-align: center;font-size: 1.2rem;margin-bottom:60px;
	}

@media screen and (max-width: 768px){
ul.menu {
color: #fff;text-align: center;font-size: 0.9em;
    margin-bottom: 40px;
	}
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: block !important; }
}


.ellipsis {
	position: relative;
	height: 80px;
	overflow: hidden;
	line-height: 20px;
}

.ellipsis:before, .ellipsis:after {
	position: absolute;
	background: #fff;
}

.ellipsis:before {
	content: "･･･";
	bottom: 0;
	right: 0;
}

.ellipsis:after {
	content: "";
	width: 100%;
	height: 100%;
}