@charset "UTF-8";
/* Scss Document */
/*CRM*/
/*会員管理*/
/*ERP*/
/*ポイント管理*/
/*BI*/
/*コラム*/
/*O2O*/
/*MA*/
/*AI*/
/*マンガ*/
/*問い合わせ管理*/
/*CMS*/
/*SFA*/
/*セミナー*/
/*GIS*/
/*POS*/
/*DWH*/
/*データドリブン*/
/*オムニチャネル*/
/*電子決済*/
/*マルチポイント*/
/*オンラインイベント*/
/*UGC*/
/*ライブ配信*/
/*-------------------------------------------------------------------------------------------------
  印刷
--------------------------------------------------------------------------------------------------*/
@media print {
  * {
    -webkit-print-color-adjust: exact; } }
/*-------------------------------------------------
    common
=================================================*/
.mb0 {
  margin-bottom: 0 !important; }

@media print, screen and (min-width: 768px) {
  .mb20 {
    margin-bottom: 20px !important; } }
@media screen and (max-width: 767px) {
  .mb20 {
    margin-bottom: 16px !important; } }
.tal {
  text-align: left; }

.tar {
  text-align: right; }

.tac {
  text-align: center; }

.font_xl {
  font-size: 1.25rem; }
  @media screen and (max-width: 767px) {
    .font_xl {
      font-size: 0.875rem; } }

.font_l {
  font-size: 1.125rem; }
  @media screen and (max-width: 767px) {
    .font_l {
      font-size: 0.8125rem; } }

/*------------------------------------------*/
body {
  font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 400; }

img {
  max-width: 100%;
  height: auto; }

figure {
  margin: 0;
  padding: 0; }
  figure figcaption {
    margin: 5px 0; }

strong {
  font-weight: 700; }

