@charset "UTF-8";

/* ====================================
	jp.sharpトップ共通スタイル
 ==================================== */
/* ユーティリティ */
.mt1em {
  margin-top: 1em;
}

.bdr-gray {
  border: solid 1px #d9d9d9;
}

a.hover-fade {
  text-decoration: none;
}

.has-arrow-left .fa-angle-right {
  margin-right: 0.25em;
}

.has-arrow-left.ttl {
  text-indent: -0.36em;
  padding-left: 1.2em;
}

.lineup-sub-title,
.sub-title,
.products-sub-title {
  font-weight: 400;
}

.has-btn-show-list {
  display: flex;
}

ul.list-btn-show-list {
  display: flex;
}

ul.list-btn-show-list li {
  display: flex;
  align-items: center;
}

/* 一覧を見るボタン */
a.btn-show-list {
  display: inline-block;
  padding: 0.25em 1em 0.25em 2em;
  font-size: 1.3rem;
  background: #fff;
  color: #535353;
  border: solid 1px #535353;
  border-radius: 0.5rem;
  position: relative;
  text-decoration: none;
}

a.btn-show-list::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  display: inline-block;
  font-size: 1.2em;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 0.75em;
  margin-top: -0.5em;
}

.arrow-link {
  display: inline-block;
  padding: 0 0 0 1.4em;
  font-size: 1.4rem;
  line-height: 1;
  position: relative;
}

.arrow-link::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  display: inline-block;
  font-size: 1.2em;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 0.2em;
  margin-top: -0.5em;
}

/* メインビジュアル：スライドショー */
.main-visual-button-next,
.main-visual-button-prev {
  position: absolute;
  top: 50%;
  width: 6%;
  height: 12%;
  margin-top: -6%;
  z-index: 2;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.6);
  background-size: 40% auto;
  background-position: center;
  background-repeat: no-repeat;
}

.main-visual-button-prev {
  background-image: url(/products/common/images/arrow-prev-b.svg);
  left: 0;
  right: auto
}

.main-visual-button-next {
  background-image: url(/products/common/images/arrow-next-b.svg);
  right: 0;
  left: auto
}

.main-img .swiper-pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 20px 0;
  position: relative;
}

.main-img .swiper-pagination-bullet {
  width: 40px;
  height: 4px;
  margin: 0 5px;
  background: #aaa;
  border-radius: 0;
}

.main-img .swiper-pagination-bullet-active {
  background: #878787;
}

/* 製品・サービス */
#lineup {
  background: #f5f5f5;
}

#lineup ul.list-lineup-item {
  display: none;
}

ul.list-lineup a {
  background-color: #fff;
  text-decoration: none;
}

ul.list-service li a {
  background-color: #fff;
  background-repeat: no-repeat;
}

ul.list-service li a[data-icon="cocoroplus"] {
  background-image: url(../images/icon-cocoroplus.svg);
}

ul.list-service li a[data-icon="multicopy"] {
  background-image: url(../images/icon-multicopy.svg);
}

/* 製品のサポート・ご購入 */
ul.list-main-support li a {
  background-repeat: no-repeat;
}

ul.list-main-support li a[data-icon="support"] {
  background-image: url(../images/icon-support.svg);
}

ul.list-main-support li a[data-icon="faq"] {
  background-image: url(../images/icon-faq.svg);
}

ul.list-main-support li a[data-icon="store"] {
  background-image: url(../images/icon-store.svg);
}

/* 新着情報 */
ul.list-news a {
  text-decoration: underline;
  color: #000099;
}

ul.list-news a:hover {
  color: #FF6633;
  text-decoration: none;
}

/* 災害時における製品の取り扱いについて */
.saigai-info {
  padding: 0.5em;
  border: solid 1px #E6000D;
  color: #E6000D;
  text-align: center;
}

.saigai-info a {
  color: inherit;
}

/* 製品に関する大切なお知らせ */
.important-notification {
  text-align: right;
}

