@charset "UTF-8";
#productsIndexHeader {
  margin: -180px 0 -100px 0;
  padding: 200px 0 150px 0;
  color: #ffffff;
  position: relative; }
  @media (max-width: 720px) {
    #productsIndexHeader {
      margin: 0;
      padding: 10vw 0; } }
  @media (min-width: 721px) and (max-width: 960px) {
    #productsIndexHeader {
      padding: 180px 0 150px 0; } }
  @media (min-width: 961px) and (max-width: 1280px) {
    #productsIndexHeader {
      padding: 180px 0 150px 0; } }
  #productsIndexHeader h1 {
    text-align: center;
    padding: 0 0 50px 0;
    margin: 0;
    font-size: 28px;
    line-height: 1;
    font-weight: bold;
    position: relative;
    text-transform: capitalize; }
    @media (max-width: 720px) {
      #productsIndexHeader h1 {
        padding: 0 0 5vw 0;
        font-size: 21px; } }
    #productsIndexHeader h1:before {
      content: "";
      width: 60px;
      height: 4px;
      position: absolute;
      bottom: 20px;
      left: 50%;
      background: #ED1C24;
      margin: 0 0 0 -30px; }
      @media (max-width: 720px) {
        #productsIndexHeader h1:before {
          width: 40px;
          height: 2px;
          bottom: 0;
          margin: 0 0 0 -20px; } }
  #productsIndexHeader p {
    margin: 0 auto;
    width: 90%;
    max-width: 960px;
    text-align: center;
    padding: 20px 0 30px 0; }

#productsIndexNav {
  position: relative;
  background-color: #ffffff;
  padding: 0 0 4vw 0; }
  @media (max-width: 720px) {
    #productsIndexNav {
      background-color: #eeeeee;
      padding: 0; } }

.categoryList {
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  padding: 4px;
  align-items: stretch;
  background-color: #f7f7f7; }
  @media (max-width: 720px) {
    .categoryList {
      display: block;
      padding: 0px;
      border-top: 1px solid #dddddd;
      border-left: 1px solid #dddddd;
      margin: 0 15px 15px 15px;
      background: #eeeeee; } }
  @media screen and (max-width: 720px) and (min-width: 640px) and (max-width: 720px) {
    .categoryList {
      display: flex;
      display: -ms-flex;
      display: -webkit-flex; } }

  .categoryList div {
    width: 20%;
    box-sizing: border-box;
    padding: 2px; }
    @media (max-width: 720px) {
      .categoryList div {
        width: 100%;
        padding: 0;
        border-bottom: 1px solid #dddddd;
        border-right: 1px solid #dddddd; } }
  @media screen and (max-width: 720px) and (min-width: 640px) and (max-width: 720px) {
    .categoryList div {
      width: 50%;
      border-right: 1px solid #dddddd; } }

    @media (min-width: 721px) and (max-width: 960px) {
      .categoryList div {
        width: 25%; } }
    .categoryList div a {
      display: block;
      position: relative;
      color: #222222;
      background-color: #ffffff;
      width: 100%;
      height: 100%;
      padding: 15px;
      border: 1px solid #ffffff;
      overflow: hidden;
      box-sizing: border-box;
      transition: all 0.2s ease-in-out; }
      @media (max-width: 720px) {
        .categoryList div a {
          display: flex;
          display: -ms-flex;
          display: -webkit-flex;
          justify-content: flex-start;
          align-content: center;
          align-items: center;
          padding: 5px 60px 5px 0;
          transition: all 0s ease-in-out;
          background-color: #ffffff; } }
      .categoryList div a:before {
        content: "";
        width: 0;
        height: 0;
        border: 5px solid transparent;
        border-right: 5px solid #dddddd;
        border-bottom: 5px solid #dddddd;
        position: absolute;
        right: -10px;
        bottom: 0;
        transition: all 0.2s ease-in-out; }
        @media (max-width: 720px) {
          .categoryList div a:before {
            display: none; } }
      @media (max-width: 720px) {
        .categoryList div a:after {
          content: "";
          width: 10px;
          height: 10px;
          display: block;
          border-right: 2px solid #cccccc;
          border-bottom: 2px solid #cccccc;
          transform: rotate(-45deg);
          position: absolute;
          right: 25px;
          top: 50%;
          margin: -6px 0 0 0;
          transition: all 0.2s ease-in-out; } }
      .categoryList div a img {
        margin: 0 auto;
        display: block;
        width: auto;
        height: 120px; }
        @media (max-width: 720px) {
          .categoryList div a img {
            margin: 0 10px 0 5px;
            width: 60px;
            height: 40px;
            object-fit: contain; } }
        @media (min-width: 721px) and (max-width: 960px) {
          .categoryList div a img {
            width: 100%;
            height: auto; } }
        @media (min-width: 961px) and (max-width: 1280px) {
          .categoryList div a img {
            width: 100%;
            height: auto; } }
      .categoryList div a h3 {
        text-align: center;
        border: none;
        padding: 1em 0; }
        @media (max-width: 720px) {
          .categoryList div a h3 {
            text-align: left;
            padding: 0;
            font-size: 14px;
            font-weight: normal; } }
      .categoryList div a p {
        font-size: 11px;
        color: #777777;
        margin: 0; }
        @media (max-width: 720px) {
          .categoryList div a p {
            display: none; } }
      .categoryList div a:hover {
        border: 1px solid #ED1C24;
        text-decoration: none; }
        .categoryList div a:hover:before {
          border-right: 5px solid #ED1C24;
          border-bottom: 5px solid #ED1C24;
          right: 0; }

/*=======================================================================================================================

共通設定

=======================================================================================================================*/
#productsContainer {
  width: 100%;
  overflow: hidden;
  padding: 0 0 0 0;
  margin: -111px auto 0 auto;
  padding: 111px 0 0 0;
  background-color: #000000;
  position: relative; }
  #productsContainer #childCategoryHeader {
    padding: 0 0 0 30px;
    position: relative;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    height: 100px; }
    #productsContainer #childCategoryHeader:before {
      content: "";
      width: 100vw;
      height: 1px;
      background-color: #dddddd;
      position: absolute;
      left: 0;
      bottom: 0; }
    #productsContainer #childCategoryHeader div {
      height: 50px; }
      #productsContainer #childCategoryHeader div p {
        line-height: 50px;
        padding: 0 10px 0 0; }

ul#switcher {
  width: 100px;
  justify-content: space-between;
  position: relative;
  border: 1px solid #dddddd;
  border-radius: 5px;
  overflow: hidden;
  margin: 0;
  padding: 0; }
  @media (max-width: 720px) {
    ul#switcher {
      display: none; } }
  ul#switcher li {
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 28px;
    cursor: pointer;
    margin: 0;
    padding: 0; }
    ul#switcher li i {
      width: 50px;
      height: 50px;
      line-height: 50px;
      text-align: center;
      font-size: 28px;
      color: #999999; }
    ul#switcher li#box {
      border-right: 1px solid #dddddd; }

@media (max-width: 720px) {
  #switcher {
    display: none; } }
#switcher li#box {
  background-color: #ED1C24; }
  #switcher li#box i {
    color: #ffffff; }

#productsList,
.productsList {
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  align-content: stretch;
  align-items: stretch; }
  #productsList .article,
  .productsList .article {
    width: 25%;
    text-align: center; }
    @media (max-width: 720px) {
      #productsList .article,
      .productsList .article {
        width: 50%; } }
  @media screen and (max-width: 720px) and (min-width: 641px) and (max-width: 720px) {
    #productsList .article,
    .productsList .article {
      width: 33.3%; } }

    #productsList .article a,
    .productsList .article a {
      display: block;
      position: relative;
      padding: 10px;
      border: 1px solid #eeeeee;
      text-decoration: none;
      margin: -1px 0 0 -1px;
      transition: all 0.2s ease-in-out;
      width: 100%;
      height: 100%;
      box-sizing: border-box;
      color: #222222; }
      @media (min-width: 961px) and (max-width: 1280px) {
        #productsList .article a,
        .productsList .article a {
          padding: 10px 0 20px 0; } }
      #productsList .article a .tag,
      .productsList .article a .tag {
        display: inline;
        position: absolute;
        font-size: 12px;
        padding: 0 20px;
        background-color: #ED1C24;
        color: #ffffff;
        left: 0;
        top: 0; }
        @media (max-width: 720px) {
          #productsList .article a .tag,
          .productsList .article a .tag {
            font-size: 10px;
            padding: 0 10px; } }
        @media (min-width: 961px) and (max-width: 1280px) {
          #productsList .article a .tag,
          .productsList .article a .tag {
            padding: 0 10px; } }
      #productsList .article a .thumbnail,
      .productsList .article a .thumbnail {
        padding: 5px 0 10px 0;
        margin: 0 auto; }
        @media (max-width: 720px) {
          #productsList .article a .thumbnail,
          .productsList .article a .thumbnail {
            padding-top: 10px; } }
        @media (min-width: 961px) and (max-width: 1280px) {
          #productsList .article a .thumbnail,
          .productsList .article a .thumbnail {
            padding-top: 20px; } }
        #productsList .article a .thumbnail img,
        .productsList .article a .thumbnail img {
          width: 65%; }
      #productsList .article a h3,
      .productsList .article a h3 {
        margin: 0 auto;
        padding: 0 0 10px 0; }
      #productsList .article a .spec dl,
      .productsList .article a .spec dl {
        width: 100%;
        margin: 0 auto;
        display: flex;
        display: -ms-flex;
        display: -webkit-flex;
        padding: 0; }
        @media (max-width: 720px) {
          #productsList .article a .spec dl,
          .productsList .article a .spec dl {
            width: auto; } }
        #productsList .article a .spec dl dt,
        .productsList .article a .spec dl dt {
          flex: 1;
          font-size: 12px;
          text-align: right;
          padding: 0 1em 0 0; }
          @media (max-width: 720px) {
            #productsList .article a .spec dl dt,
            .productsList .article a .spec dl dt {
              width: 5em;
              font-size: 11px;
              margin: 0; } }
          @media (min-width: 961px) and (max-width: 1280px) {
            #productsList .article a .spec dl dt,
            .productsList .article a .spec dl dt {
              width: 5em; } }
        #productsList .article a .spec dl dd,
        .productsList .article a .spec dl dd {
          flex: 1;
          font-size: 13px;
          text-align: left; }
          @media (max-width: 720px) {
            #productsList .article a .spec dl dd,
            .productsList .article a .spec dl dd {
              font-size: 11px;
              margin: 0; } }
      #productsList .article a .red,
      .productsList .article a .red {
        font-size: 13px;
        line-height: 1.25;
        padding: 10px 0; }
        #productsList .article a .red p,
        .productsList .article a .red p {
          font-size: 13px; }
      #productsList .article a:hover,
      .productsList .article a:hover {
        border: 1px solid #ED1C24;
        z-index: 2; }

#productsList .article a .red + p.smallText,
.productsList .article a .red + p.smallText {
  line-height: 1.2;
  margin: 0; }

#productKeyword {
  padding: 0 0 20px 0;
  margin: 0 0 0 0; }
  @media (max-width: 720px) {
    #productKeyword {
      padding: 0 0 15px 0; } }
  #productKeyword .flex {
    align-content: stretch;
    align-items: stretch; }
    #productKeyword .flex input[type="text"] {
      margin: 0;
      display: block; }
    #productKeyword .flex input[type="submit"] {
      line-height: 45px;
      height: 45px;
      width: 45px;
      text-align: center;
      padding: 0 !important;
      background: #222222;
      color: #ffffff;
      font-size: 15px;
      margin: 0; }
      #productKeyword .flex input[type="submit"]:hover {
        -webkit-font-smoothing: antialiased;
        box-shadow: 0 5px 10px 0 rgba(237, 28, 36, 0); }