em {
  font-style: normal; }
  em.label {
    color: #fff;
    display: block;
    padding: 2px 10px;
    margin-right: 4px;
    font-size: 0.8125rem; }
    em.label.RD {
      background: #c40200; }
    em.label.OR {
      background: #e95527; }
    em.label.BL {
      background: #27a7e9; }
    em.label.GR {
      background: #15b227; }
    em.label.tagc1 {
      background: #0070c0; }
    em.label.tagc2 {
      background: #00b050; }
    em.label.tagc3 {
      background: #993300; }
    em.label.tagc4 {
      background: #ed7d31; }
    em.label.tagc5 {
      background: #006600; }
    em.label.tagc6 {
      background: #339966; }
    em.label.tagc7 {
      background: #003399; }
    em.label.tagc8 {
      background: #c00000; }
    em.label.tagc9 {
      background: #7030a0; }
    em.label.tagc10 {
      background: #ff7c80; }
    em.label.tagc11 {
      background: #009999; }
    em.label.tagc12 {
      background: #ff0000; }
    em.label.tagc13 {
      background: #00b0f0; }
    em.label.tagc14 {
      background: #00cc66; }
    em.label.tagc15 {
      background: #69631c; }
    em.label.tagc16 {
      background: #cc6600; }
    em.label.tagc17 {
      background: #669900; }
    em.label.tagc18 {
      background: #990033; }
    em.label.tagc19 {
      background: #6c7cf0; }
    em.label.tagc20 {
      background: #ff6600; }
    em.label.tagc21 {
      background: #db7093; }
    em.label.tagc22 {
      background: #0D616B; }
    em.label.tagc23 {
      background: #484205; }
    em.label.tagc24 {
      background: #9A902D; }

dt.RD {
  color: #c40200; }
dt.OR {
  color: #e95527; }
dt.BL {
  color: #27a7e9; }
dt.GR {
  color: #15b227; }

#SiteIdentityL .red {
  color: #e60027; }

p {
  margin: 20px 0; }
  @media screen and (max-width: 767px) {
    p {
      margin: 16px 0; } }
  p em,
  p strong {
    color: #e60027; }

#HeaderArea p {
  margin: 0; }

@media print, screen and (min-width: 768px) {
  .inner {
    width: 965px;
    margin: 0 auto; }

  .sp_only {
    display: none !important; }

  .pc_tal {
    text-align: left; }

  .pc_tar {
    text-align: right; }

  .pc_tac {
    text-align: center; }

  #GlobalNaviTop {
    position: static; }
    #GlobalNaviTop .hasSub ul.sub {
      width: 100%;
      background: rgba(0, 0, 0, 0.7);
      box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
      position: absolute;
      top: 77px;
      left: 0;
      z-index: 100;
      height: 0;
      transition: all 0.5s ease 0s;
      overflow: hidden;
      text-align: center; }
      #GlobalNaviTop .hasSub ul.sub li {
        display: inline-block;
        width: 250px;
        padding: 10px 0 0 0;
        float: none;
        line-height: 35px;
        font-size: 18px; }
        #GlobalNaviTop .hasSub ul.sub li a {
          padding: 10px 10px 0 !important;
          line-height: 35px;
          color: #fff; }
          #GlobalNaviTop .hasSub ul.sub li a strong {
            padding: 0; }
    #GlobalNaviTop .hasSub:hover ul.sub {
      height: 160px; } }
@media screen and (max-width: 767px) {
  .inner {
    width: 100%;
    padding: 0 16px;
    box-sizing: border-box; }

  .pc_only {
    display: none !important; }

  .sp_tal {
    text-align: left; }

  .sp_tar {
    text-align: right; }

  .sp_tac {
    text-align: center; }

  ul.sp_accordion_list li:nth-of-type(n + 3) {
    display: none; } }
#GlobalNaviTopSP ul.sub {
  padding: 0 10px 8px 10px; }
  #GlobalNaviTopSP ul.sub figure {
    display: none; }
  #GlobalNaviTopSP ul.sub li a {
    position: relative;
    display: block;
    line-height: 140%;
    padding: 7px 5px 7px 21px;
    font-size: 90%;
    color: #ccc;
    text-decoration: none; }
    #GlobalNaviTopSP ul.sub li a:before {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      left: 7px;
      border-top: 4px solid transparent;
      border-bottom: 4px solid transparent;
      border-left: 7px solid #e60027;
      margin-top: -4px; }
  #GlobalNaviTopSP ul.sub li.Current {
    background: #e60027; }
    #GlobalNaviTopSP ul.sub li.Current a strong {
      color: #fff; }
    #GlobalNaviTopSP ul.sub li.Current a:before {
      border-left-color: #fff; }

#SitemapArea {
  position: relative;
  background: #222;
  font-size: 90%;
  overflow: hidden;
  padding: 45px 0; }
  @media screen and (max-width: 767px) {
    #SitemapArea {
      padding: 16px 0; } }
  #SitemapArea ul {
    margin: 0;
    padding: 0; }
    #SitemapArea ul li {
      margin: 0;
      padding: 0;
      list-style: none; }
      #SitemapArea ul li a {
        display: block;
        position: relative;
        text-decoration: none; }
  #SitemapArea ul.first {
    margin-top: 8px;
    position: relative; }
    #SitemapArea ul.first:last-child {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      #SitemapArea ul.first:last-child li {
        width: 230px; }
    #SitemapArea ul.first > li {
      margin-top: 8px; }
      #SitemapArea ul.first > li.about {
        position: absolute;
        left: 250px;
        top: 0;
        margin-top: 0; }
        @media screen and (max-width: 767px) {
          #SitemapArea ul.first > li.about {
            position: inherit;
            left: inherit;
            top: inherit;
            margin-top: 8px; } }
      #SitemapArea ul.first > li > a {
        padding-left: 23px;
        color: #fff; }
        #SitemapArea ul.first > li > a:before {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: 4px;
          z-index: 2;
          border-top: 4px solid transparent;
          border-bottom: 4px solid transparent;
          border-left: 7px solid #fff;
          margin-top: -4px; }
        #SitemapArea ul.first > li > a:after {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: 0px;
          z-index: 1;
          width: 16px;
          height: 16px;
          background: #c40200;
          margin-top: -8px; }
  #SitemapArea ul.second {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 7px; }
    @media screen and (max-width: 767px) {
      #SitemapArea ul.second {
        flex-direction: column; } }
    #SitemapArea ul.second > li {
      width: 230px;
      margin-top: 3px;
      margin-bottom: 10px; }
      @media screen and (max-width: 767px) {
        #SitemapArea ul.second > li {
          width: 100%; } }
      #SitemapArea ul.second > li > a {
        padding-left: 23px;
        color: #fff;
        font-size: 90%; }
        #SitemapArea ul.second > li > a:before {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: 9px;
          z-index: 2;
          border-top: 4px solid transparent;
          border-bottom: 4px solid transparent;
          border-left: 7px solid #c40200;
          margin-top: -4px; }
  #SitemapArea ul.third {
    margin-top: 7px; }
    #SitemapArea ul.third > li {
      padding-left: 23px;
      margin-top: 10px; }
      #SitemapArea ul.third > li > a {
        text-decoration: underline;
        font-size: 90%;
        color: #ccc; }
  @media print, screen and (min-width: 768px) {
    #SitemapArea .right ul.first > li {
      margin-top: 7px; }
    #SitemapArea .right ul.second {
      margin-top: 0; } }
  @media screen and (min-width: 580px) and (max-width: 767px) {
    #SitemapArea .right ul.first {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #SitemapArea .right ul.first > li {
        width: 100%; }
        #SitemapArea .right ul.first > li:nth-of-type(n + 3) {
          width: 100%; } }

/*------------------------------------------*/
.breadcrumb_wrap {
  background: #fff;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .breadcrumb_wrap {
      border-top: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      overflow: auto; } }

ul.breadcrumb {
  width: 965px;
  margin: 0 auto;
  white-space: nowrap;
  font-size: 0.75rem;
  display: flex; }
  @media screen and (max-width: 767px) {
    ul.breadcrumb {
      width: auto;
      font-size: 0.625rem;
      padding-left: 6px; } }
  ul.breadcrumb li {
    padding: 10px 22px 10px 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      ul.breadcrumb li {
        padding: 0 24px 0 10px;
        line-height: 32px; } }
    ul.breadcrumb li:after {
      content: "";
      width: 6px;
      height: 12px;
      position: absolute;
      top: 50%;
      right: 7px;
      transform: translateY(-50%);
      background: url(/digitalmarketing/sp/shared/images/arrow_gy_rt.svg) no-repeat center center/contain; }
      @media screen and (max-width: 767px) {
        ul.breadcrumb li:after {
          background-image: url(/digitalmarketing/sp/shared/images/arrow_bread_sp.svg);
          width: 32px;
          height: 32px;
          right: 0; } }
    @media screen and (max-width: 767px) {
      ul.breadcrumb li:last-child {
        padding-right: 16px; } }
    ul.breadcrumb li:last-child:after {
      display: none; }
    ul.breadcrumb li a {
      color: #333;
      white-space: nowrap;
      text-decoration: none; }