.important-notification a {
  display: inline-block;
  padding: 0.25em 0 0.25em 1.75em;
  background-image:
    url(/index_common/images/icon-important-notification.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  font-size: 1.5rem;
  line-height: 1;
}

/* キャンペーン */
#campaign .flex-item .ttl {
  font-weight: 500;
}

#campaign .flex-item .text {
  color: #535353;
}

#campaign .flex-item .img-container {
  border: solid 1px #d9d9d9;
}

/* ピックアップコンテンツ */
#pickup .flex-item.hidden {
  display: none;
}

#pickup .flex-item .category {
  line-height: 1.4;
  color: #a0a0a0;
}

#pickup .flex-item .ttl {
  font-weight: 500;
}

#pickup .flex-item .img {
  border: solid 1px #d9d9d9;
}

#pickupMore a {
  display: block;
  margin-top: 5rem;
  padding: 0.5em;
  font-size: 1.8rem;
  background: #e6e6e6;
  color: #403d33;
  text-align: center;
  cursor: pointer;
}

#pickupMore .icon-more {
  display: inline-block;
  width: 1em;
  margin-right: 0.5em;
  line-height: 1;
}

/* 製品ページ専用フッター */
.products-page-footer-navi-item a {
  color: #535353;
}

/* ポップアップ */
body {
  position: relative;
}

.popup-scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}

.lineup-popup {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  padding: 15vh 5% 5vh;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
  display: none;
}

.lineup-popup-container {
  width: 100%;
  max-height: 100%;
  overflow: auto;
}

/* closeボタン */
.lineup-popup .btn-close {
  width: 100%;
  height: 15vh;
  line-height: 1;
  color: #eee;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
}

.lineup-popup .btn-close .fa-times {
  padding: 0.5rem;
  position: absolute;
  bottom: 0;
  right: 5%;
  font-size: 3rem;
}

.lineup-popup .result {
  background: #fff;
}

.lineup-popup .result .ttl {
  font-weight: 500;
  text-align: center;
}

.lineup-popup ul.list-lineup-item {
  display: flex;
  flex-wrap: wrap;
  max-width: 768px;
  margin: 0 auto;
}

.lineup-popup ul.list-lineup-item li a {
  display: block;
  padding: 65% 0 0;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 65% auto;
}