#searchboxContainer #searchbox {
  padding: 0;
  margin: 0 0 20px 0;
  border: 1px solid #dddddd;
  background-color: #ffffff;
  border-radius: 2px; }
  @media (max-width: 720px) {
    #searchboxContainer #searchbox {
      margin: 0 0 15px 0;
      border: none;
      border-radius: 2px;
      box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); } }
  #searchboxContainer #searchbox h3 {
    margin: 0;
    padding: 0 45px 0 10px;
    height: 45px;
    position: relative;
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    #searchboxContainer #searchbox h3:before {
      content: "";
      width: 45px;
      height: 45px;
      background-color: #222222;
      position: absolute;
      right: 0;
      top: 0;
      border-radius: 0 2px 2px 0; }
      @media (max-width: 720px) {
        #searchboxContainer #searchbox h3:before {
          width: 40px;
          height: 40px; } }
    #searchboxContainer #searchbox h3:after {
      content: "";
      width: 10px;
      height: 10px;
      display: block;
      border-left: 2px solid #ffffff;
      border-bottom: 2px solid #ffffff;
      transform: rotate(-45deg);
      position: absolute;
      right: 14px;
      top: 50%;
      margin: -10px 0 0 0;
      transition: all 0.2s ease-in-out; }
    #searchboxContainer #searchbox h3.active:after {
      transform: rotate(-225deg);
      margin: -5px 0 0 0; }
  #searchboxContainer #searchbox span.red {
    display: block;
    padding: 10px;
    margin: 6px 6px 0 6px;
    border-radius: 4px;
    font-weight: bold;
    position: relative;
    z-index: 10;
    color: #222222;
    text-align: center;
    font-size: 13px; }
    #searchboxContainer #searchbox span.red:before {
      content: "";
      width: -webkit-calc(100% + 12px);
      width: calc(100% + 12px);
      height: -webkit-calc(100% + 6px);
      height: calc(100% + 6px);
      background-color: #eeeeee;
      position: absolute;
      left: -6px;
      top: -6px;
      z-index: -1;
      border-top: 1px solid #eeeeee; }
    #searchboxContainer #searchbox span.red:after {
      box-shadow: 0 -2px 3px 0 rgba(34, 34, 34, 0.05);
      -moz-box-shadow: 0 -2px 3px 0 rgba(34, 34, 34, 0.05);
      -webkit-box-shadow: 0 -2px 3px 0 rgba(34, 34, 34, 0.05);
      -ms-box-shadow: 0 -2px 3px 0 rgba(34, 34, 34, 0.05);
      -o-box-shadow: 0 -2px 3px 0 rgba(34, 34, 34, 0.05);
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 1px;
      z-index: -1;
      box-sizing: border-box;
      border-radius: 4px 4px 0 0;
      border: 1px solid #ffffff;
      border-right: 1px solid #dddddd;
      background: #ffffff; }
  #searchboxContainer #searchbox div.segment {
    margin: 0;
    padding: 10px 15px; }
    #searchboxContainer #searchbox div.segment:first-of-type {
      border-top: 1px solid #eeeeee; }
    #searchboxContainer #searchbox div.segment h4 {
      border: none;
      font-size: 14px;
      margin: 0;
      padding: 0 0 5px 0; }
    #searchboxContainer #searchbox div.segment .flex {
      border: none;
      justify-content: space-between;
      align-content: center;
      align-items: center; }
    #searchboxContainer #searchbox div.segment select {
      padding: 5px 1px;
      font-size: 13px;
      width: 45%; }
    #searchboxContainer #searchbox div.segment ul {
      margin: 0;
      padding: 0;
      border: none; }
      #searchboxContainer #searchbox div.segment ul li {
        border: none;
        margin: 0 0 15px 0;
        width: 100%;
        position: relative; }
        #searchboxContainer #searchbox div.segment ul li input[type="checkbox"] {
          display: none; }
        #searchboxContainer #searchbox div.segment ul li label {
          display: block;
          line-height: 1.25;
          padding: 0 0 0 25px;
          position: relative;
          font-size: 14px;
          height: 100%; }
          #searchboxContainer #searchbox div.segment ul li label:before {
            content: "";
            width: 18px;
            height: 18px;
            border: 1px solid #bbbbbb;
            position: absolute;
            left: 0;
            top: 10px;
            margin: -10px 0 0 0;
            box-sizing: border-box; }
        #searchboxContainer #searchbox div.segment ul li input[type="checkbox"]:checked + label {
          opacity: 1; }
          #searchboxContainer #searchbox div.segment ul li input[type="checkbox"]:checked + label:after {
            content: "\f00c";
            font-family: "Font Awesome 5 Free";
            text-align: center;
            line-height: 18px;
            font-size: 16px;
            position: absolute;
            left: 1px;
            top: 10px;
            margin: -10px 0 0 0;
            box-sizing: border-box;
            font-weight: 900; }
  #searchboxContainer #searchbox div.submit {
    border-top: 1px solid #eeeeee;
    text-align: center;
    padding: 10px;
    margin: 0; }
    #searchboxContainer #searchbox div.submit input[type="submit"] {
      line-height: 28px;
      height: 28px;
      padding: 0 2em;
      background: #222222;
      color: #ffffff;
      font-size: 15px;
      margin: 0; }
      #searchboxContainer #searchbox div.submit input[type="submit"]:hover {
        -webkit-font-smoothing: antialiased;
        box-shadow: 0 5px 10px 0 rgba(237, 28, 36, 0); }

/*=======================================================================================================================

製品トップページ

=======================================================================================================================*/
#productsIndex {
  background-color: #ffffff;
  position: relative; }
  @media (max-width: 720px) {
    #productsIndex {
      background-color: #eeeeee;
      margin: 0;
      padding: 0 0 20px 0; } }
  #productsIndex article {
    padding: 40px 0; }
    @media (max-width: 720px) {
      #productsIndex article {
        padding: 20px 0;
        background-color: #ffffff; } }
    @media (min-width: 721px) and (max-width: 960px) {
      #productsIndex article {
        padding: 20px 0; } }
    @media (min-width: 961px) and (max-width: 1280px) {
      #productsIndex article {
        padding: 20px 0; } }
  #productsIndex #categorySearch .categoryList {
    background-color: #eeeeee; }
  #productsIndex #productsIndexSearch {
    background-color: #eeeeee;
    text-align: center;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    justify-content: center; }
    #productsIndex #productsIndexSearch form {
      flex: 3;
      display: flex;
      display: -ms-flex;
      display: -webkit-flex;
      background-color: #ffffff;
      box-shadow: 0 0 1vw 0 rgba(0, 0, 0, 0.1);
      margin: 20px;
      height: 60px;
      border-radius: 2px; }
      @media (max-width: 720px) {
        #productsIndex #productsIndexSearch form {
          margin: 10px 15px;
          height: 40px;
          border-radius: 2px; } }
      #productsIndex #productsIndexSearch form .flex {
        flex: 1;
        justify-content: space-between;
        position: relative;
        display: flex;
        display: -ms-flex;
        display: -webkit-flex; }
      #productsIndex #productsIndexSearch form i {
        color: #777777;
        font-size: 18px;
        line-height: 60px;
        width: 60px;
        height: 60px;
        text-align: center; }
        @media (max-width: 720px) {
          #productsIndex #productsIndexSearch form i {
            line-height: 40px;
            width: 40px;
            height: 40px; } }
      #productsIndex #productsIndexSearch form input[type="search"] {
        flex: 1;
        outline: none;
        border: none;
        padding: 0 0;
        font-size: 18px;
        line-height: 60px;
        margin: 0;
        box-sizing: border-box; }
        @media (max-width: 720px) {
          #productsIndex #productsIndexSearch form input[type="search"] {
            font-size: 16px;
            line-height: 39px;
            transform: scale(0.8);
            width: 100%; } }
      #productsIndex #productsIndexSearch form input[type="submit"] {
        margin: 0;
        background: #222222;
        box-shadow: none;
        padding: 0;
        width: 120px;
        line-height: 60px;
        height: 60px;
        border-radius: 0 2px 2px 0; }
        @media (max-width: 720px) {
          #productsIndex #productsIndexSearch form input[type="submit"] {
            box-shadow: none;
            width: 60px;
            line-height: 40px;
            height: 40px;
            border-radius: 0 2px 2px 0; } }

/*=======================================================================================================================

一覧

=======================================================================================================================*/
#productsCategoryHeader {
  height: 100px;
  position: relative;
  padding: 0 0 0 40px;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-content: center;
  align-items: center; }
  @media (max-width: 720px) {
    #productsCategoryHeader {
      height: auto;
      padding: 30px 15px 15px 15px; } }
  @media (min-width: 721px) and (max-width: 960px) {
    #productsCategoryHeader {
      padding: 10px 20px; } }
  @media (min-width: 961px) and (max-width: 1280px) {
    #productsCategoryHeader {
      padding: 0 0 0 20px; } }
  #productsCategoryHeader:before {
    content: "";
    width: 100vw;
    height: 1px;
    background-color: #dddddd;
    position: absolute;
    bottom: 0;
    left: 0; }
    @media (max-width: 720px) {
      #productsCategoryHeader:before {
        bottom: auto;
        top: 0; } }
  #productsCategoryHeader .proCatname {
    margin: 0 auto 0 0;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5; }
    @media (max-width: 1280px) {
      #productsCategoryHeader .proCatname {
        font-size: 18px; } }

