@charset "utf-8";
/* =================================
追加カスタマイズ
================================= */

/* =================================
矢印が動くボタン
================================= */
.btn-arrow-move {
  display: block;
  position: relative;
  background-color: #B5000B;
  min-width: 400px;
  background-size: 30px;
  border-radius: 60px;
  text-align: center;
  padding: 20px 40px 50px 40px;
  font-size: 1.4rem;
  color: #fff;
}

.btn-arrow-move:hover {
  opacity: 1;
}

.btn-arrow-move::after {
  position: absolute;
  content: url(../img/img-btn-01.svg);
  width: 80px;
  bottom: 20px;
  left: calc(50% - 40px);
  transition: 0.3s ease;
}

.btn-arrow-move:hover::after {
  left: calc(50% - 20px);
}

/* =================================
ヘッダー
================================= */
header.dec-h01 {
  /* カレンダーのツールチップより上に設定する */
  z-index: 99999;
}

@media (max-width: 991px) {

  /* 動的に出し分けて色を変える */
  .sp-full-order-wrap .sp-fishing-menu-wrap.dec-h05 {
    background-color: transparent;
  }

  .sp-full-order-wrap .sp-full-order-menu-wrap.dec-h06 {
    background-color: #3669A6;
  }
}

/* =================================
パンくず
================================= */
.dec-breadcrumb li a span {
  color: #ccc;
}

/* =================================
お知らせ
================================= */
.post-type-archive-news .pagination .current span {
  border-left: 1px solid #505050;
  border-right: 1px solid #505050;
}

/* リンクに下線 */
.single-news .news-content-wrap a {
  border-bottom: 1px solid #B5000C;
  color: #B5000C;
}

/* ページネーション・現在リンク */
.pagination .current {
  display: flex;
  color: #B5000C;
  font-weight: 500;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
}

/* =================================
カレンダー
================================= */
/* カレンダー内のボタン初期化 */
.simcal-calendar button {
  /* 1. ブラウザのデフォルト外観をリセット */
  -webkit-appearance: none;
  /* WebKit系 (Chrome, Safari) */
  -moz-appearance: none;
  /* Mozilla系 (Firefox) */
  appearance: none;
  /* 標準 */

  /* 2. 背景、境界線、影を削除 */
  background: transparent;
  /* 背景を透明に */
  border: none;
  /* 境界線を削除 */
  padding: 0;
  /* パディングをリセット */
  margin: 0;
  /* マージンをリセット */
  box-shadow: none;
  /* 影を削除 */
  border-radius: 0;
  /* 角丸を削除 */

  /* 3. 文字とカーソルの設定 */
  color: inherit;
  /* 文字色を親要素から継承 */
  font-family: inherit;
  /* フォントを親要素から継承 */
  font-size: 100%;
  /* フォントサイズをリセット */
  line-height: normal;
  /* 行の高さをリセット */
  text-align: center;
  /* テキストを中央揃えに (必要に応じて) */
  cursor: pointer;
  /* クリック可能であることを示すカーソルを設定 */

  /* 4. タッチ操作時のハイライトを無効化 (SP向け) */
  -webkit-tap-highlight-color: transparent;
}

/* カレンダー全体 */
.simcal-calendar {
  margin-left: auto;
  margin-right: auto;
  max-width: 988px;
}

.simcal-calendar table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}

.simcal-event-title {
  padding: 4px;
  display: block;
  width: 100%;
  font-weight: bold;
  box-sizing: border-box;
}

.simcal-calendar th,
.simcal-calendar td {
  border: 1px solid #ccc;
}

/* 月移動する矢印 */
.simcal-default-calendar-grid .simcal-calendar-head .simcal-nav {
  border: none;
  font-size: 32px;
  text-align: center;
}

.simcal-default-calendar-grid .simcal-calendar-head .simcal-nav span {
  font-weight: 700;
  color: #000;
}

.simcal-icon-left:before {
  content: '＜ 前の月' !important;
  display: block !important;
  width: 100% !important;
  color: #000;
  font-size: 24px;
  font-style: normal;
  font-weight: 700 !important;
}

.simcal-default-calendar-light .simcal-nav-button:has(.simcal-icon-left) {
  width: 100%;
  text-align: left;
}

.simcal-icon-right:before {
  content: '次の月 ＞' !important;
  display: block !important;
  width: 100% !important;
  color: #000;
  font-size: 24px;
  font-style: normal;
  font-weight: 700 !important;
}