/*------------------------------------------*/
#contents {
  background: #fff;
  font-size: 0.75rem;
  overflow: hidden; }
  #contents a {
    transition: all 0.3s ease 0s;
    color: #333; }
    #contents a:hover {
      opacity: 0.7; }
  @media print, screen and (min-width: 768px) {
    #contents {
      font-size: 0.875rem; }
      #contents #mainarea {
        width: 703px;
        float: left;
        padding-bottom: 28px; }
      #contents #sidearea {
        width: 230px;
        float: right;
        padding-bottom: 28px; } }

section {
  margin: 60px 0; }
  @media screen and (max-width: 767px) {
    section {
      margin: 32px 0; } }
  #mainarea section, #sidearea section {
    margin: 0 0 32px 0; }
    @media screen and (max-width: 767px) {
      #mainarea section, #sidearea section {
        margin: 0 0 16px 0; } }

/*------------------------------------------*/
.hw_line1 {
  font-size: 1.75rem;
  font-weight: 900;
  border-bottom: 3px solid #ccc;
  position: relative;
  padding: 0 0 10px;
  margin: 0 0 25px; }
  @media screen and (max-width: 767px) {
    .hw_line1 {
      font-size: 1.125rem;
      margin: 0 -16px 16px !important;
      text-align: center; } }
  .hw_line1:after {
    content: "";
    width: 56px;
    height: 3px;
    background: #e60027;
    display: block;
    position: absolute;
    bottom: -3px;
    left: 0; }
    @media screen and (max-width: 767px) {
      .hw_line1:after {
        width: 40px;
        left: 50%;
        margin: 0 0 0 -20px; } }

.hw_line2 {
  font-size: 2.25rem;
  font-weight: 900;
  border-bottom: 3px solid #ccc;
  position: relative;
  padding: 0 0 10px;
  margin: 0 0 25px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .hw_line2 {
      font-size: 1.125rem;
      margin: 0 -16px 16px !important; } }
  .hw_line2:after {
    content: "";
    width: 56px;
    height: 3px;
    background: #e60027;
    display: block;
    position: absolute;
    bottom: -3px;
    left: 50%;
    margin: 0 0 0 -28px; }
    @media screen and (max-width: 767px) {
      .hw_line2:after {
        width: 40px;
        margin: 0 0 0 -20px; } }

.hw_fukidashi {
  padding: 10px 16px;
  position: relative;
  font-weight: 700;
  background: #f2f2f2;
  margin: 0 0 23px; }
  .hw_fukidashi:after {
    content: "";
    position: absolute;
    bottom: -9px;
    left: 40px;
    display: block;
    width: 0;
    height: 0;
    border: 9px solid transparent;
    border-top: 9px solid #f2f2f2;
    border-bottom: none; }

/*------------------------------------------*/
.sp_only .float_menu {
  position: fixed;
  top: -70px;
  right: 15px;
  width: 21px;
  height: 21px;
  padding: 12px;
  background: #e60027;
  border-radius: 100px;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.3);
  transition: all 1s ease 0s;
  overflow: hidden; }
  .sp_only .float_menu.active {
    top: 15px; }
.sp_only .float_gotop {
  position: fixed;
  bottom: -70px;
  right: 15px;
  width: 45px;
  height: 45px;
  background: #262626;
  border-radius: 100px;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.3);
  transition: all 1s ease 0s;
  overflow: hidden;
  z-index: 1; }
  .sp_only .float_gotop.active {
    bottom: 71px; }
  .sp_only .float_gotop.open {
    bottom: 183px; }
  .sp_only .float_gotop.open2 {
    bottom: 283px; }

.float_gotop.pc_only {
  position: fixed;
  bottom: 70px;
  right: 10px;
  opacity: 0;
  transition: all 0.5s ease 0s;
  z-index: 1; }
  .float_gotop.pc_only a {
    background: #c40200;
    display: block;
    width: 56px;
    height: 56px;
    text-align: center;
    padding: 20px 0 0 0;
    box-sizing: border-box; }
  .float_gotop.pc_only.active {
    opacity: 1; }
  .float_gotop.pc_only.open {
    bottom: 340px; }
  .float_gotop.pc_only.open2 {
    bottom: 282px; }

