﻿@charset "UTF-8";

/* ----ページ---- */

.block-page-caption,
.block-page-freespace--top,
.block-page-freespace--bottom,
.block-page-block--contents {
  word-break: break-all;
}

.block-page-block--frame {
  margin-bottom: 40px;
}

.block-page-block--contents-goodslist dl {
  display: inline-block;
  vertical-align: top;
  width: 25%;
}

.block-page-block--goods-name {
  text-decoration: underline;
}

.block-page-block--contents-body-img-slider-1column {
  display: inline-block;
  vertical-align: top;
  width: 500px;
}

.block-page-block--contents-body-imgtext-slider-1column {
  display: inline-block;
  vertical-align: top;
  width: 500px;
}

.block-page-block--goods-image .img-center {
  position: relative;
}

/* ---- Swiper表示 ---- */
.block-page-block--contents-swiper {
  margin: 20px 0 60px 0;
  position: relative;
}

.block-page-block--contents-swiper .swiper-pageblock {
  -moz-box-shadow: 0 0 5px #ccc;
  -webkit-box-shadow: 0 0 5px #ccc;
  box-shadow: 0 0 5px #ccc;
  border: 5px solid #fff;
  background: #fff;
  overflow: hidden;
}

.block-page-block--contents-swiper .swiper-pageblock .swiper-wrapper {
  z-index: 0;
}

.block-page-block--contents-swiper .swiper-button-disabled {
  display: none;
}

.block-page-block--contents-swiper .swiper-page-prev {
  position: absolute;
  cursor: pointer;
  top: 50%;
  margin-top: -16px;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  left: 15px;
}

.block-page-block--contents-swiper .swiper-page-next {
  position: absolute;
  cursor: pointer;
  top: 50%;
  margin-top: -16px;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  right: 15px;
}

.block-page-block--contents-swiper .swiper-page-prev::before,
.block-page-block--contents-swiper .swiper-page-next::before {
  position: absolute;
  width: 32px;
  height: 32px;
  top: 50%;
  left: 50%;
  background-color: #444;
  opacity: 0.6;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  box-sizing: border-box;
  content: "";
}

.block-page-block--contents-swiper .swiper-page-prev::after {
  color: #fff;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 12px;
  width: 10px;
  height: 10px;
  border-style: solid;
  transform: rotate(45deg);
  border-width: 0 0 3px 3px;
  box-sizing: border-box;
  content: "";
}

.block-page-block--contents-swiper .swiper-page-next::after {
  color: #fff;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 9px;
  width: 10px;
  height: 10px;
  border-style: solid;
  transform: rotate(45deg);
  border-width: 3px 3px 0 0;
  box-sizing: border-box;
  content: "";
}

.block-page-block--contents-swiper .swiper-pagination {
  bottom: -30px !important;
}

.block-page-block--contents-swiper .swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,10px)) !important;
  height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,10px)) !important;
}

.block-page-block--contents-swiper .swiper-pagination-bullet-active {
  --swiper-theme-color: #666 !important;
}