.simcal-default-calendar-light .simcal-nav-button:has(.simcal-icon-right) {
  width: 100%;
  text-align: right;
}

/* 当日のデザイン */
.simcal-today>div {
  border: none !important;
}

.simcal-day-label {
  color: #000 !important;
}

/* 曜日内のセルの高さ調整 */
.simcal-calendar td {
  height: auto;
  min-height: 120px;
  position: relative;
}

.simcal-calendar td>* {
  min-height: 120px;
}

.simcal-calendar td .simcal-day {
  min-height: 120px;
}

/* 曜日の黒背景 */
.simcal-week-day {
  background-color: #000;
  color: #fff;
  text-align: center;
}

/* 日付の背景を透過 */
.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-number {
  background: transparent;
  background-color: transparent !important;
  text-align: right;
}

/* 別月の日付背景色 */
.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-void {
  background-color: transparent;
  border: 1px solid #ccc;
}

/* イベント名・ツールチップ内含む */
.simcal-event>.simcal-event-title {
  color: #fff !important;
}

.simcal-event-title {
  font-size: 14px;
}

@media (max-width: 767px) {
  .simcal-event-title {
    font-size: 10px;
  }

  .simcal-default-calendar-grid .simcal-calendar-head .simcal-nav {
    font-size: 18px;
  }
}

.simcal-default-calendar-grid .simcal-events>.simcal-event:hover {
  text-decoration: none !important;
}

.simcal-event-details .simcal-event-title {
  padding: 0;
}

/* イベント営業日 */
.simcal-events-calendar-145>.simcal-event-title {
  background-color: #A5201B !important;
  color: #fff;
}

/* 大会 */
.simcal-events-calendar-144>.simcal-event-title {
  background-color: #020D7E !important;
  color: #fff;
}

/* ホバー時 */
/* td */
.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day:hover {
  background-color: transparent !important;
}

/* イベントの下線 */
.simcal-default-calendar-grid .simcal-events>.simcal-event:hover {
  text-decoration: none;
}

/* 日付内のイベント下線 */
.simcal-default-calendar-grid .simcal-events>.simcal-event {
  margin: 0;
  padding: 2px 4px;
  border: none;
}

/* ツールチップ */
.simcal-event-details {
  background-color: #E9EBEB;
  border-radius: 8px;
  overflow: hidden;
}

.qtip-content {
  background-color: #E9EBEB;
  border-radius: 8px;
  overflow: hidden;
}

.simcal-event-bubble {
  border: none !important;
}

.qtip .qtip-tip canvas {
  display: none;
}

.simcal-event-details>*:last-child {
  margin-bottom: 0;
}

/* ドット（点々）の表示を完全に削除 */
.simcal-events-dots {
  display: none !important;
  visibility: hidden !important;
}

/* イベント名（タイトル）を強制的に表示 */
@media (max-width: 820px) {
  .simcal-events {
    display: block !important;
  }

  .simcal-event-title {
    display: block !important;
    white-space: normal;
  }

  .simcal-events .simcal-event-details {
    display: none !important;
  }
}

/* 開いているイベント (li.simcal-event) のスタイル */
.simcal-event.is-open .simcal-event-details {
  display: flex !important;
  background-color: #f7f7f7;
  border-color: #aaaaaa;
  padding: 20px;
  gap: 4px;
  width: auto;
  height: fit-content;
  line-height: 6px;
  position: fixed;
  width: 80%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  border: 0px !important;
  flex-direction: column;
}

.simcal-event.is-open .simcal-event-details>* {
  line-height: 1.5;
}

/* 開いているイベントのタイトルを強調 */
.simcal-event.is-open .simcal-event-title {
  font-weight: bold;
  color: #b5000c;
  /* 例: テーマの赤色に変更 */
}

.simcal-event.is-open .simcal-event-details .simcal-event-title {
  font-size: 12px;
}

.custom-calender-color-box {
  margin-top: 20px;
  margin-right: auto;
  margin-left: auto;
  max-width: 988px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 50px;
  row-gap: 10px;
}

.custom-calender-color-box .color-box {
  display: flex;
  align-items: center;
  gap: 5px;
}

.custom-calender-color-box .color-box-red {
  background-color: #A5201B;
  width: 72px;
  height: 20px;
}

.custom-calender-color-box .color-box-blue {
  background-color: #020D7E;
  width: 72px;
  height: 20px;
}

.custom-calender-color-box .text {
  font-weight: 700;
}