/*------------------------------------------*/
.side_contact {
  border: 4px solid #333;
  box-sizing: border-box;
  background: #fff;
  margin: 0 0 24px; }
  .side_contact h3 {
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    background: #333;
    padding: 6px 0 10px;
    text-align: center; }
  .side_contact h4 {
    font-size: 14px;
    margin: 0 0 10px;
    text-align: center; }
    .side_contact h4 img {
      vertical-align: top;
      margin-top: 3px; }
  .side_contact .tel {
    margin: 0 11px;
    padding: 16px 0 16px;
    border-bottom: 2px solid #ccc; }
    .side_contact .tel p {
      margin: 0;
      padding: 0;
      font-size: 10px;
      text-align: center;
      letter-spacing: -0.05em; }
    .side_contact .tel span img {
      height: 18px; }
  .side_contact .web {
    margin: 0 11px;
    padding: 16px 0 21px; }
    .side_contact .web h4 {
      font-size: 12px; }
    .side_contact .web .common_btn {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 10px; }

/*------------------------------------------*/
.side_product {
  margin: 0 0 24px; }
  .side_product ul.first > li {
    margin: 0 0 16px; }
  .side_product ul.second {
    display: none;
    border: 4px solid #333;
    border-top: none; }
    .side_product ul.second li {
      border-bottom: 2px solid #333; }
      .side_product ul.second li:last-child {
        border: none; }
      .side_product ul.second li a {
        display: block;
        padding: 16px 16px 16px 23px;
        background: url(/digitalmarketing/sp/shared/images/arrow_bk.svg) no-repeat left center/16px 13px;
        text-decoration: none;
        font-size: 0.8125rem;
        line-height: 1.4; }
      .side_product ul.second li a.current {
        background-color: #ccc; }
  .side_product h3 {
    background: #333;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    color: #fff;
    height: 56px;
    padding: 0 16px;
    margin: 0;
    transition: all 0.3s ease 0s; }
    .side_product h3 .arrow {
      content: "";
      width: 16px;
      height: 10px;
      display: block;
      vertical-align: top;
      position: absolute;
      top: 50%;
      right: 16px;
      margin-top: -5px;
      cursor: pointer;
      background: url(/digitalmarketing/sp/shared/images/arrow_wh_dn.svg) no-repeat center center/16px 10px; }
    .side_product h3.active .arrow {
      background-image: url(/digitalmarketing/sp/shared/images/arrow_wh_up.svg); }

/*------------------------------------------*/
.side_links ul li {
  margin: 0 0 8px; }
  .side_links ul li a {
    display: block;
    padding: 8px;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    background: #333;
    color: #fff !important;
    position: relative; }
    .side_links ul li a figure {
      width: 56px; }
    .side_links ul li a p {
      margin: 0 0 0 8px;
      width: 140px;
      font-size: 0.8125rem; }
    .side_links ul li a::before {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      right: 8px;
      z-index: 2;
      border-top: 4px solid transparent;
      border-bottom: 4px solid transparent;
      border-left: 7px solid #333;
      margin-top: -4px; }
    .side_links ul li a::after {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      right: 4px;
      z-index: 1;
      width: 16px;
      height: 16px;
      background: #fff;
      margin-top: -8px; }

/*------------------------------------------*/
a.link {
  display: inline-block;
  position: relative;
  padding-left: 14px; }
  a.link:before {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 0px;
    z-index: 2;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 7px solid #e60027; }

a.link_blank {
  display: inline-block;
  position: relative;
  padding-left: 14px; }
  a.link_blank:before {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 0px;
    z-index: 2;
    width: 7px;
    height: 7px;
    background: url(/digitalmarketing/sp/shared/images/link_blank.png) no-repeat center center; }

.common_btn {
  background: -webkit-linear-gradient(top, #c40200 50%, #b00200 51%, #c40200 100%);
  background: -moz-linear-gradient(top, #c40200 50%, #b00200 51%, #c40200 100%);
  background: linear-gradient(to bottom, #c40200 50%, #b00200 51%, #c40200 100%);
  display: block;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center;
  font-size: 1rem;
  line-height: 16px;
  padding: 18px 10px;
  box-sizing: border-box;
  cursor: pointer; }
  .common_btn.orange {
    background: -webkit-linear-gradient(#e95527 50%, #d24d23 51%, #e95527 100%);
    background: -o-linear-gradient(#e95527 50%, #d24d23 51%, #e95527 100%);
    background: linear-gradient(#e95527 50%, #d24d23 51%, #e95527 100%); }
  .common_btn.w264 {
    width: 264px;
    margin: 0 auto; }
  .common_btn.detail:after {
    content: "";
    width: 10px;
    height: 16px;
    display: inline-block;
    vertical-align: top;
    margin-left: 10px;
    background: url(/digitalmarketing/sp/shared/images/arrow_wh_rt.svg) no-repeat center center/10px 16px; }
  .common_btn.more:after {
    content: "";
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: top;
    margin-left: 10px;
    background: url(/digitalmarketing/sp/shared/images/arrow_wh_dn.svg) no-repeat center center/16px 10px; }
  @media screen and (max-width: 767px) {
    .common_btn.more.open {
      margin-top: 16px; } }
  .common_btn.more.open:after {
    background: url(/digitalmarketing/sp/shared/images/arrow_wh_up.svg) no-repeat center center/16px 10px; }
  .common_btn.document:before {
    content: "";
    width: 17px;
    height: 20px;
    display: inline-block;
    vertical-align: top;
    margin-right: 10px;
    background: url(/digitalmarketing/sp/shared/images/document.svg) no-repeat center center/17px 21px; }
  .common_btn.labo:before {
    content: "";
    width: 13px;
    height: 20px;
    display: inline-block;
    vertical-align: top;
    margin-right: 10px;
    background: url(/digitalmarketing/sp/shared/images/labo.svg) no-repeat center center/13px 20px; }
  .common_btn.mail:before {
    content: "";
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: top;
    margin-right: 10px;
    background: url(/digitalmarketing/sp/shared/images/mail.svg) no-repeat center center/20px 15px; }

/*------------------------------------------*/
ul.flex_box {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  margin: 0;
  padding: 0; }
  ul.flex_box li {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    background: #fff;
    position: relative; }
    ul.flex_box li .box_inner {
      padding: 24px; }
      @media screen and (max-width: 767px) {
        ul.flex_box li .box_inner {
          padding: 16px; } }
    ul.flex_box li img {
      width: 100%; }
    ul.flex_box li p {
      margin: 0 0 5px; }
      ul.flex_box li p strong {
        font-size: 1.125rem; }
    ul.flex_box li .label {
      position: absolute;
      top: 0;
      left: 0; }
    ul.flex_box li > a {
      color: #333;
      display: block;
      height: 100%; }
      ul.flex_box li > a .box_inner {
        padding: 16px; }
      ul.flex_box li > a p {
        margin: 0; }
    ul.flex_box li .common_btn {
      margin-top: 15px; }
  ul.flex_box.shadow li {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); }
  ul.flex_box.col3 li {
    width: calc(33.3% - 16px * 2 / 3); }
    @media screen and (max-width: 767px) {
      ul.flex_box.col3 li {
        width: 100%; }
        ul.flex_box.col3 li:last-child {
          margin: 0; } }
  ul.flex_box.col2 li {
    width: 474px; }
    @media screen and (max-width: 767px) {
      ul.flex_box.col2 li {
        width: 100%; }
        ul.flex_box.col2 li:last-child {
          margin: 0; } }
  ul.flex_box.col5 li {
    width: 180px; }
    @media screen and (max-width: 767px) {
      ul.flex_box.col5 li {
        width: calc(50% - 8px); } }

div.columnwrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  margin: 0;
  padding: 0; }
  div.columnwrap .child {
    box-sizing: border-box; }
    div.columnwrap .child.col2 {
      width: calc(50% - 8px); }
      @media screen and (max-width: 767px) {
        div.columnwrap .child.col2 {
          width: 100%;
          margin-bottom: 16px; } }

/*------------------------------------------*/
ul.date_list {
  margin: 0 0 20px;
  padding: 0;
  border: 1px solid #ccc; }
  ul.date_list li {
    padding: 15px;
    border-bottom: 1px dotted #ccc; }
    ul.date_list li:last-child {
      border: none; }
    ul.date_list li a, ul.date_list li .unlink {
      display: block;
      position: relative;
      text-decoration: none; }
      ul.date_list li a time, ul.date_list li .unlink time {
        float: left;
        width: 6.5em;
        box-sizing: border-box;
        font-size: 1rem;
        line-height: 26px; }
        @media screen and (max-width: 767px) {
          ul.date_list li a time, ul.date_list li .unlink time {
            font-size: 0.75rem;
            line-height: 22px;
            width: 80px; } }
      ul.date_list li a .label, ul.date_list li .unlink .label {
        line-height: 26px;
        padding: 0 0.5em;
        float: left;
        width: 7em;
        text-align: center;
        box-sizing: border-box; }
        @media screen and (max-width: 767px) {
          ul.date_list li a .label, ul.date_list li .unlink .label {
            font-size: 0.625rem;
            line-height: 22px; } }
      ul.date_list li a .text, ul.date_list li .unlink .text {
        padding-left: 15em; }
        @media screen and (max-width: 767px) {
          ul.date_list li a .text, ul.date_list li .unlink .text {
            clear: both;
            padding: 5px 0 0 0; } }
        ul.date_list li a .text h3, ul.date_list li .unlink .text h3 {
          font-size: 1rem;
          line-height: 26px;
          font-weight: 400;
          margin: 0;
          padding: 0;
          text-decoration: underline; }
          @media screen and (max-width: 767px) {
            ul.date_list li a .text h3, ul.date_list li .unlink .text h3 {
              font-size: 0.875rem;
              line-height: 1.6; } }
        ul.date_list li a .text p, ul.date_list li .unlink .text p {
          margin: 5px 0 0; }
      ul.date_list li a:hover .text h3, ul.date_list li .unlink:hover .text h3 {
        text-decoration: none; }

/*------------------------------------------*/
#contents_bottom {
  clear: both;
  background: #333;
  padding: 48px 0;
  margin: 80px 0 80px; }
  #contents_bottom .common_btn {
    display: flex;
    justify-content: center;
    align-items: center; }
  @media screen and (max-width: 767px) {
    #contents_bottom {
      margin: 0 16px 30px;
      padding: 16px; } }
  #contents_bottom .inner {
    width: 900px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    -webkit-align-items: stretch;
    align-items: stretch; }
    @media screen and (max-width: 767px) {
      #contents_bottom .inner {
        width: 100%;
        padding: 0; } }
  #contents_bottom .contact {
    background: #fff;
    margin: 0 0 16px;
    padding: 24px;
    width: 100%; }
    @media screen and (max-width: 767px) {
      #contents_bottom .contact {
        margin: 0 0 8px;
        padding: 16px; } }
    #contents_bottom .contact .contact_inner {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        #contents_bottom .contact .contact_inner {
          flex-direction: column; } }
      #contents_bottom .contact .contact_inner figure {
        width: 213px; }
        @media screen and (max-width: 767px) {
          #contents_bottom .contact .contact_inner figure {
            width: auto; }
            #contents_bottom .contact .contact_inner figure img {
              width: 100%; } }
      #contents_bottom .contact .contact_inner .contact_frame {
        width: 600px; }
        @media screen and (max-width: 767px) {
          #contents_bottom .contact .contact_inner .contact_frame {
            width: 100%; } }
        #contents_bottom .contact .contact_inner .contact_frame .contact_sub {
          font-size: 24px;
          font-weight: bold; }
          @media screen and (max-width: 767px) {
            #contents_bottom .contact .contact_inner .contact_frame .contact_sub {
              font-size: 20px;
              margin-top: 10px; } }
        #contents_bottom .contact .contact_inner .contact_frame .contact_txt {
          font-size: 14px;
          margin-top: 8px; }
          @media screen and (max-width: 767px) {
            #contents_bottom .contact .contact_inner .contact_frame .contact_txt {
              font-size: 0.75rem; } }
        #contents_bottom .contact .contact_inner .contact_frame .contact_form {
          margin-top: 16px; }
          @media screen and (max-width: 767px) {
            #contents_bottom .contact .contact_inner .contact_frame .contact_form {
              margin-top: 10px; } }
  #contents_bottom .box {
    width: 443px;
    background: #fff;
    padding: 24px;
    box-sizing: border-box; }
    @media screen and (max-width: 767px) {
      #contents_bottom .box {
        margin-top: 16px;
        padding: 16px;
        width: 100%; } }
    #contents_bottom .box p {
      font-size: 0.75rem;
      margin: 15px 0;
      letter-spacing: -0.03em; }
      @media screen and (max-width: 767px) {
        #contents_bottom .box p {
          margin: 10px 0; } }
    @media screen and (max-width: 767px) {
      #contents_bottom .box img {
        width: 100%; } }