#productsCategoryText {
  position: relative;
  padding: 40px 0 40px 40px; }
  @media (max-width: 720px) {
    #productsCategoryText {
      padding: 15px; } }
  @media (min-width: 721px) and (max-width: 960px) {
    #productsCategoryText {
      padding: 20px; } }
  @media (min-width: 961px) and (max-width: 1280px) {
    #productsCategoryText {
      padding: 20px 0 20px 20px; } }

#productsArchive {
  padding: 0 0 4vw 40px; }
  @media (max-width: 720px) {
    #productsArchive {
      padding: 15px; } }
  @media (min-width: 721px) and (max-width: 960px) {
    #productsArchive {
      padding: 20px; } }
  @media (min-width: 961px) and (max-width: 1280px) {
    #productsArchive {
      padding: 0 0 20px 20px; } }

/*=======================================================================================================================

詳細(製品ページ)

=======================================================================================================================*/
#productSingleHeaderContainer {
  position: relative;
  height: 100px; }
  @media (max-width: 720px) {
    #productSingleHeaderContainer {
      width: 100%;
      transition: all 0s ease-in-out;
      height: 0; } }
  #productSingleHeaderContainer #productSingleHeader {
    width: 100%;
    height: 100px;
    color: #222222;
    transition: all 0.2s ease-in-out; }
    @media (max-width: 720px) {
      #productSingleHeaderContainer #productSingleHeader {
        height: auto;
        position: fixed;
        left: 0;
        top: 50px;
        padding: 50px 0 0 0;
        z-index: 9999; } }
    #productSingleHeaderContainer #productSingleHeader:before {
      content: "";
      width: 100vw;
      height: 100%;
      position: absolute;
      left: 0;
      bottom: 0;
      background-color: #ffffff;
      border-bottom: 1px solid #dddddd;
      box-sizing: border-box;
      transition: all 0.2s ease-in-out; }
    #productSingleHeaderContainer #productSingleHeader .inner {
      width: 100%;
      min-width: inherit;
      max-width: 1280px;
      position: relative;
      display: flex;
      display: -ms-flex;
      display: -webkit-flex; }
      @media (max-width: 720px) {
        #productSingleHeaderContainer #productSingleHeader .inner {
          display: block;
          padding: 0 0 0 0; } }
      #productSingleHeaderContainer #productSingleHeader .inner #productTitle {
        flex: 1;
        padding: 0 30px;
        display: flex;
        display: -ms-flex;
        display: -webkit-flex;
        flex-direction: column;
        justify-content: center;
        align-content: flex-start;
        align-items: flex-start;
        color: #222222;
        overflow: hidden;
        /*h1{
        	margin: 0;
        	padding: 0;
        	font-size: 24px;
        	font-weight: bold;
        	position: relative;
        	overflow: hidden;
        	text-overflow: ellipsis;
        	white-space: nowrap;
        	@include sp {
        		padding: 0 0 0 10px;
        		font-size: 18px;
        		line-height: 25px;
        		height: 25px;
        		width : -webkit-calc(100% - 160px) ;
        		width : calc(100% - 160px) ;
        	}
        	@include note {
        		font-size: 21px;
        	}
        }*/ }
        @media (max-width: 720px) {
          #productSingleHeaderContainer #productSingleHeader .inner #productTitle {
            flex: 1;
            padding: 0;
            height: 50px;
            left: 0;
            top: 50px;
            width: 100%;
            position: fixed;
            background-color: #ffffff;
            border-bottom: 1px solid #eeeeee;
            z-index: 20; } }
        @media (min-width: 721px) and (max-width: 960px) {
          #productSingleHeaderContainer #productSingleHeader .inner #productTitle {
            padding: 0 20px; } }
        @media (min-width: 961px) and (max-width: 1280px) {
          #productSingleHeaderContainer #productSingleHeader .inner #productTitle {
            padding: 0 0 0 20px; } }
        #productSingleHeaderContainer #productSingleHeader .inner #productTitle p {
          margin: 0;
          padding: 0;
          font-size: 15px;
          position: relative; }
          @media (max-width: 720px) {
            #productSingleHeaderContainer #productSingleHeader .inner #productTitle p {
              padding: 0 0 0 10px;
              font-size: 12px;
              line-height: 15px;
              height: 15px;
              overflow: hidden;
              text-overflow: ellipsis;
              white-space: nowrap;
              width: -webkit-calc(100% - 160px);
              width: calc(100% - 160px); } }
        @media (max-width: 720px) {
          #productSingleHeaderContainer #productSingleHeader .inner #productTitle h1 {
            width: -webkit-calc(100% - 160px);
            width: calc(100% - 160px);
            margin: 0;
            line-height: 1; } }
        #productSingleHeaderContainer #productSingleHeader .inner #productTitle h1 span {
          margin: 0;
          padding: 0;
          font-size: 15px;
          position: relative;
          font-weight: normal;
          color: #222222;
          line-height: 1; }
          @media (max-width: 720px) {
            #productSingleHeaderContainer #productSingleHeader .inner #productTitle h1 span {
              padding: 0 0 0 10px;
              font-size: 12px;
              line-height: 15px;
              height: 15px;
              overflow: hidden;
              text-overflow: ellipsis;
              white-space: nowrap;
              width: 100%; } }
        #productSingleHeaderContainer #productSingleHeader .inner #productTitle h1 em {
          margin: 0;
          padding: 0;
          font-size: 24px;
          font-weight: bold;
          position: relative;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          line-height: 1.5; }
          @media (max-width: 720px) {
            #productSingleHeaderContainer #productSingleHeader .inner #productTitle h1 em {
              padding: 0 0 0 10px;
              font-size: 18px;
              line-height: 20px;
              height: 20px;
              width: 100%; } }
          @media (min-width: 961px) and (max-width: 1280px) {
            #productSingleHeaderContainer #productSingleHeader .inner #productTitle h1 em {
              font-size: 21px; } }
      #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav {
        margin: 0 0 0 0; }
        @media (max-width: 720px) {
          #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav {
            display: none; } }
        #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul {
          justify-content: flex-end;
          position: relative;
          display: flex;
          display: -ms-flex;
          display: -webkit-flex; }
        #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleContact {
          height: 30px;
          padding: 10px 0; }
          #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleContact li {
            margin: 0 0 0 2px;
            font-size: 14px;
            text-align: center; }
            #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleContact li a {
              color: #222222;
              line-height: 30px;
              min-width: 100px;
              display: block;
              padding: 0 10px;
              border: 1px solid #dddddd;
              background-color: #ffffff; }
        #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleSubpage {
          padding: 0;
          height: 50px; }
          #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleSubpage li {
            flex: none;
            width: 80px;
            font-size: 12px;
            line-height: 1.25;
            height: 100%;
            position: relative;
            text-align: center;
            margin: 0 0 0 1px;
            word-break: break-all; }
            @media (min-width: 721px) and (max-width: 960px) {
              #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleSubpage li {
                width: 70px;
                font-size: 11px; } }
            @media (min-width: 961px) and (max-width: 1280px) {
              #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleSubpage li {
                width: 70px;
                font-size: 12px; } }
            @media all and (-ms-high-contrast: none) {
              #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleSubpage li {
                width: 80px;
                font-size: 12px;
                line-height: 1.25;
                height: 100%;
                display: table;
                position: relative; } }
            #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleSubpage li a {
              display: flex;
              display: -ms-flex;
              display: -webkit-flex;
              width: 100%;
              height: 100%;
              padding: 5px 0;
              flex-direction: column;
              justify-content: center;
              align-content: center;
              align-items: center;
              box-sizing: border-box;
              color: #ffffff;
              background-color: #777777;
              border: 1px solid #777777;
              border-bottom: none;
              word-break: break-all;
              overflow-wrap: break-word; }
              @media all and (-ms-high-contrast: none) {
                #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleSubpage li a {
                  display: table-cell;
                  width: 100%;
                  height: 100%;
                  vertical-align: middle; } }
              #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleSubpage li a.current {
                background-color: #ffffff;
                color: #222222;
                border: 1px solid #dddddd;
                border-bottom: none; }
                #productSingleHeaderContainer #productSingleHeader .inner #productSingleNav ul#productSingleSubpage li a.current:before {
                  content: "";
                  width: 60%;
                  height: 1px;
                  position: absolute;
                  left: 20%;
                  bottom: 5px;
                  background-color: #ED1C24; }
      #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav {
        display: none; }
        @media (max-width: 720px) {
          #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav {
            display: block;
            margin: 0 0 0 0;
            background-color: #f7f7f7; }
            #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav ul {
              display: flex;
              display: -ms-flex;
              display: -webkit-flex;
              justify-content: center; }
            #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav ul#productSingleSpContact {
              height: auto;
              padding: 0;
              position: fixed;
              width: 100px;
              height: 50px;
              top: 50px;
              right: 50px; }
              #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav ul#productSingleSpContact li {
                width: 50px;
                height: 50px;
                margin: 0;
                text-align: center; }
                #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav ul#productSingleSpContact li a {
                  color: #222222;
                  line-height: inherit;
                  height: 50px;
                  min-width: 50px;
                  display: flex;
                  display: -ms-flex;
                  display: -webkit-flex;
                  flex-direction: column;
                  justify-content: center;
                  padding: 0;
                  margin: 0;
                  text-align: center;
                  border-left: 1px solid #eeeeee;
                  color: #777777;
                  text-decoration: none;
                  font-size: 10px;
                  line-height: 10px; }
                  #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav ul#productSingleSpContact li a i {
                    display: block;
                    font-size: 16px;
                    line-height: 32px;
                    padding: 0 0 0 0; }
            #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav ul#productSingleSpSubpage {
              padding: 0;
              height: auto;
              flex-wrap: wrap;
              justify-content: flex-start;
              padding: 5px;
              background-color: #777777; }
              #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav ul#productSingleSpSubpage li {
                flex: none;
                width: 33.3%;
                font-size: 12px;
                line-height: 1.25;
                height: 100%;
                position: relative;
                margin: 0;
                padding: 1px;
                box-sizing: border-box; }
                #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav ul#productSingleSpSubpage li a {
                  display: flex;
                  display: -ms-flex;
                  display: -webkit-flex;
                  width: 100%;
                  height: 30px;
                  padding: 5px 20px 5px 5px;
                  flex-direction: column;
                  text-align: left;
                  justify-content: center;
                  box-sizing: border-box;
                  color: #ffffff;
                  background-color: #777777;
                  border: 1px solid rgba(255, 255, 255, 0.4); }
                  #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav ul#productSingleSpSubpage li a:after {
                    content: "";
                    width: 8px;
                    height: 8px;
                    display: block;
                    border-left: 1px solid white;
                    border-bottom: 1px solid white;
                    transform: rotate(-45deg);
                    position: absolute;
                    right: 10px;
                    top: 50%;
                    margin: -5px 0 0 0;
                    transition: all 0.2s ease-in-out; }
            #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav #spTrigger {
              position: fixed;
              width: 50px;
              height: 50px;
              background-color: #777777;
              top: 50px;
              right: 0;
              z-index: 20;
              text-align: center; }
              #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav #spTrigger p {
                margin: 0;
                padding: 35px 2px 2px 2px;
                font-size: 10px;
                line-height: 10px;
                height: 10px;
                text-align: center;
                transition: all 0.2s ease-in-out;
                color: #ffffff;
                position: relative; }
                #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav #spTrigger p:before {
                  content: "";
                  width: 18px;
                  height: 1px;
                  background-color: #ffffff;
                  position: absolute;
                  left: 50%;
                  top: 16px;
                  margin: -7px 0 0 -9px;
                  transition: all 0.2s ease-in-out; }
                #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav #spTrigger p:after {
                  content: "";
                  width: 18px;
                  height: 1px;
                  background-color: #ffffff;
                  position: absolute;
                  left: 50%;
                  top: 16px;
                  margin: 7px 0 0 -9px;
                  transition: all 0.2s ease-in-out; }
              #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav #spTrigger.active {
                border-bottom: 1px solid #777777; }
                #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav #spTrigger.active p:before {
                  transform: rotate(-45deg);
                  margin: 0 0 0 -9px; }
                #productSingleHeaderContainer #productSingleHeader .inner #productSingleSpNav #spTrigger.active p:after {
                  transform: rotate(45deg);
                  -moz-transform: rotate(45deg);
                  -webkit-transform: rotate(45deg);
                  -ms-transform: rotate(45deg);
                  -o-transform: rotate(45deg);
                  margin: 0 0 0 -9px; } }
    #productSingleHeaderContainer #productSingleHeader.fixed {
      position: fixed;
      left: 0;
      top: 0;
      z-index: 5;
      height: 60px; }
      @media (max-width: 720px) {
        #productSingleHeaderContainer #productSingleHeader.fixed {
          top: 50px; } }
      @media (min-width: 721px) and (max-width: 960px) {
        #productSingleHeaderContainer #productSingleHeader.fixed {
          z-index: 999999; } }
      #productSingleHeaderContainer #productSingleHeader.fixed:before {
        opacity: 0; }
      #productSingleHeaderContainer #productSingleHeader.fixed .inner {
        width: 95%;
        min-width: 960px;
        max-width: 1280px;
        margin: 0 auto;
        box-sizing: border-box;
        position: relative; }
        @media (max-width: 720px) {
          #productSingleHeaderContainer #productSingleHeader.fixed .inner {
            width: 100%;
            min-width: inherit; } }
        @media (min-width: 721px) and (max-width: 960px) {
          #productSingleHeaderContainer #productSingleHeader.fixed .inner {
            width: 100%;
            min-width: inherit; } }
        @media (min-width: 961px) and (max-width: 1280px) {
          #productSingleHeaderContainer #productSingleHeader.fixed .inner {
            min-width: inherit; } }
        #productSingleHeaderContainer #productSingleHeader.fixed .inner:before {
          content: "";
          width: 100vw;
          height: 100%;
          position: absolute;
          left: 280px;
          top: 0;
          background-color: #000000;
          box-sizing: border-box; }
          @media (max-width: 720px) {
            #productSingleHeaderContainer #productSingleHeader.fixed .inner:before {
              display: none; } }
          @media (min-width: 721px) and (max-width: 960px) {
            #productSingleHeaderContainer #productSingleHeader.fixed .inner:before {
              left: 0;
              top: 0; } }
          @media (min-width: 961px) and (max-width: 1280px) {
            #productSingleHeaderContainer #productSingleHeader.fixed .inner:before {
              left: 210px; } }
        #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle {
          flex: 1;
          margin: 0 0 0 280px;
          color: #ffffff;
          /*h1{
          	font-size: 18px;
          	@include sp {
          		overflow: hidden;
          		width : -webkit-calc(100% - 160px) ;
          		width : calc(100% - 160px) ;
          	}
          }*/ }
          @media (max-width: 720px) {
            #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle {
              padding: 0;
              left: 0;
              top: 50px;
              width: 100%;
              position: fixed;
              height: 50px;
              margin: 0;
              color: #222222; } }
          @media (min-width: 721px) and (max-width: 960px) {
            #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle {
              margin: 0; } }
          @media (min-width: 961px) and (max-width: 1280px) {
            #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle {
              margin: 0 0 0 210px; } }
          @media (min-width: 961px) and (max-width: 1280px) {
            #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle a {
              color: #ffffff; } }
          #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle p {
            font-size: 12px; }
            @media (max-width: 720px) {
              #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle p {
                overflow: hidden;
                width: -webkit-calc(100% - 160px);
                width: calc(100% - 160px); } }
          #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle h1 {
            margin: 0;
            line-height: 1; }
            #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle h1 span {
              font-size: 12px;
              color: #fff;
              line-height: 12px; }
              @media (max-width: 720px) {
                #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle h1 span {
                  overflow: hidden;
                  width: 100%;
                  color: #222222; } }
            #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle h1 em {
              font-size: 18px;
              line-height: 18px; }
              @media (max-width: 720px) {
                #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTitle h1 em {
                  overflow: hidden;
                  width: 100%; } }
        #productSingleHeaderContainer #productSingleHeader.fixed .inner #productSingleNav ul {
          justify-content: flex-end;
          position: relative; }
        #productSingleHeaderContainer #productSingleHeader.fixed .inner #productSingleNav ul#productSingleContact {
          display: none; }
        #productSingleHeaderContainer #productSingleHeader.fixed .inner #productSingleNav ul#productSingleSubpage {
          height: 50px;
          padding: 10px 0 0 0; }
        #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTel {
          margin: -40px 0 0 0; }
          #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTel dl dd.tel {
            color: #ffffff; }
            #productSingleHeaderContainer #productSingleHeader.fixed .inner #productTel dl dd.tel span {
              color: #ffffff; }

