@charset "UTF-8";
/* Scss Document */
/*罫色*/
h1 {
  font-size: 2.4rem;
  font-weight: 800;
  margin-bottom: 0.3em;
  border-bottom: 1px solid #999; }

h2 {
  font-size: 1.8rem;
  font-weight: 800;
  margin-bottom: 1em;
  padding: 5px;
  color: #FFF;
  background: #174E9D; }

section > h2 {
  padding-left: 1.3em;
  text-indent: -1em; }

h3 {
  font-size: 1.4rem;
  margin: 0 0 0.5em 0;
  padding: 5px;
  text-align: center;
  color: #FFF;
  background: #D02526; }
  h3 span {
    font-size: 1rem;
    display: block;
    margin: -2px -2px 5px -2px;
    padding: 2px;
    background: #FFFF25;
    color: #333; }

.cart h3 {
  border-radius: 25px; }

h4 {
  font-size: 1rem;
  margin: 0;
  padding: 3px;
  text-align: center;
  color: #FFF;
  background: #D02526; }

a {
  text-decoration: underline;
  font-weight: 800; }
  a:link {
    color: #06C; }
  a:active {
    color: #C00; }
  a:hover {
    color: #C00; }
  a:visited {
    color: #06C; }

.arrow {
  position: relative;
  display: inline-block;
  padding-left: 1em; }

.arrow:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #06C;
  position: absolute;
  top: 0.3em;
  left: 0;
  /*margin-top: -6px;*/ }

p {
  margin: 0 0 1em 0;
  line-height: 1.4; }

strong {
  font-weight: bold; }

em {
  color: #C00;
  text-decoration: none;
  font-style: normal; }

small {
  font-size: 0.75rem;
  /*12px*/ }

sup {
  font-size: 0.8rem; }

ul.note {
  list-style: none;
  margin: 0 0 2em 0; }
  ul.note li {
    text-indent: -1em;
    padding-left: 1em; }

/*----------------------------*/
/*ヘッダー部  -->commom.css*/
/*ソーシャルボタン  -->commom.css*/
/*----------------------------*/
/*----------------------------*/
/*main contents  max1280px */
/*----------------------------*/
main {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 50px 20px; }

article header {
  display: block;
  background-color: transparent;
  padding-bottom: 0.5em; }
  article header div {
    color: #FFF;
    background: #333;
    padding: 0 5px;
    font-family: Impact;
    font-size: 1.5rem;
    line-height: 1.1; }

main > aside ul {
  list-style: none;
  border: 1px solid #DDD;
  margin-bottom: 1em;
  background: #FFF; }
  main > aside ul li {
    border-top: 1px solid #DDD;
    padding: 10px;
    display: flex;
    align-items: center;
    heihgt: inherit; }
  main > aside ul li:first-child {
    border: none; }
  main > aside ul a {
    display: block;
    font-weight: normal;
    text-decoration: none;
    font-size: 0.9rem; }
  main > aside ul a:first-child {
    width: 110px; }
  main > aside ul img {
    width: 100%;
    padding-right: 15px; }
  main > aside ul a:last-child img {
    width: initial;
    padding: 0 0 0 3px;
    vertical-align: middle; }
main > aside .sns_banner {
  display: flex;
  justify-content: center;
  margin: 1em 0;
  padding: 10px 0; }
  main > aside .sns_banner div {
    width: 100%;
    margin: 5px; }

article img,
aside img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto; }

article > section {
  margin-top: 3em;
  margin-bottom: 4em; }

/*1024以上は2コラム　メインコラム最小649（スクロール幅15）*/
@media screen and (min-width: 1024px) {
  main {
    display: flex;
    justify-content: space-between; }

  article {
    width: calc(100% - 320px); }

  main > aside {
    width: 280px; }
    main > aside li a:first-child {
      width: 70px; }
    main > aside li a:last-child {
      width: calc(100% - 70px); }
    main > aside li img {
      padding-right: 5px; }
    main > aside .sns_banner {
      display: block; }
      main > aside .sns_banner div {
        margin: 5px 0; } }
div.search > div {
  padding: 10px;
  margin: 10px 0;
  background: #DDD; }
div.search .SearchBox fieldset {
  border: none; }

/*----------------------------*/
/*　　　本文部分　　　*/
/*----------------------------*/
/*目次*/
article > aside {
  font-size: 0.9rem; }
  article > aside h3 {
    font-size: 0.8rem;
    padding: 2px; }
  article > aside ul {
    list-style: none;
    margin: 0 0 1em 0; }
    article > aside ul li {
      margin-bottom: 0.3em;
      padding-left: 1em;
      text-indent: -1em; }
    article > aside ul ul {
      margin: 0.5em 0.5em 0.5em 0; }
      article > aside ul ul li::before {
        content: "●";
        font-size: 0.8rem;
        padding-right: 0.2rem;
        color: #174E9D; }
  article > aside a {
    text-decoration: none;
    font-weight: normal; }
  article > aside a:hover {
    text-decoration: underline; }

/*製品パケ*/
ul.product_img {
  list-style: none;
  display: flex;
  justify-content: center;
  margin-bottom: 1em; }
  ul.product_img li {
    width: 33%; }

/* キャプションブロック*/
section > div.cap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: -5px;
  margin-bottom: 2em; }
  section > div.cap div {
    width: calc(50% - 10px);
    padding: 10px;
    margin: 5px;
    border: 1px solid #DDD;
    background: #FCFCFC; }
    section > div.cap div img {
      margin-bottom: 5px; }
    section > div.cap div p {
      font-size: 0.9rem;
      line-height: 1.3; }

section > div.center div {
  text-align: center; }

/*箇条書きポイント*/
section > div.point {
  border: 2px solid #D02526;
  margin-bottom: 1em; }
  section > div.point ul {
    list-style: none;
    background: #FFF;
    padding: 15px; }
  section > div.point li {
    position: relative;
    padding-left: 1em;
    margin-bottom: 0.5em; }
  section > div.point li:before {
    content: '';
    width: 0.7em;
    height: 0.7em;
    background: #D02526;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 0.25em; }
  section > div.point li:last-child {
    margin-bottom: 0; }

section > section {
  background: #FFFFFF;
  margin-bottom: 3em;
  padding: 15px; }
  section > section p {
    margin-bottom: 0; }
  section > section h3 {
    text-align: left;
    font-size: 1rem;
    margin-bottom: 0.2em; }
  section > section ul.product_img li {
    width: 50%;
    text-align: center; }
    section > section ul.product_img li img {
      display: block;
      margin: 0 auto; }

@media screen and (min-width: 680px) {
  section > section ul.product_img li img {
    max-width: 200px; } }
/*製品ページリンク*/
section dl {
  border: 2px solid #DDD;
  margin-bottom: 2em; }
section dt {
  background: #DDD;
  padding: 5px 10px;
  font-weight: 100; }
section dd {
  padding: 10px;
  background: #FFF; }
section dd + dd {
  padding-top: 0;
  /*2つ以上ある場合*/ }
section dl + h3 {
  margin-top: 3em; }

/*----------------------------*/
/* カート section.cart内*/
/*----------------------------*/
.cartBox {
  width: 100%;
  margin: 0; }
  .cartBox .cartjs_box {
    width: 100%;
    border: 1px solid #DDD;
    margin: 5px 0;
    padding: 10px;
    background: #FFF; }

/*スマホ用に勝手に入るcss回避*/
.cartjs_box header.cartjs_header {
  /*製品名と画像*/
  border: none !important; }
  .cartjs_box header.cartjs_header h2 {
    margin-bottom: 0;
    padding: 0; }
  .cartjs_box header.cartjs_header img#swipe_image {
    width: 60%; }
.cartjs_box .cartjs_block, .cartjs_box p {
  padding: 0 !important;
  margin: 0; }
.cartjs_box table.cartjs_dtl_tbl th, .cartjs_box table.cartjs_dtl_tbl td {
  width: 100% !important; }

@media screen and (min-width: 420px) {
  .cartBox {
    display: flex;
    flex-wrap: wrap; }
    .cartBox .cartjs_box {
      margin: 5px 5px;
      width: calc(50% - 10px); } }
@media screen and (min-width: 680px) {
  .cartBox {
    display: flex;
    flex-wrap: wrap; }
    .cartBox .cartjs_box {
      width: calc(33% - 10px); } }
.cartBox table {
  margin: 0;
  padding: 0;
  border: none;
  width: 100%; }
  .cartBox table th, .cartBox table td {
    display: block;
    margin: 0 0 3px 0;
    font-weight: normal;
    color: #000;
    text-align: center !important; }
  .cartBox table th {
    padding: 1px 3px !important;
    background: #CCC;
    font-size: 90%; }
  .cartBox table td {
    padding: 3px;
    background: #FFF; }

/*cartform*/
.cartBox input[type="text"] {
  margin: 0;
  padding: 5px;
  background: #FFF;
  color: #333;
  border: 1px solid #CCC;
  border-radius: 4px; }
.cartBox input[type="text"]:hover {
  background: #FFC;
  filter: alpha(opacity=100);
  opacity: 1; }
.cartBox input[type="submit"] {
  display: block;
  margin: 3px 0 0 0;
  padding: 8px 3px;
  color: #FFF;
  font-size: 1.2rem;
  font-weight: 800;
  width: 100%;
  background-image: linear-gradient(to bottom, #BBC9E0 0%, #4066AA 100%);
  border-radius: 4px;
  border: none; }
.cartBox input[type="submit"]:hover {
  filter: alpha(opacity=60);
  opacity: 0.60; }

/*----------------------------*/
/*movei*/
/*----------------------------*/
/*movie表示*/
/*movie レスポンシブ*/
.movie-wrap {
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden; }

.movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*製品ページwidth:560pxまでの場合*/
.movie_outer {
  text-align: center;
  padding: 0;
  margin: 0 0 2em 0;
  border: 1px solid #CCC;
  background: #FFF; }

.movie {
  max-width: 560px;
  margin: 0 auto; }

/*製品サムネ*/
ul.thumblist {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 4px;
  margin-bottom: 4px; }
  ul.thumblist li {
    width: 252px; }
  ul.thumblist img {
    width: calc(252px - 4px);
    margin-right: 2px;
    margin-left: 2px; }

/*   pop   */
/* 背景と文字色は各ページcssで設定*/
div.pop {
  display: block;
  margin: 0 0 5em 0;
  padding: 0;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); }
  div.pop a {
    font-weight: normal; }
  div.pop p {
    display: block;
    font-size: 1rem;
    line-height: 1.3;
    margin: 0;
    text-align: center; }
  div.pop img {
    width: 100%; }

@media screen and (min-width: 1280px) {
  div.pop {
    display: flex;
    align-items: center; }
    div.pop p {
      text-align: left;
      font-size: 1.2rem; }
    div.pop p:first-child {
      padding: 10px;
      width: calc(100% - 680px); } }
/*製品比較*/
.scroll_table {
  display: block;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch; }

.products_table {
  border-collapse: separate;
  border-spacing: 3px;
  margin: 0 0 0 -3px; }
  .products_table sup {
    color: #FF0000; }
  .products_table td, .products_table th {
    padding: 5px; }
  .products_table colgroup:nth-child(2) .con1 {
    background: #b1d9f6; }
  .products_table colgroup:nth-child(2) .con2 {
    background: #b2d6d1; }
  .products_table colgroup:nth-child(2) .con3 {
    background: #f4dbb2; }
  .products_table colgroup:nth-child(2) .con4 {
    background: #e7bac5; }
  .products_table colgroup:nth-child(2) .con5 {
    background: #bec1e1; }
  .products_table thead th:first-child,
  .products_table tbody th {
    width: 5em;
    font-weight: normal;
    position: sticky;
    left: 0;
    color: #FFF;
    background: #999; }
    .products_table thead th:first-child:before,
    .products_table tbody th:before {
      content: "";
      position: absolute;
      top: 0px;
      left: 0px;
      width: 100%;
      height: 100%;
      border-right: 3px solid #FFF; }
  .products_table tbody td {
    min-width: 170px; }
  .products_table tbody td.none {
    background: #DDD; }
  .products_table tr.products_photo td {
    text-align: center;
    background: #FFF; }
    .products_table tr.products_photo td img {
      width: 150px; }
  .products_table tr.center td {
    text-align: center; }

table + ul.note {
  margin: 0; }
  table + ul.note li {
    font-size: 0.8rem;
    text-indent: -2em;
    padding-left: 2em; }