/*------------------------------------------*/
.pagetitle {
  background: url(/digitalmarketing/sp/shared/images/pagetitle_bg_default2.jpg) no-repeat center center/cover;
  min-height: 180px;
  height: 180px;
  color: #fff;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  padding: 23px;
  box-sizing: border-box;
  margin: 0 0 30px; }
  @media screen and (max-width: 767px) {
    .pagetitle {
      margin: 0 -16px 20px;
      min-height: 125px;
      height: 125px;
      padding: 16px 16px;
      background-image: url(/digitalmarketing/sp/shared/images/pagetitle_bg_default_sp.jpg); } }
  .inner .pagetitle {
    background: url(/digitalmarketing/sp/shared/images/pagetitle_bg_default.jpg) no-repeat center center/cover; }
    @media screen and (max-width: 767px) {
      .inner .pagetitle {
        background-image: url(/digitalmarketing/sp/shared/images/pagetitle_bg_default_sp.jpg); } }
  .pagetitle > div span {
    font-size: 1rem;
    line-height: 1;
    margin: 0 0 15px;
    display: block; }
    @media screen and (max-width: 767px) {
      .pagetitle > div span {
        font-size: 0.75rem;
        line-height: 1.4;
        margin: 0 0 10px; } }
  .pagetitle > div h1 {
    /*font-size:2.5rem;*/
    font-size: 40px;
    line-height: 1;
    font-weight: 900;
    display: block; }
    .pagetitle > div h1.small {
      /*font-size:2.125rem;*/
      font-size: 34px;
      line-height: 1.3; }
    @media screen and (max-width: 767px) {
      .pagetitle > div h1 {
        font-size: 1.25rem;
        line-height: 1.3; }
        .pagetitle > div h1.small {
          font-size: 1.125rem; } }

