@charset "utf-8";

.clearfix::after {
content:"";
display:block;
clear:both;
}
.container img {vertical-align: bottom;}
.wrapper-bunsyoTensaku {
width: 100%;
margin: 0 auto;
color:#333333;
font-weight: 500;
font-size: 14px;
font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
line-height:1.6;
letter-spacing:.1em;
}
.wrapper-bunsyoTensaku p small {font-size:12px;color: #333;}
.wrapper-bunsyoTensaku a:hover {text-decoration: none;}
/* ==============
  lauout@smacss
============== */

/*余白*/
.l-section-xl + .l-section-xl {
margin-top: 64px;
}
.l-section-l + .l-section-l {
margin-top: 32px;
}
.l-section-m + .l-section-m {
margin-top: 16px;
}
.l-section-s + .l-section-s {
margin-top: 8px;
}

/*flex*/
.l-flex {
display: flex;
}
.l-flex-2col_item {
padding: 8px;
}
.l-flex-box-theme {
  flex-wrap: wrap;
  justify-content: space-between;  
}
.box-theme {
  width: 48%;
}
@media screen and (max-width:599px) {
  .l-flex-box-theme {justify-content: center;}
  .box-theme {width: 100%;max-width: 400px;}
}
/*グリッド*/
.l-grid-has-gutter {
display: flex;
margin-left: -8px;
margin-right: -8px;
flex-wrap: wrap;
}
.l-grid_item-1 {
width: 8.333%;
}
.l-grid_item-2 {
width: 16.667%;
}
.l-grid_item-3 {
width: 25%;
}
.l-grid_item-4 {
width: 33.333%;
}
.l-grid_item-5 {
width: 41.666%;
}
.l-grid_item-6 {
width: 50%;
}
.l-grid_item-7 {
width: 58.333%;
}
.l-grid_item-8 {
width: 66.666%;
}
.l-grid_item-9 {
width: 75%;
}
.l-grid_item-10 {
width: 83.33%;
}
.l-grid_item-11 {
width: 91.666%;
}
.l-grid_item-12 {
width: 100%;
}
.has-gutter {
padding-left: 8px;
padding-right: 8px;
display: flex;
}
@media screen and (max-width:599px) {
.l-responsive-grid_item-1 {
width: 8.333%;
}
.l-responsive-grid_item-2 {
width: 16.667%;
}
.l-responsive-grid_item-3 {
width: 25%;
}
.l-responsive-grid_item-4 {
width: 33.333%;
}
.l-responsive-grid_item-5 {
width: 41.666%;
}
.l-responsive-grid_item-6 {
width: 50%;
}
.l-responsive-grid_item-7 {
width: 58.333%;
}
.l-responsive-grid_item-8 {
width: 66.666%;
}
.l-responsive-grid_item-9 {
width: 75%;
}
.l-responsive-grid_item-10 {
width: 83.33%;
}
.l-responsive-grid_item-11 {
width: 91.666%;
}
.l-responsive-grid_item-12 {
width: 100%;
}
.l-responsive-grid_item-12 + .l-responsive-grid_item-12 {
margin-top: 16px;
}
}

/*ナビゲーション*/
.nav {
    display: flex;
}
.nav_item {
    width: 20%;
}
.nav_link {
  display: block;
  text-align: center;
  letter-spacing: 0;
  font-size: 14px;
  font-weight: bold;
  color: #333;
}
.nav_link {
  border-bottom: solid 5px #ffffff;
}
.nav .nav_link:hover {
  color: #333;
  border-bottom: solid 5px #0AA154;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .nav {justify-content: space-between;}
  .nav_item {width: auto;}
}
@media screen and (max-width: 599px) {
  .nav {display: block;}
  .nav::after {content: "";display: block;clear: both;}
  .nav_item {float: left;width:calc(50% - 2px); margin: 3px 1px 3px;border-right: 1px solid #333;}
  .nav_link {display: block;padding: 4px 0; border-bottom: 1px solid #333;font-size: 13px;}
  .nav .nav_link:hover {border-bottom: 1px solid #333}
  
}
/*ボックス*/
.box-features_img,
.box-features_ttl {
  font-size:18px;
  text-align: center;
}
@media screen and (min-width:768px) {.box-features_ttl span {display: block;}}
@media screen and (max-width:767px) {.box-features_ttl span {display: inline;}}
@media screen and (max-width:599px) {.box-features_ttl span {display: block;}.box-features_ttl{min-width:210px;text-align: left;}}

.box-features_ttl {
  margin: 8px 0;
}
.box-features_item {
  padding: 12px;
}
.box-features_item + .box-features_item {
  border-left: solid 1px #afafaf;
}
.box-features_des {
  font-size: 16px;
  letter-spacing: 0;
}
.box-case {
  background-color: #eeeeee;
  padding: 12px;
}
.box-theme_ttl {
  background-color: #0AA154;
  color: #fff;
  font-size: 18px;
  padding: 2px 8px;
  margin-bottom: 16px;
}
.box-theme {
  margin-top: 32px;
}



/*見出し*/
.heading-primary {
  font-size: 22px;
  margin-top: 40px;
  margin-bottom: 16px;
  border-bottom: solid 1px #333333;
  padding-bottom: 16px;
}
.heading-primary_sub {
  display: inline-block;
  font-family: Candara, candara;
  font-size: 18px;
  padding-left: 16px;
}
.heading-secondary {
  margin-top: 16px;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: normal;
  letter-spacing: 0;
}
.heading-secondary-squareIcon::before {
  content: "◆";
}

@media screen and (max-width:599px){
  .heading-primary {
    font-size: 20px;
    padding-left: 16px;
    line-height: 1.2;
    padding-bottom: 10px;
  }
  .heading-primary_sub {
    font-size: 16px;
  }
  .heading-secondary {
    font-size: 16px;
  }
  
  .box-features {display: block;}
  .box-features_item {width: 100%;display: flex;flex-wrap: wrap;justify-content: center;align-items: center;}
  .box-features_ttl {margin: 0 0 0 .5em;}
  .box-features_des {width: 100%;margin-top: 10px;}
  .box-features_item + .box-features_item {border-left: none;border-top:1px solid #afafaf;}
}
/*アイコン*/
.has-icon {
position: relative;
}
.has-icon::before,
.has-icon::after {
content: "";
position: absolute;
}


.table-price,
.flow-image {
  width: 100%;
  max-width: 730px;
  overflow-x: auto;
  overflow-y: hidden;
  overflow-scrolling: touch;
}
.flow-image img {min-width: 730px;}

/*テーブル*/
.table-price th,
.table-price td {
  border: solid 1px #afafaf;
  vertical-align: top;
  padding: 8px;
  letter-spacing: 0;
}
.table-price th {
  padding: 8px;
  font-size: 16px;
  font-weight: normal;
}
.table-price .price-cell {width:315px;min-width:315px; padding: 6px 18px; font-weight: bold;font-size: 24px; vertical-align: top;}
.price-cell strong {font: 46px normal Arial, Helvetica, "sans-serif";letter-spacing: -1px;}
.price-cell small, .theme-cell small {display: block;font-size:12px;line-height: 1.4;padding-top: 4px; font-weight: normal;}
.price-notice {margin-top: 12px; font-size: 12px; display: flex; justify-content: flex-end;}
.price-cell_medium {font-size: 13px;}
@media screen and (max-width:599px) {
  .table-price th {font-size: 14px;padding: 7px;}
  .table-price .price-cell {width:250px;padding: 3px 16px;font-size:20px;min-width: 250px;}
  .price-cell strong {font-size: 40px;}
  .price-cell small, .theme-cell small {font-size: 11px;}
}

/*お申込みボタン*/
.inquiry-button {
  margin: 20px auto;
  max-width: 350px;
  width: 100%;
  height: 40px;
}
.inquiry-button a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background: #917530;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  transition: .3s box-shadow;
}
.inquiry-button a:hover {
  text-decoration: none;
  box-shadow: 0 0 5px 1px rgba(0,0,0,.4);
  transition: .3s box-shadow;
}


/*サンプル画像*/
.deliverable-images {
  position: relative;
  width: 100%;
  padding: 12px 0;
  overflow-x: auto;
  white-space: nowrap;
  overflow-scrolling: touch;
}
.deliverable-images a {
  display: inline-block;
  margin: 0 5px;
  padding: 10px;
  width: 230px;
  transition: .3s box-shadow;
}
.deliverable-images a:hover {
  box-shadow: 0 1px 5px 1px rgba(0,0,0,.4);
  transition: .3s box-shadow;
}
.luminous:hover {cursor: zoom-in;}
.lum-open {cursor: zoom-out;}
.deliverable-images dt {
  display: flex;
  align-items: baseline;
  margin-bottom: 6px;
  padding: 3px 0 0 14px;
  background: #0aa154;
  width: 210px;
  height: 30px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}
.deliverable-images dt small {font-size: 13px;}

@media screen and (max-width:599px) {
  /*.deliverable-images::before {
    position: absolute;
    bottom: 30px;
    left: 10px;
    content: "";
    width: 40px;
    height: 8px;
    border-bottom: 1px solid #afafaf;
    border-right: 1px solid #afafaf;
    transform: skew(45deg);
  }*/
}


/*サービスラインナップ*/
#section-relatedService section+section {margin-top: 32px;}
#section-relatedService a:hover {
  text-decoration: underline;
  color: #052674;
}
.lineup-label {
  display: inline-block;
  padding: 2px .5em;
  font-weight: bold;
  color: #fff;
}
.label-coresolution {background: #8e6200;}
.label-online {background: #5558af;}
.label-text {background: #7CAA53;}
.label-qa {background: #AD5459;}
#section-relatedService li+li {margin-top: 4px;}

@media screen and (max-width:599px) {
  .lineup-label {font-size: 12px;padding-bottom: 0;}
}

/*リスト*/
.has-listMark-disc {
position: relative;
padding-left: 1em;
}
.has-listMark-disc::before {
content: "・";
position: absolute;
left: -4px;
top: 0;
}

/* ==============
  state@smacss
============== */
.is-responsive-appear {
display: none;
}
@media screen and (max-width:599px) {
.is-responsive-appear {
display: block;
}
}


/* ==============
  utility
============== */

/*配置*/
.position-center {
display: flex;
justify-content: center;
align-items: center;
}
.mb-8  {margin-bottom:  8px;}
.mb-16 {margin-bottom: 16px;}
.mb-24 {margin-bottom: 24px;}
.mb-32 {margin-bottom: 32px;}
.mb-40 {margin-bottom: 40px;}
.mb-48 {margin-bottom: 48px;}
.mb-56 {margin-bottom: 56px;}
.mb-64 {margin-bottom: 64px;}
.mb-72 {margin-bottom: 72px;}

.mt-8  {margin-top:  8px;}
.mt-16 {margin-top: 16px;}
.mt-24 {margin-top: 24px;}
.mt-32 {margin-top: 32px;}

/*文字*/
.ls-0 {letter-spacing: 0;}
.fs-12 {font-size: 12px;}
.fs-18 {font-size: 18px;}
.fw-normal {font-weight: normal;}
.ta-center {text-align: center;}
.ta-right {text-align: right;}