#productSingle header#productSingleTopHeader {
  padding: 20px 0;
  border-bottom: 1px solid #dddddd;
  justify-content: center;
  align-content: center;
  align-items: center; }
  #productSingle header#productSingleTopHeader div {
    flex: 1; }
  #productSingle header#productSingleTopHeader img {
    width: 100%; }
  #productSingle header#productSingleTopHeader #thumbnail-list {
    text-align: center;
    width: 170px;
    margin: 0 auto;
    justify-content: center; }
    #productSingle header#productSingleTopHeader #thumbnail-list li {
      width: 50px;
      height: 50px;
      border: 1px solid #dddddd;
      margin: 0 2px;
      cursor: pointer;
      transition: all 0.2s ease-in-out; }
      #productSingle header#productSingleTopHeader #thumbnail-list li img {
        width: 46px;
        padding: 2px; }
      #productSingle header#productSingleTopHeader #thumbnail-list li:hover, #productSingle header#productSingleTopHeader #thumbnail-list li.thumbnail-current {
        border: 1px solid #ED1C24; }
#productSingle header.productSingleSubHeader {
  border-bottom: 4px solid #dddddd; }
#productSingle #productArticle {
  padding-top: 0; }
  @media (max-width: 720px) {
    #productSingle #productArticle {
      padding: 0;
      position: relative; } }
#productSingle section {
  padding: 50px 0 0 0;
  position: relative;
  width: auto; }
  @media (max-width: 720px) {
    #productSingle section {
      padding: 100px 15px 0 15px !important;
      margin: 0; } }
  @media (min-width: 961px) and (max-width: 1280px) {
    #productSingle section {
      padding: 10px 0; } }
  #productSingle section header.productSectionHeader {
    position: relative;
    height: 100px;
    border-bottom: 4px solid #dddddd;
    margin: 0 0 40px 0; }
    @media (max-width: 720px) {
      #productSingle section header.productSectionHeader {
        height: 60px;
        padding: 0; } }
    @media (min-width: 721px) and (max-width: 960px) {
      #productSingle section header.productSectionHeader {
        margin: 0 0 20px 0; } }
    @media (min-width: 961px) and (max-width: 1280px) {
      #productSingle section header.productSectionHeader {
        height: 80px; } }
    #productSingle section header.productSectionHeader h2 {
      line-height: 100px;
      display: inline-block;
      border-bottom: 4px solid #222222;
      margin: 0;
      padding: 0; }
      @media (max-width: 720px) {
        #productSingle section header.productSectionHeader h2 {
          line-height: 60px; } }
      @media (min-width: 961px) and (max-width: 1280px) {
        #productSingle section header.productSectionHeader h2 {
          height: 80px;
          line-height: 80px; } }
    #productSingle section header.productSectionHeader:before {
      content: "";
      width: 100vw;
      height: 1px;
      background-color: #dddddd;
      position: absolute;
      left: -40px;
      top: 0; }
      @media (max-width: 720px) {
        #productSingle section header.productSectionHeader:before {
          left: -15px;
          top: -30px; } }
      @media (min-width: 721px) and (max-width: 960px) {
        #productSingle section header.productSectionHeader:before {
          left: -20px; } }
      @media (min-width: 961px) and (max-width: 1280px) {
        #productSingle section header.productSectionHeader:before {
          left: -20px; } }
  #productSingle section section {
    padding: 0 0 20px 0; }
    @media (max-width: 720px) {
      #productSingle section section {
        padding: 0 0 15px 0; } }
    @media (min-width: 721px) and (max-width: 960px) {
      #productSingle section section {
        padding: 20px 0; } }
    #productSingle section section:last-of-type {
      padding: 0 0 20px 0; }
      #productSingle section section:last-of-type:before {
        display: none; }
  #productSingle section:last-of-type {
    padding-bottom: 50px; }
    #productSingle section:last-of-type:before {
      content: "";
      width: 100vw;
      height: 1px;
      background-color: #dddddd;
      position: absolute;
      left: -40px;
      bottom: 0; }