/*------------------------------------------*/
#other_product ul {
  display: flex;
  justify-content: space-between;
  -webkit-align-items: stretch;
  align-items: stretch;
  flex-wrap: wrap; }
  #other_product ul li {
    border: 4px solid #eee;
    padding: 16px 16px 80px;
    position: relative;
    width: 223px;
    box-sizing: border-box; }
    @media screen and (max-width: 767px) {
      #other_product ul li {
        width: 100%;
        margin: 0 0 16px;
        padding: 16px; } }
    #other_product ul li h3 {
      font-size: 1rem;
      font-weight: 700;
      line-height: 22px;
      padding: 11px 0;
      margin: 0 0 11px; }
      @media screen and (max-width: 767px) {
        #other_product ul li h3 {
          padding: 0; } }
    #other_product ul li:nth-of-type(1) h3 {
      padding: 0; }
    #other_product ul li p {
      margin: 16px 0 0;
      font-size: 0.75rem; }
    #other_product ul li a.common_btn {
      position: absolute;
      bottom: 16px;
      left: 16px;
      width: calc(100% - 32px); }
      @media screen and (max-width: 767px) {
        #other_product ul li a.common_btn {
          position: static;
          width: 100%;
          margin-top: 16px; } }
    #other_product ul li.current {
      border-color: #e60027; }
      #other_product ul li.current a {
        display: none; }