.lineup-popup ul.list-lineup-item li a[data-img="aquos"] {
  background-image: url(/lineup/images/av_aquos.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="bd4k"] {
  background-image: url(/lineup/images/av_bd4k.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="bd"] {
  background-image: url(/lineup/images/av_bd.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="aquos-audio"] {
  background-image: url(/lineup/images/av_aquos-audio.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="sound-partner"] {
  background-image: url(/lineup/images/av_soundpartner.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="speaker"] {
  background-image: url(/lineup/images/av_speaker.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="aircon"] {
  background-image: url(/lineup/images/air_aircon.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="kuusei"] {
  background-image: url(/lineup/images/air_kuusei.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="dassyuu"] {
  background-image: url(/lineup/images/air_dassyuu.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="pcig"] {
  background-image: url(/lineup/images/air_pcig.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="pci_fan"] {
  background-image: url(/lineup/images/air_pci_fan.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="kansouki"] {
  background-image: url(/lineup/images/air_kansouki.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="joshitsu"] {
  background-image: url(/lineup/images/air_joshitsu.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="kashitsu"] {
  background-image: url(/lineup/images/air_kashitsu.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="danbou"] {
  background-image: url(/lineup/images/air_danbou.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="reizo"] {
  background-image: url(/lineup/images/kitchen_reizo.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="range"] {
  background-image: url(/lineup/images/kitchen_range.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="toaster"] {
  background-image: url(/lineup/images/kitchen_toaster.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="hotcook"] {
  background-image: url(/lineup/images/kitchen_hotcook.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="blender"] {
  background-image: url(/lineup/images/kitchen_blender.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="ocha"] {
  background-image: url(/lineup/images/kitchen_ocha.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="ricecooker"] {
  background-image: url(/lineup/images/kitchen_ricecooker.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="ks"] {
  background-image: url(/lineup/images/kitchen_ks.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="sentaku"] {
  background-image: url(/lineup/images/ha_sentaku.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="uw"] {
  background-image: url(/lineup/images/ha_uw.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="souji"] {
  background-image: url(/lineup/images/ha_souji.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="cocorobo"] {
  background-image: url(/lineup/images/ha_cocorobo.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="pci_hair"] {
  background-image: url(/lineup/images/ha_pci_hair.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="pethealthcare"] {
  background-image: url(/lineup/images/ha_pethealthcare.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="tekion"] {
  background-image: url(/lineup/images/ha_tekion.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="k-tai"] {
  background-image: url(/lineup/images/mobile_k-tai.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="phone"] {
  background-image: url(/lineup/images/mobile_phone.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="robohon"] {
  background-image: url(/lineup/images/mobile_robohon.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="funband"] {
  background-image: url(/lineup/images/mobile_funband.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="dynabook"] {
  background-image: url(/lineup/images/infod_dynabook.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="edictionary"] {
  background-image: url(/lineup/images/infod_edictionary.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="penjisho"] {
  background-image: url(/lineup/images/infod_penjisho.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="enote"] {
  background-image: url(/lineup/images/infod_enote.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="calc"] {
  background-image: url(/lineup/images/infod_calc.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="sunvista"] {
  background-image: url(/lineup/images/energy_sunvista.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="energy_controller"] {
  background-image: url(/lineup/images/energy_controller.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="battery"] {
  background-image: url(/lineup/images/energy_battery.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="citycharge"] {
  background-image: url(/lineup/images/energy_citycharge.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="solar"] {
  background-image: url(/lineup/images/energy_solar.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="mask"] {
  background-image: url(/lineup/images/livingware_mask.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="faceshield"] {
  background-image: url(/lineup/images/livingware_shield.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="speaker-system"] {
  background-image: url(/support/lineup/images/business_speaker-system.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="speakerlantern"] {
  background-image: url(/support/lineup/images/speakerlantern.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="stock_assist"] {
  background-image: url(/support/lineup/images/stock_assist.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="mebius"] {
  background-image: url(/support/lineup/images/mebius.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="i-aquos"] {
  background-image: url(/support/lineup/images/i-aquos.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="led_ceiling"] {
  background-image: url(/support/lineup/images/led_ceiling.jpg);
}

.lineup-popup ul.list-lineup-item li a[data-img="shoescloset"] {
  background-image: url(/support/lineup/images/shoescloset.jpg);
}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }

  .sp-tr {
    text-align: right;
  }

  .has-btn-show-list ul.list-btn-show-list {
    margin-left: 2rem;
  }

  /* 災害時における製品の取り扱いについて */
  .saigai-info {
    margin: 1rem 0 2rem;
    font-size: 1.2rem;
  }

  /* 製品に関する大切なお知らせ */
  .important-notification {
    margin: 1rem 0 3rem;
  }

  /* セクション */
  .sub-section {
    padding-top: 4rem;
    padding-bottom: 4rem;
    border-top: solid 1px #d9d9d9;
  }

  .products-sub-title {
    flex-shrink: 0;
    font-size: 2.2rem;
  }

  .sub-title-container {
    margin-bottom: 3rem;
  }

  .sub-title-container .sub-title {
    flex-shrink: 0;
  }

  /* フレックスコンテナ */
  .flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  /* フレックスコンテナ：スマホ2列 */
  .flex-container.sp-column2 {
    font-size: 1.5rem;
  }

  .flex-container.sp-column2 .ttl {
    font-size: 1.6rem;
    font-weight: 500;
  }

  .flex-container.sp-column2>.flex-item {
    width: 48%;
  }

  .flex-container.sp-column2>.flex-item:nth-of-type(-n+2) {
    margin-top: 0;
  }

  /* 製品・サービス */
  #lineup {
    border-top: none;
  }

  ul.list-lineup {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2rem;
  }

  ul.list-lineup>li {
    width: 49%;
    margin-left: 1%;
    margin-top: 0.5rem;
  }

  ul.list-lineup>li:nth-child(2n-1) {
    margin-left: 0;
  }

  ul.list-lineup>li:nth-child(-n+2) {
    margin-top: 0;
  }

  ul.list-lineup>li>a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 1rem;
    line-height: 1.3;
  }

  ul.list-lineup>li>a .img {
    padding: 0 20%;
  }

  ul.list-lineup>li>a .ttl {
    width: 100%;
    text-align: center;
  }

  ul.list-service {
    margin-top: 2rem;
  }

  ul.list-service li {
    margin-top: 2px;
  }

  ul.list-service li:first-child {
    margin-top: 0;
  }

  ul.list-service li a {
    display: block;
    padding: 1em 2em 1em 4em;
    background-size: 2.5em auto;
    background-position: left 0.5em center;
    position: relative;
  }

  ul.list-service li a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    display: inline-block;
    font-size: 1.2em;
    line-height: 1;
    position: absolute;
    top: 50%;
    right: 0.75em;
    margin-top: -0.5em;
  }

  /* 製品についてもっと詳しく */
  .lineup-sub-title {
    margin-top: 2rem;
    padding-top: 2rem;
    font-size: 1.8rem;
    border-top: solid 1px #A0A0A0;
  }

  ul.list-lineup-more {
    margin-top: 0.5em;
  }

  ul.list-lineup-more li .ttl {
    font-size: 1.4rem;
  }

  ul.list-lineup-more li a {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0.2em 2em 0.2em 1.4em;
    position: relative;
  }

  ul.list-lineup-more li a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    display: inline-block;
    font-size: 1.2em;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 0.2em;
    margin-top: -0.5em;
  }

  /* 商品のサポート・ご購入 */
  #support {
    border-top: none;
  }

  ul.list-main-support {
    display: flex;
    justify-content: space-between;

  }

  ul.list-main-support li {
    width: 33.3%;
    border: solid 1px #D9D9D9;
    margin-right: 1%;
  }

  ul.list-main-support li a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 50% 5% 5% 5%;
    background-repeat: no-repeat;
    background-position: center top 20%;
    background-size: 30% auto;
    /*border-left: solid 1px #D9D9D9;*/
    font-size: 1.4rem;
  }

  ul.list-main-support li:first-child a {
    border-left: none;
  }

  ul.list-main-support li a .ttl {
    width: 100%;
    text-align: center;
  }

  ul.list-main-support li a .ttl .small {
    font-size: 0.8em;
  }

  ul.list-support {
    margin-top: 2rem;
  }

  ul.list-support li .ttl {
    font-size: 1.4rem;
  }

  ul.list-support li a {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0.2em 2em 0.2em 1.4em;
    position: relative;
  }

  ul.list-support li a::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    display: inline-block;
    font-size: 1.2em;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 0.2em;
    margin-top: -0.5em;
  }

  /* キャンペーン */
  #campaign .flex-item {
    margin-top: 2rem;
  }

  #campaign .flex-item:first-of-type {
    margin-top: 0;
  }

  #campaign .sp-column-img-text {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }

  #campaign .sp-column-img-text .ttl {
    font-size: 1.6rem;
    font-weight: 500;
  }

  #campaign .sp-column-img-text .text {
    margin-top: 1rem;
    font-size: 1.5rem;
  }

  #campaign .sp-column-img-text .text-small {
    font-size: 0.9em;
  }

  #campaign .sp-column-img-text>.img-container {
    width: 33%;
  }

  #campaign .sp-column-img-text>.text-container {
    width: 60%;
  }

  /* ピックアップコンテンツ */
  #pickup .flex-item {
    margin-top: 2rem;
  }

  #pickup .flex-item:nth-of-type(-n+2) {
    margin-top: 0;
  }

  #pickup .flex-item .ttl {
    margin-top: 0.5em;
  }

  #pickup .flex-item .text {
    margin-top: 0.5em;
    font-size: 1.4rem;
  }

  #pickup .flex-item .category {
    margin-top: 0.5em;
    font-size: 1.2rem;
  }

  /* 新着情報 */
  ul.list-news li {
    margin-top: 1em;
    padding-top: 1em;
    border-top: dashed 1px #a0a0a0;
    display: none;
  }

  ul.list-news li:nth-child(-n + 12) {
    display: inherit;
  }

  ul.list-news li:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }

  ul.list-news li .text {
    margin-top: 0.2em;
  }

  ul.list-news li .date {
    font-size: 1.6rem;
  }

  ul.list-news li .text {
    font-size: 1.6rem;
  }

  /* 公式Twitter */
  #officialTwitter {
    display: none;
  }

  /* 外部リンクバナー */
  #outerLinks ul {
    display: flex;
    flex-wrap: wrap;
  }

  #outerLinks ul li {
    max-width: 48%;
    margin-right: 2%;
    margin-bottom: 1rem;
  }

  #outerLinks ul li a {
    display: block;
    width: 100%;
  }

  /* jp.sharpフッター */
  #productsPageFooterNavi {
    display: flex;
    justify-content: space-between;
    padding: 2rem 0;
    color: #535353;
    border-top: solid 1px #A0A0A0;
  }

  .products-page-footer-navi-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 50%;
    padding: 2rem 0;
  }

  .products-page-footer-navi-item:first-of-type {
    border-right: solid 1px #A0A0A0;
  }

  .products-page-footer-navi-ttl {
    width: 100%;
    text-align: center;
  }

  ul.list-sns {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0 5%;
    margin-top: 1em;
  }

  ul.list-sns li a {
    display: block;
    max-width: 5rem;
    padding: 15%;
  }

  .products-page-footer-navi-item .link {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .products-page-footer-navi-item .link a {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .products-page-footer-navi-item .link a .img {
    width: 3.5rem;
  }

  .products-page-footer-navi-item .link .ttl {
    padding-left: 0.2em;
    font-size: 1.4rem;
    text-align: center;
  }

  /* ポップアップ */
  .lineup-popup .result {
    padding: 3rem 5% 4rem;
  }

  .lineup-popup .result .ttl {
    margin-bottom: 2rem;
    font-size: 2rem;
  }

  .lineup-popup ul.list-lineup-item li {
    width: 33%;
    margin-bottom: 1rem;
  }

  .lineup-popup ul.list-lineup-item li a {
    font-size: 1.2rem;
    line-height: 1.3;
  }
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }

  .has-btn-show-list ul.list-btn-show-list {
    margin-left: 3rem;
  }

  /* 災害時における製品の取り扱いについて */
  .saigai-info {
    margin: 2rem 0;
    font-size: 1.4rem;
  }

  /* 製品に関する大切なお知らせ */
  .important-notification {
    margin: 2rem 0;
  }

  /* 一覧を見るボタン */
  .btn-show-list:hover {
    background: #535353;
    color: #fff;
  }

  /* セクション */
  .sub-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  #campaign.sub-section {
    padding-top: 2rem;
  }

  #lineup.sub-section {
    padding-bottom: 8rem;
  }

  .products-sub-title {
    font-size: 2.8rem;
  }

  .sub-title {
    font-size: 2.2rem;
  }

  .sub-title-underline {
    padding-bottom: 0.6em;
    border-bottom: solid 1px #000;
  }

  .btn-show-list-business {
    display: inline-block;
    margin-left: 1rem;
    padding: 0.25em 1em 0.25em 2em;
    font-size: 1.3rem;
    background: #fff;
    color: #535353;
    border: solid 1px #535353;
    border-radius: 0.5rem;
    position: relative;
  }

  .btn-show-list-business::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    display: inline-block;
    font-size: 1.2em;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 0.75em;
    margin-top: -0.5em;
  }

  .btn-show-list-business:hover {
    background: #535353;
    color: #fff;
    text-decoration: none;
  }

  /* メインビジュアル：スライドショー */
  .main-visual-button-next,
  .main-visual-button-prev {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 80px;
    margin-top: -40px;
  }

  /* フレックスコンテナ */
  .flex-container {
    display: flex;
    flex-wrap: wrap;
  }

  /* 製品・サービス */
  #lineup .products-sub-title {
    padding-top: 0;
    border-top: none;
  }

  ul.list-lineup {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2rem;
  }

  ul.list-lineup>li {
    width: 24%;
    margin-left: 1%;
    margin-top: 1.5rem;
  }

  ul.list-lineup>li:nth-child(4n-3) {
    margin-left: 0;
  }

  ul.list-lineup>li:nth-child(-n+4) {
    margin-top: 0;
  }

  ul.list-lineup>li>a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 1rem;
    font-size: 1.8rem;
    line-height: 1.3;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden;
  }

  ul.list-lineup>li>a:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e6000d;
    height: 4px;
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
  }

  ul.list-lineup>li>a:hover:before,
  ul.list-lineup>li>a:focus:before,
  ul.list-lineup>li>a:active:before {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  ul.list-lineup>li>a .img {
    padding: 0 20%;
  }

  ul.list-lineup>li>a .ttl {
    width: 100%;
    text-align: center;
  }

  ul.list-service {
    display: flex;
    flex-wrap: wrap;
    margin-top: 6rem;
  }

  ul.list-service li {
    width: 24%;
    margin-left: 1%;
    margin-top: 1.5rem;
  }

  ul.list-service li:nth-child(4n-3) {
    margin-left: 0;
  }

  ul.list-service li:nth-child(-n+4) {
    margin-top: 0;
  }

  ul.list-service li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 10% 8% 10% 38%;
    background-position: left 13% center;
    background-size: 26% auto;
    font-size: 1.8rem;
  }

  ul.list-service li a:hover {
    background-color: #e5e5e5;
    text-decoration: none;
  }

  ul.list-service li a .ttl {
    text-align: center;
    font-size: 1.6rem;
  }

  /* 製品についてもっと詳しく */
  .lineup-sub-title {
    margin-top: 4rem;
    font-size: 1.8rem;
  }

  ul.list-lineup-more {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1em;
  }

  ul.list-lineup-more li {
    width: 24%;
    margin-top: 1rem;
    margin-left: 1%;
  }

  ul.list-lineup-more li:nth-child(-n+4) {
    margin-top: 0;
  }

  ul.list-lineup-more li:nth-child(4n-3) {
    margin-left: 0;
  }

  ul.list-lineup-more li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 6% 6% 6% 40%;
    background: #fff;
    background-repeat: no-repeat;
    background-position: left 18% center;
    background-size: 18% auto;
  }

  ul.list-lineup-more li a:hover {
    background-color: #e5e5e5;
    text-decoration: none;
  }

  ul.list-lineup-more li a[data-icon="catalog"] {
    background-image: url(../images/icon-catalog.svg);
  }

  ul.list-lineup-more li a[data-icon="movie"] {
    background-image: url(../images/icon-movie.svg);
  }

  ul.list-lineup-more li a .ttl {
    font-size: 1.6rem;
    text-align: center;
  }

  /* 製品のサポート・ご購入 */
  #support .products-sub-title {
    padding-top: 0;
    border-top: none;
  }

  ul.list-main-support {
    display: flex;
    justify-content: space-between;
    margin-top: 5rem;
  }

  ul.list-main-support li {
    width: 31%;
  }

  ul.list-main-support li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 10% 10% 10% 35%;
    background-repeat: no-repeat;
    background-position: left 18% center;
    background-size: 20% auto;
    border: solid 1px #D9D9D9;
    font-size: 1.8rem;
  }

  ul.list-main-support li a:hover {
    background-color: #e5e5e5;
    text-decoration: none;
  }

  ul.list-main-support li a .ttl {
    text-align: center;
  }

  ul.list-main-support li a .ttl .small {
    font-size: 0.8em;
  }

  ul.list-support {
    display: flex;
    flex-wrap: wrap;
  }

  ul.list-support li {
    width: 31%;
    margin-left: 3.5%;
    margin-top: 3rem;
  }

  ul.list-support li:nth-child(3n-2) {
    margin-left: 0;
  }

  ul.list-support li a {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 1em 1em 1em 2em;
    border: solid 1px #D9D9D9;
    position: relative;
  }

  ul.list-support li a:hover {
    background: #e5e5e5;
    text-decoration: none;
  }

  ul.list-support li a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    display: inline-block;
    font-size: 1.2em;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 0.75em;
    margin-top: -0.5em;
  }

  /* キャンペーン */
  #campaign {
    padding-bottom: 2rem;
  }

  #campaign .sub-title-container {
    padding-top: 5rem;
    border-top: solid 1px #d9d9d9;
  }

  #campaign .flex-container {
    margin-top: 5rem;
  }

  #campaign .flex-item {
    width: 31%;
    margin-top: 2rem;
    margin-left: 3.5%;
    font-size: 1.5rem;
  }

  #campaign .flex-item:nth-of-type(3n-2) {
    margin-left: 0;
  }

  #campaign .flex-item:nth-of-type(-n+3) {
    margin-top: 0;
  }

  #campaign .flex-item .ttl {
    margin-top: 0.5em;
    font-size: 1.6rem;
  }

  #campaign .flex-item .text {
    margin-top: 0.2em;
  }

  #campaign .flex-item .text-small {
    font-size: 0.9em;
  }

  /* ピックアップコンテンツ */
  #pickup .products-sub-title {
    padding-top: 5rem;
    border-top: solid 1px #d9d9d9;
  }

  #pickup .flex-container {
    margin-top: 5rem;
  }

  #pickup .flex-container {
    font-size: 1.5rem;
  }

  #pickup .flex-container>.flex-item {
    width: 31%;
    margin-left: 3.5%;
    margin-top: 4rem;
  }

  #pickup .flex-container>.flex-item:nth-of-type(3n-2) {
    margin-left: 0;
  }

  #pickup .flex-container>.flex-item:nth-of-type(-n+3) {
    margin-top: 0;
  }

  #pickup .flex-item .ttl {
    margin-top: 0.5em;
    font-size: 1.6rem;
  }

  #pickup .flex-item .text {
    margin-top: 0.5em;
    font-size: 1.4rem;
  }

  #pickup .flex-item .category {
    margin-top: 0.5em;
    font-size: 1.2rem;
  }

  #pickupMore {
    margin-top: 5rem;
    font-size: 1.8rem;
  }

  /* 新着情報 */
  ul.list-news {
    margin-top: 4rem;
  }

  ul.list-news a:hover {
    text-decoration: none;
  }

  ul.list-news li {
    padding-top: 1em;
    display: none;
  }

  ul.list-news li:nth-child(-n + 12) {
    display: table;
  }

  ul.list-news li:first-child {
    padding-top: 0;
  }

  ul.list-news li .date {
    display: table-cell;
    width: 8em;
    font-size: 1.6rem;
  }

  ul.list-news li .text {
    display: table-cell;
    padding-left: 2em;
    font-size: 1.6rem;
  }

  /* 外部リンクバナー */
  #outerLinks ul {
    display: flex;
    flex-wrap: wrap;
  }

  #outerLinks ul li {
    margin-right: 1%;
    margin-bottom: 1rem;
  }

  /* jp.sharpフッター */
  #productsPageFooterNavi {
    display: flex;
    justify-content: space-between;
    padding: 3rem 5%;
    color: #535353;
    border-top: solid 1px #A0A0A0;
  }

  .products-page-footer-navi-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 50%;
  }

  .products-page-footer-navi-item:first-of-type {
    border-right: solid 1px #A0A0A0;
  }

  .products-page-footer-navi-ttl {
    width: 100%;
    text-align: center;
  }

  .products-page-footer-navi-item a .ttl {
    padding-left: 0.5em;
    font-size: 2rem;
  }

  ul.list-sns {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 1em;
  }

  ul.list-sns li {
    display: flex;
    margin-left: 2%;
  }

  ul.list-sns li:first-child {
    margin-left: 0;
  }

  ul.list-sns li a {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 5rem;
    height: 100%;
    padding: 10%;
  }

  ul.list-sns li a .img {}

  .products-page-footer-navi-item .link {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .products-page-footer-navi-item .link a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 0.5em 1em;
    background: #fff;
  }

  .products-page-footer-navi-item .link a .img {
    width: 4.5rem;
  }

  /* ポップアップ */
  .lineup-popup .result {
    padding: 3rem 3rem 5rem;
  }

  .lineup-popup .result .ttl {
    margin-bottom: 3rem;
    font-size: 2rem;
  }

  .lineup-popup ul.list-lineup-item li {
    width: 152px;
    margin-bottom: 20px;
  }

  .lineup-popup ul.list-lineup-item li a {
    font-size: 1.4rem;
    line-height: 1.3;
  }
}