@media (max-width: 767px) {

  .custom-calender-color-box .color-box-red,
  .custom-calender-color-box .color-box-yellow,
  .custom-calender-color-box .color-box-blue {
    width: 50px;
  }

  .custom-calender-color-box .text {
    font-size: 12px;
  }
}

@media (max-width: 487px) {

  /* イベント営業日 */
  .simcal-events-calendar-145 .simcal-events-dots b {
    color: #A5201B !important;
  }

  /* 大会 */
  .simcal-events-calendar-144 .simcal-events-dots b {
    color: #020D7E !important;
  }

  .simcal-icon-left:before,
  .simcal-icon-right:before {
    font-size: 11px;
  }
}

/* =================================
商品一覧
================================= */
/* 初期状態：すべてのタブコンテンツを非表示 */
.bd-tab-panel {
  display: none !important;
}

/* 表示状態： is-show クラスが付いたタブコンテンツのみ表示 */
.bd-tab-panel.is-show {
  display: block !important;
}

.dec-label {
  padding: 0;
}

.dec-label .dec-category-link {
  padding: 10px;
  display: block;
  width: 100%;
}

.dec-toggle:checked+.dec-label .dec-category-link {
  color: #fff;
}

/* li要素には表示切り替えを実装しない */
.dec-category li {
  display: block !important;
  padding: 40px 0;
  border-bottom: 3px solid #aaa;
}

.product_title_bottom {
  padding-bottom: 50px;
}

@media (max-width: 767px) {
  .product_title_bottom {
    padding-bottom: 10px;
  }
}

/* =================================
お問い合わせフォーム
================================= */
/* input type="submit" 初期化CSS */
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
  line-height: normal;
  font-size: 100%;
  font-family: inherit;
  color: inherit;
  cursor: pointer;
}

/* Contact Form 7 が生成する Multistep ボタンのスタイル */
.fishing_form_button>p>input.wpcf7-submit,
.fishing_previous_button>p>input.wpcf7-previous,
.full_order_form_button>p>input.wpcf7-submit,
.full_order_previous_button>p>input.wpcf7-previous {
  /* 矢印をbeforeで入れる際の位置調整 */
  padding-bottom: 20px;
  width: 300px;
  height: 66px;
  background-color: #b5000c;
  color: #fff;
  border-radius: 9999vh;
  border: none !important;
}

.fishing_form_button>p>input.wpcf7-submit:hover,
.fishing_form_button>p>input.wpcf7-previous:hover,
.full_order_form_button>p>input.wpcf7-submit:hover,
.full_order_previous_button>p>input.wpcf7-previous:hover {
  opacity: .5;
}

.fishing_form_button>p>input.wpcf7-submit::after,
.full_order_form_button>p>input.wpcf7-submit::after {
  content: '';
}

/* 矢印追加 */
.full_order_form_button {
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
}

.fishing_form_button p {
  position: relative;
}