/*------------------------------------------*/
.table {
  display: table;
  border-collapse: collapse;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #ccc; }
  @media screen and (max-width: 767px) {
    .table {
      display: block;
      border: none;
      margin: 0 0 16px; } }
  .table .thead {
    display: table-header-group; }
  .table .tbody {
    display: table-row-group; }
    @media screen and (max-width: 767px) {
      .table .tbody {
        display: block; } }
  .table .tr {
    background: #fff; }
    @media print, screen and (min-width: 768px) {
      .table .tr {
        display: table-row !important; } }
    @media screen and (max-width: 767px) {
      .table .tr {
        display: block;
        margin: 0 0 10px;
        border-top: 1px solid #ccc; } }
    .table .tr .th {
      display: table-cell;
      background: #666;
      color: #fff;
      white-space: nowrap;
      padding: 12px 16px;
      border: 1px solid #ccc; }
    .table .tr .td {
      display: table-cell;
      padding: 12px 16px;
      border: 1px solid #ccc;
      vertical-align: top; }
      @media screen and (max-width: 767px) {
        .table .tr .td {
          display: block;
          border-top: none;
          padding: 0 16px 10px; }
          .table .tr .td:before {
            content: "項目名";
            display: block;
            margin: 0 -16px 10px;
            background: #666;
            color: #fff;
            font-size: 0.625rem;
            padding: 6px 16px; } }

/*------------------------------------------*/
#contents_bottom.underlayer {
  width: 980px;
  margin: 80px auto; }

@media screen and (max-width: 767px) {
  #contents_bottom.underlayer {
    width: auto;
    margin: 0 16px 30px; } }
/*------------------------------------------*/
#mainarea .tag {
  color: #fff;
  display: inline-block;
  padding: 2px 6px;
  margin-top: 8px;
  margin-right: 8px;
  font-size: 80%; }
  #mainarea .tag.RD {
    background: #c40200; }
  #mainarea .tag.OR {
    background: #e95527; }
  #mainarea .tag.BL {
    background: #27a7e9; }
  #mainarea .tag.GR {
    background: #15b227; }
  #mainarea .tag.tagc1 {
    background: #0070c0; }
  #mainarea .tag.tagc2 {
    background: #00b050; }
  #mainarea .tag.tagc3 {
    background: #993300; }
  #mainarea .tag.tagc4 {
    background: #ed7d31; }
  #mainarea .tag.tagc5 {
    background: #006600; }
  #mainarea .tag.tagc6 {
    background: #339966; }
  #mainarea .tag.tagc7 {
    background: #003399; }
  #mainarea .tag.tagc8 {
    background: #c00000; }
  #mainarea .tag.tagc9 {
    background: #7030a0; }
  #mainarea .tag.tagc10 {
    background: #ff7c80; }
  #mainarea .tag.tagc11 {
    background: #009999; }
  #mainarea .tag.tagc12 {
    background: #ff0000; }
  #mainarea .tag.tagc13 {
    background: #00b0f0; }
  #mainarea .tag.tagc14 {
    background: #00cc66; }
  #mainarea .tag.tagc15 {
    background: #69631c; }
  #mainarea .tag.tagc16 {
    background: #cc6600; }
  #mainarea .tag.tagc17 {
    background: #669900; }
  #mainarea .tag.tagc18 {
    background: #990033; }
  #mainarea .tag.tagc19 {
    background: #6c7cf0; }
  #mainarea .tag.tagc20 {
    background: #ff6600; }
  #mainarea .tag.tagc21 {
    background: #db7093; }
  #mainarea .tag.tagc22 {
    background: #0D616B; }
  #mainarea .tag.tagc23 {
    background: #484205; }
  #mainarea .tag.tagc23 {
    background: #9A902D; }
  @media screen and (max-width: 767px) {
    #mainarea .tag {
      margin-top: 4px;
      margin-right: 4px; } }

/*------------------------------------------*/
.sns_area {
  margin: 0;
  padding: 0; }
  .sns_area li {
    display: inline-block;
    vertical-align: bottom;
    line-height: 0;
    margin-right: 5px;
    margin-bottom: 8px; }

/*------------------------------------------*/
#top_Recommend ul.flex_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  margin: 0;
  padding: 0; }
  #top_Recommend ul.flex_box li {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    background: #fff;
    position: relative; }
    #top_Recommend ul.flex_box li figure {
      position: relative; }
      #top_Recommend ul.flex_box li figure .tag_area {
        position: absolute;
        top: 0;
        left: 0; }
        #top_Recommend ul.flex_box li figure .tag_area .label {
          display: inline-block;
          position: relative !important;
          top: unset !important;
          left: unset !important; }
    #top_Recommend ul.flex_box li .box_inner {
      padding: 24px; }
      @media screen and (max-width: 767px) {
        #top_Recommend ul.flex_box li .box_inner {
          padding: 16px; } }
    #top_Recommend ul.flex_box li img {
      width: 100%; }
    #top_Recommend ul.flex_box li p {
      margin: 0 0 5px; }
      #top_Recommend ul.flex_box li p strong {
        font-size: 1.125rem; }

/*------------------------------------------*/
h1 span {
  font-size: 60% !important;
  margin-bottom: 8px !important; }
  @media screen and (max-width: 767px) {
    h1 span {
      font-size: 100% !important;
      margin-bottom: 4px !important; } }

/*------------------------------------------*/
#contents .side_product h3 a {
  color: #fff;
  text-decoration: none; }

/*------------------------------------------*/
@media screen and (max-width: 994px) {
  .JS body {
    min-width: 995px; } }
@media screen and (max-width: 767px) {
  .JS body {
    min-width: 320px; } }
/*------------------------------------------*/
#GlobalNaviTop li.Current > a {
  display: block;
  line-height: 35px;
  padding: 0 15px;
  background: url(/digitalmarketing/sp/hitachi_temp/image/jp/r1/bg_g_navi_current.gif) no-repeat center bottom #b1000e;
  color: #fff;
  font-weight: 700; }

#GlobalNaviTop li.Current > a > strong {
  padding: 0; }

#customer_journey #GlobalNaviTop li.products > a,
#customer_experience #GlobalNaviTop li.products > a,
#customer_loyalty #GlobalNaviTop li.products > a,
#customer_analysis #GlobalNaviTop li.products > a {
  display: block;
  line-height: 35px;
  padding: 0 15px;
  background: url(/digitalmarketing/sp/hitachi_temp/image/jp/r1/bg_g_navi_current.gif) no-repeat center bottom #b1000e;
  color: #fff;
  font-weight: 700; }

#customer_journey #GlobalNaviTop .sub li.customer_journey > a,
#customer_experience #GlobalNaviTop .sub li.customer_experience > a,
#customer_loyalty #GlobalNaviTop .sub li.customer_loyalty > a,
#customer_analysis #GlobalNaviTop .sub li.customer_analysis > a,
#themelist #GlobalNaviTop .sub li.themelist > a {
  background: #b1000e; }

@media screen and (max-width: 767px) {
  .JS #GlobalNaviTopSP li.Current > a {
    position: relative;
    display: block;
    color: #fff;
    line-height: 140%;
    padding: 12px 40px 12px 15px;
    background-image: none;
    background-color: #b1000e;
    border-top: solid 1px #b1000e;
    font-weight: 700; }

  .JS #customer_journey #GlobalNaviTopSP li.products > a,
  .JS #customer_journey #GlobalNaviTopSP li.customer_journey > a,
  .JS #customer_experience #GlobalNaviTopSP li.products > a,
  .JS #customer_experience #GlobalNaviTopSP li.customer_experience > a,
  .JS #customer_loyalty #GlobalNaviTopSP li.products > a,
  .JS #customer_loyalty #GlobalNaviTopSP li.customer_loyalty > a,
  .JS #customer_analysis #GlobalNaviTopSP li.products > a,
  .JS #customer_analysis #GlobalNaviTopSP li.customer_analysis > a {
    position: relative;
    display: block;
    color: #fff;
    line-height: 140%;
    padding: 12px 40px 12px 15px;
    background-image: none;
    background-color: #b1000e;
    border-top: solid 1px #b1000e;
    font-weight: 700; } }
