@charset "UTF-8";
/* 
======== CONTENTS ==========================================
	Site Name: Common
    2025.5.12
 =========================================================
*/
/*フォント*/
/*H-赤*/
/*H-グレー*/
/*ボタン*/
/*背景濃い*/
/*背景薄い*/
/*商品用-赤*/
/*----------------------------------
  Adjust
  現行スタイルの調整
 ----------------------------------*/
#HeaderArea,
#GlobalNavi {
  font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
  font-size: 99.84%;
  color: #000; }

@media screen and (max-width: 994px) {
  .JS #HeaderArea,
  .JS #SiteIdentity,
  .JS #UltraGlobalNavi,
  .JS #SearchArea,
  .JS #Footer,
  .JS .SuperGlobalNavi {
    min-width: inherit; } }
@media screen and (max-width: 767px) {
  .JS #Search dl {
    width: inherit;
    max-width: 290px; } }
@media screen and (max-width: 994px) {
  .JS #Contents {
    padding-right: 0;
    padding-left: 0; } }
@media screen and (max-width: 767px) {
  .JS #PageTopBottom {
    font-size: 78%; } }
#Footer {
  font-size: 99.84%; }

/*common.cssの無効*/
h2 span {
  display: inline;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  background-color: inherit; }

sup {
  font-size: .6em;
  vertical-align: 0.6em; }

/*----------------------------------
  Base
  リセット、要素のデフォルトスタイル
 ----------------------------------*/
div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  line-height: inherit; }

article, aside, details, figcaption, figure,
footer, header, menu, nav, section, main {
  display: block; }

body {
  line-height: 1.6;
  background-color: #fff; }

img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast; }

.hs-contents *,
.hs-contents *::before,
.hs-contents *::after {
  box-sizing: border-box; }

/*----------------------------------
  Layout
  グリッドレイアウトなどのレイアウト用のスタイル
 ----------------------------------*/
.hs-contents {
  padding-top: 0.625rem;
  padding-bottom: 2.5rem; }
  @media screen and (max-width: 767px) {
    .JS .hs-contents {
      padding-top: 0.9375rem;
      padding-bottom: 1.5625rem; } }

.hs-container {
  width: 100%;
  max-width: 995px;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  box-sizing: border-box; }
  .hs-container.Wide {
    width: auto;
    max-width: 1275px;
    min-width: 290px;
    padding-bottom: 0.9375rem; }

/*ワイドレイアウト用*/
@media screen and (min-width: 995px) and (max-width: 1304px) {
  .hs-container.Wide {
    padding-left: 0;
    padding-right: 0; } }
/*
 * グリッドシステム
 */
.hs-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.9375rem;
  margin-left: -0.9375rem;
  box-sizing: border-box; }
  .hs-row.no-gutters {
    margin-right: 0;
    margin-left: 0; }
  .hs-row.small-gutters {
    margin-right: -0.3125rem;
    margin-left: -0.3125rem; }

.hs-col, .hs-col-1, .hs-col-lg-1, .hs-col-md-1, .hs-col-sm-1, .hs-col-xs-1, .hs-col-2, .hs-col-lg-2, .hs-col-md-2, .hs-col-sm-2, .hs-col-xs-2, .hs-col-3, .hs-col-lg-3, .hs-col-md-3, .hs-col-sm-3, .hs-col-xs-3, .hs-col-4, .hs-col-lg-4, .hs-col-md-4, .hs-col-sm-4, .hs-col-xs-4, .hs-col-5, .hs-col-lg-5, .hs-col-md-5, .hs-col-sm-5, .hs-col-xs-5, .hs-col-6, .hs-col-lg-6, .hs-col-md-6, .hs-col-sm-6, .hs-col-xs-6, .hs-col-7, .hs-col-lg-7, .hs-col-md-7, .hs-col-sm-7, .hs-col-xs-7, .hs-col-8, .hs-col-lg-8, .hs-col-md-8, .hs-col-sm-8, .hs-col-xs-8, .hs-col-9, .hs-col-lg-9, .hs-col-md-9, .hs-col-sm-9, .hs-col-xs-9, .hs-col-10, .hs-col-lg-10, .hs-col-md-10, .hs-col-sm-10, .hs-col-xs-10, .hs-col-11, .hs-col-lg-11, .hs-col-md-11, .hs-col-sm-11, .hs-col-xs-11, .hs-col-12, .hs-col-lg-12, .hs-col-md-12, .hs-col-sm-12, .hs-col-xs-12 {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  box-sizing: border-box; }

.hs-col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%; }

.hs-col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%; }

.hs-col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%; }

.hs-col-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.hs-col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%; }

.hs-col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%; }

.hs-col-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.hs-col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%; }

.hs-col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%; }

.hs-col-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.hs-col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%; }

.hs-col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%; }

.hs-col-12 {
  flex: 0 0 100%;
  max-width: 100%; }

@media screen and (max-width: 994px) {
  .JS .hs-col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }

  .JS .hs-col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%; }

  .JS .hs-col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%; }

  .JS .hs-col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }

  .JS .hs-col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; }

  .JS .hs-col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%; }

  .JS .hs-col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }

  .JS .hs-col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%; }

  .JS .hs-col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%; }

  .JS .hs-col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }

  .JS .hs-col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%; }

  .JS .hs-col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%; }

  .JS .hs-col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; } }
@media screen and (max-width: 767px) {
  .JS .hs-col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }

  .JS .hs-col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%; }

  .JS .hs-col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%; }

  .JS .hs-col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }

  .JS .hs-col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; }

  .JS .hs-col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%; }

  .JS .hs-col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }

  .JS .hs-col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%; }

  .JS .hs-col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%; }

  .JS .hs-col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }

  .JS .hs-col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%; }

  .JS .hs-col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%; }

  .JS .hs-col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; } }
@media screen and (max-width: 579px) {
  .JS .hs-col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }

  .JS .hs-col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%; }

  .JS .hs-col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%; }

  .JS .hs-col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }

  .JS .hs-col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; }

  .JS .hs-col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%; }

  .JS .hs-col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }

  .JS .hs-col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%; }

  .JS .hs-col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%; }

  .JS .hs-col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }

  .JS .hs-col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%; }

  .JS .hs-col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%; }

  .JS .hs-col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; } }
@media screen and (max-width: 399px) {
  .JS .hs-col-xs {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }

  .JS .hs-col-xs-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%; }

  .JS .hs-col-xs-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%; }

  .JS .hs-col-xs-3 {
    flex: 0 0 25%;
    max-width: 25%; }

  .JS .hs-col-xs-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; }

  .JS .hs-col-xs-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%; }

  .JS .hs-col-xs-6 {
    flex: 0 0 50%;
    max-width: 50%; }

  .JS .hs-col-xs-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%; }

  .JS .hs-col-xs-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%; }

  .JS .hs-col-xs-9 {
    flex: 0 0 75%;
    max-width: 75%; }

  .JS .hs-col-xs-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%; }

  .JS .hs-col-xs-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%; }

  .JS .hs-col-xs-12 {
    flex: 0 0 100%;
    max-width: 100%; } }
.hs-row--no-gutters {
  margin-right: 0;
  margin-left: 0; }
  .hs-row--no-gutters [class*="hs-col"] {
    padding-right: 0;
    padding-left: 0; }