#productSingle #productIntro {
  padding: 20px 0;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex; }
  @media (max-width: 720px) {
    #productSingle #productIntro {
      padding: 15px;
      flex-direction: column; } }
  @media (min-width: 721px) and (max-width: 960px) {
    #productSingle #productIntro {
      padding: 0 0 20px 0; } }
  #productSingle #productIntro.endIntro {
    padding: 0 0 20px 0; }
  #productSingle #productIntro .slick-slider {
    height: 400px; }
    @media (max-width: 720px) {
      #productSingle #productIntro .slick-slider {
        height: 280px; } }
    @media (min-width: 721px) and (max-width: 960px) {
      #productSingle #productIntro .slick-slider {
        height: 320px; } }
    @media (min-width: 961px) and (max-width: 1280px) {
      #productSingle #productIntro .slick-slider {
        height: 280px; } }
  #productSingle #productIntro div {
    position: relative; }
    #productSingle #productIntro div#productImg {
      width: 400px;
      margin: 0 20px; }
      @media (max-width: 720px) {
        #productSingle #productIntro div#productImg {
          width: 280px;
          margin: 0 auto; } }
      @media (min-width: 721px) and (max-width: 960px) {
        #productSingle #productIntro div#productImg {
          width: 320px; } }
      @media (min-width: 961px) and (max-width: 1280px) {
        #productSingle #productIntro div#productImg {
          width: 280px; } }
      #productSingle #productIntro div#productImg #thumbnail-list {
        text-align: center;
        width: 100%;
        margin: 5px auto;
        justify-content: center;
        display: flex;
        display: -ms-flex;
        display: -webkit-flex; }
        @media (max-width: 720px) {
          #productSingle #productIntro div#productImg #thumbnail-list {
            margin: 0 auto; } }
        #productSingle #productIntro div#productImg #thumbnail-list li {
          width: 50px;
          height: 50px;
          border: 1px solid #dddddd;
          margin: 0 2px;
          cursor: pointer;
          transition: all 0.2s ease-in-out;
          flex: none; }
          @media (max-width: 720px) {
            #productSingle #productIntro div#productImg #thumbnail-list li {
              width: 40px;
              height: 40px; } }
          #productSingle #productIntro div#productImg #thumbnail-list li img {
            width: 44px;
            padding: 2px; }
            @media (max-width: 720px) {
              #productSingle #productIntro div#productImg #thumbnail-list li img {
                width: 34px; } }
          #productSingle #productIntro div#productImg #thumbnail-list li:hover, #productSingle #productIntro div#productImg #thumbnail-list li.thumbnail-current {
            border: 1px solid #ED1C24; }
          #productSingle #productIntro div#productImg #thumbnail-list li:only-child {
            display: none; }
    #productSingle #productIntro div#productText {
      flex: 1;
      padding: 0 0 0 40px; }
      @media (max-width: 720px) {
        #productSingle #productIntro div#productText {
          flex: none;
          padding: 15px 0; } }
      @media (min-width: 721px) and (max-width: 960px) {
        #productSingle #productIntro div#productText {
          padding: 0 0 0 20px; } }
      @media (min-width: 961px) and (max-width: 1280px) {
        #productSingle #productIntro div#productText {
          padding: 0 0 0 20px; } }
      #productSingle #productIntro div#productText h1 {
        font-size: 28px;
        font-weight: bold;
        margin: 0;
        padding: 0;
        display: flex;
        display: -ms-flex;
        display: -webkit-flex;
        align-content: center;
        align-items: center; }
        @media (max-width: 720px) {
          #productSingle #productIntro div#productText h1 {
            font-size: 21px; } }
        @media (min-width: 721px) and (max-width: 960px) {
          #productSingle #productIntro div#productText h1 {
            font-size: 21px; } }
        @media (min-width: 961px) and (max-width: 1280px) {
          #productSingle #productIntro div#productText h1 {
            font-size: 21px; } }
        #productSingle #productIntro div#productText h1 span {
          display: inline-block;
          background-color: #ED1C24;
          color: #ffffff;
          border: 1px solid #970c11;
          margin: 0 10px 2px 0;
          padding: 0 10px;
          font-size: 18px; }
          @media (max-width: 720px) {
            #productSingle #productIntro div#productText h1 span {
              font-size: 15px; } }
          @media (min-width: 961px) and (max-width: 1280px) {
            #productSingle #productIntro div#productText h1 span {
              font-size: 16px; } }
      #productSingle #productIntro div#productText h2 {
        font-size: 40px;
        font-weight: bold;
        margin: 0.4em 0;
        padding: 0;
        line-height: 1.25; }
        @media (max-width: 720px) {
          #productSingle #productIntro div#productText h2 {
            font-size: 24px; } }
        @media (min-width: 721px) and (max-width: 960px) {
          #productSingle #productIntro div#productText h2 {
            font-size: 28px; } }
        @media (min-width: 961px) and (max-width: 1280px) {
          #productSingle #productIntro div#productText h2 {
            font-size: 28px; } }
      #productSingle #productIntro div#productText p {
        font-weight: bold;
        font-size: 18px;
        margin: 1em 0; }
        @media (min-width: 721px) and (max-width: 960px) {
          #productSingle #productIntro div#productText p {
            font-size: 16px; } }
        @media (min-width: 961px) and (max-width: 1280px) {
          #productSingle #productIntro div#productText p {
            font-size: 16px; } }
      #productSingle #productIntro div#productText ul.feature {
        display: flex;
        display: -ms-flex;
        display: -webkit-flex;
        flex-wrap: wrap;
        justify-content: flex-start; }
        #productSingle #productIntro div#productText ul.feature li {
          flex: none;
          padding: 10px;
          border: 1px solid #cccccc;
          width: 48%;
          text-align: center;
          margin: 0 2% 2% 0;
          box-sizing: border-box; }
          @media (min-width: 721px) and (max-width: 960px) {
            #productSingle #productIntro div#productText ul.feature li {
              padding: 5px; } }
          @media (min-width: 961px) and (max-width: 1280px) {
            #productSingle #productIntro div#productText ul.feature li {
              padding: 5px; } }
    #productSingle #productIntro div#productOutline {
      padding: 40px 0;
      width: 100%; }
      @media (min-width: 721px) and (max-width: 960px) {
        #productSingle #productIntro div#productOutline {
          padding: 20px 0; } }
#productSingle table th {
  padding: 10px; }
  @media (max-width: 720px) {
    #productSingle table th {
      word-break: break-all;
      padding: 2px; } }
  @media (min-width: 721px) and (max-width: 960px) {
    #productSingle table th {
      word-break: break-all; } }
  @media (min-width: 961px) and (max-width: 1280px) {
    #productSingle table th {
      word-break: break-all; } }
  #productSingle table th.center {
    text-align: center; }
  #productSingle table th.right {
    text-align: right; }
#productSingle table td {
  padding: 10px;
  text-align: left; }
  @media (max-width: 720px) {
    #productSingle table td {
      word-break: break-all;
      padding: 2px; } }
  @media (min-width: 721px) and (max-width: 960px) {
    #productSingle table td {
      word-break: break-all;
      text-align: center; } }
  @media (min-width: 961px) and (max-width: 1280px) {
    #productSingle table td {
      word-break: break-all;
      text-align: center; } }
  #productSingle table td.center {
    text-align: center; }
  #productSingle table td.right {
    text-align: right; }
#productSingle table.tbl th {
  padding: 5px 0;
  font-size: 12px; }
#productSingle table.tbl td {
  padding: 5px 0;
  font-size: 12px;
  text-align: center; }
#productSingle #lineup table tr {
  transition: all 0.2s ease-in-out; }
#productSingle #lineup table th {
  padding: 7px 5px; }
#productSingle #lineup table td {
  padding: 7px 5px;
  text-align: center; }
  #productSingle #lineup table td a {
    position: relative;
    font-size: 14px;
    display: inline-block;
    padding: 0 20px 0 5px;
    margin: 0 10px; }
    #productSingle #lineup table td a:after {
      content: "";
      width: 4px;
      height: 4px;
      display: block;
      border-right: 2px solid #1976D2;
      border-bottom: 2px solid #1976D2;
      transform: rotate(-45deg);
      position: absolute;
      right: 5px;
      top: 50%;
      margin: -4px 0 0 0;
      transition: all 0.2s ease-in-out; }
    #productSingle #lineup table td a:hover {
      text-decoration: none; }
      #productSingle #lineup table td a:hover:after {
        right: 0px; }
#productSingle #models table tr {
  transition: all 0.2s ease-in-out; }
#productSingle #models table th {
  padding: 7px 5px; }
#productSingle #models table td {
  padding: 7px 5px;
  text-align: center; }
  #productSingle #models table td a {
    position: relative;
    font-size: 14px;
    display: inline-block;
    padding: 0 20px 0 5px;
    margin: 0 10px; }
    #productSingle #models table td a:after {
      content: "";
      width: 4px;
      height: 4px;
      display: block;
      border-right: 2px solid #1976D2;
      border-bottom: 2px solid #1976D2;
      transform: rotate(-45deg);
      position: absolute;
      right: 5px;
      top: 50%;
      margin: -4px 0 0 0;
      transition: all 0.2s ease-in-out; }
    #productSingle #models table td a:hover {
      text-decoration: none; }
      #productSingle #models table td a:hover:after {
        right: 0px; }
#productSingle #downloadLogin {
  padding: 20px; }
  #productSingle #downloadLogin .flexBox p {
    margin-bottom: 0; }
  #productSingle #downloadLogin .flexBox .largeBtn {
    margin-top: 0;
    min-width: 180px; }
#productSingle #downloadLogin > p {
  margin-top: 1em; }
#productSingle #downloadLink {
  padding: 10px;
  border: 10px solid #eeeeee; }
  @media (max-width: 720px) {
    #productSingle #downloadLink {
      border: 5px solid #eeeeee; } }
  @media (max-width: 720px) {
    #productSingle #downloadLink dl {
      flex-direction: row; } }
  #productSingle #downloadLink dl dt {
    width: 60px;
    background-color: #ffffff;
    background: none;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    flex-direction: column;
    justify-content: center; }
    @media (max-width: 720px) {
      #productSingle #downloadLink dl dt {
        width: 80px; } }
    #productSingle #downloadLink dl dt img {
      border: 1px solid #ffffff;
      width: 60px;
      box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.05); }
    #productSingle #downloadLink dl dt i {
      width: 60px;
      height: 40px;
      text-align: center;
      display: block;
      font-size: 40px;
      color: #777777;
      line-height: 40px; }
  #productSingle #downloadLink dl dd {
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    justify-content: space-between;
    align-content: center;
    align-items: center; }
    @media (max-width: 720px) {
      #productSingle #downloadLink dl dd {
        display: block;
        width: -webkit-calc(100% - 80px);
        width: calc(100% - 80px); } }
    #productSingle #downloadLink dl dd div {
      padding: 0;
      margin: 0; }
    #productSingle #downloadLink dl dd p {
      margin: 0;
      padding: 0; }
    #productSingle #downloadLink dl dd .downloadBtn {
      min-width: 120px; }
  #productSingle #downloadLink dl:last-of-type {
    margin-bottom: 0; }
  #productSingle #downloadLink.notLogin dl {
    opacity: 0.7; }
    #productSingle #downloadLink.notLogin dl dd h4 {
      color: #777777; }