/*------------------------------------------*/
ul.second.products.block,
ul.second.customer_journey.block,
ul.second.customer_experience.block,
ul.second.customer_loyalty.block,
ul.second.customer_analysis.block {
  display: block; }

/*------------------------------------------*/
.column_count {
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px; }

.common_btn_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .common_btn_wrap .common_btn {
    width: calc(50% - 40px / 2);
    transition: opacity .3s ease;
    margin: 0 10px; }
    .common_btn_wrap .common_btn:hover {
      opacity: .7; }
    @media screen and (max-width: 767px) {
      .common_btn_wrap .common_btn {
        width: 100%;
        margin: 0 0 10px; } }

.accordion_close {
  background-image: none;
  background-color: #666; }
  .accordion_close:after {
    transform: rotate(180deg); }
  @media screen and (max-width: 767px) {
    .accordion_close {
      order: -1; } }

/*------------------------------------------*/
.banner {
  width: 300px;
  height: 60px;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 3;
  transition: height .5s; }
  .banner.open {
    height: 330px; }
  @media screen and (max-width: 767px) {
    .banner {
      height: 56px; }
      .banner.open {
        height: 168px; } }

.banner__image {
  width: 100%;
  position: absolute;
  top: 60px;
  right: 0; }
  @media screen and (max-width: 767px) {
    .banner__image {
      top: 56px; } }

.banner__close {
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer; }

.banner__open {
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer; }

.banner2 {
  width: 300px;
  height: 48px;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 80;
  transition: all 0.5s ease 0s; }
  @media screen and (max-width: 767px) {
    .banner2 {
      transition-duration: 1s; } }
  .banner2.open {
    height: 260px; }

.banner2__image {
  width: 100%;
  position: absolute;
  top: 48px;
  right: 0; }

.banner2__close {
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer; }

.banner2__open {
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  display: none; }
  .banner2__open.show {
    display: block; }

/*------------------------------------------*/
.common_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px; }
  @media screen and (max-width: 767px) {
    .common_tags {
      gap: 6px; } }

.common_tag {
  display: inline-block;
  background: #fff;
  color: #A2201C;
  font-size: 14px;
  line-height: 1;
  padding: 8px 16px;
  border: 1px solid #A2201C;
  border-radius: 16px; }
  @media screen and (max-width: 767px) {
    .common_tag {
      font-size: 12px;
      padding: 6px 12px;
      border-radius: 13px; } }

.common_heading {
  font-size: 24px;
  font-weight: 700;
  line-height: calc(35 / 24);
  padding-left: 14px;
  position: relative; }
  .common_heading:before {
    content: "";
    display: inline-block;
    width: 4px;
    height: calc(100% - 10px);
    background: #E60027;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%); }
  @media screen and (max-width: 767px) {
    .common_heading {
      font-size: 18px; } }

.common_heading_secondary {
  font-size: 20px;
  font-weight: 700;
  line-height: calc(31 / 20);
  padding-left: 55px;
  position: relative; }
  .common_heading_secondary:before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 2px;
    background: #CC0022;
    position: absolute;
    top: 15px;
    left: 0; }
  @media screen and (max-width: 767px) {
    .common_heading_secondary {
      font-size: 16px;
      padding-left: 30px; }
      .common_heading_secondary:before {
        width: 20px;
        top: 11px; } }

/*------------------------------------------*/
.mainarea__column_banner {
  margin-top: 80px; }
  @media screen and (max-width: 767px) {
    .mainarea__column_banner {
      margin-top: 40px; } }

/*------------------------------------------*/
.paginationjs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 5px;
  margin-top: 30px; }

.paginationjs ul li {
  width: auto !important;
  border: none !important;
  padding: 0 !important; }

.paginationjs ul li:not(:last-child) {
  margin-right: 5px; }

.paginationjs ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: #f2f2f2;
  color: #333 !important;
  font-weight: bold;
  text-decoration: none;
  color: #333;
  cursor: pointer; }

.paginationjs ul li.active a {
  background-color: #e61228; }

.paginationjs ul li.active a {
  color: #fff !important; }

/*------------------------------------------*/
.hs-main-visual {
  display: block;
  background-image: url(/digitalmarketing/sp/shared/images/top/mv_02_bg.jpg) !important; }

.hs-main-visual__heading {
  color: #fff; }

.hs-navigation {
  margin: 0 0 70px; }
  @media screen and (max-width: 767px) {
    .hs-navigation {
      margin: 0 0 35px; } }

h2 span {
  background-color: transparent !important; }

.btn_area {
  margin-top: 24px; }

@media screen and (max-width: 767px) {
  .hs-fixed-buttons .hs-c-button {
    padding: 0 !important; } }

@media screen and (max-width: 1199px) {
  .hs-fixed-buttons .hs-fixed-buttons__container {
    padding-bottom: calc(10px + 48px) !important; } }
@media screen and (max-width: 767px) {
  .hs-fixed-buttons .hs-fixed-buttons__container {
    padding-bottom: calc(5.3333333333vw + 48px) !important; } }

/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