/* ====================================
	タブレット専用スタイル
===================================== */
@media screen and (min-width: 768px) and (max-width: 1079px) {
  ul.list-lineup-more li a {
    padding: 8% 5% 8% 34%;
    background-position: left 11% center;
    background-size: 22% auto;
  }

  ul.list-service li a {
    padding: 50% 10% 5% 10%;
    background-position: top 15% center;
    background-size: 35% auto;
  }

  ul.list-main-support li a {
    padding: 10% 5% 10% 28%;
    background-position: left 9% center;
    background-size: 18% auto;
  }

  #officialTwitter {
    display: none;
  }

  /* 外部リンクバナー */
  #outerLinks ul li {
    max-width: 24%;
    margin-right: 1%;
  }

  #outerLinks ul li a {
    display: block;
    width: 100%;
  }
}

/* ====================================
	PC専用スタイル
===================================== */
@media print,
screen and (min-width: 1080px) {

  /* ピックアップコンテンツ */
  #pickup {
    padding-bottom: 6rem;
  }

  /* 新着-twitter */
  #newsTwitterContainer .contents-width {
    display: flex;
    justify-content: space-between;
  }

  #news {
    width: 61%;
  }

  /* 公式Twitter */
  #officialTwitter {
    width: 35%;
  }

  #officialTwitter .sub-title {
    position: relative;
  }

  #officialTwitter .sub-title .icon {
    display: inline-block;
    width: 1.5em;
    margin-left: 0.5em;
    position: absolute;
    top: -0.2em;
  }

  .twitter-timeline-container {
    margin-top: 4rem;
    border: solid 1px #d9d9d9;
  }
}

/* ====================================
	大画面PC専用スタイル
===================================== */
@media screen and (min-width: 1200px) {
  #mainVisual {
    padding-top: 20px;
  }

  .lineup-popup ul.list-lineup-item {
    max-width: 840px;
  }

  .lineup-popup ul.list-lineup-item li {
    width: 20%;
  }
}

/* ====================================
	IE印刷専用スタイル
===================================== */
@media print and (-ms-high-contrast: none) {}
/*update 260317*/
/* 新着情報 */
ul.list-news.aboutContent a {
  text-decoration: underline;
  color: #000;
}

ul.list-news.aboutContent a:hover {
  color: #000;
  text-decoration: none;
}