#productSingle #leaflet img {
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  border: 1px solid #ffffff; }

/*=======================================================================================================================

検索結果

=======================================================================================================================*/
#productsSearchList li.article {
  border-bottom: 1px dotted #dddddd; }
  #productsSearchList li.article a {
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    box-sizing: border-box;
    padding: 20px;
    color: #222222;
    border: 1px solid #ffffff; }
    #productsSearchList li.article a .thumbnail {
      width: 180px;
      padding: 0 20px 0 0; }
    #productsSearchList li.article a:hover {
      border: 1px solid #ED1C24; }
    #productsSearchList li.article a ul {
      display: flex;
      display: -ms-flex;
      display: -webkit-flex;
      justify-content: flex-start; }
      #productsSearchList li.article a ul li {
        border: 1px solid #dddddd;
        padding: 0 20px;
        color: #777777;
        font-size: 13px; }
        #productsSearchList li.article a ul li:first-child {
          background-color: #777777;
          border: 1px solid #777777;
          color: #ffffff; }
    #productsSearchList li.article a h3 {
      margin: 0.25em 0; }

@media (max-width: 720px) {
  #productsSide {
    padding: 50px 15px 15px 15px;
    width: 100%; } }
@media (min-width: 721px) and (max-width: 960px) {
  #productsSide {
    padding: 50px 0 0 0; } }
@media (max-width: 720px) {
  #productsSide h2 {
    display: block;
    margin: 0 -15px 15px -15px;
    padding: 10vw 0 15vw 0;
    color: #ffffff;
    position: relative;
    background-color: #000000;
    text-align: center;
    font-size: 21px;
    line-height: 1;
    height: auto; } }
@media (max-width: 720px) {
  #productsSide h2:before {
    display: none; } }
@media (max-width: 720px) {
  #productsSide h2:after {
    content: "";
    width: 40px;
    height: 2px;
    position: absolute;
    bottom: 20px;
    bottom: -webkit-calc(20px + 5vw);
    bottom: calc(20px + 5vw);
    left: 50%;
    background: #ED1C24;
    margin: 0 0 0 -20px; } }
@media (max-width: 720px) {
  #productsSide h2 a {
    pointer-events: none;
    line-height: 1;
    margin: 0;
    padding: 0; } }
@media (max-width: 720px) {
  #productsSide h2 a:before, #productsSide h2 a:after {
    display: none; } }
@media (max-width: 960px) {
  #productsSide #sideNav > h3 {
    display: none;
    line-height: 40px;
    height: 40px; } }
@media (max-width: 720px) {
  #productsSide #sideNav #productKeyword .flex {
    border: none;
    border-radius: 2px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); } }
@media (max-width: 720px) {
  #productsSide #sideNav #productKeyword h3 {
    display: none; } }

#video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

#video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

#productSingle .sticky {
  width: 100%;
  height: auto;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-top: 40px;
  position: relative;
  background-image: url(../images/swipe.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 150px auto;
  margin-bottom: 20px; }
  #productSingle .sticky table {
    width: auto;
    min-width: 100%;
    box-sizing: border-box;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    border-left: none;
    margin: 0;
    position: relative;
    border: 1px solid #dddddd;
    border-collapse: collapse; }
    #productSingle .sticky table tr, #productSingle .sticky table th, #productSingle .sticky table td {
      border: 1px solid #dddddd;
      box-sizing: border-box;
      word-break: normal; }
    #productSingle .sticky table tr {
      padding: 0; }
      #productSingle .sticky table tr th {
        border: 1px solid #dddddd;
        background: none;
        position: relative; }
        #productSingle .sticky table tr th:after {
          content: "";
          width: 100%;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          background-color: #f7f7f7;
          z-index: -1; }
        #productSingle .sticky table tr th:first-of-type {
          position: sticky;
          position: -webkit-sticky;
          left: 0;
          z-index: 3; }
          #productSingle .sticky table tr th:first-of-type:before {
            content: "";
            position: absolute;
            left: -1px;
            top: 0;
            pointer-events: none;
            width: 100%;
            width: calc(100% + 2px);
            width: -webkit-calc(100% + 2px);
            height: calc(100% + 1px);
            height: -webkit-calc(100% + 1px);
            background-color: #dddddd;
            border-bottom: none;
            z-index: -1; }
          #productSingle .sticky table tr th:first-of-type a {
            word-break: keep-all;
            padding: 0 25px;
            text-align: left;
            display: block; }
            #productSingle .sticky table tr th:first-of-type a:before {
              font-family: "Font Awesome 5 Free";
              content: "\f054";
              -webkit-font-smoothing: antialiased;
              position: absolute;
              left: 5px;
              top: 50%;
              margin: -10px 0 0 0;
              width: 20px;
              height: 20px;
              line-height: 20px;
              text-align: center;
              display: block;
              font-style: normal;
              font-variant: normal;
              text-rendering: auto;
              font-weight: 900;
              font-size: 10px; }
            #productSingle .sticky table tr th:first-of-type a:after {
              font-family: "Font Awesome 5 Free";
              content: "\f0e0";
              -webkit-font-smoothing: antialiased;
              position: absolute;
              right: 5px;
              top: 50%;
              margin: -10px 0 0 0;
              width: 20px;
              height: 20px;
              line-height: 20px;
              text-align: center;
              display: block;
              font-style: normal;
              font-variant: normal;
              text-rendering: auto;
              font-weight: 900;
              font-size: 14px; }
      #productSingle .sticky table tr td {
        background-color: #ffffff; }
      #productSingle .sticky table tr.nostick {
        background-color: #f7f7f7; }
        #productSingle .sticky table tr.nostick th:first-of-type {
          position: relative;
          z-index: auto; }
          #productSingle .sticky table tr.nostick th:first-of-type:before {
            display: none; }
        #productSingle .sticky table tr.nostick th:first-of-type.stop {
          position: sticky;
          position: -webkit-sticky;
          left: 0;
          z-index: 4; }
          #productSingle .sticky table tr.nostick th:first-of-type.stop:after {
            content: "";
            position: absolute;
            left: -1px;
            top: -1px;
            pointer-events: none;
            width: 100%;
            height: 100%;
            border: 1px solid #dddddd;
            border-bottom: none;
            z-index: -1; }
      #productSingle .sticky table tr.nosticky {
        background-color: #f7f7f7; }
        #productSingle .sticky table tr.nosticky th:first-of-type {
          position: relative;
          z-index: auto; }
          #productSingle .sticky table tr.nosticky th:first-of-type:before {
            display: none; }
        #productSingle .sticky table tr.nosticky th:first-of-type.stop {
          position: sticky;
          position: -webkit-sticky;
          left: 0;
          z-index: 4; }
          #productSingle .sticky table tr.nosticky th:first-of-type.stop:after {
            content: "";
            position: absolute;
            left: -1px;
            top: -1px;
            pointer-events: none;
            width: 100%;
            height: 100%;
            border: 1px solid #dddddd;
            border-bottom: none;
            z-index: -1; }

.sticky + h4 {
  padding-top: 20px; }