.fishing_form_button p:has(.wpcf7-submit)::before {
  content: '' !important;
  background-image: url(../img/fishing-inquiry/img-arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 10px;
  z-index: 10;
}

.fishing_previous_button p {
  position: relative;
}

.fishing_previous_button p::before {
  content: '' !important;
  background-image: url(../img/fishing-inquiry/img-arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%) scale(-1, 1);
  width: 20px;
  height: 10px;
  z-index: 10;
}

.full_order_form_button p {
  position: relative;
}

.full_order_form_button p:has(.wpcf7-submit)::before {
  content: '' !important;
  background-image: url(../img/full-order-inquiry/img-arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 10px;
  z-index: 10;
}

.full_order_previous_button p {
  position: relative;
}

.full_order_previous_button p::before {
  content: '' !important;
  background-image: url(../img/full-order-inquiry/img-arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%) scale(-1, 1);
  width: 20px;
  height: 10px;
  z-index: 10;
}

/* 納期ラジオボタン */
.radio-limit-wrap .wpcf7-list-item.first {
  margin-left: 0;
}

/* チェックボックス */
.wpcf7-form input[type="checkbox"] {
  margin-right: 15px;
  appearance: none;
  width: 30px;
  height: 30px;
  background-color: rgb(233, 235, 235);
  cursor: pointer;
  display: inline-block;
  position: relative;
  vertical-align: -10px;
  border-width: 2px;
  border-style: solid;
  border-color: rgb(153, 153, 153);
  border-image: initial;
  border-radius: 4px;
}

/* ご希望の内容 */
.checkbox-content-wrap .wpcf7-form-control-wrap input[type="checkbox"] {
  background-color: #fff;
  margin-right: 0px;
}

.checkbox-content-wrap .wpcf7-form-control-wrap input[type="checkbox"]+.wpcf7-list-item-label {
  vertical-align: middle;
}

.checkbox-content-wrap .wpcf7-form-control-wrap input[type="checkbox"]:checked+.wpcf7-list-item-label {
  color: #fff;
}

.checkbox-content-wrap .wpcf7-form-control-wrap .wpcf7-list-item {
  margin: 0;
}

.wpcf7-form input[type="checkbox"]:checked {
  background-color: rgb(255, 255, 255);
  border-color: rgb(181, 0, 12);
}

.wpcf7-form input[type="checkbox"]:checked::after {
  content: "✔";
  color: rgb(181, 0, 12);
  font-size: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
}

/* 入力必須テキスト */
.wpcf7-form .wpcf7-not-valid-tip {
  color: #B5000C;
}

/* スピナー */
.wpcf7-form .wpcf7-spinner {
  position: absolute;
}

/* ファイルアップロード */
.codedropz-upload-inner {
  padding: 70px 0 20px;
  font-size: 0.8rem;
  position: relative;
}

.codedropz-upload-inner::after {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../img/full-order-inquiry/img-01.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.cd-upload-btn {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 30px;
  border-radius: 20px;
  background: #fff;
  text-decoration: none;
  color: #505050;
  font-size: 1rem;
  line-height: 1;
  font-weight: bold;
}

.dnd-upload-counter {
  display: none;
}

.codedropz-upload-handler {
  border: none;
}

.dnd-upload-status {
  padding-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}

/* ドラッグエリア確保 */
#inputFile {
  padding: 0;
  border: 2px dashed #494949;
}

.codedropz-upload-container {
  padding: 0;
}

/* =================================
インスタグラム
================================= */
.custom-instagram-section {
  overflow: hidden;
  max-width: calc(946px + 6rem);
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}

.custom-instagram-section .instagram-gallery-feed .swiper-container .swiper-button-next,
.custom-instagram-section .instagram-gallery-feed .swiper-container .swiper-button-prev {
  color: #fff !important;
}

.custom-instagram-section .instagram-gallery-feed .swiper-container {
  overflow: visible !important;
}

.custom-instagram-section .instagram-gallery-feed .swiper-button-next {
  right: -48px;
}

.custom-instagram-section .instagram-gallery-feed .swiper-button-prev {
  left: -48px;
}

.custom-instagram-section .instagram-gallery-feed .swiper-button-next,
.custom-instagram-section .instagram-gallery-feed .swiper-button-prev {
  border: 1px solid #fff;
  border-radius: 50%;
  width: 35px;
  height: 35px;
}

.custom-instagram-section .instagram-gallery-feed .swiper-button-prev:after,
.custom-instagram-section .instagram-gallery-feed .swiper-button-next:after {
  font-size: 16px;
  position: relative;
}

.custom-instagram-section .instagram-gallery-feed .swiper-button-prev:after {
  left: -1px;
}

.custom-instagram-section .instagram-gallery-feed .swiper-button-next:after {
  right: -1px;
}

/* キャプションの余白 */
.instagram-gallery-item__media_description {
  padding: 0 !important;
}

/* 日付 */
.instagram-gallery-item__date {
  color: #fff !important;
  opacity: 1 !important;
}

@media (max-width: 991px) {
  .custom-instagram-section .instagram-gallery-feed .swiper-button-next {
    right: 10px;
  }

  .custom-instagram-section .instagram-gallery-feed .swiper-button-prev {
    left: 10px;
  }

  .custom-instagram-section .instagram-gallery-feed .swiper-container .swiper-button-next,
  .custom-instagram-section .instagram-gallery-feed .swiper-container .swiper-button-prev {
    color: #000 !important;
  }

  .custom-instagram-section .instagram-gallery-feed .swiper-button-next,
  .custom-instagram-section .instagram-gallery-feed .swiper-button-prev {
    border: none;
    background-color: rgba(255, 255, 255, 0.7);
  }
}

.sns-icon-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =================================
404ページ
================================= */
/* ボタン */
.btn-basic-wrap {
  margin-top: 20px;
}

.btn-basic {
  padding-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  height: 66px;
  position: relative;
  background-color: #b5000c;
  color: #fff;
  text-align: center;
  border-radius: 9999vh;
  border: none !important;
}

.btn-basic::before {
  content: '' !important;
  background-image: url(../img/full-order-inquiry/img-arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 10px;
  z-index: 10;
}