.hs-row--small-gutters {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  .hs-row--small-gutters [class*="hs-col"] {
    padding-right: 0.3125rem;
    padding-left: 0.3125rem; }

/*
 * flexboxによるレイアウト
 */
.hs-flex {
  display: flex;
  flex-wrap: wrap;
  /*業種業務で探す*/ }
  .hs-flex__item {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .hs-flex--businessSearch {
    margin-right: -0.3125rem; }
    .hs-flex--businessSearch .hs-flex__item {
      flex: 0 0 16.6666666667%;
      max-width: 16.6666666667%;
      padding-right: 0.3125rem;
      padding-bottom: 0.3125rem; }
      .hs-flex--businessSearch .hs-flex__item .hs-btn {
        width: 100%; }
    .hs-flex--businessSearch:last-child {
      margin-bottom: -0.3125rem; }
  .hs-flex--solution {
    margin-right: -0.4375rem;
    margin-bottom: -0.4375rem; }
    .hs-flex--solution .hs-flex__item {
      display: flex;
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.4375rem;
      padding-bottom: 0.4375rem; }
  .hs-flex--checks {
    margin-right: -0.1875rem; }
    .hs-flex--checks .hs-flex__item {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.1875rem; }
  .hs-flex--products {
    /*商品一覧*/
    margin-right: -1.25rem;
    margin-bottom: -1.25rem; }
    .hs-flex--products .hs-flex__item {
      flex-grow: 0;
      flex-shrink: 0;
      flex-basis: calc(50% - 1.25rem);
      max-width: calc(50% - 1.25rem);
      margin-right: 1.25rem;
      margin-bottom: 1.25rem;
      border-bottom: 1px dotted #999;
      /*アニメーション*/
      transition: opacity 4s,visibility 1s ease 0.6s;
      opacity: 1;
      visibility: visible; }
  .hs-flex--achivement {
    margin-right: -2.8125rem; }
    .hs-flex--achivement .hs-flex__item {
      flex: 0 0 33.3333333333%;
      max-width: 33.3333333333%;
      padding-right: 2.8125rem; }
  .hs-flex--oss {
    margin-right: -0.9375rem;
    margin-bottom: -0.9375rem; }
    .hs-flex--oss .hs-flex__item {
      display: flex;
      flex: 0 0 33.3333333333%;
      max-width: 33.3333333333%;
      padding-right: 0.9375rem;
      padding-bottom: 0.9375rem; }

@media screen and (max-width: 994px) {
  .JS .hs-flex--businessSearch .hs-flex__item {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; } }
@media screen and (max-width: 767px) {
  .JS .hs-flex--businessSearch .hs-flex__item {
    position: relative;
    flex: 0 0 50%;
    max-width: 50%; }
  .JS .hs-flex--businessSearch .hs-flex__item::after {
    position: absolute;
    top: 1.4rem;
    right: 1rem;
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-color: transparent transparent transparent #ff0026; }
  .JS .hs-flex--solution .hs-flex__item {
    flex: 0 0 50%;
    max-width: 50%; }
  .JS .hs-flex--checks .hs-flex__item {
    flex: 0 0 100%;
    max-width: 100%;
    padding-bottom: 0.9375rem; }
    .JS .hs-flex--checks .hs-flex__item:last-child {
      padding-bottom: 0; }
  .JS .hs-flex--products {
    margin-right: 0; }
    .JS .hs-flex--products .hs-flex__item {
      flex-basis: 100%;
      max-width: 100%;
      margin-bottom: 0.9375rem; }
      .JS .hs-flex--products .hs-flex__item:nth-child(2n+1):nth-last-child(-n+2), .JS .hs-flex--products .hs-flex__item:nth-child(2n+1):nth-last-child(-n+2) ~ li {
        margin-bottom: 0.9375rem; }
      .JS .hs-flex--products .hs-flex__item:last-child {
        margin-bottom: 0; }
  .JS .hs-flex--achivement .hs-flex__item {
    flex: 0 0 100%;
    max-width: 100%;
    padding-bottom: 2.125rem; }
    .JS .hs-flex--achivement .hs-flex__item:last-child {
      padding-bottom: 0; }
  .JS .hs-flex--oss .hs-flex__item {
    flex: 0 0 50%;
    max-width: 50%; } }
@media screen and (max-width: 579px) {
  .JS .hs-flex--businessSearch .hs-flex__item {
    flex: 0 0 50%;
    max-width: 100%; }
  .JS .hs-flex:last-child {
    margin-bottom: -0.75rem; }
  .JS .hs-flex--solution .hs-flex__item {
    flex: 0 0 100%;
    max-width: 100%; }
  .JS .hs-flex--oss .hs-flex__item {
    flex: 0 0 100%;
    max-width: 100%; } }
/*----------------------------------
  Module
  再利用可能なパーツのスタイル
 ----------------------------------*/
/*
 * ページ見出し
 */
.hs-headline {
  padding-top: 0.375rem;
  padding-bottom: 0.5625rem;
  background-color: #fff; }
  .hs-headline__title, .hs-headline__text {
    display: inline-block;
    font-size: 71.76%;
    color: #7e7e7e; }
  .hs-headline.Wide {
    /*ワイドレイアウト用*/
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }

@media screen and (max-width: 767px) {
  .JS .hs-headline {
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem; }
    .JS .hs-headline__text {
      display: none; } }
/*
 * ぱんくずリスト
 */
.hs-breadcrumb {
  font-size: 0;
  background-color: #fff; }
  .hs-breadcrumb__item {
    display: inline;
    white-space: nowrap;
    font-size: .7176rem; }
    .hs-breadcrumb__item span {
      margin-left: 0.4375rem;
      margin-right: 0.4375rem; }
    .hs-breadcrumb__item strong {
      font-weight: normal; }
    .hs-breadcrumb__item > a {
      color: #08427c; }
      .hs-breadcrumb__item > a:link {
        color: #08427c;
        text-decoration: underline; }
      .hs-breadcrumb__item > a:visited {
        color: #551a8b;
        text-decoration: underline; }
      .hs-breadcrumb__item > a:hover {
        color: #0078fe;
        text-decoration: none; }
  .hs-breadcrumb.Wide {
    /*ワイドレイアウト用*/
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }

@media screen and (max-width: 767px) {
  .JS .hs-breadcrumb {
    line-height: 1.59;
    white-space: nowrap;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch; }
    .JS .hs-breadcrumb__item {
      font-size: 0.6875rem; }
      .JS .hs-breadcrumb__item span {
        color: #bebebe; }
    .JS .hs-breadcrumb.Wide {
      /*ワイドレイアウト用*/
      overflow-x: auto; } }
/*
 * メインヘッダー
 */
/* INDEX */
.hs-main-header-index {
  margin-bottom: 1.875rem; }
  .hs-main-header-index__body {
    padding: 1.625rem 1.25rem 1.5rem;
    background: #dc0c35 url("/res/image/products/bg_title_index.png") no-repeat right center;
    background-size: cover; }
  .hs-main-header-index__title {
    padding: 0;
    margin: 0;
    line-height: 1.2;
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    background: none; }

@media screen and (max-width: 767px) {
  .JS .hs-main-header-index {
    margin-bottom: 0.9375rem; }
    .JS .hs-main-header-index__body {
      padding: 0.9375rem 1.125rem; }
    .JS .hs-main-header-index__title {
      margin: 0;
      font-size: 1.125rem; } }
/* 第２階層 */
.hs-main-header-sub {
  position: relative;
  margin-bottom: 1.875rem; }
  .hs-main-header-sub__body {
    padding: 1.625rem 20rem 1.25rem 1.5rem;
    background-image: url("/res/image/products/bg_title02.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-color: #e0f0f8;
    background-size: cover; }
  .hs-main-header-sub__category {
    margin-bottom: .5em;
    line-height: 1.2;
    font-size: 0.9375rem;
    color: #000; }
  .hs-main-header-sub__title {
    padding: 0;
    margin: 0;
    line-height: 1.2;
    font-size: 1.25rem;
    font-weight: bold;
    color: #000;
    background: none; }
  .hs-main-header-sub__btn {
    position: absolute;
    right: 1.125rem;
    bottom: 1rem; }
  .hs-main-header-sub--industry .hs-main-header-sub__body {
    background-image: url("/res/image/products/bg_title03.png");
    background-color: #e3f4e4; }
  .hs-main-header-sub--mostRecommend .hs-main-header-sub__body {
    background-image: url("/res/image/products/bg_title04.png");
    background-color: #feeada; }

@media screen and (max-width: 767px) {
  .JS .hs-main-header-sub {
    margin-bottom: 1.5625rem; }
    .JS .hs-main-header-sub__body {
      padding: 0.9375rem 1.125rem;
      margin-bottom: 1.5625rem; }
    .JS .hs-main-header-sub__title {
      margin: 0;
      font-size: 1.125rem; }
    .JS .hs-main-header-sub__btn {
      position: static; } }
/*
 * コンテナー
 */
.hs-content {
  margin-bottom: 3.125rem; }
  .hs-content > *:last-child {
    margin-bottom: 0; }
  .hs-content--head {
    padding-top: 0; }
  .hs-content .hs-content {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem; }

.hs-doc-download {
  margin-top: 2.5rem; }

@media screen and (max-width: 994px) {
  .JS .hs-doc-download {
    margin-top: 1.5625rem; } }
.hs-return-link {
  margin-bottom: 3.125rem; }

@media screen and (max-width: 767px) {
  .JS .hs-return-link {
    margin-bottom: 1.875rem; } }
/*
 * 見出し
 */
.hs-title {
  padding: 0;
  margin: 1em 0 .5em;
  line-height: 1.3333333333;
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  background: none; }

@media screen and (max-width: 767px) {
  .JS .hs-title {
    font-size: 1.0625rem; } }
.hs-content-title {
  padding: 0 0 .5em;
  margin: 0 0 1em;
  line-height: 1.2;
  font-size: 1.25rem;
  font-weight: bold;
  color: #333;
  border-bottom-width: 0.25rem;
  border-bottom-style: solid;
  border-bottom-color: #dc0c35;
  background: none; }

@media screen and (max-width: 767px) {
  .JS .hs-content-title {
    margin: 0 0 1em;
    font-size: 1.3125rem;
    border-bottom-width: 0.125rem; } }
.hs-solution-header {
  margin-bottom: 1.25rem;
  text-align: center; }
  .hs-solution-header__text {
    margin-bottom: .5em;
    font-size: 0.875rem; }
  .hs-solution-header__title {
    padding: 0;
    margin: 0;
    line-height: 1;
    font-weight: bold;
    color: #333;
    background: none; }
    .hs-solution-header__title__icon {
      display: inline-block;
      padding: .4em 2em .3em;
      margin-right: 0.8125rem;
      line-height: 1;
      font-size: 1.125rem;
      font-weight: inherit;
      color: #fff;
      background-color: #dc0c35;
      border-radius: 1rem; }
    .hs-solution-header__title__text {
      display: inline-block;
      padding: 0;
      line-height: 1;
      font-weight: inherit;
      color: inherit;
      background-color: inherit;
      font-size: 1.5rem;
      vertical-align: text-bottom; }

@media screen and (max-width: 767px) {
  .JS .hs-solution-header {
    margin-bottom: 1.125rem; }
    .JS .hs-solution-header__text {
      font-size: 0.9375rem; }
    .JS .hs-solution-header__title {
      margin: 0;
      font-size: 1.3125rem; }
      .JS .hs-solution-header__title__icon {
        margin-right: 0;
        margin-bottom: 1em;
        font-size: 0.875rem; }
      .JS .hs-solution-header__title__text {
        display: block;
        font-size: 1.3125rem; } }
/*
 * テキスト
 */
.hs-page-lead {
  margin-bottom: 3.125rem;
  line-height: 1.7142857143;
  font-size: 1rem; }

.hs-content-desc {
  margin-bottom: 2.5rem;
  line-height: 1.7142857143;
  font-size: 0.875rem; }

@media screen and (max-width: 767px) {
  .JS .hs-content-desc {
    margin-bottom: 1.5625rem;
    font-size: 1rem; } }
.hs-text-achivement {
  line-height: 1.7142857143;
  font-size: 0.875rem; }

@media screen and (max-width: 767px) {
  .JS .hs-text-achivement {
    font-size: 1rem; } }
/*
 * リスト
 */
/* チェックマーク付きリスト */
.hs-check-list__item {
  padding-left: 1.75rem;
  margin-bottom: .8em;
  line-height: 1.4666666667;
  font-size: 0.9375rem;
  font-weight: bold;
  background-image: url("/res/image/products/icon_check01.png");
  background-repeat: no-repeat;
  background-position: left .2rem;
  background-size: 1rem auto; }
  .hs-check-list__item:last-child {
    margin-bottom: 0; }
.hs-check-list--color01 .hs-check-list__item {
  background-image: url("/res/image/products/icon_check02.png"); }

/*
 * フォーム
 */
.hs-search {
  position: relative;
  width: 100%; }
  .hs-search__input {
    width: calc(100% - 3.375rem);
    height: 3.375rem;
    padding: .5em 2em;
    font-size: 1rem;
    color: #333;
    background-color: #fff;
    border: 0;
    border-radius: 0;
    border-top-width: 0.0625rem;
    border-bottom-width: 0.0625rem;
    border-left-width: 0.0625rem;
    border-style: solid;
    border-color: #dde2ed;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    -webkit-appearance: none; }
    .hs-search__input::placeholder {
      font-size: 0.9375rem;
      color: #999; }
  .hs-search__btn {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    width: 3.375rem;
    height: 100%;
    padding: 0;
    background: #676767 url("/res/image/products/icon_search.png") no-repeat center center;
    background-size: 1.0625rem;
    border: 0;
    border-top-right-radius: 0.1875rem;
    border-bottom-right-radius: 0.1875rem;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    cursor: pointer;
    -webkit-appearance: none; }
  @media screen and (max-width: 767px) {
    .hs-search__input {
      padding-left: 1em; }
      .hs-search__input::placeholder {
        font-size: 0.75rem; } }

/* グローバルナビ内検索窓 */
.hs-site-search {
  padding-bottom: 0.3125rem; }
  #GlobalNaviTop .hs-site-search {
    float: right; }
  .hs-site-search__textfield {
    width: 12em;
    height: 1.125rem;
    padding: 0.25rem;
    margin: 0 0 0 0.9375rem;
    line-height: normal;
    vertical-align: top;
    border: 0;
    border-radius: 0; }
  .hs-site-search__btn {
    font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
    height: 1.625rem;
    padding: 0 0.625rem;
    line-height: normal;
    vertical-align: top;
    color: #333;
    background-color: #ccc;
    border: none;
    border-radius: 0;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }

@media screen and (max-width: 767px) {
  .hs-site-search {
    padding: 0.75rem 0.9375rem;
    border-top: 0.0625rem solid #444; }
    .hs-site-search__inner {
      display: flex;
      width: 100%; }
    .hs-site-search__textfield {
      box-sizing: border-box;
      width: 75%;
      height: 2.1875rem;
      margin: 0; }
    .hs-site-search__btn {
      width: 25%;
      height: 2.1875rem;
      margin: 0; } }
/*
 * ボタン
 */
/* ボーダー付ボタン */
.hs-btn {
  display: inline-block;
  padding: .75em 1.5em;
  margin-bottom: 1rem;
  font-size: 0.8125rem;
  color: #333;
  background-color: #fff;
  border: 0.0625rem solid #ccc;
  border-radius: 0.125rem;
  text-decoration: none;
  cursor: pointer;
  transition: opacity ease .2s; }
  .hs-btn:link, .hs-btn:visited {
    color: #333;
    text-decoration: none; }
  .hs-btn:hover {
    color: #333;
    opacity: .7;
    text-decoration: none; }
  .hs-btn--arrow {
    padding: 0.75em 1.5em 0.75em calc(.75em + 0.9375rem);
    position: relative; }
    .hs-btn--arrow:before {
      position: absolute;
      top: 1.05em;
      left: 1em;
      display: block;
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 5px 0 5px 5px;
      border-color: transparent transparent transparent #dc002a; }
  .hs-btn--management {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_management.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--sales {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_sales.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--marketing {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_marketing.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--productionControl {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_productionControl.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--resourcesAffairs {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_resourcesAffairs.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--financial {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_financial.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--manufacture {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_manufacture.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--distribution {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_distribution.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--communication {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_communication.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--medical {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_medical.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--construction {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_construction.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }
  .hs-btn--common {
    padding: 1em 0.76em 1em calc(.76em + 1.875rem);
    background-image: url("-/media/Project/DefaultSite/Products/SolutionProducts/icon_common.png");
    background-repeat: no-repeat;
    background-position: .76em center;
    background-size: 1.25rem auto; }

@media screen and (max-width: 767px) {
  .JS .hs-btn {
    margin-bottom: 0; } }
/* 塗りつぶしボタン */
.hs-btn-fill {
  display: inline-block;
  width: 100%;
  padding: .75em 1em .65em;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: bold;
  background-color: #f7f7f7;
  text-decoration: none;
  cursor: pointer;
  transition: background-color ease .2s; }
  .hs-btn-fill:link {
    color: #333;
    text-decoration: none; }
  .hs-btn-fill:visited {
    color: #333;
    text-decoration: none; }
  .hs-btn-fill:hover {
    color: #333;
    background-color: rgba(247, 247, 247, 0.7);
    text-decoration: none; }
  .hs-btn-fill > span {
    position: relative;
    display: inline-block;
    padding-right: 1.75rem; }
    .hs-btn-fill > span::after {
      position: absolute;
      top: 50%;
      right: 0;
      display: block;
      content: "";
      width: 0.4375rem;
      height: 0.4375rem;
      border-top-width: 0.125rem;
      border-top-style: solid;
      border-right-width: 0.125rem;
      border-right-style: solid;
      border-color: #333;
      transform: translateY(-50%) rotate(45deg); }
  .hs-btn-fill--pdf {
    color: #fff;
    background-color: #676767;
    border: 1px solid #ccc; }
    .hs-btn-fill--pdf:link, .hs-btn-fill--pdf:visited {
      color: #fff;
      text-decoration: none; }
    .hs-btn-fill--pdf:hover {
      color: #fff;
      background-color: rgba(103, 103, 103, 0.7);
      text-decoration: none; }
    .hs-btn-fill--pdf > span {
      padding-right: 1.4375rem;
      background: url("/res/image/products/icon_pdf.png") no-repeat right center;
      background-size: 1rem auto; }
      .hs-btn-fill--pdf > span::after {
        content: none; }

.hs-btn-column {
  display: inline-block;
  width: 100%;
  padding: .2em 1.5em;
  font-size: 0.8125rem;
  font-weight: bold;
  color: #0066b5;
  background-color: rgba(255, 255, 255, 0.8);
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #0066b5;
  text-decoration: none;
  cursor: pointer;
  transition: opacity ease .2s; }
  .hs-btn-column:link, .hs-btn-column:visited {
    color: #0066b5;
    text-decoration: none; }
  .hs-btn-column:hover {
    color: #0066b5;
    opacity: .9;
    text-decoration: none; }
  .hs-btn-column > span {
    padding-left: 1.5625rem;
    background-image: url("/res/image/products/icon_extLink01.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 0.9375rem auto; }
  .hs-btn-column--industry {
    color: #007832;
    border-color: #007832; }
    .hs-btn-column--industry:link, .hs-btn-column--industry:visited {
      color: #007832; }
    .hs-btn-column--industry:hover {
      color: #007832; }
    .hs-btn-column--industry > span {
      background-image: url("/res/image/products/icon_extLink02.png"); }
  .hs-btn-column--mostRecommend {
    color: #e77b11;
    border-color: #e77b11; }
    .hs-btn-column--mostRecommend:link, .hs-btn-column--mostRecommend:visited {
      color: #e77b11; }
    .hs-btn-column--mostRecommend:hover {
      color: #e77b11; }
    .hs-btn-column--mostRecommend > span {
      background-image: url("/res/image/products/icon_extLink03.png"); }

@media screen and (max-width: 767px) {
  .JS .hs-btn-column {
    padding: 0;
    text-align: right;
    font-size: 1rem;
    border: 0; } }
@media screen and (max-width: 399px) {
  .JS .hs-btn-column {
    font-size: 0.9375rem; } }
.hs-btn-contact {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 6.875rem;
  padding: 0.75em 1em 0.65em;
  text-align: center;
  line-height: 1.4444444444;
  font-size: 1.125rem;
  font-weight: bold;
  color: #fff;
  background-color: #dc0c35;
  text-decoration: none;
  cursor: pointer;
  transition: opacity ease .2s; }
  .hs-btn-contact:link, .hs-btn-contact:visited {
    color: #fff;
    text-decoration: none; }
  .hs-btn-contact:hover {
    color: #fff;
    opacity: .7;
    text-decoration: none; }
  .hs-btn-contact::after {
    position: absolute;
    top: 50%;
    right: 6%;
    display: block;
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-top: 0.125rem solid #fff;
    border-right: 0.125rem solid #fff;
    transform: translateY(-50%) rotate(45deg); }

@media screen and (max-width: 767px) {
  .hs-btn-contact {
    margin-bottom: 1.25rem;
    min-height: 4.6875rem;
    font-size: 1rem; } }
.hs-btn-tel {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 6.875rem;
  padding: .75em 1em .65em;
  text-align: center;
  color: #333;
  background-color: #fff;
  border: 0.0625rem solid #ccc;
  text-decoration: none; }
  .hs-btn-tel:link, .hs-btn-tel:visited {
    color: #333;
    text-decoration: none; }
  .hs-btn-tel:hover {
    color: #333;
    text-decoration: none; }
  .hs-btn-tel__no {
    display: block;
    margin-bottom: 0.1em;
    line-height: 1.0833333333;
    font-size: 1.625rem;
    font-weight: bold; }
    .hs-btn-tel__no > span {
      display: inline-block;
      padding-left: 2.8125rem;
      background-image: url("/res/image/products/icon_freedial.png");
      background-repeat: no-repeat;
      background-position: left 0.125rem;
      background-size: 1.875rem; }
  .hs-btn-tel__text {
    display: block;
    font-size: 0.8125rem; }

@media screen and (max-width: 767px) {
  .hs-btn-tel {
    min-height: 4.6875rem; }
    .hs-btn-tel__no {
      font-size: 1.1875rem; }
      .hs-btn-tel__no > span {
        padding-left: 1.875rem;
        background-size: 1.375rem; } }
/*JS 枠100％ さらに表示*/
.js-btn--toggle {
  position: relative;
  width: 100%;
  display: block;
  padding: 1rem .5rem 1rem 1.6rem;
  margin-top: 1rem;
  margin-bottom: .5rem !important;
  background-color: #f2f2f2;
  border: 1px solid #ddd;
  border-radius: .3em;
  cursor: pointer;
  outline: none;
  text-align: center;
  color: #666; }
  .js-btn--toggle::before {
    position: absolute;
    top: -.15rem;
    bottom: 0;
    left: calc(50% - 7em);
    margin: auto 0;
    display: block;
    content: "";
    width: .5rem;
    height: .5rem;
    border-style: solid;
    border-width: 0 0 2px 2px;
    border-color: transparent transparent #666 #666;
    transform: rotate(-45deg);
    transform-origin: center; }
  .js-btn--toggle:hover {
    background: #ccc;
    transition: opacity .5s, ease .3s;
    opacity: .8; }

.js-btn--toggleOff::before {
  left: calc(50% - 5em);
  transform: rotate(135deg); }

/*
 * Box
 */
.hs-box {
  padding: 1.25rem;
  margin-bottom: 1rem;
  background-color: #f2f5fa; }
  .hs-box__col-left, .hs-box__col-right {
    flex: 0 0 50%;
    max-width: 50%; }
  .hs-box__col-left {
    border-right: 0.0625rem solid #ced4df; }
  .hs-box--pad-large {
    padding: 1rem 5rem 2rem 5rem; }
  .hs-box--achivement {
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    .hs-box--achivement .hs-box__col-left {
      flex: 0 0 62%;
      max-width: 62%;
      padding-left: 1.875rem;
      padding-right: 3.125rem;
      border-right: 0.0625rem solid #ced4df; }
    .hs-box--achivement .hs-box__col-right {
      flex-basis: 0;
      flex-grow: 1;
      max-width: 100%;
      padding-left: 1.875rem;
      padding-right: 1.875rem; }

@media screen and (max-width: 767px) {
  .JS .hs-box {
    padding: 0 0 1rem 0;
    background: none; }
    .JS .hs-box--achivement {
      display: flex;
      align-items: center; }
      .JS .hs-box--achivement .hs-box__col-left {
        flex: 0 0 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 1.25rem;
        border-right: 0;
        border-bottom: 0.0625rem solid #ced4df; }
      .JS .hs-box--achivement .hs-box__col-right {
        flex-basis: 100%;
        max-width: 100%;
        padding-top: 1.0625rem;
        padding-left: 0;
        padding-right: 0; } }
.hs-border-box {
  padding: 2rem 3rem;
  border: 0.125rem solid #eba2b1; }

@media screen and (max-width: 767px) {
  .JS .hs-border-box {
    padding: 1.25rem 1.4375rem; } }
.hs-feature-box {
  position: relative;
  margin-top: 3.75rem; }
  .hs-feature-box::before {
    position: absolute;
    top: -2.625rem;
    left: 50%;
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 23px 28.5px 0 28.5px;
    border-color: #eba2b1 transparent transparent transparent;
    transform: translateX(-50%); }

/*
 * カード型UI（最近見た商品一覧）
 */
.hs-card {
  display: block;
  width: 100%;
  color: #333;
  background-color: transparent;
  text-decoration: none;
  transition: opacity ease .2s; }
  .hs-card:link, .hs-card:visited {
    color: #333;
    text-decoration: none; }
  .hs-card:hover {
    color: #333;
    opacity: .7;
    text-decoration: none; }
  .hs-card__thumb {
    text-align: center; }
    .hs-card__thumb img {
      width: 100%;
      border: 1px solid #ddd; }
  .hs-card__content {
    padding-top: 0.875rem;
    overflow: hidden;
    word-break: break-all; }
  .hs-card__title {
    line-height: 1.5384615385;
    font-size: 0.8125rem; }

/*
 * イチオシソリューション
 */
@keyframes shiny {
  0% {
    left: -20%; }
  10% {
    left: 130%; }
  100% {
    left: 130%; } }
.hs-solution {
  position: relative;
  margin-bottom: 3rem;
  padding: 1rem;
  background-color: transparent; }
  .hs-solution--pink {
    background: #f4bdc8 url(/-/media/Project/DefaultSite/Products/recommendedsolution/img_solution01) no-repeat right bottom/25% auto; }
  .hs-solution--orange {
    background: #f4b98e url(/-/media/Project/DefaultSite/Products/recommendedsolution/img_solution02) no-repeat right bottom/25% auto; }
  .hs-solution--yellow {
    background: #fde58c url(/-/media/Project/DefaultSite/Products/recommendedsolution/img_solution03) no-repeat right bottom/25% auto; }
  .hs-solution--purple {
    background: #d8b4d2 url(/-/media/Project/DefaultSite/Products/recommendedsolution/img_solution04) no-repeat right bottom/25% auto; }
  .hs-solution--green {
    background: #b3d7a4 url(/-/media/Project/DefaultSite/Products/recommendedsolution/img_solution05) no-repeat right bottom/25% auto; }
  .hs-solution--sky {
    background: #c7e7f8 url(/-/media/Project/DefaultSite/Products/recommendedsolution/img_solution06) no-repeat right bottom/25% auto; }
  .hs-solution--blue {
    background: #bbd1eb url(/-/media/Project/DefaultSite/Products/recommendedsolution/img_solution07) no-repeat right bottom/25% auto; }
  .hs-solution__title {
    line-height: 1.5;
    font-size: 1.2rem;
    font-weight: bold;
    padding: 0 0 1rem 0; }
  .hs-solution__point {
    background: #dc0c35;
    display: inline-block;
    font-size: .6rem;
    color: #fff;
    padding: .1rem .5rem;
    border-radius: .2rem;
    margin-bottom: .5em; }
  .hs-solution__read {
    font-size: .9rem; }
  .hs-solution__bnr {
    position: relative;
    margin: 1rem 0;
    margin-right: 25%;
    background-size: cover;
    overflow: hidden; }
    .hs-solution__bnr:hover::after {
      content: '';
      position: absolute;
      top: -17%;
      left: -20%;
      width: 60px;
      height: 100%;
      transform: scale(2) rotate(33deg);
      background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
      animation-name: shiny;
      animation-duration: 4s;
      animation-timing-function: ease-in-out;
      animation-iteration-count: infinite; }
    .hs-solution__bnr__link {
      position: relative;
      display: flex;
      align-items: center;
      margin: 5px;
      padding: 1rem 2rem 1rem 1rem;
      min-height: 115px;
      line-height: 1.2;
      border-radius: .4rem;
      background-size: cover;
      background-position: center;
      box-shadow: 1px 1px 5px #333, -1px -1px 5px #fff;
      transition: all 0.2s ease-in-out;
      font-weight: 700;
      text-decoration: none !important; }
      .hs-solution__bnr__link:hover {
        box-shadow: 1px 1px 1px #444, -1px -1px 1px #eee; }
      .hs-solution__bnr__link::after {
        position: absolute;
        content: "";
        display: block;
        width: 1rem;
        height: 1rem;
        top: 0;
        bottom: 0;
        right: 1rem;
        margin: auto 0;
        border: solid #fff 3px;
        border-left: none;
        border-top: none;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg); }
      .hs-solution__bnr__link--img {
        /*イメージを利用する時*/
        padding: 0;
        min-height: auto;
        background: none; }
        .hs-solution__bnr__link--img::after {
          display: none; }
      .hs-solution__bnr__link__title {
        font-size: 1.2rem;
        margin-bottom: 0;
        color: #333; }
      .hs-solution__bnr__link__sub {
        display: block;
        padding: 0 0 .5rem 0;
        font-size: .875rem;
        font-weight: normal; }
  .hs-solution .hs-list-button {
    /*リンクボタン*/
    padding-right: 25%; }

@media screen and (max-width: 767px) {
  .hs-solution__bnr {
    margin-right: 0; } }
@media screen and (max-width: 579px) {
  .hs-solution {
    background-image: 40%; }
    .hs-solution .hs-list-button {
      padding-right: 0; } }
/*
 * スクロール カード型UI
 */
.hs-card-case {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  color: #fff;
  background-color: #505050; }
  .hs-card-case:link, .hs-card-case:visited {
    color: #fff;
    text-decoration: none; }
  .hs-card-case:hover {
    color: #fff;
    opacity: .9;
    text-decoration: none; }
    .hs-card-case:hover:after {
      /*はみ出る文言のマスク*/
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #505050, #505050); }
  .hs-card-case:after {
    /*はみ出る文言のマスク*/
    content: "";
    display: block;
    position: absolute;
    left: 1px;
    bottom: -1px;
    width: calc(100% - 2px);
    height: 1.8rem;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #505050, #505050); }
  .hs-card-case__thumb {
    /*サムネール*/
    overflow: hidden;
    height: 140px;
    vertical-align: middle;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    text-align: center; }
    .hs-card-case__thumb img {
      width: 100%;
      max-width: 100%; }
  .hs-card-case__content {
    /*文言枠*/
    padding: 0.9375rem 1.25rem;
    height: 190px; }
  .hs-card-case__title {
    margin-bottom: 1em;
    line-height: 1.6923076923;
    font-size: 0.8125rem;
    font-weight: bold;
    /*ellipsis*/
    position: relative;
    overflow: hidden;
    height: 5em;
    /*ellipsis end*/ }
    .hs-card-case__title:after {
      content: "";
      position: absolute;
      height: 100%;
      width: 100%;
      background: #505050; }
    .hs-card-case__title:before {
      content: "…";
      position: absolute;
      padding-left: 1.4em;
      top: 3.5em;
      right: 0;
      width: 3em;
      height: 1.6em;
      background: linear-gradient(to right, rgba(0, 0, 0, 0), #505050, #505050); }
  .hs-card-case__company {
    margin-bottom: .5em;
    line-height: 1.6923076923;
    font-size: 0.8125rem;
    font-weight: bold; }
  .hs-card-case__text {
    margin-bottom: 0;
    line-height: 1.6666666667;
    font-size: 0.75rem; }

/*
 * パネル型UI
 */
.hs-panel {
  height: 100%;
  background-color: #f2f5fa; }
  .hs-panel__title {
    padding: .6em 1.2em .5em;
    line-height: 1.3333333333;
    font-size: 1.125rem;
    font-weight: bold;
    color: #fff;
    background-color: #69b3cf; }
  .hs-panel__content {
    padding: 1.875rem 1.75rem; }
  .hs-panel--color01 {
    background-color: #fef4f4; }
    .hs-panel--color01 .hs-panel__title {
      background-color: #dc0c35; }

@media screen and (max-width: 994px) {
  .JS .hs-panel__title {
    font-size: 1rem; } }
@media screen and (max-width: 767px) {
  .JS .hs-panel__title {
    padding: .65em .8em .5em; }
  .JS .hs-panel__content {
    padding: 1.25rem 1.125rem; } }
/*
 * リンク
 */
/* サムネイル付リンク 商品一覧 */
.hs-media-link {
  display: flex;
  align-items: flex-start;
  padding-bottom: 0.625rem;
  color: #333;
  background-color: #fff; }
  .hs-media-link:link, .hs-media-link:visited {
    color: #333;
    text-decoration: none; }
  .hs-media-link:hover {
    color: #333;
    text-decoration: underline; }
  .hs-media-link__thumb {
    flex: 0 0 17%;
    max-width: 17%;
    text-align: center; }
    .hs-media-link__thumb img {
      width: 100%;
      border: 1px solid #ddd; }
  .hs-media-link__title {
    position: relative;
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
    padding-left: 1.125rem;
    margin-left: 0.75rem;
    margin-bottom: 0.625rem;
    line-height: 1.5714285714;
    font-size: 0.875rem;
    font-weight: bold;
    /*アニメーション*/
    transition: opacity 1s,visibility 0s ease 0s;
    opacity: 1;
    visibility: visible; }
    .hs-media-link__title::before {
      position: absolute;
      top: 0.35em;
      left: 0;
      display: block;
      content: "";
      width: 0.5rem;
      height: 0.5rem;
      border-top: 0.125rem solid #dc0c35;
      border-right: 0.125rem solid #dc0c35;
      transform: rotate(45deg);
      transform-origin: center; }
  .hs-media-link__text {
    /*リード文*/
    margin-left: 0.75rem;
    font-size: .75rem;
    /*ellipsis start*/
    position: relative;
    overflow: hidden;
    max-height: 3.5rem;
    word-break: break-all;
    /*ellipsis end*/ }
    .hs-media-link__text::before {
      content: "…";
      position: absolute;
      padding-left: 2em;
      /*margin-bottom:-.3rem;
      bottom: .3rem;*/
      top: 3.2em;
      right: 0;
      width: 4em;
      height: 1.6em;
      /*max-height: 3.75rem;*/
      background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff, #fff); }
    .hs-media-link__text::after {
      content: "";
      position: absolute;
      height: 100%;
      width: 100%;
      background: #fff; }

/*非表示の初期表示*/
.hs-flex__item.s-hidden * {
  opacity: 0;
  visibility: hidden; }

@media screen and (max-width: 767px) {
  .JS .hs-media-link {
    padding-bottom: 0.9375rem; }
    .JS .hs-media-link__thumb {
      flex: 0 0 23%;
      max-width: 23%;
      text-align: center; }
      .JS .hs-media-link__thumb + .hs-media-link__title {
        margin-left: 0.75rem; }
    .JS .hs-media-link__title {
      margin-left: 0; } }
/* ページ内リンク */
.hs-inner-links {
  margin-bottom: 2.5rem; }
  .hs-inner-links__item {
    display: inline-block;
    padding-right: 3.125rem; }
    .hs-inner-links__item > a {
      position: relative;
      padding-left: 1.25rem;
      font-size: 0.9375rem;
      font-weight: bold;
      color: #333; }
      .hs-inner-links__item > a:link, .hs-inner-links__item > a:visited {
        color: #333;
        text-decoration: none; }
      .hs-inner-links__item > a:hover {
        color: #333;
        text-decoration: underline; }
      .hs-inner-links__item > a::before {
        position: absolute;
        top: 50%;
        left: 0;
        display: block;
        content: "";
        width: 0.5rem;
        height: 0.5rem;
        border-bottom: 0.125rem solid #dc0c35;
        border-right: 0.125rem solid #dc0c35;
        transform: translateY(-50%) rotate(45deg);
        transform-origin: right; }

@media screen and (max-width: 767px) {
  .JS .hs-inner-links {
    margin-bottom: 1.5625rem; } }
/*
 * コンテンツ開閉タブUI
 */
/* タブ */
.hs-toggle-tab {
  position: relative; }
  .hs-toggle-tab__item {
    padding-right: 0.1875rem; }
  .hs-toggle-tab__btn {
    position: relative;
    display: inline-block;
    width: 18.75rem;
    height: 4.375rem;
    padding-right: 3.6875rem;
    padding-left: 1.875rem;
    margin: 0;
    font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
    background-color: #ddd;
    border: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
    text-align: left;
    text-decoration: none;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none; }
    .hs-toggle-tab__btn:link, .hs-toggle-tab__btn:visited, .hs-toggle-tab__btn:hover {
      text-decoration: none; }
    .hs-toggle-tab__btn::before, .hs-toggle-tab__btn::after {
      position: absolute;
      top: 50%;
      right: 1.25rem;
      display: block;
      content: "";
      width: 1.1875rem;
      height: 0.1875rem;
      background-color: #333;
      transition: transform .2s ease;
      backface-visibility: hidden; }
    .hs-toggle-tab__btn::before {
      transform: rotate(0deg); }
    .hs-toggle-tab__btn::after {
      transform: rotate(90deg); }
    .hs-toggle-tab__btn.is-active::after {
      transform: rotate(180deg); }
    .hs-toggle-tab__btn--trend {
      border-bottom: 0;
      background: #ddd; }
      .hs-toggle-tab__btn--trend:hover {
        background-color: #fff; }
      .hs-toggle-tab__btn--trend.is-active {
        background-color: #fff;
        border-bottom: 2px solid #fff; }
    .hs-toggle-tab__btn--keyword {
      position: absolute;
      top: 0;
      left: 18.875rem;
      border-bottom: 0;
      background: #ddd; }
      .hs-toggle-tab__btn--keyword:hover {
        background-color: #fff; }
      .hs-toggle-tab__btn--keyword.is-active {
        background-color: #fff;
        border-bottom: 2px solid #fff; }
    .hs-toggle-tab__btn__title {
      display: block;
      line-height: 1.2;
      font-size: 1.25rem;
      font-weight: bold; }
  .hs-toggle-tab__text {
    display: block;
    margin-bottom: 1.25rem;
    font-size: 0.8125rem; }
  .hs-toggle-tab__content {
    display: none;
    width: 100%;
    margin-top: -1px;
    padding: 1.25rem 1.25rem 0.625rem 1.25rem;
    background-color: #fff; }
    .hs-toggle-tab__content--trend {
      display: block;
      border: 1px solid #ddd; }
    .hs-toggle-tab__content--keyword {
      border: 1px solid #ddd; }

@media screen and (max-width: 994px) {
  .JS .hs-toggle-tab__item {
    flex: 0 0 100%;
    max-width: 100%;
    height: auto; }
    .JS .hs-toggle-tab__item:not(:last-child) {
      margin-bottom: 0.9375rem; }
  .JS .hs-toggle-tab__btn {
    height: auto;
    width: 100%;
    padding: 0.75rem 2.8125rem 0.4375rem 0.9375rem; }
    .JS .hs-toggle-tab__btn::before, .JS .hs-toggle-tab__btn::after {
      width: 1rem;
      height: 0.125rem;
      right: 0.9375rem; }
    .JS .hs-toggle-tab__btn__title {
      font-size: 1.125rem; }
    .JS .hs-toggle-tab__btn__text {
      margin-top: .2em; }
    .JS .hs-toggle-tab__btn--keyword {
      position: relative;
      margin-left: 0;
      top: auto;
      left: auto; }
  .JS .hs-toggle-tab__content {
    width: 100%;
    margin-right: 0;
    margin-left: 0; } }
/* タブコンテンツ内リンク */
.hs-tab-links {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -0.0625rem;
  overflow: hidden; }
  .hs-tab-links__item a {
    padding: 0.625rem;
    min-width: 5em;
    margin-bottom: 0.625rem;
    margin-right: 0.625rem;
    display: inline-block;
    border: 1px solid #ddd;
    background-color: #fff;
    /*border-radius: 2px;*/
    border-radius: 1px;
    font-size: 0.8125rem;
    text-align: center;
    line-height: 1;
    transition: all 300ms 0s ease;
    text-decoration: none; }
    .hs-tab-links__item a:link, .hs-tab-links__item a:visited {
      color: #1e4bbe; }
    .hs-tab-links__item a:hover {
      color: #fff !important;
      background-color: #515151; }

/*
 * コンテンツ水平スクロール
 */
.hs-horizontal-scroll__list {
  margin-right: -1.25rem;
  margin-bottom: 1.25rem;
  font-size: 0; }
.hs-horizontal-scroll__item {
  display: inline-block;
  width: 16.6666666667%;
  padding-right: 1.25rem;
  padding-bottom: 1.25rem;
  vertical-align: top;
  white-space: normal; }

@media screen and (max-width: 767px) {
  .JS .hs-horizontal-scroll {
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
    overflow: hidden; }
    .JS .hs-horizontal-scroll__list {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      margin-right: -1.5625rem;
      overflow-x: auto;
      white-space: nowrap;
      -webkit-overflow-scrolling: touch; }
    .JS .hs-horizontal-scroll__item {
      width: 28%; } }
@media screen and (max-width: 399px) {
  .JS .hs-horizontal-scroll__item {
    width: 37.5%; } }
/*
 * グループ会社枠
 */
.hs-group {
  padding-left: 0.3125rem;
  margin-bottom: 1.25rem; }

.hs-group-links {
  display: flex;
  font-size: 78%;
  align-items: center;
  justify-content: center; }
  .hs-group-links dt {
    flex: 0 0 13rem;
    padding: 1rem;
    margin-right: 0.8125rem;
    font-weight: bold;
    background-color: #8d8d8d;
    text-align: center; }
    .hs-group-links dt a {
      color: #fff; }
      .hs-group-links dt a:link, .hs-group-links dt a:visited, .hs-group-links dt a:hover {
        color: #fff;
        text-decoration: none; }
  .hs-group-links dd {
    background-color: #fff; }
    .hs-group-links dd ul li {
      display: inline;
      letter-spacing: normal; }
      .hs-group-links dd ul li > a {
        display: inline-block;
        padding-right: 1em;
        padding-left: 1em;
        margin-bottom: 0.3125rem;
        color: #333;
        background: url(/res/common/img/frame/line_dot01.gif) repeat-y right top transparent;
        white-space: nowrap; }
        .hs-group-links dd ul li > a:link, .hs-group-links dd ul li > a:visited, .hs-group-links dd ul li > a:hover {
          color: #333;
          text-decoration: none; }

@media screen and (max-width: 767px) {
  .JS .hs-group {
    display: none; } }
/*
 * ページトップ
 */
.hs-pagetop {
  margin-bottom: 2rem;
  text-align: right;
  font-size: 0.875rem; }
  .hs-pagetop--middle {
    margin-top: 2rem;
    margin-bottom: 2rem; }

.hs-pagetop-link {
  position: relative;
  padding-right: 1.25rem;
  color: #1e4bbe; }
  .hs-pagetop-link:link, .hs-pagetop-link:visited {
    color: #1e4bbe;
    text-decoration: none; }
  .hs-pagetop-link:hover {
    color: #1e4bbe;
    text-decoration: underline; }
  .hs-pagetop-link::before {
    position: absolute;
    top: .7em;
    right: 0;
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    content: '';
    transform: translateY(-50%);
    border-radius: 100%;
    background-color: #dc0c35; }
  .hs-pagetop-link::after {
    position: absolute;
    top: .85em;
    right: 0.375rem;
    display: block;
    width: 0.375rem;
    height: 0.375rem;
    margin-top: -0.0625rem;
    content: '';
    transform: translateY(-50%) rotate(135deg);
    border-bottom: 0.125rem solid #fff;
    border-left: 0.125rem solid #fff; }

/*
 * フッターナビゲーション
 */
.hs-footer-nav {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  background-color: #f8f8f8; }
  .hs-footer-nav a {
    color: #1e4bbe; }
    .hs-footer-nav a:link {
      color: #1e4bbe;
      text-decoration: none; }
    .hs-footer-nav a:visited {
      color: #1e4bbe;
      text-decoration: none; }
    .hs-footer-nav a:hover {
      color: #1e4bbe;
      text-decoration: underline; }
  .hs-footer-nav__wrap {
    display: flex;
    flex-wrap: wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    box-sizing: border-box; }
  .hs-footer-nav__group {
    flex: 0 0 25%;
    max-width: 25%;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    box-sizing: border-box; }
  .hs-footer-nav__category__title {
    font-size: 0.875rem;
    font-weight: 700;
    color: #1e4bbe; }
  .hs-footer-nav__category__data {
    margin-top: 1.375rem; }
  .hs-footer-nav__category__item {
    position: relative;
    font-size: 0.75rem;
    padding-left: 0.9375rem;
    margin-bottom: 1.375rem; }
    .hs-footer-nav__category__item:last-child {
      margin-bottom: 0; }
    .hs-footer-nav__category__item::before {
      position: absolute;
      top: .5em;
      left: 0.1875rem;
      display: block;
      width: 0.3125rem;
      height: 0.3125rem;
      content: '';
      border-radius: 50%;
      background-color: #1e4bbe; }

@media screen and (max-width: 767px) {
  .JS .hs-footer-nav {
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: 0.0625rem solid #fff; }
    .JS .hs-footer-nav a:link, .JS .hs-footer-nav a:visited, .JS .hs-footer-nav a:hover {
      text-decoration: none; }
    .JS .hs-footer-nav__inner {
      padding-left: 0;
      padding-right: 0; }
    .JS .hs-footer-nav__wrap {
      margin-left: 0;
      margin-right: 0; }
    .JS .hs-footer-nav__group {
      flex: 0 0 100%;
      max-width: 100%;
      padding-left: 0;
      padding-right: 0; }
    .JS .hs-footer-nav__category__title {
      position: relative; }
      .JS .hs-footer-nav__category__title::before, .JS .hs-footer-nav__category__title::after {
        position: absolute;
        top: 50%;
        display: block;
        content: '';
        background-color: #dc0c35;
        transform: translateY(-50%);
        transition: .3s linear; }
      .JS .hs-footer-nav__category__title::before {
        right: 0.9375rem;
        width: 0.625rem;
        height: 0.125rem; }
      .JS .hs-footer-nav__category__title::after {
        right: 1.1875rem;
        width: 0.125rem;
        height: 0.625rem; }
      .JS .hs-footer-nav__category__title.is-active {
        background: #fff; }
        .JS .hs-footer-nav__category__title.is-active::after {
          margin-top: -0.3125rem;
          transform: rotate(90deg); }
      .JS .hs-footer-nav__category__title > a, .JS .hs-footer-nav__category__title > span {
        display: block;
        padding: 0.9375rem 2.1875rem 0.9375rem 0.9375rem;
        border-top: 0.0625rem solid #fff;
        border-bottom: 0.0625rem solid #dedede; }
      .JS .hs-footer-nav__category__title > a {
        pointer-events: none; }
    .JS .hs-footer-nav__category__data {
      display: none;
      margin-top: 0;
      background-color: #ebebeb; }
    .JS .hs-footer-nav__category__item {
      padding-left: 0;
      margin-bottom: 0;
      font-size: 0.875rem; }
      .JS .hs-footer-nav__category__item::before {
        content: none; }
      .JS .hs-footer-nav__category__item > a, .JS .hs-footer-nav__category__item > span {
        display: block;
        padding: 0.9375rem 2.1875rem 0.9375rem 1.5625rem;
        border-top: 0.0625rem solid #fff; } }
@media print {
  .hs-footer-nav__category__data {
    display: block !important; } }
/*
 * 導入事例スライダー
 */
.hs-cases {
  display: none; }
  .hs-cases.slick-initialized {
    display: block; }
    .hs-cases.slick-initialized .slick-slide {
      display: flex; }
  .hs-cases .slick-track {
    display: flex;
    margin-left: inherit;
    margin-right: inherit; }
  .hs-cases .slick-slide {
    float: none;
    height: inherit; }
  .hs-cases .slick-prev,
  .hs-cases .slick-next {
    height: 100%;
    width: 1.75rem;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    z-index: 1;
    transition: opacity ease .3s; }
    .hs-cases .slick-prev:hover,
    .hs-cases .slick-next:hover {
      opacity: .9; }
    .hs-cases .slick-prev.slick-disabled:before,
    .hs-cases .slick-next.slick-disabled:before {
      opacity: .25; }
    .hs-cases .slick-prev:before,
    .hs-cases .slick-next:before {
      position: absolute;
      top: 50%;
      left: 50%;
      display: block;
      content: "";
      width: 0.625rem;
      height: 0.625rem;
      font-size: 0;
      opacity: 1; }
  .hs-cases .slick-prev {
    left: 0; }
    .hs-cases .slick-prev:before {
      border-top: 0.1875rem solid #fff;
      border-left: 0.1875rem solid #fff;
      transform: translate(-50%, -50%) rotate(-45deg);
      transform-origin: right; }
  .hs-cases .slick-next {
    right: 0; }
    .hs-cases .slick-next:before {
      border-top: 0.1875rem solid #fff;
      border-right: 0.1875rem solid #fff;
      transform: translate(-50%, -50%) rotate(45deg);
      transform-origin: left; }
  .hs-cases .slick-slide {
    padding-right: 0.0625rem; }

/*----------------------------------
  Parts
  パーツのスタイル
 ----------------------------------*/
/*
 * 見出し
 */
.hs-page-heading {
  padding: 1.875rem 1.4375rem;
  margin-bottom: 1.25rem;
  background: #f2f2f2 url("/res/image/products/bg_pagetitle.png") repeat-y top right;
  line-height: 1.4;
  font-size: 1.5625rem;
  font-weight: bold; }
  .hs-page-heading__title {
    padding-top: 0.3125rem;
    padding-left: 1.0625rem;
    border-left: 0.375rem solid #dc002a; }
  .hs-page-heading__sub {
    font-size: 1rem;
    display: block; }
  .hs-page-heading--darken {
    padding: 1.25rem 1.5625rem 1.125rem;
    background-image: none;
    background-color: #6e6e6e;
    color: #fff; }
    .hs-page-heading--darken__title {
      padding-top: 0;
      padding-left: 0;
      border-left: none; }

@media screen and (max-width: 767px) {
  .JS .hs-page-heading {
    padding: 1.25rem 0.8125rem;
    background-image: none; }
    .JS .hs-page-heading__small {
      font-size: 0.875rem; }
    .JS .hs-page-heading__title {
      font-size: 1.125rem; } }
.hs-heading-lv2 {
  padding: 0.625rem 1.0625rem;
  margin-top: 3rem;
  margin-bottom: 2rem;
  background: linear-gradient(to bottom, #f3f3f3 0%, #fdfefe 100%);
  border-bottom: 3px solid #ff0026; }
  .hs-heading-lv2__title {
    padding: 0.3125rem 0 0;
    margin: 0;
    line-height: 1.4;
    font-size: 1.25rem;
    font-weight: bold;
    background: none; }
  .hs-heading-lv2 + .hs-content {
    margin-top: 0; }

@media screen and (max-width: 767px) {
  .JS .hs-heading-lv2 {
    margin-bottom: 1.5rem; }
    .JS .hs-heading-lv2__title {
      margin: 0;
      font-size: 1.125rem; } }
.hs-heading-lv3 {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 0.625rem;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  border-bottom: 3px solid #cfcfcf; }
  .hs-heading-lv3__title {
    padding: 0.125rem 0 0 0.625rem;
    margin: 0;
    line-height: 1.4;
    font-size: 1.125rem;
    font-weight: bold;
    color: #333;
    background: none;
    border-left: 5px solid #ff0026; }
    .hs-heading-lv3__title > a {
      padding: 0;
      color: #1e4bbe;
      background: none;
      text-decoration: underline; }
      .hs-heading-lv3__title > a:link {
        color: #1e4bbe;
        background: none;
        text-decoration: underline; }
      .hs-heading-lv3__title > a:visited {
        color: #551a8b;
        background: none;
        text-decoration: underline; }
      .hs-heading-lv3__title > a:hover {
        text-decoration: underline; }
  .hs-heading-lv3 + .hs-content {
    margin-top: 0; }

@media screen and (max-width: 767px) {
  .JS .hs-heading-lv3__title {
    margin: 0;
    font-size: 1rem; } }
.hs-heading-lv4 {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 0.625rem;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px dashed #cfcfcf; }
  .hs-heading-lv4__title {
    margin: 0;
    line-height: 1.4;
    font-size: 1rem;
    font-weight: bold;
    background: none; }
  .hs-heading-lv4 + .hs-content {
    margin-top: 0; }

/*
 * テキスト
 */
.hs-text {
  margin-bottom: 1em;
  word-break: break-all; }

@media screen and (max-width: 767px) {
  .JS .hs-text {
    font-size: 0.875rem; } }
.hs-page-description {
  margin-bottom: 1.875rem;
  line-height: 1.71429; }
  .hs-page-description p:not(:last-child) {
    margin-bottom: .5em; }

.hs-content-description {
  margin-bottom: 1.25rem;
  line-height: 1.71429; }
  .hs-content-description p:not(:last-child) {
    margin-bottom: .5em; }

/* 注釈 */
.hs-annotation {
  padding-left: 1em;
  margin-top: -.2em;
  margin-bottom: 1rem;
  text-indent: -1em;
  font-size: .86rem;
  color: #666; }

@media screen and (max-width: 767px) {
  .JS .hs-annotation {
    font-size: 0.875rem; } }
/*
 * アンカー
 */
.hs-link {
  color: #1e4bbe;
  text-decoration: none; }
  .hs-link:link {
    color: #1e4bbe;
    text-decoration: none; }
  .hs-link:visited {
    color: #551a8b;
    text-decoration: none; }
  .hs-link:hover {
    text-decoration: underline; }

.hs-link-text {
  position: relative;
  display: inline-block;
  padding-left: 1.6875rem;
  color: #1e4bbe;
  text-decoration: none; }
  .hs-link-text:link {
    color: #1e4bbe;
    text-decoration: none; }
  .hs-link-text:visited {
    color: #551a8b;
    text-decoration: none; }
  .hs-link-text:hover {
    text-decoration: underline; }
  .hs-link-text:before {
    position: absolute;
    top: .35em;
    left: 8px;
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-color: transparent transparent transparent #dc002a; }

@media screen and (max-width: 767px) {
  .JS .hs-link-text {
    font-size: 0.875rem; } }
/*アンカーアイコン付き*/
.hs-anchor-text {
  display: inline-block;
  padding-left: 1.6875rem;
  color: #1e4bbe;
  background: url("-/media/0E3D70E6301D437DB2E2B95DA6B21CCB.ashx") no-repeat left 1px;
  text-decoration: none; }
  .hs-anchor-text:link {
    color: #1e4bbe;
    text-decoration: none; }
  .hs-anchor-text:visited {
    color: #551a8b;
    text-decoration: none; }
  .hs-anchor-text:hover {
    text-decoration: underline; }

@media screen and (max-width: 767px) {
  .JS .hs-anchor-text {
    font-size: 0.875rem; } }
/*PDFアイコン付き*/
.hs-link-pdf {
  display: inline-block;
  padding-left: 1.6875rem;
  color: #1e4bbe;
  background:url(/r23res/image/common/icon_pdf.svg) no-repeat left top;
  background-size: 1.2em auto;
  text-decoration: none; }
  .hs-link-pdf:link {
    color: #1e4bbe;
    text-decoration: none; }
  .hs-link-pdf:visited {
    color: #551a8b;
    text-decoration: none; }
  .hs-link-pdf:hover {
    text-decoration: underline; }

@media screen and (max-width: 767px) {
  .JS .hs-link-pdf {
    font-size: 0.875rem; } }
/*別窓*/
.hs-link-external {
  display: inline-block;
  padding-left: 1.6875rem;
  color: #1e4bbe;
  background: url("-/media/E025864EB5BA4667925C94C6F580BB9D.ashx") no-repeat left top;
  text-decoration: none; }
  .hs-link-external:link {
    color: #1e4bbe;
    text-decoration: none; }
  .hs-link-external:visited {
    color: #551a8b;
    text-decoration: none; }
  .hs-link-external:hover {
    text-decoration: underline; }

@media screen and (max-width: 767px) {
  .JS .hs-link-external {
    font-size: 0.875rem; } }
/*
 * リスト
 */
.hs-list {
  margin-bottom: 2rem; }
  .hs-list > .hs-list__item {
    margin-left: 1rem; }
    .hs-list > .hs-list__item.hs-row {
      /*リスト内のグリッドは両端のパディング削除*/
      margin-right: 0;
      margin-left: 0; }
    .hs-list > .hs-list__item:not(:last-child) {
      margin-bottom: .5rem; }
  .hs-list--inline li {
    display: inline-block; }
    .hs-list--inline li:not(:last-child) {
      margin-right: 1.2em; }
  .hs-list--dot .hs-list__item::before {
    content: "・";
    margin-left: -1rem;
    color: #969696; }
  .hs-list--disc > .hs-list--disc__item {
    position: relative; }
    .hs-list--disc > .hs-list--disc__item::before {
      content: "";
      border: solid #cfcfcf 0.1875rem;
      border-radius: 0.3125rem;
      display: inline-block;
      left: -1rem;
      top: .5em;
      position: absolute; }
  .hs-list--disc__title {
    margin-bottom: .25rem; }
  .hs-list--underline {
    /*下線*/ }
    .hs-list--underline__item {
      padding-bottom: .5rem;
      margin-left: 0 !important;
      text-indent: 0 !important; }
    .hs-list--underline__item::after {
      content: "";
      display: block;
      margin: 0 auto;
      width: 100%;
      border-bottom: 1px dashed #cfcfcf; }
  .hs-list--disc.hs-list--underline > li {
    /*discと下線*/
    margin-left: 1rem !important; }
    .hs-list--disc.hs-list--underline > li::after {
      /*discとセットの時はdisc分延びる*/
      margin: 0 0 0 -1rem;
      width: calc(100% + 1rem); }
  .hs-list--underline.hs-frame-body li:last-child {
    /*下線 枠とセットの時は最後尾のボーダー無し*/
    padding-bottom: 0; }
  .hs-list--underline.hs-frame-body li:last-child::after {
    border-bottom: none; }

@media screen and (max-width: 767px) {
  .JS .hs-list {
    font-size: 0.875rem; } }
/*リンクリスト*/
.hs-list-link {
  margin-bottom: 1.25rem; }
  .hs-list-link > .hs-list-link__item {
    position: relative;
    padding-left: 1.6875rem;
    text-decoration: none; }
    .hs-list-link > .hs-list-link__item:not(:last-child) {
      margin-bottom: 0.625rem; }
    .hs-list-link > .hs-list-link__item > a:link {
      color: #1e4bbe;
      text-decoration: none; }
    .hs-list-link > .hs-list-link__item > a:visited {
      color: #551a8b;
      text-decoration: none; }
    .hs-list-link > .hs-list-link__item > a:hover {
      text-decoration: underline; }
    .hs-list-link > .hs-list-link__item > a:before {
      position: absolute;
      top: .35em;
      left: 8px;
      display: block;
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 5px 0 5px 5px;
      border-color: transparent transparent transparent #ff0026; }
  .hs-list-link > .hs-list-link--pdf__item {
    padding-left: 1.6875rem; }
    .hs-list-link > .hs-list-link--pdf__item > a:before {
      display: inline-block;
      padding-left: 1.6875rem;
      top: 0;
      left: 0;
      height: 1.765em;
      background: url("-/media/E85F8C37EA464EC48A905F968D31FF6E.ashx") no-repeat left top;
      border: none; }
  .hs-list-link > .hs-list-link--external__item {
    padding-left: 1.6875rem; }
    .hs-list-link > .hs-list-link--external__item > a:before {
      display: inline-block;
      padding-left: 0.9375rem;
      top: 0;
      left: 0;
      height: 1.765em;
      background: url("-/media/E025864EB5BA4667925C94C6F580BB9D.ashx") no-repeat left top;
      border: none; }

@media screen and (max-width: 767px) {
  .JS .hs-list-link {
    font-size: 0.875rem; } }
/*リンクボタンリスト*/
.hs-list-button {
  letter-spacing: -.4em; }
  .hs-list-button__item {
    display: inline-block;
    letter-spacing: normal; }
    .hs-list-button__item a {
      display: inline-block;
      padding: 0.625rem;
      min-width: 5em;
      margin-bottom: 0.6rem;
      margin-right: 0.6rem;
      border: 1px solid #ddd;
      background-color: #fff;
      border-radius: 1rem;
      font-size: .8125rem;
      text-align: center;
      line-height: 1;
      transition: all 300ms 0s ease;
      text-decoration: none; }
      .hs-list-button__item a:link, .hs-list-button__item a:visited {
        color: #1e4bbe; }
      .hs-list-button__item a:hover {
        color: #fff !important;
        background-color: #515151; }
    .hs-list-button__item--mini a {
      /*小さなボタン*/
      margin-bottom: 0.5rem;
      padding: .5rem .7rem;
      font-size: 0.68rem; }
    .hs-list-button__item--txt {
      /*more*/
      display: inline-block;
      letter-spacing: normal;
      text-decoration: underline;
      vertical-align: bottom;
      padding-bottom: .4rem; }

/*ナンバーリスト*/
.hs-order-list {
  padding: 0 0 0 1.5em;
  margin: 0 0 2rem 0;
  list-style-type: decimal; }
  .hs-order-list > __item:not(:last-child) {
    margin-bottom: .5rem; }
  .hs-order-list--inline li {
    display: inline-block; }
    .hs-order-list--inline li:not(:last-child) {
      margin-right: 1.2em; }
  .hs-order-list .hs-order-list {
    padding-left: 1.4em;
    margin-top: .5rem; }
  .hs-order-list__title {
    display: block;
    margin-bottom: .5rem;
    font-weight: bold; }

@media screen and (max-width: 767px) {
  .JS .hs-order-list {
    font-size: 0.875rem; } }
/*注釈リスト*/
.hs-list-annotation {
  margin-bottom: 2rem;
  font-size: .86rem;
  color: #666; }
  .hs-list-annotation__item {
    margin-left: 1rem;
    text-indent: -1rem; }

/*
 * タブ（js表示・非表示連動 tab_js）
 */
.hs-list-tab {
  margin-top: 50px;
  margin-bottom: 2rem;
  padding-left: 1rem;
  border-bottom: 1px solid #ccc;
  font-size: 0; }
  .hs-list-tab__item {
    display: inline-block;
    margin: 2px 5px -1px 0;
    min-width: 4rem;
    box-shadow: 0 0 0 1px #ddd inset;
    -webkit-border-radius: 3px 3px 0 0;
    border-radius: 3px 3px 0 0;
    background: #f4f4f4;
    text-align: center;
    overflow: hidden; }
    .hs-list-tab__item.js-active {
      /*アクティブ*/
      padding-top: 5px;
      box-shadow: none;
      background: #fff;
      border-top: 3px solid #ff0026;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #fff;
      border-left: 1px solid #ccc; }
      .hs-list-tab__item.js-active .hs-list-tab__item__ttl {
        /*アクティブ*/
        font-size: 1rem;
        font-weight: 700;
        color: #333; }
    .hs-list-tab__item__ttl {
      display: block;
      padding: .6rem 1rem;
      max-width: 25em;
      line-height: 1.3;
      border: none;
      background: none;
      white-space: nowrap;
      text-decoration: none;
      font-size: .8rem;
      cursor: pointer;
      color: #666; }
  .hs-list-tab__panel {
    /*パネル*/
    display: none;
    margin-bottom: 2rem;
    opacity: 0;
    transition: all 300ms 0s ease; }
    .hs-list-tab__panel > .hs-heading-lv2 {
      display: none; }
    .hs-list-tab__panel.js-active {
      display: block;
      opacity: 1;
      transition: all 300ms 0s ease; }

@media screen and (max-width: 579px) {
  .hs-list-tab {
    position: relative;
    background: #e8e8e8;
    padding: .5rem;
    border-bottom: none; }
    .hs-list-tab::after {
      content: "";
      position: absolute;
      display: inline-block;
      width: 1rem;
      height: 1rem;
      bottom: -.3rem;
      left: calc(50% - 1rem);
      background: #e8e8e8;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
    .hs-list-tab__item {
      margin: 1px 2px;
      min-width: 32%;
      max-width: 100%;
      box-shadow: 0 0 0 1px #ddd inset;
      border-radius: .3rem; }
      .hs-list-tab__item.js-active {
        padding-top: 0;
        box-shadow: 0 0 0 1px #ccc inset;
        border-bottom: none; }
      .hs-list-tab__item__ttl {
        max-width: 100%; } }
/*
 * 表組
 */
.hs-table {
  margin-bottom: 2rem; }
  .hs-table table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    border-spacing: 0; }
  .hs-table th, .hs-table td {
    padding: 0.625rem;
    text-align: left;
    font-size: 100%;
    border: 1px solid #cfcfcf;
    vertical-align: middle; }
  .hs-table th {
    font-weight: normal;
    background-color: #f2f2f2; }
  .hs-table td {
    background-color: transparent; }
    .hs-table td p {
      margin-bottom: .5em; }
    .hs-table td *:last-child {
      margin-bottom: 0; }
  .hs-table thead th {
    font-weight: bold;
    color: #fff;
    background-color: #969696; }
  .hs-table--dotted th, .hs-table--dotted td {
    border: 1px dotted #cfcfcf; }
  .hs-table--stripe tbody tr:nth-child(even) {
    background-color: #f2f2f2; }
  .hs-table__caption {
    margin-top: -1.75rem;
    margin-bottom: 2rem; }

@media screen and (max-width: 767px) {
  .JS .hs-table th, .JS .hs-table td {
    font-size: 0.875rem; }
  .JS .hs-table--scroll {
    overflow-x: scroll; }
    .JS .hs-table--scroll::-webkit-scrollbar {
      width: 100%;
      height: 10px; }
    .JS .hs-table--scroll::-webkit-scrollbar-track {
      background-color: #ccc; }
    .JS .hs-table--scroll::-webkit-scrollbar-thumb {
      background-color: #666; }
    .JS .hs-table--scroll::after {
      content: "";
      display: block;
      margin-bottom: 2rem; }
    .JS .hs-table--scroll table {
      min-width: 800px; }
  .JS .hs-table__caption {
    margin-top: -1.75rem;
    margin-bottom: 0;
    font-size: 0.875rem; } }
/*スマホでは縦表示*/
.hs-table--sp-vertical th,
.hs-table--sp-vertical td {
  padding: 1rem 2rem;
  border-bottom: 1px solid #ddd; }
.hs-table--sp-vertical th {
  top: 0;
  font-weight: normal;
  font-size: .875rem;
  background: #f2f2f2; }

@media (max-width: 500px) {
  .hs-table--sp-vertical__heading {
    display: none; }

  .hs-table--sp-vertical tr {
    border: 1px solid #cfcfcf; }
  .hs-table--sp-vertical td {
    display: block;
    border: none; }
  .hs-table--sp-vertical td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.25rem;
    padding: .5rem;
    background: #969696;
    color: #fff;
    font-size: .875rem;
    font-weight: bold; } }
.hs-card-group__item {
  border: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf; }
  .hs-card-group__item + .hs-card-group__item {
    border-left: 0; }
.hs-card-group__head, .hs-card-group__data {
  padding: .75em 1em .65em;
  text-align: left;
  font-size: 100%; }
.hs-card-group__head {
  text-align: center;
  font-weight: bold;
  color: #fff;
  background-color: #969696; }

@media screen and (max-width: 767px) {
  .JS .hs-card-group {
    font-size: 0.875rem; } }
/*
 * 枠
 */
/*枠のみ*/
.hs-frame {
  border-: 1px solid #cfcfcf; }

/*枠用の見出し*/
.hs-frame-title {
  padding: 0.6em 1.125rem 0.5em;
  margin-bottom: 0;
  font-weight: bold;
  background-color: #f4f4f4;
  border: 1px solid #cfcfcf;
  border-bottom: none; }
  .hs-frame-title + .hs-frame-body {
    /*タイトルありのリストは上線削除*/
    border-top: none;
    margin-top: 0; }

/*h3タイトル付き枠*/
.hs-frame-body {
  border-width: 1px;
  border-style: solid;
  border-color: #cfcfcf;
  padding: 0.625rem;
  margin-bottom: .5rem; }
  .hs-frame-body > *:last-child {
    margin-bottom: 0; }
  .hs-frame-body--border-middle {
    border-width: 2px; }
  .hs-frame-body--border-bold {
    border-width: 5px; }
  .hs-frame-body--border-coral {
    border-color: #fd9db2; }
  .hs-frame-body--grid .hs-row {
    margin-bottom: -0.625rem; }
  .hs-frame-body--grid [class*="hs-col"] {
    margin-bottom: 0.625rem; }
    .hs-frame-body--grid [class*="hs-col"] > *:last-child {
      margin-bottom: 0; }

/*
 * 下線
 */
.hs-border-line, .hs-border-dashed {
  padding-bottom: 0.625rem;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: .5rem;
  border-bottom: 1px solid #cfcfcf; }

.hs-border-dashed {
  border-bottom: 1px dashed #cfcfcf; }

/*
 * 背景
 */
.hs-bg {
  background-color: #f2f2f2; }

.hs-bg-red {
  background-color: #e60027; }

/*
 * 動画コンテナー
 */
.hs-video {
  margin-bottom: 2rem;
  background: url("-/media/1239AD31407149E086249D049935684C.ashx") no-repeat right bottom;
  background-size: 10% auto; }
  .hs-video__container {
    position: relative; }
    .hs-video__container::before {
      content: "";
      display: block;
      width: 100%;
      padding-top: 56.25%; }
    .hs-video__container iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .hs-video__embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .hs-video__meta {
    margin-top: 0.9375rem; }
    .hs-video__meta p:not(:last-child) {
      margin-bottom: .5em; }
  .hs-video--compact::after {
    content: "";
    display: block;
    clear: both; }
  .hs-video--compact__container {
    width: 35%;
    padding-right: 0.9375rem;
    float: left; }
    .hs-video--compact__container::before {
      padding-top: 0; }
  .hs-video--compact__meta {
    float: right;
    width: 65%;
    margin-top: 0; }

@media screen and (max-width: 767px) {
  .JS .hs-video {
    font-size: 0.875rem;
    background-size: 30%; }
    .JS .hs-video--compact__container {
      float: none;
      width: 100%;
      padding-right: 0;
      text-align: center; }
    .JS .hs-video--compact__meta {
      float: none;
      width: 100%;
      margin-top: 0.9375rem; } }
/*
 * 画像Box
 */
.hs-imgbox {
  display: block;
  width: 100%;
  margin-bottom: 2rem; }
  .hs-imgbox img {
    max-width: 100%;
    height: auto;
    vertical-align: middle; }
  .hs-imgbox--center {
    text-align: center; }
  .hs-imgbox--right {
    text-align: right; }
  .hs-imgbox__caption {
    display: block;
    text-align: left;
    font-size: 0.75rem;
    color: #666; }
  .hs-imgbox--zoom {
    margin-top: 0.3125rem; }
    .hs-imgbox--zoom img {
      margin: 0 auto;
      -webkit-backface-visibility: hidden; }
    .hs-imgbox--zoom__caption {
      margin: 0 auto;
      padding-left: 1.5rem;
      display: inline-block;
      font-size: 0.875rem;
      background: url("-/media/3377DB63E12542D1B3B209EC001840CE.ashx") no-repeat left bottom;
      text-decoration: underline; }
      .hs-imgbox--zoom__caption::before {
        content: '\A';
        white-space: pre; }
    .hs-imgbox--zoom img {
      vertical-align: bottom;
      display: table-cell; }
    .hs-imgbox--zoom a {
      display: block;
      font-size: 0.875rem;
      color: #1e4bbe;
      text-align: center; }
      .hs-imgbox--zoom a:link {
        color: #1e4bbe;
        text-decoration: none; }
      .hs-imgbox--zoom a:visited {
        color: #551a8b;
        text-decoration: none; }
      .hs-imgbox--zoom a:hover {
        text-decoration: none; }

/*
 * 画像 + テキスト回り込み
 */
.hs-float {
  margin-bottom: 1.25rem; }
  .hs-float::after {
    content: " ";
    display: block;
    clear: both; }
  .hs-float__img {
    float: left;
    max-width: 100%;
    margin-right: 0.9375rem;
    margin-bottom: 0.625rem; }
  .hs-float__body p:not(:last-child) {
    margin-bottom: .7em; }
  .hs-float--right .hs-float__img {
    float: right;
    margin-right: 0;
    margin-left: 0.9375rem; }

@media screen and (max-width: 767px) {
  .JS .hs-float__img {
    float: none;
    margin-bottom: 1.25rem;
    margin-right: auto;
    margin-left: auto; }
  .JS .hs-float__body {
    font-size: 0.875rem; } }
/*
 * アンカーナビ
 */
.hs-anchornav {
  margin-top: 2rem;
  margin-bottom: 2rem; }
  .hs-anchornav__item {
    display: inline-block;
    padding-left: 1.6875rem;
    padding-right: 0.625rem;
    color: #1e4bbe;
    background: url("-/media/0E3D70E6301D437DB2E2B95DA6B21CCB.ashx") no-repeat left 1px;
    text-decoration: none; }
    .hs-anchornav__item:not(:last-child) {
      margin-bottom: 0.625rem; }
    .hs-anchornav__item a:link {
      color: #1e4bbe;
      text-decoration: none; }
    .hs-anchornav__item a:visited {
      color: #551a8b;
      text-decoration: none; }
    .hs-anchornav__item a:hover {
      text-decoration: underline; }

@media screen and (max-width: 767px) {
  .JS .hs-anchornav {
    font-size: 0.875rem; } }
/*
 * サービスステップ
 */
.hs-steps {
  margin-bottom: 2rem; }
  .hs-steps__item {
    display: flex;
    align-items: center; }
    .hs-steps__item:not(:last-child) {
      margin-bottom: 0.9375rem; }
    .hs-steps__item__icon {
      flex-shrink: 0;
      max-width: 100%;
      padding: .5em 1em .4em;
      margin-right: 0.9375rem;
      text-align: center;
      font-weight: bold;
      font-size: 0.875rem;
      color: #fff;
      background-color: #c00000;
      border-radius: 5px; }
    .hs-steps__item__text {
      padding-top: .3em;
      font-weight: bold;
      color: #c00000; }

.hs-steps--darkblue {
  margin-bottom: 1.25rem; }
  .hs-steps--darkblue__item__icon {
    background-color: #1f497d; }
  .hs-steps--darkblue__item__text {
    color: #1f497d; }

@media screen and (max-width: 767px) {
  .JS .hs-steps {
    font-size: 0.875rem; }
    .JS .hs-steps__item {
      display: block; }
      .JS .hs-steps__item__icon {
        display: block;
        margin-bottom: 0.625rem;
        margin-right: 0;
        font-size: 0.75rem; } }
/*
 * 定義リスト
 */
.hs-news-list {
  margin-bottom: 2rem;
  /*スクロールバーで範囲外を非表示*/ }
  .hs-news-list::after {
    content: "";
    display: block;
    clear: both; }
  .hs-news-list__date {
    float: left;
    width: 9em;
    padding-bottom: 0.9375rem;
    font-weight: bold; }
  .hs-news-list__body {
    width: 100%;
    padding-bottom: 0.9375rem;
    margin-bottom: 0.9375rem;
    padding-left: 10em;
    border-bottom: 1px dashed #cfcfcf; }
    .hs-news-list__body p {
      margin-bottom: .5em; }
    .hs-news-list__body a {
      color: #1e4bbe;
      text-decoration: underline; }
      .hs-news-list__body a:link {
        color: #1e4bbe; }
      .hs-news-list__body a:visited {
        color: #551a8b; }
      .hs-news-list__body a:hover {
        text-decoration: underline; }
    .hs-news-list__body:last-child {
      padding-bottom: 0;
      margin-bottom: 0;
      border-bottom: 0; }
    .hs-news-list__body > *:last-child {
      margin-bottom: 0; }
  .hs-news-list--scroll-y {
    overflow-y: scroll;
    height: 20rem; }

@media screen and (max-width: 767px) {
  .JS .hs-news-list {
    font-size: 0.875rem; }
    .JS .hs-news-list__date {
      float: none;
      width: 100%; }
    .JS .hs-news-list__body {
      padding-left: 0; }
      .JS .hs-news-list__body:not(:nth-of-type(1)) {
        padding-top: 0;
        padding-bottom: 0.9375rem; } }
/*
 * 機能ボックス
 */
.hs-feature {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-bottom: 1.25rem; }
  .hs-feature a {
    color: #1e4bbe;
    text-decoration: none; }
    .hs-feature a:link {
      color: #1e4bbe; }
    .hs-feature a:visited {
      color: #551a8b; }
    .hs-feature a:hover {
      text-decoration: underline; }
  .hs-feature__thumb {
    flex: 0 0 15%;
    max-width: 15%; }
    .hs-feature__thumb img {
      width: 100%; }
  .hs-feature__body {
    flex: 0 0 85%;
    max-width: 85%;
    padding-left: 1.25rem; }
  .hs-feature__title {
    margin-bottom: 0.5em;
    font-size: 1.0625rem; }
  .hs-feature__link {
    text-align: right; }

@media screen and (max-width: 767px) {
  .hs-feature__thumb {
    flex: 0 0 20%;
    max-width: 20%; }
  .hs-feature__body {
    flex: 0 0 80%;
    max-width: 80%; } }
@media screen and (max-width: 399px) {
  .JS .hs-feature {
    display: block; }
    .JS .hs-feature__thumb {
      flex: 0 0 100%;
      text-align: center;
      max-width: 100%;
      margin-bottom: 0.625rem; }
    .JS .hs-feature__body {
      flex: 0 0 100%;
      max-width: 100%;
      padding-left: 0; } }
/*
 * お問い合わせBOX
 */
/* 中 */
.hs-inquiry {
  margin: 1.875rem 0; }
  .hs-inquiry__btn {
    position: relative;
    transition: opacity ease .2s;
    display: block;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    padding: 1.5625rem;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 3.125rem;
    font-weight: 600;
    font-size: 1.125rem;
    background-color: #dc0c35;
    color: #FFF !important;
    text-decoration: none !important;
    text-align: center; }
    .hs-inquiry__btn::after {
      position: absolute;
      top: 2rem;
      right: 20%;
      display: block;
      content: "";
      width: .7rem;
      height: 0.7rem;
      border-top: 0.125rem solid #fff;
      border-right: 0.125rem solid #fff;
      transform: rotate(45deg);
      transform-origin: center; }
    .hs-inquiry__btn:link, .hs-inquiry__btn:visited {
      color: #fff;
      text-decoration: none; }
    .hs-inquiry__btn:hover {
      color: #fff;
      text-decoration: none;
      background: #a94657; }

@media screen and (max-width: 994px) {
  .JS .hs-inquiry__btn {
    width: 94%;
    max-width: 700px; } }
@media screen and (max-width: 767px) {
  .JS .hs-inquiry__btn {
    width: 100%;
    text-align: center; }
    .JS .hs-inquiry__btn::after {
      right: 1.25rem; } }
@media screen and (max-width: 399px) {
  .JS .hs-inquiry__btn {
    width: 100%; }
    .JS .hs-inquiry__btn::after {
      right: 1.25rem; } }
/* 大 */
.hs-inquiry-l {
  margin: 1.875rem 0; }
  .hs-inquiry-l__lead {
    display: block;
    font-weight: normal;
    font-size: 0.75rem;
    margin-bottom: 0.625rem; }
  .hs-inquiry-l__btn {
    position: relative;
    transition: opacity ease .2s;
    display: block;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    padding: 1.5625rem;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 3.9375rem;
    font-weight: 600;
    font-size: 1.125rem;
    background-color: #dc0c35;
    color: #FFF !important;
    text-decoration: none !important;
    text-align: center; }
    .hs-inquiry-l__btn::after {
      position: absolute;
      bottom: 2rem;
      right: 20%;
      display: block;
      content: "";
      width: .7rem;
      height: 0.7rem;
      border-top: 0.125rem solid #fff;
      border-right: 0.125rem solid #fff;
      transform: rotate(45deg);
      transform-origin: center; }
    .hs-inquiry-l__btn:link, .hs-inquiry-l__btn:visited {
      color: #fff;
      text-decoration: none; }
    .hs-inquiry-l__btn:hover {
      color: #fff;
      text-decoration: none;
      background: #a94657; }

@media screen and (max-width: 994px) {
  .JS .hs-inquiry-l__btn {
    width: 94%;
    max-width: 700px;
    padding-left: 0;
    padding-right: 0; } }
@media screen and (max-width: 767px) {
  .JS .hs-inquiry-l__lead {
    font-size: 0.6875rem; }
  .JS .hs-inquiry-l__btn {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    text-align: center; }
    .JS .hs-inquiry-l__btn::after {
      top: 48%;
      right: 1.25rem; } }
@media screen and (max-width: 399px) {
  .JS .hs-inquiry-l__lead {
    font-size: 0.6875rem; }
  .JS .hs-inquiry-l__btn {
    width: 100%; }
    .JS .hs-inquiry-l__btn::after {
      top: 48%;
      right: 1.25rem; } }
/*
 * ステップ
 */
.hs-step {
  display: flex; }
  .hs-step__item {
    flex: 1;
    padding: 0.625rem;
    background: #f4f4f4; }
    .hs-step__item--arrow {
      position: relative;
      margin-right: 1.25rem; }
    .hs-step__item--arrow::after {
      content: "";
      display: block;
      position: absolute;
      width: 0;
      height: 0;
      right: -17px;
      top: 50%;
      transform: translateY(-50%);
      border: 18px solid transparent;
      border-left: 13px solid #dc002a;
      border-right: 0; }

@media screen and (max-width: 579px) {
  .JS .hs-step {
    display: block; }
    .JS .hs-step__item {
      display: block;
      margin-right: 0;
      margin-bottom: 1.25rem; }
      .JS .hs-step__item--arrow::after {
        left: 50%;
        top: auto;
        bottom: -17px;
        transform: translateX(-50%);
        border: 18px solid transparent;
        border-top: 13px solid #dc002a;
        border-bottom: 0; } }
/*
 * QA
 */
.hs-qalist {
  margin-bottom: 2rem; }
  .hs-qalist__q {
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px; }
    .hs-qalist__q::before {
      content: "Q";
      flex-basis: 4rem;
      padding-right: 10px;
      text-align: center;
      font-size: 3em;
      color: #777;
      font-weight: 700;
      line-height: 1; }
    .hs-qalist__q > *:nth-of-type(1) {
      flex-basis: calc(100% - 4em); }
  .hs-qalist__a {
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px; }
    .hs-qalist__a::before {
      content: "A";
      flex-basis: 4rem;
      padding-right: 10px;
      width: 1.2em;
      text-align: center;
      font-size: 3em;
      color: #b1000e;
      font-weight: 700;
      line-height: 1; }
    .hs-qalist__a > *:nth-of-type(1) {
      flex-basis: calc(100% - 4em); }

/*
 * QA-accordion
 * input の id と label の forをそろえる
 */
.hs-qalist-accordion__q__check {
  /*チェック*/
  display: none; }
  .hs-qalist-accordion__q__check:checked + .hs-qalist-accordion__q + .hs-qalist-accordion__a {
    /*初期非表示*/
    height: auto;
    opacity: 1; }
.hs-qalist-accordion__q {
  /*ラベル*/
  position: relative;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  transition: all 0.5s;
  margin-bottom: 20px;
  padding: 10px;
  padding-right: calc(10px + 1.2em);
  background: #f4f4f4;
  cursor: pointer; }
  .hs-qalist-accordion__q::before {
    content: "Q";
    padding-right: 10px;
    flex-basis: 4rem;
    text-align: center;
    font-size: 3em;
    color: #777;
    font-weight: 700;
    line-height: 1; }
  .hs-qalist-accordion__q::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1em;
    margin: auto 0;
    width: .8em;
    height: .8em;
    border-bottom: 2px solid #cfcfcf;
    border-left: 2px solid #cfcfcf;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transition: 0.2s; }
  .hs-qalist-accordion__q__check:checked + .hs-qalist-accordion__q::after {
    width: 1em;
    height: 0;
    border-left: none;
    transform: none;
    -webkit-transform: none;
    transition: 0.2s; }
  .hs-qalist-accordion__q > *:nth-of-type(1) {
    flex-basis: calc(100% - 4em); }
.hs-qalist-accordion__a {
  /*回答*/
  height: 0;
  padding: 0 0 0 10px;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px; }
  .hs-qalist-accordion__a::before {
    content: "A";
    padding-right: 10px;
    flex-basis: 4rem;
    text-align: center;
    font-size: 3em;
    color: #b1000e;
    font-weight: 700;
    line-height: 1; }
  .hs-qalist-accordion__a > *:nth-of-type(1) {
    flex-basis: calc(100% - 4em); }

/*----------------------------------
  Utility
  細かい調整用のスタイル
 ----------------------------------*/
/*
 * Flexbox
 */
.hs-justify-content-start {
  justify-content: flex-start !important; }

.hs-justify-content-end {
  justify-content: flex-end !important; }

.hs-justify-content-center {
  justify-content: center !important; }

/*
 * Display
 */
.hs-d-block {
  display: block !important; }

.hs-d-inline-block {
  display: inline-block !important; }

.hs-d-flex {
  display: flex !important; }

.s-hidden {
  opacity: 0;
  height: 0;
  margin: 0;
  margin-bottom: 0 !important;
  visibility: hidden;
  border: none !important; }

/*pcのみ表示*/
.hs-d-pc {
  display: block !important; }

@media screen and (max-width: 767px) {
  .hs-d-pc {
    display: none !important; } }
/*spのみ表示*/
.hs-d-sp {
  display: none !important; }

@media screen and (max-width: 767px) {
  .hs-d-sp {
    display: block !important; } }
/*
 * 余白
 */
/* padding */
.hs-p0 {
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important; }

.hs-p10 {
  padding: 10px !important; }

.hs-pt0 {
  padding-top: 0 !important; }

.hs-pr0 {
  padding-right: 0 !important; }

.hs-pb0 {
  padding-bottom: 0 !important; }

.hs-pl0 {
  padding-left: 0 !important; }

.hs-ph10 {
  padding-right: 0.625rem !important;
  padding-left: 0.625rem !important; }

.hs-pv10 {
  padding-top: 0.625rem !important;
  padding-bottom: 0.625rem !important; }

/* margin */
.hs-m0 {
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important; }

.hs-mt0 {
  margin-top: 0 !important; }

.hs-mr0 {
  margin-right: 0 !important; }

.hs-mr10 {
  margin-right: 0.625rem !important; }

.hs-mr20 {
  margin-right: 1.25rem !important; }

.hs-mb0 {
  margin-bottom: 0 !important; }

.hs-mb10 {
  margin-bottom: 0.625rem !important; }

.hs-mb15 {
  margin-bottom: 0.9375rem !important; }

.hs-mb20 {
  margin-bottom: 1.25rem !important; }

.hs-mb30 {
  margin-bottom: 1.875rem !important; }

.hs-ml0 {
  margin-left: 0 !important; }

.hs-ml10 {
  margin-left: 0.625rem !important; }

.hs-ml20 {
  margin-left: 1.25rem !important; }

.hs-mh15 {
  margin-left: 0.9375rem !important;
  margin-right: 0.9375rem !important; }

.hs-mh10 {
  margin-left: 0.625rem !important;
  margin-right: 0.625rem !important; }

.hs-mv10 {
  margin-top: 0.625rem !important;
  margin-bottom: 0.625rem !important; }

.hs-mv15 {
  margin-top: 0.9375rem !important;
  margin-bottom: 0.9375rem !important; }

/*margin-rem
s:1.5rem m:2rem l:3rem
*/
.hs-mts {
  margin-top: 1.5rem !important; }

.hs-mtm {
  margin-top: 2rem !important; }

.hs-mtl {
  margin-top: 3rem !important; }

.hs-mtll {
  margin-top: 6rem !important; }

.hs-mrs {
  margin-right: 1.5rem !important; }

.hs-mrm {
  margin-right: 2rem !important; }

.hs-mrl {
  margin-right: 3rem !important; }

.hs-mbs {
  margin-bottom: 1.5rem !important; }

.hs-mbm {
  margin-bottom: 2rem !important; }

.hs-mbl {
  margin-bottom: 3rem !important; }

.hs-mbll {
  margin-bottom: 6rem !important; }

.hs-mls {
  margin-left: 1.5rem !important; }

.hs-mlm {
  margin-left: 2rem !important; }

.hs-mll {
  margin-left: 3rem !important; }

/*
 * 幅、高さ
 */
.hs-h100 {
  height: 100% !important; }

.hs-vh100 {
  height: 100% !important;
  width: 100% !important; }

/*
 * ポジション
 */
.hs-indent {
  text-indent: 1em !important; }

.hs-left {
  text-align: left !important; }

.hs-right {
  text-align: right !important; }

.hs-center {
  text-align: center !important; }

.hs-align-top {
  vertical-align: top !important; }

.hs-align-middle {
  vertical-align: middle !important; }

.hs-align-bottom {
  vertical-align: bottom !important; }

/*
 * テキストサイズ
 */
.hs-font-size-xs {
  font-size: .786rem !important; }

.hs-font-size-ss {
  font-size: .857rem !important; }

.hs-font-size-s {
  font-size: .928rem !important; }

.hs-font-size-m {
  font-size: 1rem !important; }

.hs-font-size-l {
  font-size: 1.142rem !important; }

.hs-font-size-ll {
  font-size: 1.285rem !important; }

.hs-font-size-xl {
  font-size: 1.571rem !important; }

/*
 * テキスト装飾
 */
.hs-font-normal {
  font-weight: normal !important; }

.hs-font-bold {
  font-weight: bold !important; }

/*
 * カラー
 */
.hs-color-red {
  color: #dc0c35 !important; }

.hs-color-blue {
  color: #003399 !important; }

.hs-color-darkblue {
  color: #1f497d !important; }

.hs-color-white {
  color: #fff !important; }

/*
 * マーカー
 */
.hs-marker {
  background: linear-gradient(transparent 50%, #fbc4ca 50%); }

/*
 * Border
 */
.hs-border-0 {
  border: 0 !important; }

.hs-border-top-0 {
  border-top: 0 !important; }

.hs-border-right-0 {
  border-right: 0 !important; }

.hs-border-bottom-0 {
  border-bottom: 0 !important; }

.hs-border-left-0 {
  border-left: 0 !important; }