.comparisonTable {
  width: auto;
  height: auto;
  margin-top: 30px;
  position: relative; }
  @media (max-width: 1280px) {
    .comparisonTable {
      max-height: 70vh;
      overflow: auto;
      border-left: 1px solid #dddddd;
      border-bottom: 1px solid #dddddd;
      -webkit-overflow-scrolling: touch; } }
  .comparisonTable table {
    width: auto;
    max-width: 100%;
    border-left: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    position: relative;
    border-collapse: collapse;
    background-color: #ffffff; }
    @media (max-width: 1280px) {
      .comparisonTable table {
        min-width: calc(100% - 1px);
        min-width: 100%;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content; } }
    .comparisonTable table tr {
      width: 100%; }
      .comparisonTable table tr th, .comparisonTable table tr td {
        flex: 1;
        min-width: 60px;
        max-width: 100px;
        text-align: center;
        font-size: 12px;
        border: 1px dotted #dddddd;
        border-left: 1px solid #dddddd;
        border-right: 1px solid #dddddd; }
      .comparisonTable table tr th {
        border-bottom: none; }
      .comparisonTable table tr th:first-of-type {
        position: -webkit-sticky;
        position: sticky;
        left: 0;
        z-index: 3;
        border: none;
        background-color: #f7f7f7;
        padding: 0; }
        .comparisonTable table tr th:first-of-type:before {
          content: "";
          width: 100%;
          height: 100%;
          border: 1px solid #dddddd;
          position: absolute;
          left: -1px;
          top: -1px;
          pointer-events: none; }
      .comparisonTable table tr th:first-of-type.col_after {
        left: 60px !important; }
      .comparisonTable table tr th.col2 {
        width: 120px; }
      .comparisonTable table tr th.col_before {
        width: 60px; }
      .comparisonTable table tr th.col_after {
        position: sticky;
        position: -webkit-sticky;
        width: 60px;
        left: 60px !important;
        top: 0;
        z-index: 1;
        margin-top: -1px; }
      .comparisonTable table tr th:last-of-type:after {
        content: "";
        width: 1px;
        height: 100%;
        position: absolute;
        right: -1px;
        top: 0;
        z-index: 5;
        background-color: #dddddd; }
    .comparisonTable table thead {
      z-index: 2; }
      .comparisonTable table thead tr th {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 4;
        background: #ffffff;
        font-size: 18px;
        margin: 0;
        padding: 0;
        flex: 1;
        width: 160px;
        font-weight: bold; }
        .comparisonTable table thead tr th a {
          position: relative;
          z-index: 5;
          background-color: #ffffff;
          display: block;
          width: 100%;
          height: 100%;
          padding: 5px;
          text-decoration: none;
          font-weight: bold;
          box-sizing: border-box; }
        .comparisonTable table thead tr th:before {
          content: "";
          width: 100%;
          height: 100%;
          border: 1px solid #dddddd;
          position: absolute;
          left: -1px;
          top: -1px;
          pointer-events: none;
          box-shadow: 0px 4px 4px -2px rgba(0, 0, 0, 0.2);
          z-index: -1; }
        .comparisonTable table thead tr th:first-of-type {
          z-index: 5;
          background: #ffffff; }
          .comparisonTable table thead tr th:first-of-type:before {
            content: "";
            width: 100%;
            height: 100%;
            height: -webkit-calc(100% + 0);
            height: calc(100% + 0);
            border: 1px solid #dddddd;
            position: absolute;
            left: -1px;
            top: -1px;
            pointer-events: none; }
        .comparisonTable table thead tr th img {
          display: block;
          width: auto;
          height: 40px;
          margin: 0 auto;
          padding-top: 10px; }
    .comparisonTable table tfoot {
      z-index: 2; }
      .comparisonTable table tfoot tr th {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 4;
        background: #ffffff;
        font-size: 18px;
        margin: 0;
        padding: 0;
        flex: 1;
        width: 160px;
        font-weight: bold; }
        .comparisonTable table tfoot tr th a {
          position: relative;
          z-index: 5;
          background-color: #ffffff;
          display: block;
          width: 100%;
          height: 100%;
          padding: 5px;
          text-decoration: none;
          font-weight: bold;
          box-sizing: border-box; }
        .comparisonTable table tfoot tr th:before {
          content: "";
          width: 100%;
          height: 100%;
          border: 1px solid #dddddd;
          position: absolute;
          left: -1px;
          top: -1px;
          pointer-events: none;
          box-shadow: 0px -2px 4px -2px rgba(0, 0, 0, 0.2);
          z-index: -1; }
        .comparisonTable table tfoot tr th:first-of-type {
          z-index: 5;
          background: #ffffff; }
          .comparisonTable table tfoot tr th:first-of-type:before {
            content: "";
            width: 100%;
            height: 100%;
            height: -webkit-calc(100% + 0);
            height: calc(100% + 0);
            border: 1px solid #dddddd;
            position: absolute;
            left: -1px;
            top: -1px;
            pointer-events: none; }
        .comparisonTable table tfoot tr th img {
          display: block;
          width: auto;
          height: 40px;
          margin: 0 auto;
          padding-top: 10px; }
          @media (max-width: 1280px) {
            .comparisonTable table tfoot tr th img {
              width: auto;
              height: 50px; } }
    .comparisonTable table td.gray {
      background-color: #f7f7f7; }
    .comparisonTable table td.pink {
      background-color: #FCE4EC; }
    .comparisonTable table td.blue {
      background-color: #E3F2FD; }
    .comparisonTable table td.cyan {
      background-color: #E0F7FA; }
    .comparisonTable table td.green {
      background-color: #E8F5E9; }
    .comparisonTable table td.orange {
      background-color: #FFF3E0; }
    .comparisonTable table td.teal {
      background-color: #E0F2F1; }
    .comparisonTable table td.yellow {
      background-color: #FFFDE7; }
    .comparisonTable table td.white {
      background-color: #ffffff; }

ul.matrixApp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap; }
  ul.matrixApp li {
    width: 50%; }

ul.pageLink {
  padding: 20px;
  background-color: #f7f7f7; }
  ul.pageLink ul {
    padding: 0 0 0 10px;
    margin: 0 0 10px 0; }
  ul.pageLink li a {
    display: inline-block;
    width: auto;
    padding: 5px 0 5px 40px;
    position: relative; }
    ul.pageLink li a:after {
      font-family: "Font Awesome 5 Free";
      content: "\f078";
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      line-height: 1;
      font-weight: 900;
      width: 20px;
      height: 20px;
      line-height: 20px;
      display: block;
      text-align: center;
      position: absolute;
      left: 10px;
      top: 50%;
      margin: -10px 0 0 0;
      font-size: 9px;
      color: #777777;
      transition: all 0.2s ease-in-out; }

.matrixBanner {
  margin: 20px auto; }
  .matrixBanner a {
    display: block;
    padding: 20px 50% 20px 40px;
    background-color: #222222;
    color: #ffffff;
    position: relative;
    min-height: 180px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 0.2s ease-in-out; }
    .matrixBanner a:before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      background: -moz-linear-gradient(left, rgba(0, 0, 0, 0) 0%, #ED1C24 100%);
      background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, #ED1C24 100%);
      background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, #ED1C24 100%);
      opacity: 0;
      transition: all 0.2s ease-in-out; }
    .matrixBanner a:after {
      content: "";
      width: 50%;
      height: 120%;
      background-image: url(../images/matrix.png);
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      position: absolute;
      right: 0;
      top: -10%;
      z-index: 1; }
    .matrixBanner a h3 {
      border: none;
      margin: 0;
      padding: 0;
      font-size: 24px;
      line-height: 1;
      color: #ED1C24; }
    .matrixBanner a h4 {
      border: none;
      font-size: 21px;
      line-height: 1;
      margin: 0; }
    .matrixBanner a h5 {
      font-size: 36px;
      line-height: 1;
      padding: 0;
      margin: 0 0 0.5em 0; }
    .matrixBanner a p {
      border: 1px solid #ED1C24;
      color: #f14b52;
      display: inline-block;
      padding: 5px 40px 5px 20px;
      position: relative;
      width: auto;
      align-self: flex-start; }
      .matrixBanner a p:before {
        font-family: "Font Awesome 5 Free";
        content: "\f054";
        -webkit-font-smoothing: antialiased;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        font-weight: 900;
        width: 20px;
        height: 20px;
        line-height: 20px;
        display: block;
        text-align: center;
        position: absolute;
        right: 5px;
        top: 50%;
        margin: -10px 0 0 0;
        font-size: 12px;
        color: #ED1C24; }
    .matrixBanner a:hover {
      text-decoration: none; }
      .matrixBanner a:hover:before {
        opacity: 0.5; }
  @media (max-width: 720px) {
    .matrixBanner a {
      padding: 20vw 10px 10px 10px;
      text-align: center; }
      .matrixBanner a:after {
        content: "";
        width: 30vw;
        height: 30vw;
        background-image: url(../images/matrix.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        right: 50%;
        margin: 0 -15vw 0 0;
        top: 0;
        z-index: 1; }
      .matrixBanner a h3 {
        border: none;
        margin: 0;
        padding: 0;
        font-size: 18px;
        line-height: 1;
        color: #ED1C24; }
      .matrixBanner a h4 {
        border: none;
        font-size: 16px;
        line-height: 1;
        margin: 0; }
      .matrixBanner a h5 {
        font-size: 21px;
        line-height: 1;
        padding: 0;
        margin: 0 0 0.5em 0; }
      .matrixBanner a p {
        margin: 0 auto; }
      .matrixBanner a:hover {
        text-decoration: none; }
        .matrixBanner a:hover:before {
          opacity: 0.5; } }

#matrix {
  background-color: #ffffff; }
  #matrix article {
    padding-left: 0; }
    @media (max-width: 1280px) {
      #matrix article {
        padding-left: 15px; } }

#productsIndex {
  text-align: center; }
  #productsIndex .fileInformation {
    margin: 0 auto;
    width: 90%;
    max-width: 960px;
    justify-content: center;
    text-align: left;
    justify-content: center; }
    #productsIndex .fileInformation dt {
      width: 130px; }
      #productsIndex .fileInformation dt img {
        width: 100px; }
  #productsIndex #disclaimer {
    text-align: left; }
  #productsIndex #sfSubmit {
    text-align: center;
    margin: 0 auto !important; }

@media (max-width: 720px) {
  .category h3 {
    display: none; } }

#faq-accordion dl {
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  margin: 0 auto 10px auto; }
  #faq-accordion dl dt {
    border: 1px solid #dddddd;
    position: relative;
    padding: 20px 60px 20px 20px;
    font-weight: bold;
    cursor: pointer;
    display: block;
    margin-top: 20px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out; }
    #faq-accordion dl dt:first-child {
      margin-top: 0; }
    #faq-accordion dl dt:before {
      content: "";
      width: 31px;
      height: 1px;
      background-color: #bbbbbb;
      position: absolute;
      right: 20px;
      top: 30px;
      transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      -ms-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out; }
    #faq-accordion dl dt:after {
      content: "";
      width: 1px;
      height: 31px;
      background-color: #bbbbbb;
      position: absolute;
      right: 35px;
      top: 15px;
      transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      -ms-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out; }
    #faq-accordion dl dt:hover:before {
      background-color: #ED1C24; }
    #faq-accordion dl dt:hover:after {
      background-color: #ED1C24; }
    #faq-accordion dl dt.active:before, #faq-accordion dl dt.active:after {
      transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg); }
    #faq-accordion dl dt span {
      display: block;
      width: 5em;
      line-height: 20px;
      position: absolute;
      right: 20px;
      top: 50%;
      margin: -10px 0 0 0;
      font-weight: normal;
      color: #777777; }
  #faq-accordion dl dd {
    display: none;
    padding: 20px;
    background-color: #fafafa; }

/*===================================================================

20200911_フォームボタン追加設置

====================================================================*/
#btnBlock {
  width: 100%;
  margin-top: 20px; }
  #btnBlock ul {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 0;
    width: 100%;
    margin: 0; }
    #btnBlock ul.flexBox li {
      flex: none;
      margin: 5px 5px 5px 0;
      min-width: calc(100% / 3 - 4px); }
      #btnBlock ul.flexBox li:last-child {
        margin-right: 0; }
      #btnBlock ul.flexBox li a.b_btn {
        display: block;
        padding: 0 1em 0 0.5em;
        margin: 0;
        padding-right: calc(1.2em + 10px);
        background: #d2e5db;
        color: #263f29; }
        #btnBlock ul.flexBox li a.b_btn:after {
          content: "\f105";
          -webkit-font-smoothing: antialiased;
          display: block;
          padding: 0;
          font-style: normal;
          font-variant: normal;
          text-rendering: auto;
          line-height: 1;
          font-weight: 900;
          width: 20px;
          height: 20px;
          line-height: 30px;
          text-align: center;
          position: absolute;
          right: 5px;
          top: 0;
          transition: all 0.2s ease-in-out;
          -moz-transition: all 0.2s ease-in-out;
          -webkit-transition: all 0.2s ease-in-out;
          -ms-transition: all 0.2s ease-in-out;
          -o-transition: all 0.2s ease-in-out; }
        #btnBlock ul.flexBox li a.b_btn i {
          margin-right: 5px; }
        #btnBlock ul.flexBox li a.b_btn:hover:after {
          right: 0; }

#productSingle #productIntro div#productText {
  align-self: center; }

#formBtn {
  display: none;
  position: fixed;
  right: 0;
  bottom: 50%;
  -webkit-transform: translate(0%, 50%);
  -moz-transform: translate(0%, 50%);
  -ms-transform: translate(0%, 50%);
  -o-transform: translate(0%, 50%);
  transform: translate(0%, 50%);
  z-index: 999; }
  #formBtn ul li {
    margin-bottom: 1px; }
    #formBtn ul li a {
      display: block;
      padding: 10px 15px;
      background: #d2e5db;
      color: #263f29;
      text-align: center;
      font-size: 12px;
      transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      -ms-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out; }
      #formBtn ul li a i {
        display: block;
        font-size: 20px;
        text-align: center;
        margin-bottom: 2px; }
      #formBtn ul li a:hover {
        text-decoration: none; }