/* ---- カスタマイズ ---- */
.block-page-block {
  font-size: 16px;
  line-height: 1.6;
}
.block-page-block .block-page-block--contents-body-text-1column {
  width: 100%;
}
/* 記事作成日・記事更新日 */
.block-page-date {
  margin-bottom: 20px;
}
/* カテゴリ一覧へのリンク */
.block-page-link {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
.block-page-link a {
  display: flex;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  background-color: #fff;
  border: 1px solid var(--black2);
  border-radius: 100px;
  padding: 14px 48px;
  transition: .3s;
}
.block-page-link a:hover {
  background-color: var(--blue1);
  color: #fff;
  text-decoration: none;
}

/* title */
.block-page-block h2 {
  color: var(--blue1);
  border-top: 3px solid var(--blue1);
  border-bottom: 3px solid var(--blue1);
  margin-top: 2rem;
}
.block-page-block h3 {
  border-bottom: 3px solid var(--blue4);
  position: relative;
}
.block-page-block h3::before {
  display: inline-block;
  content: "●";
  color: var(--blue1);
  margin-right: 8px;
}
.block-page-block h3::after {
  display: block;
  content: " ";
  width: 20%;
  border-bottom: solid 3px var(--blue1);
  position: absolute;
  bottom: -3px;
}
.block-page-block h4 {
  border-bottom: 3px dotted var(--blue1);
  margin-bottom: 24px;
  position: relative;
}
.block-page-block h4::before {
  display: inline-block;
  content: "■";
  color: var(--blue1);
  margin-right: 8px;
}

/* text */
.block-page-block--contents-body-text-1column p,
.block-page-block--contents-body-imgtext-1column p {
  margin: 1em 0;
}
.block-page-block .align-center {
  text-align: center;
}
.block-page-block strong {
  font-weight: bold;
}
/* link */
.block-page-block a {
  display: inline;
  color: var(--blue1);
  text-decoration: underline;
}
.block-page-block .link-button {
  margin: 1em 0;
}
.block-page-block .link-button a {
  display: block;
  text-decoration: none;
  color: var(--blue1);
  border: 2px solid var(--blue1);
  font-weight: bold;
  text-align: center;
  padding: 1em 4em;
  transition: .3s;
}
.block-page-block .link-button a:hover {
  color: #fff;
  background-color: var(--blue1);
}

/* img */
.block-page-block--contents-body-img-1column img,
.block-page-block--contents-body-imgtext-1column img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

/* table */
.block-page-block table {
  font-size: 14px;
  border-collapse: collapse;
  margin: 1em 0;
}
.block-page-block table th,
.block-page-block table td {
  border: 1px solid #000;
  padding: 10px;
}

/* ul */
.block-page-block ul {
  padding-left: 1.5em;
}
.block-page-block ul li {
  list-style: disc;
}

/* ol */
.block-page-block ol.ol-blue {
  counter-reset: ol-blue;
}
.block-page-block ol.ol-blue li {
  padding-left: 35px;
  position: relative;
}
.block-page-block ol.ol-blue li + li {
  margin-top: 1em;
}
.block-page-block ol.ol-blue li::before {
  display: block;
  content: counter(ol-blue);
  counter-increment: ol-blue;
  width: 25px;
  height: 25px;
  font-size: 15px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  background-color: var(--blue1);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
.block-page-block ol.ol-blue li::after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 12px solid var(--blue1);
  position: absolute;
  left: 20px;
  top: 50%;
  translate: 0 -50%;
}

/* other */
/* other - author */
.block-page-block .author {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 800px;
  border: 1px solid #000;
  padding: 16px;
  margin: 0 auto;
}
.block-page-block .author-img {
  width: 30%;
}
.block-page-block .author-content {
  width: 60%;
}
.author-content h2 {
  border-top: none;
  border-bottom: none;
  padding: 0;
  margin: 0;
  color: #000;
  font-weight: 400;
}

/* other - div.border-blue */
.block-page-block .border-blue {
  border: 1px solid var(--blue3);
  padding: 16px;
}

/* other - 共通ブロック - グローブ一覧はこちら */
.block-page-block .info {
  border: 1px solid var(--blue3);
  padding: 0 32px 16px;
}
.block-page-block .info-title {
  width: fit-content;
  color: #fff;
  font-size: 16px;
  position: static;
  border-top: none;
  border-bottom: none;
  background-color: var(--blue3);
  padding: 5px 20px;
  margin: 0;
  translate: -28px -5px;
}

/* other - 共通ブロック - PRおすすめ商品のご紹介 */
.block-page-block .pr {
  max-width: 800px;
  border: 3px solid var(--blue1);
  margin: 0 auto;
  padding: 0 16px 32px;
}
.block-page-block .pr-title {
  color: #fff;
  font-weight: bold;
  text-align: center;
  background-color: var(--blue1);
  padding: 16px 0;
  margin: 0 -16px;
}
.block-page-block .pr-imgs {
  margin-top: 16px;
  padding: 0 32px;
}
.block-page-block .pr-imgs-i + .pr-imgs-i {
  margin-top: 32px;
}
.block-page-block .pr-imgs-i a {
  transition: .3s;
}
.block-page-block .pr-imgs-i a:hover {
  opacity: .7;
}
.block-page-block .pr h2,
.block-page-block .pr h3 {
  text-align: center;
}