@media screen and (max-width: 720px) {
  #btnBlock ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: unset; }
    #btnBlock ul.flexBox li {
      flex: 1;
      margin: 0 1px 0 0; }
      #btnBlock ul.flexBox li a.btn {
        padding: 15px 10px;
        display: block;
        width: calc(100% - 20px); }
        #btnBlock ul.flexBox li a.btn:after {
          content: none; }
    #btnBlock ul li a.btn i {
      display: block;
      font-size: 20px;
      text-align: center;
      margin-bottom: 2px; }
    #btnBlock ul li a.btn span {
      display: none; }

  #formBtn {
    display: none;
    transform: none !important;
    bottom: -1px !important;
    left: 0;
    width: 100%; }
    #formBtn ul {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 100%; }
      #formBtn ul li {
        flex: 1;
        border-right: 1px solid #fff; }
        #formBtn ul li:last-child {
          border-right: 0; }
        #formBtn ul li a {
          padding: 5px;
          text-align: center; }
          #formBtn ul li a i {
            font-size: 16px;
            margin-bottom: 4px; } }
.dollar {
  border: 2px solid #263f29;
  border-radius: 50%;
  padding: 1px .5px .5px .5px; }
  .dollar:before {
    content: "$";
    display: inline-block;
    font-weight: bold;
    font-size: 15px;
    width: 16.5px;
    text-align: center; }

#formBtn .dollar {
  height: 22px;
  width: 22px;
  margin: auto auto 2px auto;
  padding: 0; }
  #formBtn .dollar:before {
    display: block;
    font-size: 16px;
    width: auto;
    line-height: 24px; }

@media screen and (max-width: 420px) {
  .dollar:before {
    width: 15.5px; }

  #formBtn .dollar {
    height: 16px;
    width: 16px;
    margin: auto auto 0 auto; }
    #formBtn .dollar:before {
      font-size: 14px;
      line-height: 16px; } }
/*===================================================================

20210928_Google検索エンジン用の製品一覧CSS追加

====================================================================*/
#searchIndexHeader h1 span.hits {
  display: inline;
  color: #fff; }

#google_productsList {
  padding: 2em 0 0 0;
  border-top: 1px solid #eee; }
  #google_productsList .article {
    width: 100%;
    margin: 0 0 5px 0; }
    #google_productsList .article a {
      background-color: #fff;
      position: relative;
      padding: 10px;
      border: 1px solid #eeeeee;
      text-decoration: none;
      margin: -1px 0 0 -1px;
      transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      -ms-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      width: 100%;
      height: 100%;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      color: #222222; }
      #google_productsList .article a .thumbnail {
        padding: 10px;
        margin: 0 auto;
        flex: 1; }
        #google_productsList .article a .thumbnail img {
          width: 100%; }
      #google_productsList .article a .textBox {
        flex: 4;
        padding: 10px; }
        #google_productsList .article a .textBox h3 {
          margin: 0 auto;
          padding: 0 0 20px 0;
          font-size: 18px; }
        #google_productsList .article a .textBox p {
          font-size: 14px;
          line-height: 1.6; }
      #google_productsList .article a:hover {
        border: 1px solid #ED1C24;
        z-index: 2; }
  @media screen and (max-width: 720px) {
    #google_productsList .article a {
      padding: 1em;
      flex-direction: unset;
      justify-content: space-between; }
      #google_productsList .article a .thumbnail {
        width: 60px;
        height: 60px;
        align-self: flex-start;
        padding: 0;
        flex: unset;
        margin: 0; }
      #google_productsList .article a .textBox {
        margin: 0;
        width: calc(100% - 80px);
        padding: 0;
        flex: unset; }
        #google_productsList .article a .textBox h3 {
          font-size: 16px;
          line-height: 1.4; }
        #google_productsList .article a .textBox p {
          font-size: 12px;
          margin: 0 0 0 -80px; } }

#googleSearch #productsSearch {
  width: 100%; }
  #googleSearch #productsSearch input[type="text"] {
    flex: 2.5;
    height: 45px;
    line-height: 45px;
    padding: 0;
    margin: 0;
    outline: none;
    padding: 0 10px;
    font-size: 16px; }
  #googleSearch #productsSearch .onlyCheck {
    flex: 1;
    align-self: center;
    background-color: #f4f4f4;
    padding: 10px;
    margin: 0; }
  #googleSearch #productsSearch input[type="submit"] {
    margin: 0 0;
    padding: 0;
    background: #222222;
    color: #ffffff;
    width: 80px;
    height: 45px;
    line-height: 45px;
    border: none;
    outline: none;
    border: none; }
    #googleSearch #productsSearch input[type="submit"]:hover {
      box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6);
      -moz-box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6);
      -webkit-box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6);
      -ms-box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6);
      -o-box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6); }
  #googleSearch #productsSearch input[type="checkbox"] {
    display: none;
    -webkit-appearance: checkbox; }
  #googleSearch #productsSearch input[type="checkbox"] + label {
    display: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    line-height: 1.25;
    padding: 0 0 0 25px;
    position: relative;
    font-size: 14px;
    height: 100%; }
    #googleSearch #productsSearch input[type="checkbox"] + label:before {
      content: "";
      width: 18px;
      height: 18px;
      border: 1px solid #bbbbbb;
      position: absolute;
      background-color: #fff;
      left: 0;
      top: 10px;
      margin: -10px 0 0 0;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box; }
  #googleSearch #productsSearch input[type="checkbox"]:checked + label {
    opacity: 1;
    position: relative; }
    #googleSearch #productsSearch input[type="checkbox"]:checked + label:after {
      content: "\f00c";
      font-family: "Font Awesome 5 Free";
      text-align: center;
      line-height: 18px;
      font-size: 16px;
      position: absolute;
      left: 1px;
      top: 10px;
      margin: -10px 0 0 0;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      font-weight: 900; }
@media screen and (max-width: 720px) {
  #googleSearch #productKeyword {
    position: relative;
    padding: 1em 0 4em 0; }
    #googleSearch #productKeyword #productsSearch .flexBox {
      width: 90%;
      margin: auto;
      flex-direction: unset; }
    #googleSearch #productKeyword #productsSearch .onlyCheck {
      margin: 0;
      position: absolute;
      top: 45px;
      padding: 10px 0 0 0;
      background-color: transparent; } }

#googleSearchSide #productKeyword {
  padding: 0 0 2em 0; }
#googleSearchSide #productsSearch {
  width: 100%; }
  #googleSearchSide #productsSearch .flexBox {
    width: 100%;
    margin: 0; }
  #googleSearchSide #productsSearch input[type="text"] {
    flex: 2.5;
    height: 45px;
    line-height: 45px;
    padding: 0;
    margin: 0;
    outline: none;
    padding: 0 10px;
    font-size: 16px;
    font-size: 14px; }
  #googleSearchSide #productsSearch .onlyCheck {
    margin: 0;
    position: absolute;
    top: 45px;
    padding: 3px 0 0 0; }
  #googleSearchSide #productsSearch input[type="submit"] {
    margin: 0 0;
    padding: 0;
    background-color: #222;
    color: #ffffff;
    height: 45px;
    line-height: 45px;
    border: none;
    outline: none;
    border: none;
    border-radius: 0;
    width: 50px;
    font-size: 14px; }
    #googleSearchSide #productsSearch input[type="submit"]:hover {
      box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6);
      -moz-box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6);
      -webkit-box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6);
      -ms-box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6);
      -o-box-shadow: 0 5px 10px 0 rgba(34, 34, 34, 0.6); }
  #googleSearchSide #productsSearch input[type="checkbox"] {
    display: none;
    -webkit-appearance: checkbox; }
  #googleSearchSide #productsSearch input[type="checkbox"] + label {
    display: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    line-height: 1.25;
    padding: 0 0 0 25px;
    position: relative;
    font-size: 14px;
    height: 100%; }
    #googleSearchSide #productsSearch input[type="checkbox"] + label:before {
      content: "";
      width: 18px;
      height: 18px;
      border: 1px solid #bbbbbb;
      position: absolute;
      background-color: #fff;
      left: 0;
      top: 10px;
      margin: -10px 0 0 0;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box; }
  #googleSearchSide #productsSearch input[type="checkbox"]:checked + label {
    opacity: 1;
    position: relative; }
    #googleSearchSide #productsSearch input[type="checkbox"]:checked + label:after {
      content: "\f00c";
      font-family: "Font Awesome 5 Free";
      text-align: center;
      line-height: 18px;
      font-size: 16px;
      position: absolute;
      left: 1px;
      top: 10px;
      margin: -10px 0 0 0;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      font-weight: 900; }

#searchContainer #googleSearch {
  width: 100%;
  max-width: 960px;
  margin: auto; }
  #searchContainer #googleSearch #productKeyword {
    padding: 1em 0; }
    #searchContainer #googleSearch #productKeyword #productsSearch .flexBox {
      margin: 0; }
#searchContainer #searchResult .inner .article a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex; }
@media screen and (max-width: 720px) {
  #searchContainer #searchResult .inner .article a {
    padding: 1em;
    flex-direction: unset;
    justify-content: space-between; }
    #searchContainer #searchResult .inner .article a:before, #searchContainer #searchResult .inner .article a:after {
      content: none; }
    #searchContainer #searchResult .inner .article a .thumbnail {
      width: 60px;
      height: 60px;
      align-self: flex-start;
      padding: 0;
      flex: unset;
      margin: 0; }
    #searchContainer #searchResult .inner .article a .textBox {
      margin: 0;
      width: calc(100% - 80px);
      padding: 0;
      flex: unset; }
      #searchContainer #searchResult .inner .article a .textBox h3 {
        font-size: 16px;
        line-height: 1.4; }
      #searchContainer #searchResult .inner .article a .textBox p {
        font-size: 12px;
        margin: 0 0 0 -80px; }
  #searchContainer #googleSearch #productKeyword {
    position: relative;
    padding: 1em 0 4em 0; }
    #searchContainer #googleSearch #productKeyword #productsSearch .flexBox {
      width: 90%;
      margin: auto;
      flex-direction: unset; }
    #searchContainer #googleSearch #productKeyword #productsSearch .onlyCheck {
      margin: 0;
      position: absolute;
      top: 45px;
      padding: 10px 0 0 0;
      background-color: transparent; } }

/*# sourceMappingURL=products.css.map */
