/* add8.css
   ゆうかぶ 2026 refresh
   ・ヘッダー高さ 100px
   ・並び：タイトル画像 → 検索フォーム → キャンペーン案内
   ・既存レイアウトを崩さない範囲で、女性向け・さわやか系に調整
*/

:root {
  --yu-pink: #cf7392;
  --yu-pink-soft: #f8e7ee;
  --yu-pink-line: #efd6df;
  --yu-blue: #74b8d1;
  --yu-blue-soft: #edf7fb;
  --yu-blue-line: #d7e9f0;
  --yu-yellow: #f4aa1a;
  --yu-text: #66707a;
  --yu-link: #2a7fa1;
  --yu-shadow: 0 6px 16px rgba(121, 161, 177, 0.10);
}

body {
  background: #f5f7f8;
/*  color: var(--yu-text);*/
}

a {
  color: var(--yu-link);
}

a:hover {
  color: #c15f80;
}

#header,
#header *,
#header *::before,
#header *::after {
  box-sizing: border-box;
}

/* ====================
   header
==================== */
#header {
  width: 1080px;
  max-width: 100%;
  height: 100px;
  min-height: 100px;
  margin: 0 auto;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  overflow: hidden;
  background:
    radial-gradient(circle at 95% -15%, rgba(240, 207, 219, .35) 0 56px, transparent 57px),
    radial-gradient(circle at 66% 120%, rgba(253, 229, 124, .30) 0 78px, transparent 79px),
    linear-gradient(180deg, #fbfeff 0%, #eef9fb 100%);
  border: 1px solid #cde4ea;
  border-top: none;
  border-radius: 0 0 18px 18px;
  box-shadow: 0 8px 18px rgba(125, 166, 183, 0.08);
}

#header .h_l,
#header .h_r,
#header .fr_sp,
#header .rp5,
#header .tp5,
#header .lp5 {
  float: none !important;
}

#header .h_l {
  display: contents;
}

#header .h_l > a {
  flex: 0 0 333px;
  width: 333px;
  height: 100px;
  display: block;
  line-height: 0;
}

#header .h_l > a img {
  width: 333px !important;
  height: 100px !important;
  display: block;
  max-width: none;
  object-fit: contain;
}

#header .top_form {
  flex: 0 0 278px;
  width: 278px;
  margin: 0;
  padding: 0;
  position: static !important;
  display: block !important;
  white-space: nowrap;
}

#header .top_form form {
  width: 278px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

#header .top_form .gsw {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  height: 34px;
  padding: 0 14px;
  border: 1px solid #c7dde6;
  border-radius: 18px;
  background: rgba(255,255,255,.95);
  font-size: 12px;
  line-height: 34px;
  color: #5e6973;
}

#header .top_form .top_button {
  flex: 0 0 50px;
  width: 50px !important;
  height: 34px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 18px;
  background: linear-gradient(180deg, #8cc3d8 0%, #6baec9 100%);
  color: #fff;
  font-size: 12px;
  line-height: 34px;
  cursor: pointer;
}

#header .h_r {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 390px;
  width: auto !important;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  position: static !important;
  overflow: hidden;
}

#header .h_r > a {
  flex: 0 0 120px;
  width: 120px;
  height: 60px;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
}

#header .h_r > a img {
  width: 120px !important;
  height: 60px !important;
  display: block;
}

#header .h_r_ul {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 255px;
  margin: 0 !important;
  padding: 0;
  list-style: none;
}

#header .h_r_ul li,
#header .h_r_ul .inf {
  margin: 0 !important;
  padding: 9px 12px !important;
  border: 1px solid #c9e0e8;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  color: #64727d;
  font-size: 13px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#header .h_r_ul a {
  color: #2a7fa1;
  font-weight: bold;
}

#header .h_r_ul .f_f34 {
  color: #e48196;
}

#header br.clean {
  display: none;
}

/* ====================
   top navigation
==================== */
#top-head-pc {
  clear: both;
  width: 1080px;
  max-width: 100%;
  margin: 10px auto 0;
  overflow: hidden;
}

#top-head-pc .inner {
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}

#menu {
  background: linear-gradient(180deg, #d6859f 0%, #ca708b 100%);
}

#menu ul {
  display: flex;
  flex-wrap: wrap;
}

#menu ul li {
  border-right: 1px solid rgba(255,255,255,.18);
}

#menu ul li:last-child {
  border-right: none;
}

#menu ul li a {
  color: #fff;
  text-shadow: none;
}

#menu ul li a:hover {
  background: rgba(255,255,255,.10);
}

/* ====================
   common boxes
==================== */
.board,
.board2,
.po_sanko,
.social-area-syncer,
#koukoku,
#yutai_bikou,
#side-menu,
.yutai_kosin,
.yutai_box,
.susume_yutai {
  border-radius: 14px;
}

.board,
.board2,
.po_sanko,
.social-area-syncer,
#koukoku,
#yutai_bikou,
#side-menu,
.yutai_kosin,
.yutai_box {
  background: #fff;
  border: 1px solid #e3eef2;
  box-shadow: var(--yu-shadow);
}

.susume_yutai {
  background: linear-gradient(180deg, #fffefb 0%, #fffaf2 100%);
  border: 1px solid #efdfbf;
  box-shadow: 0 8px 18px rgba(184, 161, 93, 0.10);
}

/* ====================
   h1 / headings
==================== */
#search_wrap h1,
#page h1,
#wide-page h1 {
  clear: both;
  margin: 12px 0 16px;
  padding: 12px 18px;
  min-height: 0;
  line-height: 1.35;
  font-size: 18px;
  color: #fff !important;
  background: linear-gradient(90deg, #d85f9a 0%, #ef8db6 55%, #f8d8e6 100%);
  border: none;
  border-radius: 14px;
  box-shadow: 0 6px 16px rgba(216, 95, 154, 0.18);
}

.sub_title {
  margin-top: 20px;
  margin-bottom: 12px;
  padding: 11px 16px;
  background: linear-gradient(90deg, #fbe8ef 0%, #fff8fb 100%);
  border: 1px solid var(--yu-pink-line);
  border-radius: 12px;
  color: #c96a8b;
}

.yutai_tl {
  background: linear-gradient(90deg, #fbe8ef 0%, #fff9fb 100%);
  border-bottom: 1px solid #f0dbe3;
}

.yutai_tl h3 a {
  color: #c15d82;
}

.yutai_stock {
  background: linear-gradient(180deg, #fbfeff 0%, #f5fbfd 100%);
  border-top: 1px solid #e6f1f4;
  border-bottom: 1px solid #e6f1f4;
}

/* ====================
   sidebar
==================== */
#side-menu {
  padding: 12px;
  background: linear-gradient(180deg, #fbfeff 0%, #f4fbfd 100%);
  border: 1px solid #d8e9ef;
}

#search_box section {
  margin-bottom: 16px;
  padding: 14px;
  background: #fff;
  border: 1px solid #e4eef2;
  border-radius: 14px;
}

#search_box section::after {
  content: "";
  display: block;
  clear: both;
}

#search_box .search_title_pc,
#search_box .search_title,
#search_box .search_title_smt {
  background: linear-gradient(90deg, #ffe7a5 0%, #ffd577 100%);
  border: 1px solid #f2ca70;
  border-radius: 12px;
  color: #946300;
}

#search_box .search_code,
#search_box h3 {
  background: linear-gradient(180deg, #f1a620 0%, #ef9d17 100%);
  border: none;
  border-radius: 12px;
  color: #fff;
  box-shadow: none;
}

/* 銘柄・証券コード検索フォームの崩れ防止 */
#search_box .s_code {
  float: none !important;
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 66px);
  max-width: 100%;
  height: 32px;
  margin: 8px 6px 0 0;
  padding: 0 10px;
  border: 1px solid #cadfe6;
  border-radius: 16px;
  background: #fff;
}

#search_box .s_code_t,
#search_box #shoken_button_1,
#search_box #vesting_button,
.ken_button {
  float: none !important;
  display: inline-block;
  vertical-align: middle;
  width: 60px;
  height: 32px;
  margin: 8px 0 0;
  padding: 0;
  border: none;
  border-radius: 16px;
  background: linear-gradient(180deg, #8bc3d8 0%, #67abc7 100%);
  color: #fff;
  line-height: 32px;
  box-shadow: 0 4px 10px rgba(103, 171, 199, 0.18);
}

#search_box select,
.ken_box {
  border: 1px solid #cadfe6;
  border-radius: 10px;
  background: #fff;
}

/* ====================
   other accents
==================== */
.board2 {
  background: linear-gradient(180deg, #fffdfd 0%, #fff7fb 100%);
  border-color: #f0dce5;
}

.po_sanko {
  background: linear-gradient(180deg, #fffdf9 0%, #fffaf1 100%);
  border-color: #f0e2be;
}

#footer {
  background: linear-gradient(180deg, #f4fafc 0%, #edf5f7 100%);
  border-top: 1px solid #d8e8ee;
}

#footer address,
#footer a,
#footer .copy {
  color: #6a7680;
}

/* ====================
   responsive
==================== */
@media screen and (max-width: 1080px) {
  #header,
  #top-head-pc {
    max-width: calc(100% - 20px);
  }

  #header {
    padding-right: 14px;
    padding-left: 14px;
    gap: 12px;
  }

  #header .top_form,
  #header .top_form form {
    flex-basis: 245px;
    width: 245px;
  }

  #header .h_r {
    max-width: 345px;
  }

  #header .h_r_ul {
    max-width: 215px;
  }
}

@media screen and (max-width: 860px) {
  #header {
    height: auto;
    min-height: 0;
    padding-top: 14px;
    padding-bottom: 14px;
    flex-wrap: wrap;
    justify-content: center;
  }

  #header .h_l > a {
    flex-basis: 333px;
  }

  #header .top_form,
  #header .top_form form {
    flex-basis: 300px;
    width: 300px;
  }

  #header .h_r {
    flex: 0 1 430px;
    max-width: 430px;
  }

  #header .h_r_ul {
    max-width: 290px;
  }

  #menu ul li {
    border-right: none;
  }
}

@media screen and (max-width: 520px) {
  #header {
    display: block;
    text-align: center;
  }

  #header .h_l {
    display: block;
  }

  #header .h_l > a {
    width: 333px;
    max-width: 100%;
    height: auto;
    margin: 0 auto 10px;
  }

  #header .h_l > a img {
    width: 100% !important;
    height: auto !important;
  }

  #header .top_form,
  #header .top_form form {
    width: 333px;
    max-width: 100%;
    margin: 0 auto;
  }

  #header .h_r {
    width: 100% !important;
    max-width: 100%;
    margin: 12px auto 0;
    justify-content: center;
  }

  #header .h_r_ul {
    max-width: calc(100% - 130px);
  }

  #search_box .s_code {
    width: calc(100% - 66px);
  }
}

@media screen and (max-width: 380px) {
  #header .h_r {
    display: block;
  }

  #header .h_r > a {
    margin: 0 auto 8px !important;
  }

  #header .h_r_ul {
    max-width: 100%;
  }

  #header .h_r_ul li,
  #header .h_r_ul .inf {
    white-space: normal;
  }

  #search_box .s_code {
    width: 100%;
    margin-right: 0;
  }

  #search_box .s_code_t,
  #search_box #shoken_button_1,
  #search_box #vesting_button {
    width: 100%;
  }
}

/* ====================
   add9 adjustment
   ・サイド見出しのはみ出し防止
   ・サイドの画像ボタンを3列化
   ・優待一覧カードの余白、文字サイズ調整
   ・h3装飾追加
==================== */

#side-menu,
#side-menu *,
#search_result,
#search_result * {
  box-sizing: border-box;
}

/* サイド：タイトルのはみ出し防止 */
#side-menu {
  overflow: hidden;
}

#search_box section {
  width: 100%;
  max-width: 100%;
  margin: 0 0 16px;
  padding: 12px;
  overflow: hidden;
}

#search_box .search_title_pc,
#search_box .search_title,
#search_box .search_title_smt,
#search_box .search_code,
#search_box h3 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 10px 8px !important;
  display: block !important;
  box-sizing: border-box;
  border-radius: 12px;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  text-align: center;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

/* サイド：画像ボタンを3列化 */
#search_box .select_box {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

#search_box .img_button {
  width: 100% !important;
  max-width: 198px;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 60px);
  justify-content: center;
  gap: 6px;
  list-style: none;
}

#search_box .img_button li {
  float: none !important;
  width: 60px !important;
  height: 43px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden;
}

#search_box .img_button li a {
  width: 60px !important;
  height: 43px !important;
  display: block !important;
}

#search_box .img_button li span {
  font-size: 10px !important;
  line-height: 1.1 !important;
}

/* 銘柄・証券コード検索：入力欄とボタンの余白 */
#search_box .s_code {
  width: calc(100% - 66px) !important;
  margin: 8px 6px 0 0 !important;
}

#search_box .s_code_t,
#search_box #shoken_button_1,
#search_box #vesting_button {
  width: 60px !important;
  margin: 8px 0 0 !important;
}

/* 優待一覧：タイトルと画像の詰まり解消 */
#search_result article {
  margin-bottom: 18px;
}

.yutai_box {
  overflow: hidden;
}

.yutai_tl {
  margin: 0 !important;
  padding: 7px 12px !important;
  background: linear-gradient(90deg, #fbe8ef 0%, #fff9fb 100%) !important;
  border-bottom: 1px solid #f0dbe3 !important;
}

.yutai_tl h3 {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  line-height: 1.35 !important;
}

.yutai_tl h3 a {
  color: #1f74b8 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-decoration: none;
}

.yutai_tl h3 a:hover {
  color: #c15f80 !important;
}

.yutai_im_box {
  padding-top: 10px !important;
}

.yutai_img {
  margin-right: 16px !important;
}

.yutai_title {
  padding-top: 2px !important;
}

.yutai_title .yutaihin,
.yutaihin {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

/* 通常コンテンツ内h3 */
main > div > section h3,
#page section h3,
#wide-page section h3,
#search_wrap section h3 {
  margin: 22px 0 12px !important;
  padding: 10px 14px 10px 18px !important;
  background: linear-gradient(90deg, #ecf8fb 0%, #ffffff 100%) !important;
  border-left: 5px solid #86c7d7 !important;
  border-top: 1px solid #dceff4 !important;
  border-right: 1px solid #dceff4 !important;
  border-bottom: 1px solid #dceff4 !important;
  border-radius: 10px !important;
  color: #4e7f90 !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(120, 170, 188, 0.08) !important;
}

@media screen and (max-width: 380px) {
  #search_box .img_button {
    grid-template-columns: repeat(2, 60px);
  }

  #search_box .s_code,
  #search_box .s_code_t,
  #search_box #shoken_button_1,
  #search_box #vesting_button {
    width: 100% !important;
    margin-right: 0 !important;
  }
}


/* ====================
   add10 overwrite
==================== */

/* サイド上部に増えた開閉用タイトルをPCでは非表示 */
#side-menu #PlagOpen-topsearchmenu {
  display: none !important;
}

/* サイド見出し：はみ出し防止を強める */
#search_box .search_title_pc,
#search_box .search_title,
#search_box .search_title_smt,
#search_box .search_code,
#search_box h3 {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* サイドの3列ボタン：右側が切れないよう余白と幅を再調整 */
#search_box section {
  padding: 9px !important;
}

#search_box .select_box {
  width: 100% !important;
  overflow: visible !important;
}

#search_box .img_button {
  width: 201px !important;
  max-width: 201px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 63px) !important;
  gap: 6px !important;
  justify-content: center !important;
  overflow: visible !important;
}

#search_box .img_button li {
  float: none !important;
  width: 63px !important;
  height: 43px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

#search_box .img_button li a {
  width: 63px !important;
  height: 43px !important;
  display: block !important;
  overflow: visible !important;
}

/* ヘッダー右側テキスト：切れないように2行まで許容 */
#header .h_r {
  max-width: 410px;
}

#header .h_r_ul {
  max-width: 275px;
}

#header .h_r_ul li,
#header .h_r_ul .inf {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: 12px;
  line-height: 1.45;
  padding: 8px 11px !important;
}

/* 株主優待一覧：h1風の帯を少し上品に */
#search_area h2#top_search,
#top_search {
  margin: 26px 0 14px !important;
  padding: 12px 18px !important;
  min-height: 0 !important;
  line-height: 1.35 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background:
    linear-gradient(90deg, #d95f99 0%, #e98ab1 55%, #f8d8e6 100%) !important;
  border: none !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 16px rgba(216, 95, 154, 0.18) !important;
}

/* 優待一覧カード：タイトル部のピンク＋一部青の崩れを解消 */
.yutai_box {
  position: relative;
  padding-top: 0 !important;
  overflow: hidden !important;
    width: 100%;
	}

.yutai_tl {
  margin: 0 !important;
  padding: 9px 12px !important;
  background: linear-gradient(90deg, #fbeaf1 0%, #fff8fb 100%) !important;
  border-bottom: 1px solid #f0dbe3 !important;
  border-radius: 14px 14px 0 0 !important;
  overflow: hidden !important;
}

.yutai_tl h3 {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.yutai_tl h3 a {
  display: inline-block !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: #2375af !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

/* おすすめラベルがタイトルに詰まりすぎないように */
.yutai_tl .ic_star {
  margin-left: 8px !important;
  vertical-align: middle;
}

/* 画像・本文エリアの上余白 */
.yutai_im_box {
  padding-top: 12px !important;
width: 500px;
padding-left: 12px;
}

/* 権利確定日の上がくっつかないように */
.yutai_stock {
  margin-top: 12px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  background: linear-gradient(180deg, #fbfeff 0%, #f4fbfd 100%) !important;
  border-top: 1px solid #e4f0f4 !important;
  border-bottom: 1px solid #e4f0f4 !important;
}

/* 画像とタイトルまわりの余白 */
.yutai_img {
  margin-top: 0 !important;
  margin-right: 18px !important;
}

.yutai_title {
  padding-top: 4px !important;
width: 320px;}

.yutai_title .yutaihin,
.yutaihin {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}
.list_kome {    padding: 0 10px;}
	
/* 右カラムが狭い場合は2列に戻して切れを防ぐ */
@media screen and (max-width: 980px) {
  #search_box .img_button {
    width: 132px !important;
    max-width: 132px !important;
    grid-template-columns: repeat(2, 63px) !important;
  }
}

/* スマホでは開閉タイトルを戻す */
@media screen and (max-width: 520px) {
  #side-menu #PlagOpen-topsearchmenu {
    display: block !important;
  }
}


/* ====================
   add11 strong overwrite
==================== */

/* サイド上部：PCで二重に出る開閉用タイトルを完全に消す */
#side-menu #PlagOpen-topsearchmenu,
#side-menu #PlagClose-topsearchmenu > a.search_title_smt,
#side-menu #PlagClose-topsearchmenu > a.search_title,
#side-menu .search_title_smt {
  display: none !important;
}

/* PCでは中身を常時表示 */
#side-menu #PlagClose-topsearchmenu {
  display: block !important;
}

/* サイドの画像ボタン：背景画像ごと縮小して3列に収める */
#search_box .select_box {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

#search_box .img_button {
  width: 192px !important;
  max-width: 192px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 60px) !important;
  grid-auto-rows: 40px !important;
  gap: 6px !important;
  justify-content: center !important;
  align-items: start !important;
  overflow: visible !important;
}

#search_box .img_button li {
  float: none !important;
  width: 68px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: scale(0.88);
  transform-origin: top left;
}

#search_box .img_button li a {
  width: 68px !important;
  height: 46px !important;
  display: block !important;
  overflow: visible !important;
}

/* クラレなどカードタイトル：青いピル状背景を消して、帯全体を統一 */
#search_result .yutai_box .yutai_tl {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  background: linear-gradient(90deg, #fbeaf1 0%, #fff8fb 100%) !important;
  border: none !important;
  border-bottom: 1px solid #f0dbe3 !important;
  border-radius: 14px 14px 0 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#search_result .yutai_box .yutai_tl h3,
#search_result .yutai_box .yutai_tl h3 *,
#search_result .yutai_box .yutai_tl h3 a,
#search_result .yutai_box .yutai_tl h3 span {
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}

#search_result .yutai_box .yutai_tl h3 {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  color: #2375af !important;
}

#search_result .yutai_box .yutai_tl h3 a {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #2375af !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

#search_result .yutai_box .yutai_tl .ic_star {
  display: inline-block !important;
  margin-left: 8px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #168b58 !important;
  font-size: 12px !important;
  vertical-align: baseline !important;
}

/* スマホでは開閉用タイトルを戻す */
@media screen and (max-width: 520px) {
  #side-menu #PlagOpen-topsearchmenu {
    display: block !important;
  }

  #side-menu #PlagClose-topsearchmenu > a.search_title_smt,
  #side-menu .search_title_smt {
    display: block !important;
  }
}


/* ====================
   add12 right sidebar fit
==================== */

/* 全体幅は広げず、右サイド内に収める */
aside {
  overflow: hidden !important;
}

#side-menu {
  width: 215px !important;
  max-width: 215px !important;
  padding: 8px !important;
  overflow: hidden !important;
}

/* サイド内の各パネルを右端で切れない幅にする */
#search_box,
#PlagClose-topsearchmenu,
#search_box section,
#side-menu .select_box,
#side-menu .sub_menu {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

#search_box section {
  padding: 8px !important;
  margin: 0 0 14px !important;
}

/* サイド見出しを内側に収める */
#search_box .search_title_pc,
#search_box .search_code,
#search_box h3 {
  width: 100% !important;
  max-width: 100% !important;
  padding: 9px 6px !important;
  margin: 0 0 9px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  text-align: center !important;
  white-space: normal !important;
}

/* 検索フォームも右にはみ出さない */
#search_box .s_code {
  width: 120px !important;
  height: 30px !important;
  margin: 7px 6px 0 0 !important;
}

#search_box .s_code_t,
#search_box #shoken_button_1,
#search_box #vesting_button {
  width: 52px !important;
  height: 30px !important;
  line-height: 30px !important;
  margin-top: 7px !important;
}

/* 3列パネル：画像を小さくして右端まで収める */
#search_box .img_button {
  width: 177px !important;
  max-width: 177px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 55px) !important;
  grid-auto-rows: 38px !important;
  gap: 5px 6px !important;
  justify-content: center !important;
  overflow: visible !important;
}

#search_box .img_button li {
  float: none !important;
  width: 68px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: scale(0.80) !important;
  transform-origin: top left !important;
}

#search_box .img_button li a {
  width: 68px !important;
  height: 46px !important;
  display: block !important;
}

/* サイドの通常リンクも右端で切れないように */
#side-menu ul,
#side-menu li,
#side-menu p {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#side-menu a {
  overflow-wrap: anywhere;
}

/* ヘッダー右テキストは収まりやすく */
#header .h_r {
  max-width: 415px !important;
}

#header .h_r_ul {
  max-width: 285px !important;
}

#header .h_r_ul li,
#header .h_r_ul .inf {
  font-size: 12px !important;
  line-height: 1.45 !important;
}


/* ====================
   add13 menu and side panel fix
==================== */

/* グローバルメニュー：中央寄せ・余白調整・読みやすさ改善 */
#top-head-pc {
  padding: 0 18px !important;
}

#top-head-pc .inner,
#menu {
  width: 100% !important;
  max-width: 100% !important;
}

#menu ul {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
}

#menu ul li {
  float: none !important;
  flex: 0 1 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#menu ul li a {
  display: block !important;
  padding: 12px 9px !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

/* 右サイド：パネル内で切れないようにする */
aside,
#side-menu,
#search_box,
#PlagClose-topsearchmenu,
#search_box section,
#search_box .select_box {
  overflow: visible !important;
}

/* サイド内の余白を少し詰める */
#side-menu {
  padding: 7px !important;
}

#search_box section {
  padding: 7px !important;
}

/* 3列ボタン：背景画像も縮小して収める */
#search_box .img_button {
  width: 174px !important;
  max-width: 174px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 54px) !important;
  grid-auto-rows: 37px !important;
  gap: 5px 6px !important;
  justify-content: center !important;
  align-items: start !important;
  overflow: visible !important;
}

#search_box .img_button li {
  float: none !important;
  width: 54px !important;
  height: 37px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  transform: none !important;
  background-size: 54px 37px !important;
  background-repeat: no-repeat !important;
}

#search_box .img_button li a {
  width: 54px !important;
  height: 37px !important;
  display: block !important;
  overflow: hidden !important;
  background-size: 54px 37px !important;
  background-repeat: no-repeat !important;
}

#search_box .img_button li span {
  font-size: 9px !important;
  line-height: 1.05 !important;
}

/* 投資資金・月ボタンなど、li側ではなくa側に背景がある場合にも対応 */
#search_box .img_button li[class],
#search_box .img_button li[class] a {
  background-size: 54px 37px !important;
}

/* ボタンが小さくなった分、見出しとの間隔を調整 */
#search_box .select_box {
  padding: 0 !important;
}

/* 1080px未満ではメニュー文字を少しだけ小さく */
@media screen and (max-width: 1080px) {
  #menu ul li a {
    padding: 12px 7px !important;
    font-size: 13px !important;
  }
}

/* 狭い画面では折り返し許可 */
@media screen and (max-width: 860px) {
  #menu ul {
    flex-wrap: wrap !important;
  }
}


/* ====================
   add14 sidebar final adjustment
==================== */

/* サイドの「お好みの条件から探す」を非表示 */
#search_box .search_title_pc,
#search_box .search_title,
#search_box .search_title_smt,
#side-menu #PlagOpen-topsearchmenu,
#side-menu #PlagClose-topsearchmenu > a.search_title_smt,
#side-menu #PlagClose-topsearchmenu > a.search_title {
  display: none !important;
}

/* 「おすすめの優待検索」など見出し文字を上下中央に */
#search_box h3,
#search_box .search_code {
  min-height: 40px !important;
  padding: 0 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.25 !important;
}

/* 画像パネル：下の数字が切れないよう高さを確保 */
#search_box .img_button {
  width: 177px !important;
  max-width: 177px !important;
  grid-template-columns: repeat(3, 55px) !important;
  grid-auto-rows: 46px !important;
  gap: 7px 6px !important;
}

#search_box .img_button li {
  width: 55px !important;
  height: 46px !important;
  overflow: visible !important;
  background-size: 55px 46px !important;
}

#search_box .img_button li a {
  width: 55px !important;
  height: 46px !important;
  overflow: visible !important;
  background-size: 55px 46px !important;
}

#search_box .img_button li[class],
#search_box .img_button li[class] a {
  background-size: 55px 46px !important;
}

#search_box .img_button li span {
  display: block !important;
  padding-top: 31px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}


/* ====================
   add15 final overwrite
==================== */

/* グローバルメニュー：右寄りを解消 */
#top-head-pc {
  width: 1080px !important;
  max-width: 100% !important;
  margin: 10px auto 0 !important;
  padding: 0 18px !important;
}

#top-head-pc .inner,
#menu {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

#menu ul {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: stretch !important;
}

#menu ul li {
  float: none !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#menu ul li a {
  display: block !important;
  padding: 12px 8px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

/* サイドの画像パネル：3列を維持しつつ文字・数字が切れない高さに */
#search_box .img_button {
  width: 186px !important;
  max-width: 186px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 58px) !important;
  grid-auto-rows: 55px !important;
  gap: 6px !important;
  justify-content: center !important;
  align-items: start !important;
  overflow: visible !important;
}

#search_box .img_button li {
  float: none !important;
  width: 58px !important;
  height: 55px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  transform: none !important;
  background-size: 58px 43px !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
}

#search_box .img_button li a {
  width: 58px !important;
  height: 55px !important;
  display: block !important;
  overflow: visible !important;
  background-size: 58px 43px !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  position: relative !important;
}

#search_box .img_button li[class],
#search_box .img_button li[class] a {
  background-size: 58px 43px !important;
  background-position: center top !important;
}

#search_box .img_button li span,
#search_box .img_button li a span {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 58px !important;
  height: 11px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  overflow: visible !important;
  color: #666 !important;
  font-size: 8px !important;
  line-height: 11px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* サイドの見出しとパネル内余白 */
#search_box section {
  padding: 8px 6px 10px !important;
}

#search_box h3,
#search_box .search_code {
  min-height: 40px !important;
  padding: 0 6px !important;
  font-size: 13px !important;
}


/* ====================
   add16 overwrite
   グローバルメニューとサイド画像ボタンの再修正
==================== */

/* グローバルメニュー：8項目を均等幅にして右寄りを解消 */
#top-head-pc {
  width: 1080px !important;
  max-width: 100% !important;
  margin: 10px auto 0 !important;
  padding: 0 18px !important;
}

#top-head-pc .inner,
#menu {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

#menu ul {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(8, 1fr) !important;
  align-items: stretch !important;
}

#menu ul li {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

#menu ul li a {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 46px !important;
  padding: 0 4px !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* サイド画像ボタン：数字を画像の下に出して、重なりを解消 */
#search_box .img_button {
  width: 204px !important;
  max-width: 204px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 64px) !important;
  grid-auto-rows: 56px !important;
  gap: 7px 6px !important;
  justify-content: center !important;
  align-items: start !important;
  overflow: visible !important;
}

#search_box .img_button li {
  float: none !important;
  width: 64px !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  transform: none !important;
  background-size: 64px 43px !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
}

#search_box .img_button li a {
  width: 64px !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 43px 0 0 !important;
  display: block !important;
  overflow: visible !important;
  background-size: 64px 43px !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  position: static !important;
  box-sizing: border-box !important;
}

#search_box .img_button li[class],
#search_box .img_button li[class] a {
  background-size: 64px 43px !important;
  background-position: center top !important;
}

#search_box .img_button li span,
#search_box .img_button li a span {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 64px !important;
  height: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  overflow: visible !important;
  color: #666 !important;
  font-size: 8px !important;
  line-height: 12px !important;
  text-align: center !important;
  white-space: nowrap !important;
  background: transparent !important;
}

/* パネル幅が足りない場合の逃げ */
#side-menu,
#search_box section {
  overflow: visible !important;
}

#search_box section {
  padding-left: 5px !important;
  padding-right: 5px !important;
}


/* ====================
   add17 overwrite
   スクショ確認後：グローバルメニューの右切れ修正
==================== */

/* padding込みで1080px内に収める */
#top-head-pc,
#top-head-pc *,
#top-head-pc *::before,
#top-head-pc *::after {
  box-sizing: border-box !important;
}

#top-head-pc {
  width: 1080px !important;
  max-width: 100% !important;
  margin: 10px auto 0 !important;
  padding: 0 18px !important;
  overflow: visible !important;
}

#top-head-pc .inner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
}

#menu {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#menu ul {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1.05fr 1fr 1.25fr 1.15fr 1.35fr .9fr .9fr .85fr !important;
  align-items: stretch !important;
}

#menu ul li {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: hidden !important;
}

#menu ul li a {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 46px !important;
  padding: 0 3px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
}

/* 区切りが強すぎて右寄りに見えないよう少し薄く */
#menu ul li {
  border-right: 1px solid rgba(255,255,255,.12) !important;
}

#menu ul li:last-child {
  border-right: none !important;
}

/* サイドの数字は現状維持しつつ、下端だけ少し余裕を持たせる */
#search_box .img_button {
  grid-auto-rows: 58px !important;
  gap: 8px 6px !important;
}

#search_box .img_button li,
#search_box .img_button li a {
  height: 58px !important;
}


/* ====================
   add18 overwrite
   グローバルメニューの右端切れを修正
==================== */

#top-head-pc {
  width: 1080px !important;
  max-width: 100% !important;
  margin: 10px auto 0 !important;
  padding: 0 18px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#top-head-pc .inner,
#menu {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#menu ul {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 8px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#menu ul li {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  text-align: center !important;
}

#menu ul li a {
  width: auto !important;
  min-width: 0 !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 7px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  box-sizing: border-box !important;
}

/* 最後のIPO投資が右端で切れないように */
#menu ul li:last-child a {
  padding-right: 12px !important;
}

/* 1080px付近でさらに余裕を持たせる */
@media screen and (max-width: 1100px) {
  #menu ul {
    padding: 0 6px !important;
  }

  #menu ul li a {
    padding: 0 6px !important;
    font-size: 11.5px !important;
  }

  #menu ul li:last-child a {
    padding-right: 10px !important;
  }
}


/* ====================
   add19 overwrite
   グローバルメニュー：均等ボタン化
   サイドパネル：枠内に完全収納
==================== */

/* グローバルメニューは、一般的なサイトのように均等幅のボタンにする */
#top-head-pc,
#top-head-pc *,
#top-head-pc *::before,
#top-head-pc *::after {
  box-sizing: border-box !important;
}

#top-head-pc {
  width: 1080px !important;
  max-width: 100% !important;
  margin: 10px auto 0 !important;
  padding: 0 18px !important;
  overflow: hidden !important;
}

#top-head-pc .inner,
#menu {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
}

#menu ul {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  list-style: none !important;
}

#menu ul li {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-align: center !important;
  border-right: 1px solid rgba(255,255,255,.18) !important;
}

#menu ul li:last-child {
  border-right: none !important;
}

#menu ul li a {
  width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 5px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

/* サイドパネルは親枠内に完全収納 */
#side-menu,
#search_box,
#search_box section,
#search_box .select_box {
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#side-menu {
  width: 215px !important;
  max-width: 215px !important;
  padding: 7px !important;
}

#search_box section {
  width: 100% !important;
  max-width: 100% !important;
  padding: 8px 5px 10px !important;
}

/* 3列画像ボタンは、見た目を縮小して枠内に収める */
#search_box .img_button {
  width: 174px !important;
  max-width: 174px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 54px) !important;
  grid-auto-rows: 44px !important;
  gap: 6px !important;
  justify-content: center !important;
  align-items: start !important;
  overflow: hidden !important;
  list-style: none !important;
}

#search_box .img_button li {
  float: none !important;
  width: 54px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  transform: none !important;
  background-size: 54px 35px !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
}

#search_box .img_button li a {
  width: 54px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 34px 0 0 !important;
  display: block !important;
  overflow: hidden !important;
  position: static !important;
  box-sizing: border-box !important;
  background-size: 54px 35px !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
}

#search_box .img_button li[class],
#search_box .img_button li[class] a {
  background-size: 54px 35px !important;
  background-position: center top !important;
}

#search_box .img_button li span,
#search_box .img_button li a span {
  position: static !important;
  width: 54px !important;
  height: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: #666 !important;
  font-size: 7.5px !important;
  line-height: 10px !important;
  text-align: center !important;
  white-space: nowrap !important;
  background: transparent !important;
}

/* もし背景画像がaではなくliだけにある場合、数字位置だけ確保 */
#search_box .img_button li > a > span {
  margin-top: 0 !important;
}

/* 見出しは枠内で中央配置 */
#search_box h3,
#search_box .search_code {
  min-height: 40px !important;
  padding: 0 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}


/* ====================
   add21 overwrite
   add20は破棄。add19ベースで必要箇所だけ修正。
==================== */

/* グローバルメニュー：外枠を1080px内に収め、8等分ボタンにする */
#top-head-pc,
#top-head-pc.fixed,
#top-head-pc *,
#top-head-pc.fixed * {
  box-sizing: border-box !important;
}

#top-head-pc,
#top-head-pc.fixed {
  width: 1044px !important;
  max-width: calc(100% - 36px) !important;
  margin: 10px auto 0 !important;
  padding: 0 !important;
  left: auto !important;
  right: auto !important;
  overflow: visible !important;
}

#top-head-pc .inner,
#top-head-pc.fixed .inner,
#menu {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
}

#menu ul {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  list-style: none !important;
  overflow: hidden !important;
}

#menu ul li {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-align: center !important;
  border-right: 1px solid rgba(255,255,255,.18) !important;
}

#menu ul li:last-child {
  border-right: none !important;
}

#menu ul li a {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  height: 52px !important;
  padding: 5px 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

/* サイド：add20のような全リンク強制ブロック化はしない */
/* 既存の見た目を維持しつつ、右端だけ切れないようにする */
#side-menu {
  width: 215px !important;
  max-width: 215px !important;
  padding: 0 7px 7px 7px !important;
  overflow: hidden !important;
}

#side-menu #l_menu,
#side-menu .s_banner,
#side-menu #search_box,
#side-menu #search_box section {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* サイドのテキストリンク欄だけ、普通のリストのまま折り返す */
#side-menu #l_menu ul,
#side-menu #l_menu li,
#side-menu #l_menu p {
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#side-menu #l_menu a {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-overflow: clip !important;
}

/* サイド画像は枠内に収める */
#side-menu img {
  max-width: 100% !important;
  height: auto;
}

/* 3列画像ボタンはadd19の方針を維持し、枠内に収める */
#search_box .img_button {
  width: 174px !important;
  max-width: 174px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 54px) !important;
  grid-auto-rows: 44px !important;
  gap: 6px !important;
  justify-content: center !important;
  align-items: start !important;
  overflow: hidden !important;
  list-style: none !important;
}

#search_box .img_button li {
  float: none !important;
  width: 54px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  transform: none !important;
  background-size: 54px 35px !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
}

#search_box .img_button li a {
  width: 54px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 34px 0 0 !important;
  display: block !important;
  overflow: hidden !important;
  position: static !important;
  box-sizing: border-box !important;
  background-size: 54px 35px !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
}

#search_box .img_button li span,
#search_box .img_button li a span {
  position: static !important;
  width: 54px !important;
  height: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: #666 !important;
  font-size: 7.5px !important;
  line-height: 10px !important;
  text-align: center !important;
  white-space: nowrap !important;
  background: transparent !important;
}


/* ====================
   add22 overwrite
   サイド下層リストのマークを非表示
==================== */

/* 「優待内容と条件を確認」などの下層リストマークを消す */
#side-menu #l_menu ul ul,
#side-menu #l_menu ul ul li {
  list-style: none !important;
  list-style-type: none !important;
  background-image: none !important;
}

#side-menu #l_menu ul ul li::before,
#side-menu #l_menu ul ul li::marker {
  content: none !important;
}


/* ====================
   add25 global menu reset
   グローバルメニューだけ最終やり直し
   原因：既存layout.cssの #menu ul { position:absolute; left:60px; } が残っていたため
==================== */

#top-head-pc,
#top-head-pc *,
#top-head-pc *::before,
#top-head-pc *::after {
  box-sizing: border-box !important;
}

#top-head-pc {
  clear: both !important;
  width: auto !important;
  max-width: none !important;
  margin: 10px 18px 0 18px !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  overflow: visible !important;
  z-index: 1 !important;
}

#top-head-pc .inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  overflow: visible !important;
}

#top-head-pc #menu {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #d5859f 0%, #c86f8b 100%) !important;
}

/* 既存CSSの absolute / left:60px を完全に解除 */
#top-head-pc #menu > ul {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  list-style: none !important;
  overflow: hidden !important;
  font-size: 12px !important;
  text-shadow: none !important;
}

#top-head-pc #menu > ul > li {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  display: block !important;
  overflow: hidden !important;
  list-style: none !important;
  text-align: center !important;
  background: none !important;
  border-right: 1px solid rgba(255,255,255,.20) !important;
}

#top-head-pc #menu > ul > li:last-child {
  border-right: none !important;
}

#top-head-pc #menu > ul > li > a {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 5px 4px !important;
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  color: #fff !important;
  background: none !important;
  border: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

#top-head-pc #menu > ul > li > a:hover {
  background: rgba(255,255,255,.14) !important;
}

/* 長い2項目だけ少し小さくする */
#top-head-pc #menu > ul > li:nth-child(3) > a,
#top-head-pc #menu > ul > li:nth-child(5) > a {
  font-size: 11px !important;
}

/* 1024px付近は4列×2段に逃がす */
@media screen and (max-width: 1024px) {
  #top-head-pc {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  #top-head-pc #menu > ul {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 520px) {
  #top-head-pc #menu > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* ====================
   add26 overwrite
   グローバルメニュー文字サイズ調整
   おすすめ優待ボタンをさわやか系に変更
==================== */

/* グローバルメニュー：文字を少し大きく */
#top-head-pc #menu > ul > li > a {
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* 長い2項目だけ、切れない範囲で調整 */
#top-head-pc #menu > ul > li:nth-child(3) > a,
#top-head-pc #menu > ul > li:nth-child(5) > a {
  font-size: 12px !important;
}

/* サイドの「おすすめ優待」ボタンをさわやか系に */
#search_box .sub_menu {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#search_box .sub_menu ul {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#search_box .sub_menu li {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#search_box .sub_menu a#chk_kbn_osusume {
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 1px solid #cfe7ee !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #ffffff 0%, #eef8fb 100%) !important;
  color: #4b8ba1 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  box-shadow: 0 4px 10px rgba(120, 170, 188, 0.10) !important;
}

#search_box .sub_menu a#chk_kbn_osusume span {
  color: #4b8ba1 !important;
}

#search_box .sub_menu a#chk_kbn_osusume:hover {
  background: linear-gradient(180deg, #f7fdff 0%, #e5f4f8 100%) !important;
  color: #c15f80 !important;
}


/* ====================
   add27 overwrite
   おすすめ優待ボタンの外枠削除・上余白追加
==================== */

/* 検索フォームの下に余白 */
#search_box section:has(#chk_kbn_osusume) {
  margin-top: 16px !important;
}

/* 古いsub_menuの四角い枠・背景を消す */
#search_box .sub_menu,
#search_box .sub_menu ul,
#search_box .sub_menu li {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* インラインstyleの影響を上書き */
#search_box .sub_menu li[style],
#search_box .sub_menu a[style] {
  width: 100% !important;
}

/* おすすめ優待ボタン本体 */
#search_box .sub_menu a#chk_kbn_osusume {
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 1px solid #cfe7ee !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #ffffff 0%, #eef8fb 100%) !important;
  color: #4b8ba1 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  box-shadow: 0 4px 10px rgba(120, 170, 188, 0.10) !important;
}


/* ====================
   add28 overwrite
   おすすめ優待ボタンの余白修正
   グローバルメニューの視認性改善
==================== */

/* 同じsection内なので、sectionではなくsub_menu自体に余白を入れる */
#search_box section .s_code_t + .sub_menu,
#search_box section #shoken_button_1 + .sub_menu,
#search_box section .sub_menu:has(#chk_kbn_osusume) {
  clear: both !important;
  display: block !important;
  width: 100% !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px dashed #d9eaf0 !important;
}

/* 検索ボタン直後で詰まらないよう、入力欄側にも下余白 */
#search_box section .s_code,
#search_box section .s_code_t,
#search_box section #shoken_button_1 {
  margin-bottom: 0 !important;
}

/* 古いsub_menu枠を消す */
#search_box .sub_menu,
#search_box .sub_menu ul,
#search_box .sub_menu li {
  background: transparent !important;
  box-shadow: none !important;
}

/* おすすめ優待ボタン本体 */
#search_box .sub_menu a#chk_kbn_osusume {
  min-height: 44px !important;
  border: 1px solid #cfe7ee !important;
  border-radius: 15px !important;
  background: linear-gradient(180deg, #ffffff 0%, #edf8fb 100%) !important;
  color: #3f8299 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
}

/* グローバルメニュー：文字を読みやすく */
#top-head-pc #menu {
  background: linear-gradient(180deg, #d985a0 0%, #c36b88 100%) !important;
}

#top-head-pc #menu > ul > li > a {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 1px 1px rgba(120, 55, 78, .28) !important;
}

/* 長い項目は2行前提で少しだけ小さく */
#top-head-pc #menu > ul > li:nth-child(3) > a,
#top-head-pc #menu > ul > li:nth-child(5) > a {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* 各ボタンの境界を見やすく */
#top-head-pc #menu > ul > li {
  border-right: 1px solid rgba(255,255,255,.26) !important;
}

#top-head-pc #menu > ul > li > a:hover {
  background: rgba(255,255,255,.16) !important;
}


/* ====================
   add29 overwrite
   スマホ表示のヘッダー余白調整
==================== */

@media screen and (max-width: 520px) {

  /* ヘッダー全体の上下余白を圧縮 */
  #header {
    padding: 6px 8px 8px !important;
    margin: 0 auto !important;
    border-radius: 0 0 12px 12px !important;
  }

  /* タイトル画像下の余白を小さく */
  #header .h_l > a {
    margin: 0 auto 4px !important;
  }

  /* 検索フォーム下の余白を小さく */
  #header .top_form,
  #header .top_form form {
    margin: 0 auto !important;
  }

  #header .top_form .gsw,
  #header .top_form .top_button {
    height: 30px !important;
    line-height: 30px !important;
  }

  /* キャンペーン部分の上余白を圧縮 */
  #header .h_r {
    margin: 6px auto 0 !important;
    gap: 6px !important;
  }

  #header .h_r > a {
    height: 48px !important;
  }

  #header .h_r > a img {
    width: 96px !important;
    height: 48px !important;
  }

  #header .h_r_ul li,
  #header .h_r_ul .inf {
    padding: 6px 8px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  /* ヘッダー下の空白を圧縮 */
  #top-head-pc {
    margin-top: 4px !important;
  }

  /* スマホのメニューボタンまわりの空白対策 */
  #top-head {
    margin: 0 !important;
    padding: 0 !important;
  }

  #nav-toggle {
    top: 8px !important;
  }

  /* メニュー非表示時の余白を抑える */
  #top-head-pc:not(.open),
  #top-head-pc .inner,
  #top-head-pc #menu {
    min-height: 0 !important;
  }

  /* ヘッダー直後の本文側余白を圧縮 */
  #wrap,
  main,
  #search_wrap {
    margin-top: 4px !important;
    padding-top: 0 !important;
  }

  /* h1直前の余白を小さく */
  #search_wrap h1,
  #page h1,
  #wide-page h1 {
    margin-top: 8px !important;
  }
}

@media screen and (max-width: 380px) {
  #header {
    padding-top: 4px !important;
    padding-bottom: 6px !important;
  }

  #header .h_r {
    margin-top: 5px !important;
  }

  #header .h_r > a {
    margin-bottom: 4px !important;
  }

  #search_wrap h1,
  #page h1,
  #wide-page h1 {
    margin-top: 6px !important;
  }
}


/* ====================
   add30 overwrite
   スマホのみ .h_r の上下余白をさらに圧縮
==================== */

@media screen and (max-width: 520px) {
  #header .h_r {
    margin: 5px auto 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 4px !important;
	height:auto;
  }

  #header .h_r > a {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  #header .h_r_ul {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  #header .h_r_ul li,
  #header .h_r_ul .inf {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
}

@media screen and (max-width: 380px) {
  #header .h_r {
    margin-top: 2px !important;
  }

  #header .h_r > a {
    margin-bottom: 2px !important;
  }
}

/* ====================
   add32 page layout refresh
   choice.htmlを見本に、タイトル画像に合わせた本文レイアウトへ調整
   ・HTMLは変更せずCSSのみ
   ・淡いピンク／水色／クリームのやわらかい雰囲気
   ・各ページ共通で使う本文パーツを整理
==================== */

:root {
  --yu-cream: #fffaf1;
  --yu-cream-line: #f1dfbe;
  --yu-pink-deep: #c76486;
  --yu-pink-card: #fff4f8;
  --yu-blue-card: #f1fbfd;
  --yu-green-soft: #eaf7ef;
  --yu-orange-soft: #fff2d7;
  --yu-card-shadow: 0 7px 18px rgba(128, 157, 171, 0.10);
}

/* 本文エリア：白いカードで読みやすく */
#page,
#wide-page,
#search_wrap {
  box-sizing: border-box !important;
}

#page {
  padding: 22px 24px 26px !important;
  background:
    radial-gradient(circle at 98% 20px, rgba(251, 221, 232, .45) 0 58px, transparent 59px),
    radial-gradient(circle at 0 115px, rgba(221, 244, 250, .45) 0 68px, transparent 69px),
    #ffffff !important;
  border: 1px solid #e3eef2 !important;
  border-radius: 18px !important;
  box-shadow: var(--yu-card-shadow) !important;
}

#page p,
#wide-page p,
#search_wrap p {
  color: #333333;
  line-height: 1.85 !important;
}

#page a,
#wide-page a,
#search_wrap a {
  color: #247fa4;
}

#page a:hover,
#wide-page a:hover,
#search_wrap a:hover {
  color: #c76486;
}

/* パンくず：細く、やさしい帯に */
#pan {
  margin: 12px 0 12px !important;
  padding: 8px 12px !important;
  background: linear-gradient(90deg, #f7fbfc 0%, #fff8fb 100%) !important;
  border: 1px solid #e1eef2 !important;
  border-radius: 12px !important;
  color: #7a858c !important;
  line-height: 1.6 !important;
}

#pan a {
  color: #368aaa !important;
  text-decoration: none !important;
}

/* 日付 */
.p-time,
time.p-time {
  display: inline-block !important;
  margin: -4px 0 16px !important;
  padding: 4px 12px !important;
  background: #fff8ec !important;
  border: 1px solid #efd9aa !important;
  border-radius: 999px !important;
  color: #9a7741 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* 本文メイン画像 */
#page > img,
#wide-page > img,
#search_wrap > img,
#page p > img,
#wide-page p > img,
#search_wrap p > img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 16px !important;
}

#page > img,
#wide-page > img,
#search_wrap > img {
  display: block !important;
  margin: 14px auto 18px !important;
  box-shadow: 0 8px 18px rgba(125, 166, 183, 0.10) !important;
}

/* 目次 */
.mokuji {
  margin: 22px 0 28px !important;
  padding: 16px 18px 16px !important;
  background:
    radial-gradient(circle at 96% 8%, rgba(250, 218, 230, .50) 0 42px, transparent 43px),
    linear-gradient(180deg, #ffffff 0%, #f3fbfd 100%) !important;
  border: 1px solid #d9edf2 !important;
  border-radius: 18px !important;
  box-shadow: 0 7px 16px rgba(113, 165, 185, 0.08) !important;
}

.mokuji .p_mokuji,
.p_mokuji {
  margin: 0 0 10px !important;
  padding: 0 0 8px 28px !important;
  background: none !important;
  border-bottom: 1px dashed #cde7ee !important;
  color: #4e8799 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  position: relative;
}

.mokuji .p_mokuji::before,
.p_mokuji::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f3b4c9 0%, #83c8dc 100%);
}

.mokuji ol,
.mokuji ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mokuji li {
  margin: 7px 0 !important;
  padding: 0 0 0 24px !important;
  position: relative;
  line-height: 1.55 !important;
}

.mokuji li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: .65em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f0a5bd;
}

.mokuji li a {
  text-decoration: none !important;
  color: #357f9b !important;
}

.mokuji li a:hover {
  color: #c76486 !important;
}

/* h1：タイトル画像の雰囲気に寄せて、角丸＋淡い装飾 */
#page h1,
#wide-page h1,
#search_wrap h1 {
  margin: 4px 0 18px !important;
  padding: 15px 18px 15px 22px !important;
  background:
    radial-gradient(circle at 96% 50%, rgba(255,255,255,.32) 0 42px, transparent 43px),
    linear-gradient(90deg, #d46f95 0%, #e98bad 52%, #f8dce8 100%) !important;
  border-radius: 18px !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 8px 18px rgba(207, 115, 146, 0.18) !important;
}

/* h2：本文内の区切りをやさしい見出しへ */
#page h2,
#wide-page h2,
#search_wrap h2 {
  margin: 30px 0 16px !important;
  padding: 12px 16px 12px 44px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 232, 188, .70) 0 42px, transparent 43px),
    linear-gradient(90deg, #fce7ef 0%, #fff9fb 58%, #f3fbfd 100%) !important;
  border: 1px solid #f0d8e2 !important;
  border-left: 6px solid #d67496 !important;
  border-radius: 16px !important;
  color: #bd5d7f !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  box-shadow: 0 5px 14px rgba(207, 115, 146, 0.08) !important;
  position: relative;
}

#page h2::before,
#wide-page h2::before,
#search_wrap h2::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f2b3c8 0%, #83c8dc 100%);
  box-shadow: 10px 0 0 rgba(246, 205, 128, .65);
}

/* h3：h2より控えめに */
#page section h3,
#wide-page section h3,
#search_wrap section h3,
#page h3,
#wide-page h3,
#search_wrap h3 {
  margin: 24px 0 12px !important;
  padding: 10px 14px !important;
  background: linear-gradient(90deg, #eff9fb 0%, #ffffff 100%) !important;
  border-left: 5px solid #86c7d7 !important;
  border-top: 1px solid #dceff4 !important;
  border-right: 1px solid #dceff4 !important;
  border-bottom: 1px solid #dceff4 !important;
  border-radius: 12px !important;
  color: #4e7f90 !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

/* board2：各ページの説明ボックスをカード化 */
.board2 {
  margin: 18px 0 24px !important;
  padding: 18px 20px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 239, 206, .55) 0 52px, transparent 53px),
    linear-gradient(180deg, #ffffff 0%, #fffaf4 100%) !important;
  border: 1px solid #eedfbf !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 18px rgba(178, 151, 91, 0.10) !important;
  overflow: hidden !important;
}

.board2 p:first-child.f_630,
.board2 .f_630.bold,
.board2 p.bold:first-child {
  margin: 0 0 12px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px dashed #ecd8ad !important;
  color: #ba6a17 !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}

.board2 ul {
  margin: 10px 0 10px 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

.board2 li {
  margin: 0 0 15px !important;
  padding-left: 22px !important;
  position: relative;
/*  line-height: 1.65 !important;*/
}

.board2 li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: .72em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #f1a9bf;
}

.board2 img.fr,
.board2 img.fl {
  max-width: 42% !important;
  height: auto !important;
  margin: 4px 0 12px 18px !important;
  padding: 8px !important;
  background: #fff !important;
  border: 1px solid #edf1f3 !important;
  border-radius: 16px !important;
  box-shadow: 0 5px 12px rgba(126, 151, 163, 0.08) !important;
}

.board2 img.fl {
  margin: 4px 18px 12px 0 !important;
}

/* 参考記事リンク */
.link_s {
  margin: 20px 0 24px !important;
  padding: 16px 18px !important;
  background: linear-gradient(180deg, #f5fbfd 0%, #ffffff 100%) !important;
  border: 1px solid #dbeef3 !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 14px rgba(113, 165, 185, 0.07) !important;
}

.link_s span {
  display: inline-block !important;
  margin: 0 0 10px !important;
  padding: 4px 12px !important;
  background: #7dbfd2 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.link_s ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.link_s li {
  margin: 7px 0 !important;
  padding-left: 20px !important;
  position: relative;
}

.link_s li::before {
  content: "›";
  position: absolute;
  left: 2px;
  top: 0;
  color: #cf7392;
  font-weight: 700;
}

/* まとめ */
.board5 {
  margin: 26px 0 !important;
  padding: 18px 20px !important;
  background:
    radial-gradient(circle at 96% 14px, rgba(255,255,255,.50) 0 40px, transparent 41px),
    linear-gradient(180deg, #fff5f8 0%, #ffffff 100%) !important;
  border: 1px solid #efd6df !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 18px rgba(207, 115, 146, 0.09) !important;
}

.board5 p.bold:first-child,
.board5 .bold:first-child {
  margin: 0 0 10px !important;
  color: #c76486 !important;
  font-size: 17px !important;
}

.board5 ul {
  margin: 10px 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

.board5 li {
  margin: 6px 0 15px 0 !important;
  padding-left: 22px !important;
  position: relative;
}

/*.board5 li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: .72em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #83c8dc;
}*/

/* 前後ページナビ */
.navi_box {
  margin: 24px 0 !important;
  padding: 0 !important;
}

.navi_box ul {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  gap: 12px !important;
  list-style: none !important;
}

.navi_box li {
  flex: 1 1 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.navi_box li a {
  display: block !important;
  min-height: 44px !important;
  padding: 12px 14px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f4fbfd 100%) !important;
  border: 1px solid #dceff4 !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 12px rgba(113, 165, 185, 0.07) !important;
  color: #397f98 !important;
  text-decoration: none !important;
  line-height: 1.45 !important;
}

.navi_box li.rev a::before {
  content: "‹ ";
  color: #cf7392;
  font-weight: 700;
}

.navi_box li.next a::after {
  content: " ›";
  color: #cf7392;
  font-weight: 700;
}

/* 4コマ画像：角丸で統一 */
/*.koma_box {
  margin-top: 22px !important;
  padding: 12px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf4 100%) !important;
  border: 1px solid #efdfbf !important;
  border-radius: 18px !important;
  box-shadow: 0 7px 16px rgba(178, 151, 91, 0.08) !important;
}*/

/*.koma_box img {
  max-width: 100% !important;
  height: auto !important;
  margin: 6px auto 12px !important;
  display: block !important;
  border-radius: 14px !important;
}*/

.hr_end {
  height: 1px !important;
  margin: 30px 0 !important;
  border: none !important;
  background: linear-gradient(90deg, transparent 0%, #efd6df 20%, #d9edf2 80%, transparent 100%) !important;
}

/* 本文下部検索・プロフィール周り */
.fortop,
.social-area-syncer {
  border-radius: 18px !important;
}

.fortop {
  margin-top: 22px !important;
  padding: 14px !important;
  background: linear-gradient(180deg, #f8fcfd 0%, #ffffff 100%) !important;
  border: 1px solid #dceff4 !important;
}

.social-area-syncer {
  padding: 16px !important;
  background: linear-gradient(180deg, #fffdfd 0%, #fff7fb 100%) !important;
  border: 1px solid #efd6df !important;
}

/* 強調文字をタイトル画像系の色に */
.fby {
  background: linear-gradient(transparent 62%, #fff0a9 62%) !important;
  color: #5e6973 !important;
}

/* スマホ調整 */
@media screen and (max-width: 760px) {
  #page {
    padding: 18px 16px 22px !important;
    border-radius: 16px !important;
  }

  #page h1,
  #wide-page h1,
  #search_wrap h1 {
    padding: 13px 15px !important;
    font-size: 20px !important;
  }

  #page h2,
  #wide-page h2,
  #search_wrap h2 {
    margin-top: 26px !important;
    padding: 11px 13px 11px 38px !important;
    font-size: 17px !important;
  }

  #page h2::before,
  #wide-page h2::before,
  #search_wrap h2::before {
    left: 13px;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    box-shadow: 8px 0 0 rgba(246, 205, 128, .65);
  }

  .board2 {
    padding: 15px 14px !important;
  }

  .board2 img.fr,
  .board2 img.fl {
    float: none !important;
    display: block !important;
    max-width: 82% !important;
    margin: 6px auto 14px !important;
  }

  .navi_box ul {
    display: block !important;
  }

  .navi_box li {
    margin-bottom: 10px !important;
  }
}

@media screen and (max-width: 520px) {
  #page {
    padding: 16px 12px 20px !important;
  }

  .mokuji,
  .board2,
  .board5,
  .link_s,
  .koma_box,
  .fortop,
  .social-area-syncer {
    border-radius: 14px !important;
  }

  #page p,
  #wide-page p,
  #search_wrap p {
    line-height: 1.8 !important;
  }
}

/* ====================
   add34 correction
   ・add33で強すぎた上書きを戻し、h2タイトル文字が消えないよう明示
   ・ヘッダーのサイト内検索フォームに左マージン5px
==================== */

/* ヘッダー：サイト内検索フォームを少し右へ */
#header .top_form {
  margin-left: 5px !important;
}

/* h1/h2：文字色・背景・余白を明示して、layout.css側の背景画像や色指定に負けないようにする */
#page h1,
#wide-page h1,
#search_wrap h1 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 4px 0 18px !important;
  padding: 15px 18px 15px 22px !important;
  background:
    radial-gradient(circle at 96% 50%, rgba(255,255,255,.32) 0 42px, transparent 43px),
    linear-gradient(90deg, #d46f95 0%, #e98bad 52%, #f8dce8 100%) !important;
  border: none !important;
  border-radius: 18px !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-shadow: none !important;
  box-shadow: 0 8px 18px rgba(207, 115, 146, 0.18) !important;
  box-sizing: border-box !important;
}

#page h2,
#wide-page h2,
#search_wrap h2 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 30px 0 16px !important;
  padding: 12px 16px 12px 44px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 232, 188, .70) 0 42px, transparent 43px),
    linear-gradient(90deg, #fce7ef 0%, #fff9fb 58%, #f3fbfd 100%) !important;
  border: 1px solid #f0d8e2 !important;
  border-left: 6px solid #d67496 !important;
  border-radius: 16px !important;
  color: #bd5d7f !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-shadow: none !important;
  box-shadow: 0 5px 14px rgba(207, 115, 146, 0.08) !important;
  position: relative !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

#page h2::before,
#wide-page h2::before,
#search_wrap h2::before {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  margin-top: -8px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #f2b3c8 0%, #83c8dc 100%) !important;
  box-shadow: 10px 0 0 rgba(246, 205, 128, .65) !important;
  pointer-events: none !important;
}

/* スマホ時もh2の文字と左アイコンが重ならないように */
@media screen and (max-width: 760px) {
  #page h2,
  #wide-page h2,
  #search_wrap h2 {
    padding: 11px 13px 11px 38px !important;
    font-size: 17px !important;
  }

  #page h2::before,
  #wide-page h2::before,
  #search_wrap h2::before {
    left: 13px !important;
    width: 14px !important;
    height: 14px !important;
    margin-top: -7px !important;
    box-shadow: 8px 0 0 rgba(246, 205, 128, .65) !important;
  }
}

/* ====================
   add35 contents navigation adjustment
   ・目次を読みやすいカード型に変更
   ・前後ページナビをタイトル画像に合う淡いデザインへ調整
==================== */

/* 目次：古い絶対配置・番号装飾を完全にリセット */
#page .mokuji,
#wide-page .mokuji,
#search_wrap .mokuji {
  position: relative !important;
  margin: 28px 0 32px !important;
  padding: 18px 18px 16px !important;
  background:
    radial-gradient(circle at 95% 6%, rgba(255, 230, 189, .55) 0 44px, transparent 45px),
    radial-gradient(circle at 8% 100%, rgba(210, 238, 246, .65) 0 58px, transparent 59px),
    linear-gradient(180deg, #ffffff 0%, #fffaf5 100%) !important;
  border: 1px solid #efdde4 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 18px rgba(180, 128, 148, 0.08) !important;
  box-sizing: border-box !important;
}

#page .mokuji .p_mokuji,
#wide-page .mokuji .p_mokuji,
#search_wrap .mokuji .p_mokuji,
#page .p_mokuji,
#wide-page .p_mokuji,
#search_wrap .p_mokuji {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 14px !important;
  padding: 6px 14px 6px 34px !important;
  background: linear-gradient(90deg, #e98bad 0%, #f6b9cd 100%) !important;
  border: none !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-shadow: none !important;
  box-shadow: 0 5px 12px rgba(207, 115, 146, .16) !important;
  vertical-align: top !important;
}

#page .mokuji .p_mokuji::before,
#wide-page .mokuji .p_mokuji::before,
#search_wrap .mokuji .p_mokuji::before,
#page .p_mokuji::before,
#wide-page .p_mokuji::before,
#search_wrap .p_mokuji::before {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 50% !important;
  width: 14px !important;
  height: 14px !important;
  margin-top: -7px !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 7px 0 0 rgba(255,255,255,.65) !important;
}

#page .mokuji ol,
#wide-page .mokuji ol,
#search_wrap .mokuji ol {
  counter-reset: mokuji_num !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  list-style: none !important;
}

#page .mokuji ol li,
#wide-page .mokuji ol li,
#search_wrap .mokuji ol li {
  counter-increment: mokuji_num !important;
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  background: none !important;
}

#page .mokuji ol li:last-child,
#wide-page .mokuji ol li:last-child,
#search_wrap .mokuji ol li:last-child {
  margin-bottom: 0 !important;
}

#page .mokuji ol li::before,
#wide-page .mokuji ol li::before,
#search_wrap .mokuji ol li::before {
  content: counter(mokuji_num) !important;
  position: absolute !important;
  left: 10px !important;
  top: 50% !important;
  width: 24px !important;
  height: 24px !important;
  margin: -12px 0 0 !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #f4b2c8 0%, #8fcdda 100%) !important;
  color: #fff !important;
  font-family: Verdana, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  text-align: center !important;
  transform: none !important;
  box-shadow: 0 3px 8px rgba(126, 177, 194, .16) !important;
  box-sizing: border-box !important;
  z-index: 1 !important;
}

#page .mokuji ol li a,
#wide-page .mokuji ol li a,
#search_wrap .mokuji ol li a {
  display: block !important;
  min-height: 0 !important;
  padding: 9px 12px 9px 44px !important;
  background: rgba(255,255,255,.86) !important;
  border: 1px solid #e7f1f4 !important;
  border-radius: 13px !important;
  color: #397f98 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}

#page .mokuji ol li a:hover,
#wide-page .mokuji ol li a:hover,
#search_wrap .mokuji ol li a:hover {
  background: #fff6fa !important;
  border-color: #f0cad8 !important;
  color: #c45f84 !important;
}

/* 前後ページナビ：古い矢印画像と罫線を消して、読みやすいボタン型へ */
#page .navi_box,
#wide-page .navi_box,
#search_wrap .navi_box {
  width: 100% !important;
  min-height: 0 !important;
  margin: 34px 0 28px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-sizing: border-box !important;
}

#page .navi_box ul,
#wide-page .navi_box ul,
#search_wrap .navi_box ul {
  display: flex !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#page .navi_box li,
#wide-page .navi_box li,
#search_wrap .navi_box li,
#page .navi_box .rev,
#page .navi_box .next,
#wide-page .navi_box .rev,
#wide-page .navi_box .next,
#search_wrap .navi_box .rev,
#search_wrap .navi_box .next {
  flex: 1 1 0 !important;
  float: none !important;
  clear: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  text-align: left !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

#page .navi_box li a,
#wide-page .navi_box li a,
#search_wrap .navi_box li a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 58px !important;
  height: 100% !important;
  padding: 13px 16px !important;
  background:
    radial-gradient(circle at 94% 15%, rgba(255, 225, 235, .55) 0 34px, transparent 35px),
    linear-gradient(180deg, #ffffff 0%, #f4fbfd 100%) !important;
  border: 1px solid #dceff4 !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 14px rgba(113, 165, 185, 0.08) !important;
  color: #397f98 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

#page .navi_box li.rev a,
#wide-page .navi_box li.rev a,
#search_wrap .navi_box li.rev a {
  padding-left: 46px !important;
    font-size: 81% !important;
    font-weight: normal !important;}

#page .navi_box li.next a,
#wide-page .navi_box li.next a,
#search_wrap .navi_box li.next a {
  padding-right: 46px !important;
  text-align: right !important;
  justify-content: flex-end !important;
    font-size: 81% !important;
    font-weight: normal !important;}

#page .navi_box li.rev a::before,
#wide-page .navi_box li.rev a::before,
#search_wrap .navi_box li.rev a::before,
#page .navi_box li.next a::after,
#wide-page .navi_box li.next a::after,
#search_wrap .navi_box li.next a::after {
  position: absolute !important;
  top: 50% !important;
  width: 26px !important;
  height: 26px !important;
  margin-top: -13px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #f4b2c8 0%, #8fcdda 100%) !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 26px !important;
  text-align: center !important;
  box-shadow: 0 3px 8px rgba(126, 177, 194, .16) !important;
}

#page .navi_box li.rev a::before,
#wide-page .navi_box li.rev a::before,
#search_wrap .navi_box li.rev a::before {
  content: "‹" !important;
  left: 14px !important;
}

#page .navi_box li.next a::after,
#wide-page .navi_box li.next a::after,
#search_wrap .navi_box li.next a::after {
  content: "›" !important;
  right: 14px !important;
}

#page .navi_box li a:hover,
#wide-page .navi_box li a:hover,
#search_wrap .navi_box li a:hover {
  background:
    radial-gradient(circle at 94% 15%, rgba(255, 225, 235, .70) 0 34px, transparent 35px),
    linear-gradient(180deg, #fff9fb 0%, #f3fbfd 100%) !important;
  border-color: #f0cad8 !important;
  color: #c45f84 !important;
}

#page .navi_box br.clean,
#wide-page .navi_box br.clean,
#search_wrap .navi_box br.clean {
  display: none !important;
}

@media screen and (max-width: 760px) {
  #page .mokuji,
  #wide-page .mokuji,
  #search_wrap .mokuji {
    margin: 22px 0 26px !important;
    padding: 15px 14px 14px !important;
  }

  #page .mokuji ol li a,
  #wide-page .mokuji ol li a,
  #search_wrap .mokuji ol li a {
    padding: 9px 10px 9px 42px !important;
  }

  #page .navi_box ul,
  #wide-page .navi_box ul,
  #search_wrap .navi_box ul {
    display: block !important;
  }

  #page .navi_box li,
  #wide-page .navi_box li,
  #search_wrap .navi_box li {
    margin-bottom: 10px !important;
  }

  #page .navi_box li:last-child,
  #wide-page .navi_box li:last-child,
  #search_wrap .navi_box li:last-child {
    margin-bottom: 0 !important;
  }
}

/* ====================
   add37 minimal fix
   ・#koukoku のレイアウトは触らず、白背景で文字が見えない問題だけ補正
   ・h1の見出し表示を再調整
==================== */

/* koukoku：幅・余白・配置は既存CSSを優先し、背景色だけ戻す */
#koukoku {
  background-color: #f5a21d !important;
  color: #333 !important;
}

#koukoku > p {
  background: transparent !important;
}

#koukoku > p img {
  background: transparent !important;
}

/* koukoku内のボックスや文字色だけ最低限調整 */
#koukoku .koukoku_box,
#koukoku .koukoku_box2 {
  background-color: #fff !important;
}

#koukoku .k_b_t {
  background-color: #b38977 !important;
  color: #fff !important;
}

#koukoku .k_b_f {
  background-color: #e7d3cc !important;
}

#koukoku a {
  color: inherit;
}

/* h1：タイトル画像に合わせつつ、文字が消えないよう明示 */
#page h1,
#wide-page h1,
#search_wrap h1 {
  display: block !important;
  min-height: 40px !important;
  margin: 12px 0 18px !important;
  padding: 9px 25px 9px 40px !important;
  box-sizing: border-box !important;
  color: #fff !important;
  font-size: 120% !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-shadow: none !important;
  background:
    radial-gradient(circle at 18px 50%, #fff 0 5px, transparent 6px),
    radial-gradient(circle at 30px 50%, rgba(255,255,255,.75) 0 4px, transparent 5px),
    linear-gradient(90deg, #d86f94 0%, #ee9ab4 58%, #f8dfe9 100%) !important;
  border: none !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 15px rgba(216, 111, 148, 0.16) !important;
}

#page h1 a,
#wide-page h1 a,
#search_wrap h1 a {
  color: #fff !important;
}

/* ====================
   add38 mokuji nested list fix
   ・親項目と子項目の装飾が重なって、番号バッジが崩れる問題を修正
   ・ol > li > ul の入れ子目次を読みやすく整理
==================== */

#page .mokuji,
#wide-page .mokuji,
#search_wrap .mokuji {
  padding: 18px 20px 18px !important;
  background:
    radial-gradient(circle at 96% 7%, rgba(255, 238, 203, .70) 0 44px, transparent 45px),
    linear-gradient(180deg, #ffffff 0%, #f8fcfd 100%) !important;
  border: 1px solid #dbeaf0 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 18px rgba(113, 165, 185, 0.08) !important;
}

#page .mokuji .p_mokuji,
#wide-page .mokuji .p_mokuji,
#search_wrap .mokuji .p_mokuji {
  display: inline-block !important;
  margin: 0 0 12px !important;
  padding: 5px 22px !important;
  min-width: 76px !important;
  text-align: center !important;
  background: linear-gradient(90deg, #e98bab 0%, #f2b5ca 100%) !important;
  border: none !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

#page .mokuji .p_mokuji::before,
#wide-page .mokuji .p_mokuji::before,
#search_wrap .mokuji .p_mokuji::before {
  display: none !important;
}

/* 一括指定をリセット */
#page .mokuji ol,
#wide-page .mokuji ol,
#search_wrap .mokuji ol,
#page .mokuji ul,
#wide-page .mokuji ul,
#search_wrap .mokuji ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: none !important;
}

#page .mokuji li,
#wide-page .mokuji li,
#search_wrap .mokuji li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.55 !important;
  position: static !important;
}

#page .mokuji li::before,
#wide-page .mokuji li::before,
#search_wrap .mokuji li::before {
  display: none !important;
  content: none !important;
}

/* 親項目 */
#page .mokuji > ol,
#wide-page .mokuji > ol,
#search_wrap .mokuji > ol {
  counter-reset: mokuji-parent !important;
}

#page .mokuji > ol > li,
#wide-page .mokuji > ol > li,
#search_wrap .mokuji > ol > li {
  counter-increment: mokuji-parent !important;
  margin: 9px 0 0 !important;
}

#page .mokuji > ol > li > a,
#wide-page .mokuji > ol > li > a,
#search_wrap .mokuji > ol > li > a {
  display: block !important;
  min-height: 0 !important;
  padding: 10px 14px 10px 52px !important;
  background: #ffffff !important;
  border: 1px solid #dbeaf0 !important;
  border-radius: 14px !important;
  color: #2f7894 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  position: relative !important;
  box-shadow: 0 3px 8px rgba(113, 165, 185, 0.05) !important;
}

#page .mokuji > ol > li > a::before,
#wide-page .mokuji > ol > li > a::before,
#search_wrap .mokuji > ol > li > a::before {
  content: counter(mokuji-parent) !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  width: 25px !important;
  height: 25px !important;
  margin-top: -12.5px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #e9a2bd 0%, #92c7d6 100%) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 25px !important;
  text-align: center !important;
}

/* 子項目：番号バッジを出さず、インデントした小さめカードにする */
#page .mokuji > ol > li > ul,
#wide-page .mokuji > ol > li > ul,
#search_wrap .mokuji > ol > li > ul {
  margin: 7px 0 4px 22px !important;
  padding: 0 0 0 12px !important;
  border-left: 2px solid #e3f1f4 !important;
}

#page .mokuji > ol > li > ul > li,
#wide-page .mokuji > ol > li > ul > li,
#search_wrap .mokuji > ol > li > ul > li {
  margin: 5px 0 !important;
  padding: 0 !important;
}

#page .mokuji > ol > li > ul > li > a,
#wide-page .mokuji > ol > li > ul > li > a,
#search_wrap .mokuji > ol > li > ul > li > a {
  display: block !important;
  padding: 7px 11px 7px 28px !important;
  background: #fbfdfe !important;
  border: 1px solid #e4f0f3 !important;
  border-radius: 12px !important;
  color: #3f7f93 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  position: relative !important;
  box-shadow: none !important;
}

#page .mokuji > ol > li > ul > li > a::before,
#wide-page .mokuji > ol > li > ul > li > a::before,
#search_wrap .mokuji > ol > li > ul > li > a::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  margin-top: -3.5px !important;
  border-radius: 50% !important;
  background: #9fcfd9 !important;
}

#page .mokuji a:hover,
#wide-page .mokuji a:hover,
#search_wrap .mokuji a:hover {
  color: #c45f84 !important;
  border-color: #f1cfda !important;
  background: #fff9fb !important;
}

/* スマホ */
@media screen and (max-width: 760px) {
  #page .mokuji,
  #wide-page .mokuji,
  #search_wrap .mokuji {
    padding: 15px 13px !important;
  }

  #page .mokuji > ol > li > a,
  #wide-page .mokuji > ol > li > a,
  #search_wrap .mokuji > ol > li > a {
    padding: 9px 11px 9px 45px !important;
    font-size: 14px !important;
  }

  #page .mokuji > ol > li > ul,
  #wide-page .mokuji > ol > li > ul,
  #search_wrap .mokuji > ol > li > ul {
    margin-left: 10px !important;
    padding-left: 8px !important;
  }

  #page .mokuji > ol > li > ul > li > a,
  #wide-page .mokuji > ol > li > ul > li > a,
  #search_wrap .mokuji > ol > li > ul > li > a {
    font-size: 13px !important;
  }
}

/* ====================
   add39 smartphone only adjustment
   ・PC表示は変更しない
   ・スマホ時の余白、キャンペーン文、画像、ハンバーガーメニューを調整
==================== */

@media screen and (max-width: 796px) {

  /* ハンバーガーメニュー：開いた状態で中身をスクロール可能にする */
  html.lock,
  body.lock,
  .lock {
    overflow: auto !important;
    height: auto !important;
  }

  .open #menu,
  #top-head-pc.open #menu,
  #menu.open {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 64px 18px 36px !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: linear-gradient(180deg, #ffffff 0%, #f2f8fa 100%) !important;
    z-index: 99998 !important;
  }

  .open #menu ul,
  #top-head-pc.open #menu ul,
  #menu.open ul {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 80px !important;
    list-style: none !important;
  }

  .open #menu li,
  #top-head-pc.open #menu li,
  #menu.open li {
    display: block !important;
    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
  }

  .open #menu li a,
  #top-head-pc.open #menu li a,
  #menu.open li a {
    display: block !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border: 1px solid #d9e8ee !important;
    border-radius: 12px !important;
    color: #4b7e92 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    text-shadow: none !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  .open #menu li a:hover,
  #top-head-pc.open #menu li a:hover,
  #menu.open li a:hover {
    background: #fff8fb !important;
    color: #c45f84 !important;
  }

  /* モーダル系メニューもスマホでスクロールできるように */
  .modal-content {
    max-height: 92dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .modal_scroll {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* スマホ時：枠で囲んだサイド画像・広告画像は非表示 */
  #l_menu > a.bp5,
  #l_menu > a.bp5 img,
  #side-menu .s_banner,
  #side-menu .s_banner img,
  #side-menu .ad160,
  #side-menu .ad200,
  #side-menu .ad125,
  #side-menu .ad468,
  #side-menu .banner {
    display: none !important;
  }

  /* スマホ時：キャンペーン文を中央寄せし、横幅を画面内に収める */
  #side-menu .onsp,
  #l_menu .onsp,
  p.onsp {
    display: block !important;
    width: calc(100% - 24px) !important;
    max-width: 420px !important;
    margin: 10px auto 14px !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    line-height: 1.55 !important;
    background: linear-gradient(180deg, #fff9fb 0%, #f3fbfd 100%) !important;
    border: 1px solid #e3eef2 !important;
    border-radius: 14px !important;
    color: #5f6f78 !important;
    box-shadow: 0 4px 12px rgba(113, 165, 185, 0.08) !important;
  }

  #side-menu .onsp a,
  #l_menu .onsp a,
  p.onsp a {
    font-weight: 700 !important;
  }

  /* スマホ時：「おすすめの株主優待」上の余白を詰める */
  #search_area h2#top_search,
  #top_search {
    margin-top: 12px !important;
  }

  .susume_yutai {
    margin-top: 8px !important;
  }

  #search_wrap,
  #page,
  #wide-page {
    padding-top: 0 !important;
  }

  #PlagOpen-topsearchmenu,
  #PlagClose-topsearchmenu,
  #PlagOpen-osusumemenu,
  #PlagClose-osusumemenu {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 435px) {

  /* 435px以下ではさらに余白を少しだけ詰める */
  #side-menu .onsp,
  #l_menu .onsp,
  p.onsp {
    width: calc(100% - 18px) !important;
    margin-top: 8px !important;
    margin-bottom: 12px !important;
    padding: 9px 10px !important;
    font-size: 13px !important;
  }

  #search_area h2#top_search,
  #top_search {
    margin-top: 8px !important;
  }

  .susume_yutai {
    margin-top: 6px !important;
  }
}

/* ====================
   add40 smartphone header fix
   ・PC表示は変更しない
   ・スマホのヘッダー内キャンペーン画像を非表示
   ・ヘッダー内キャンペーン文を中央寄せ
   ・おすすめの株主優待上の余白を再調整
   ・ハンバーガーメニューのスクロール指定を強化
==================== */

@media screen and (max-width: 796px) {

  /* スマホ：ヘッダー内の小さいキャンペーン画像を非表示 */
  #header .h_r > a,
  #header .h_r > a img {
    display: none !important;
  }

  /* スマホ：ヘッダー内キャンペーン文を中央寄せ＋横幅調整 */
  #header .h_r {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 6px auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    text-align: center !important;
  }

  #header .h_r_ul {
    display: block !important;
    width: calc(100% - 22px) !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #header .h_r_ul li,
  #header .h_r_ul .inf {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 7px 10px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: visible !important;
    line-height: 1.45 !important;
    font-size: 12px !important;
    background: rgba(255,255,255,.92) !important;
    border: 1px solid #d9e8ee !important;
    border-radius: 999px !important;
  }

  /* 2つ目の告知がある場合、スマホでは詰まり防止で非表示 */
  #header .h_r_ul li + li {
    display: none !important;
  }

  #header br.clean {
    display: none !important;
  }

  /* スマホ：おすすめの株主優待上の空白をさらに詰める */
  #top_search,
  #search_area h2#top_search,
  #search_wrap h2#top_search {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  .f_p {
    margin-bottom: 6px !important;
  }

  .susume_yutai {
    margin-top: 4px !important;
  }

  /* スマホ：おすすめ一覧の上に残るfloat由来の余白対策 */
  #search_wrap > br.clean:first-child,
  #page > br.clean:first-child,
  #wide-page > br.clean:first-child {
    display: none !important;
    height: 0 !important;
    line-height: 0 !important;
  }

  /* ハンバーガーメニュー：固定表示でも中身をスクロール可能にする */
  body.open {
    overflow: auto !important;
    position: static !important;
    height: auto !important;
  }

  body.open #menu,
  #top-head-pc.open #menu,
  .open #menu {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 66px 16px 40px !important;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
    background: linear-gradient(180deg, #ffffff 0%, #f2f8fa 100%) !important;
    z-index: 99998 !important;
  }

  body.open #menu ul,
  #top-head-pc.open #menu ul,
  .open #menu ul {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    padding-bottom: 110px !important;
    overflow: visible !important;
  }
}

@media screen and (max-width: 435px) {

  #header .h_r_ul {
    width: calc(100% - 18px) !important;
    max-width: 330px !important;
  }

  #header .h_r_ul li,
  #header .h_r_ul .inf {
    font-size: 12px !important;
    border-radius: 18px !important;
  }

  #top_search,
  #search_area h2#top_search,
  #search_wrap h2#top_search {
    margin-top: 8px !important;
  }
}

/* ====================
   add41 smartphone hamburger scroll fix
   ・PC表示は変更しない
   ・スマホ時、ハンバーガーメニューを開いた際にメニュー内を確実にスクロール可能にする
==================== */

@media screen and (max-width: 796px) {

  /* body側が lock で固定されても、メニュー自体はスクロールできるようにする */
  html.lock,
  body.lock,
  body.open,
  html.open {
    overflow: hidden !important;
    height: 100% !important;
  }

  /* ハンバーガーメニュー本体 */
  body.open #menu,
  html.open #menu,
  #top-head-pc.open #menu,
  .open #menu,
  #menu[style*="display: block"],
  #menu[style*="display:block"] {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 68px 16px 90px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    background: linear-gradient(180deg, #ffffff 0%, #f2f8fa 100%) !important;
    z-index: 99998 !important;
  }

  /* ulが絶対配置・flex指定のままだとスクロール領域が作れないためリセット */
  body.open #menu ul,
  html.open #menu ul,
  #top-head-pc.open #menu ul,
  .open #menu ul,
  #menu[style*="display: block"] ul,
  #menu[style*="display:block"] ul {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 0 120px !important;
    overflow: visible !important;
    transform: none !important;
  }

  body.open #menu li,
  html.open #menu li,
  #top-head-pc.open #menu li,
  .open #menu li,
  #menu[style*="display: block"] li,
  #menu[style*="display:block"] li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: none !important;
  }

  body.open #menu li a,
  html.open #menu li a,
  #top-head-pc.open #menu li a,
  .open #menu li a,
  #menu[style*="display: block"] li a,
  #menu[style*="display:block"] li a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 13px 14px !important;
    background: #ffffff !important;
    border: 1px solid #d9e8ee !important;
    border-radius: 12px !important;
    color: #4b7e92 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    text-shadow: none !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  /* メニューを閉じるボタンが上に残るように */
  #nav-toggle {
    z-index: 99999 !important;
  }
}

/* ====================
   add42 smartphone side-menu modal scroll fix
   ・PC表示は変更しない
   ・実際に開いているのは #menu ではなく #side-menu.modal-content
   ・#side-menu の overflow: visible / hidden 指定をスマホ時だけ上書き
==================== */

@media screen and (max-width: 796px) {

  /* メニューを開いた時、JSは #side-menu を表示しているため、ここをスクロール対象にする */
  #side-menu.modal-content,
  body.lock #side-menu.modal-content,
  html.lock #side-menu.modal-content,
  #side-menu[style*="display: block"],
  #side-menu[style*="display:block"] {
    display: block;
    position: fixed !important;
    top: 12px !important;
    right: 10px !important;
    bottom: 12px !important;
    left: 10px !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: calc(100dvh - 24px) !important;
    margin: 0 !important;
    padding: 14px 12px 24px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    background: #ffffff !important;
    border: 1px solid #d9e8ee !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 28px rgba(76, 113, 130, 0.24) !important;
    z-index: 99998 !important;
  }

  /* これまでの #side-menu / #l_menu / section の overflow指定をスマホメニュー内だけ解除 */
  #side-menu.modal-content #l_menu,
  #side-menu.modal-content #search_box,
  #side-menu.modal-content #PlagClose-topsearchmenu,
  #side-menu.modal-content #search_box section,
  #side-menu.modal-content .select_box,
  #side-menu[style*="display: block"] #l_menu,
  #side-menu[style*="display: block"] #search_box,
  #side-menu[style*="display: block"] #PlagClose-topsearchmenu,
  #side-menu[style*="display: block"] #search_box section,
  #side-menu[style*="display: block"] .select_box,
  #side-menu[style*="display:block"] #l_menu,
  #side-menu[style*="display:block"] #search_box,
  #side-menu[style*="display:block"] #PlagClose-topsearchmenu,
  #side-menu[style*="display:block"] #search_box section,
  #side-menu[style*="display:block"] .select_box {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* スクロール末尾に少し余白を作り、最後の項目が押しにくくならないようにする */
  #side-menu.modal-content::after,
  #side-menu[style*="display: block"]::after,
  #side-menu[style*="display:block"]::after {
    content: "" !important;
    display: block !important;
    height: 42px !important;
    clear: both !important;
  }

  /* bodyは背景スクロールを止めてもOK。ただしモーダル本体は上でスクロール可能 */
  html.lock,
  body.lock {
    overflow: hidden !important;
    height: 100% !important;
  }

  /* 閉じるためのハンバーガーボタンは常に最前面 */
  #nav-toggle {
    z-index: 100000 !important;
  }
}

@media screen and (max-width: 435px) {
  #side-menu.modal-content,
  body.lock #side-menu.modal-content,
  html.lock #side-menu.modal-content,
  #side-menu[style*="display: block"],
  #side-menu[style*="display:block"] {
    top: 10px !important;
    right: 8px !important;
    bottom: 10px !important;
    left: 8px !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 12px 10px 22px !important;
  }
}

/* ====================
   add43 smartphone side-menu initial state fix
   ・ページ移動後にスマホメニューが開いた状態になる問題を修正
   ・add42で #side-menu.modal-content を常時 display:block にしていたため、閉じた状態を明示
==================== */

@media screen and (max-width: 796px) {

  /* 通常時は必ず非表示 */
  #side-menu.modal-content {
    display: none !important;
  }

  /* JSで開いた時だけ表示 */
  #side-menu.modal-content[style*="display: block"],
  #side-menu.modal-content[style*="display:block"],
  body.lock #side-menu.modal-content[style*="display: block"],
  body.lock #side-menu.modal-content[style*="display:block"],
  html.lock #side-menu.modal-content[style*="display: block"],
  html.lock #side-menu.modal-content[style*="display:block"] {
    display: block !important;
    position: fixed !important;
    top: 12px !important;
    right: 10px !important;
    bottom: 12px !important;
    left: 10px !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: calc(100dvh - 24px) !important;
    margin: 0 !important;
    padding: 14px 12px 24px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    background: #ffffff !important;
    border: 1px solid #d9e8ee !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 28px rgba(76, 113, 130, 0.24) !important;
    z-index: 99998 !important;
  }
}

@media screen and (max-width: 435px) {

  #side-menu.modal-content[style*="display: block"],
  #side-menu.modal-content[style*="display:block"],
  body.lock #side-menu.modal-content[style*="display: block"],
  body.lock #side-menu.modal-content[style*="display:block"],
  html.lock #side-menu.modal-content[style*="display: block"],
  html.lock #side-menu.modal-content[style*="display:block"] {
    top: 10px !important;
    right: 8px !important;
    bottom: 10px !important;
    left: 8px !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 12px 10px 22px !important;
  }
}

/* ====================
   add44 smartphone blank space above breadcrumb fix
   ・PC表示は変更しない
   ・スマホでスクロール時、パンくず（ページナビ）の上に出る空白を抑える
==================== */

@media screen and (max-width: 796px) {

  /* 元CSSの .h_l img { position:absolute; } が残ると、スマホでヘッダー内の余白計算が崩れやすいためリセット */
  #header .h_l img,
  #header .h_l > a img {
    position: static !important;
    top: auto !important;
    left: auto !important;
  }

  /* スマホ時のヘッダー高さを中身ぴったりにする */
  #header {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    overflow: hidden !important;
  }

  #header .h_l,
  #header .h_l > a {
    height: auto !important;
    min-height: 0 !important;
  }

  #header .top_form {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }

  #header .h_r {
    margin-top: 4px !important;
    margin-bottom: 0 !important;
  }

  /* ヘッダー直後の余白を詰める */
  #top-head-pc {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  #wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* パンくず（ページナビ）の上にできる空白を抑える */
  #pan,
  #pankuzu {
    clear: both !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #pan {
    margin-bottom: 8px !important;
  }

  /* スマホ時、ヘッダー下のcleanが余白として見える場合の対策 */
  #header + br.clean,
  #top-head-pc + br.clean,
  #wrap > br.clean:first-child {
    display: none !important;
    height: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media screen and (max-width: 435px) {

  #header {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  #header .top_form {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }

  #pan,
  #pankuzu {
    margin-top: 0 !important;
  }
}

/* ====================
   add45 smartphone top-head-pc height fix
   ・PC表示は変更しない
   ・スマホで #top-head-pc の height:55px が空白として残る問題を修正
==================== */

@media screen and (max-width: 796px) {

  /* layout.css側の #top-head-pc.fixed { height:55px; } 系の空白をスマホ時だけ無効化 */
  #top-head-pc,
  #top-head-pc.fixed {
    height: 0 !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
  }

  /* ハンバーガーボタン自体は表示を維持 */
  #top-head,
  #nav-toggle {
    height: auto !important;
  }

  #nav-toggle {
    display: block !important;
    position: fixed !important;
    top: 6px !important;
    right: 8px !important;
    z-index: 100000 !important;
  }

  /* メニュー本体が開いている時は、#side-menu側をスクロール対象にする */
  #side-menu.modal-content[style*="display: block"],
  #side-menu.modal-content[style*="display:block"] {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* ====================
   add48 requested color adjustment
   ・ベースは add45.css
   ・レイアウトは変更せず、配色のみ変更
   ・グローバルメニュー：ベージュ系
   ・h1 / h2：ブルーグレー系
==================== */

/* グローバルメニュー：ベージュ系 */
#menu {
  background:
    linear-gradient(180deg, #f7f0e6 0%, #eadfce 100%) !important;
}

#menu ul {
  text-shadow: none !important;
}

#menu li {
  background-image: none !important;
  background-color: transparent !important;
  border-left: 1px solid rgba(113, 93, 73, 0.14) !important;
}

#menu li:first-child {
  border-left: none !important;
}

#menu a:link,
#menu a:visited {
  color: #5c5146 !important;
  text-shadow: none !important;
}

#menu a:hover {
  color: #4f6f86 !important;
  background: rgba(255,255,255,0.35) !important;
}

/* h1：ブルーグレー系 */
#page h1,
#wide-page h1,
#search_wrap h1 {
  background:
    linear-gradient(90deg, #5d7890 0%, #7897ad 58%, #dbe7ee 100%) !important;
  color: #ffffff !important;
  text-shadow: none !important;
  box-shadow: 0 8px 18px rgba(93, 120, 144, 0.18) !important;
}

/* h2：ブルーグレー系 */
#page h2,
#wide-page h2,
#search_wrap h2 {
  background:
    linear-gradient(90deg, #eff5f7 0%, #ffffff 100%) !important;
  border-color: #d9e5eb !important;
  border-left-color: #6f8fa6 !important;
  color: #46687f !important;
  text-shadow: none !important;
  box-shadow: 0 5px 14px rgba(93, 120, 144, 0.08) !important;
}

#page h2::before,
#wide-page h2::before,
#search_wrap h2::before {
  background: linear-gradient(135deg, #6f8fa6 0%, #b7c9d4 100%) !important;
}

/* h3/h4系がピンクに戻るページがあるため、本文見出しも控えめにブルーグレーへ */
#page h3,
#wide-page h3,
#search_wrap h3,
#page h4,
#wide-page h4,
#search_wrap h4,
.sub_title {
  color: #4f6f86 !important;
  border-left-color: #6f8fa6 !important;
  border-bottom-color: #d9e5eb !important;
  background:
    linear-gradient(90deg, #eff5f7 0%, #ffffff 100%) !important;
}

/* 右サイドの下部帯など、ピンクが強く残る箇所を同系色へ */
#l_menu .s_banner p,
#side-menu .s_banner p {
  background-color: #5d7890 !important;
  color: #ffffff !important;
}

/* ====================
   add49 global menu beige fix
   ・グローバルメニュー（#top-head-pc #menu）を確実にベージュ系へ変更
   ・後続CSSのピンク指定に負けないよう、セレクタを強めて最後に上書き
==================== */

/* グローバルメニュー本体 */
#top-head-pc #menu,
#top-head-pc .inner #menu,
div#top-head-pc div.inner div#menu {
  background:
    linear-gradient(180deg, #f8f1e7 0%, #eadfce 100%) !important;
  border-color: #ddd0bd !important;
}

/* ul側に背景が残る場合も上書き */
#top-head-pc #menu ul,
#top-head-pc .inner #menu ul,
div#top-head-pc div.inner div#menu ul {
  background: transparent !important;
  text-shadow: none !important;
}

/* li側にピンクや画像背景が残る場合も上書き */
#top-head-pc #menu ul li,
#top-head-pc .inner #menu ul li,
div#top-head-pc div.inner div#menu ul li {
  background: transparent !important;
  background-image: none !important;
  border-right: 1px solid rgba(113, 93, 73, 0.14) !important;
}

#top-head-pc #menu ul li:first-child,
#top-head-pc .inner #menu ul li:first-child,
div#top-head-pc div.inner div#menu ul li:first-child {
  border-left: none !important;
}

#top-head-pc #menu ul li:last-child,
#top-head-pc .inner #menu ul li:last-child,
div#top-head-pc div.inner div#menu ul li:last-child {
  border-right: none !important;
}

/* aタグ側にピンク背景が残る場合も上書き */
#top-head-pc #menu ul li a,
#top-head-pc #menu ul li a:link,
#top-head-pc #menu ul li a:visited,
#top-head-pc .inner #menu ul li a,
#top-head-pc .inner #menu ul li a:link,
#top-head-pc .inner #menu ul li a:visited,
div#top-head-pc div.inner div#menu ul li a,
div#top-head-pc div.inner div#menu ul li a:link,
div#top-head-pc div.inner div#menu ul li a:visited {
  color: #5c5146 !important;
  background: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
}

#top-head-pc #menu ul li a:hover,
#top-head-pc .inner #menu ul li a:hover,
div#top-head-pc div.inner div#menu ul li a:hover {
  color: #4f6f86 !important;
  background: rgba(255,255,255,0.38) !important;
  background-image: none !important;
}

#side-menu {margin-top:5px;}
.yutai_kosin {padding: 10px;}
#search_area h2#top_search {auto;}
.bg_ko {padding:auto;background:none;background-color:none;}
#page h1.pr:after, #wide-page h1.pr:after {color: #999999;}
.board5 li {padding-left: 0px !important;}
.osusume_r {width: 470px;font-size: 92%;}

/* ====================
   証券会社比較表リニューアル
   tb_brown_sp
==================== */

.tb_brown_sp {
  margin: 28px 0 36px;
  padding: 18px;
  background:
    radial-gradient(circle at 96% 5%, rgba(255, 232, 238, .65) 0 46px, transparent 47px),
    linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
  border: 1px solid #dbe8ee;
  border-radius: 18px;
  box-shadow: 0 8px 18px rgba(95, 127, 152, 0.10);
  box-sizing: border-box;
}

.tb_brown_sp > .kome {
  display: inline-block;
  margin: 0 0 10px;
  padding: 4px 12px;
  background: #fff8ec;
  border: 1px solid #ead9bd;
  border-radius: 999px;
  color: #8b765e;
  font-size: 82%;
}

.tb_brown_sp table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
  border: 1px solid #dbe8ee;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: none;
}

.tb_brown_sp th {
  padding: 12px 10px;
  background: linear-gradient(180deg, #f7efe4 0%, #eadfce 100%);
  border-right: 1px solid #d9cbbb;
  border-bottom: 1px solid #d9cbbb;
  color: #5c5146;
  font-weight: 700;
  text-align: center;
  line-height: 1.45;
}

.tb_brown_sp th:last-child {
  border-right: none;
}

.tb_brown_sp td {
  padding: 16px 14px;
  background: #ffffff;
  border-right: 1px solid #e3eef2;
  border-bottom: 1px solid #e3eef2;
  color: #4f5f68;
  line-height: 1.65;
  vertical-align: top;
}

.tb_brown_sp tr:last-child td {
  border-bottom: none;
}

.tb_brown_sp td:last-child {
  border-right: none;
}

.tb_brown_sp .td_syoken_sp {
  width: 170px;
  background:
    linear-gradient(180deg, #fffdf9 0%, #fff7ee 100%);
  text-align: center;
}

.tb_brown_sp .td_syoken_sp p {
  margin: 8px 0;
}

.tb_brown_sp .td_syoken_sp img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

.tb_brown_sp .td_syoken_sp img[src*="ranking"] {
  border-radius: 0;
  box-shadow: none;
}

.tb_brown_sp .td_syoken_sp > a img {
  padding: 6px;
  background: #fff;
  border: 1px solid #e4eef2;
  box-shadow: 0 4px 12px rgba(95, 127, 152, 0.08);
  box-sizing: border-box;
}

.tb_brown_sp .td_syoken_sp .bold a {
  color: #46677e !important;
  text-decoration: none;
}

.tb_brown_sp .td_syoken_sp .bold a:hover {
  color: #c45f84 !important;
}

.tb_brown_sp td.tc {
  width: 105px;
  background: #fbfeff;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  color: #5c5146;
}

.tb_brown_sp .td_block {
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfeff 100%);
}

.tb_brown_sp .ul_syoken {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tb_brown_sp .ul_syoken li {
  position: relative;
  margin: 0 0 9px;
  padding: 0 0 0 22px;
  line-height: 1.65;
}

.tb_brown_sp .ul_syoken li:before {
  content: "";
  position: absolute;
  left: 3px;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7899b2 0%, #d7b276 100%);
}

.tb_brown_sp .f_F00,
.tb_brown_sp .f_F00b {
  color: #d85f7f;
}

.tb_brown_sp .fby {
  color: #333;
  background-image: linear-gradient(transparent 62%, #ffe7a5 62%);
}

.tb_brown_sp .img_tiup {
  min-height: 0;
  margin: 0 0 14px;
  padding: 10px 14px 10px 46px;
  background:
    url("../img/tiup_toku3.png") 12px center / 26px auto no-repeat,
    linear-gradient(90deg, #fff8ec 0%, #ffffff 100%);
  border: 1px solid #ead9bd;
  border-radius: 14px;
  color: #5c5146;
}

.tb_brown_sp .td_block > p {
  margin: 12px 0 0;
}

.tb_brown_sp .lp30 {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* スマホ表示 */
@media screen and (max-width: 760px) {
  .tb_brown_sp {
    padding: 12px;
    border-radius: 16px;
  }

  .tb_brown_sp table,
  .tb_brown_sp tbody,
  .tb_brown_sp tr,
  .tb_brown_sp th,
  .tb_brown_sp td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }

  .tb_brown_sp table {
    border: none;
    border-radius: 0;
    overflow: visible;
  }

  .tb_brown_sp tr:first-child {
    display: none;
  }

  .tb_brown_sp tr {
    margin: 0 0 18px;
    background: #fff;
    border: 1px solid #dbe8ee;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 14px rgba(95, 127, 152, 0.08);
  }

  .tb_brown_sp td {
    border-right: none;
    border-bottom: 1px solid #e3eef2;
  }

  .tb_brown_sp tr td:last-child {
    border-bottom: none;
  }

  .tb_brown_sp .td_syoken_sp {
    padding: 18px 14px 12px;
    background:
      radial-gradient(circle at 96% 0%, rgba(255, 232, 238, .60) 0 42px, transparent 43px),
      linear-gradient(180deg, #fffdf9 0%, #fff7ee 100%);
  }

  .tb_brown_sp td.tc {
    padding: 10px 14px;
    background: #f7fbfc;
    text-align: left;
  }

  .tb_brown_sp .onsp_in {
    display: inline !important;
    color: #66707a;
    font-weight: 700;
  }

  .tb_brown_sp .td_block {
    padding: 14px 16px 16px;
  }

  .tb_brown_sp .ul_syoken li {
    padding-left: 20px;
  }

  .tb_brown_sp .img_tiup {
    padding: 10px 12px 10px 42px;
    background:
      url("../img/tiup_toku3.png") 10px center / 24px auto no-repeat,
      linear-gradient(90deg, #fff8ec 0%, #ffffff 100%);
  }
}

/* ====================
   board5 まとめ専用ボックス
   ・board5だけを装飾
   ・右上にCSS背景イラスト
   ・リストや本文は1列のまま崩さない
==================== */

.board5 {
  position: relative !important;
  margin: 34px 0 44px !important;
  padding: 28px 30px 26px !important;
  background:
    url("data:image/svg+xml,%3Csvg width='118' height='118' viewBox='0 0 118 118' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='22' y='18' width='64' height='76' rx='12' fill='%23ffffff' stroke='%23dbe8ee' stroke-width='2'/%3E%3Cpath d='M38 38h30M38 54h34M38 70h28' stroke='%237899b2' stroke-width='4' stroke-linecap='round'/%3E%3Ccircle cx='31' cy='38' r='4' fill='%23d7b276'/%3E%3Ccircle cx='31' cy='54' r='4' fill='%23e8a9bb'/%3E%3Ccircle cx='31' cy='70' r='4' fill='%237899b2'/%3E%3Cpath d='M78 76c9-13 17-20 29-23' stroke='%23b7cbd7' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3Cellipse cx='95' cy='56' rx='5' ry='10' fill='%23b7cbd7' transform='rotate(42 95 56)'/%3E%3Cellipse cx='104' cy='50' rx='5' ry='10' fill='%23cfdde4' transform='rotate(42 104 50)'/%3E%3Cpath d='M91 14l4 8 8 4-8 4-4 8-4-8-8-4 8-4z' fill='%23d7b276' opacity='.78'/%3E%3Ccircle cx='100' cy='86' r='4' fill='%23e8a9bb' opacity='.75'/%3E%3Ccircle cx='110' cy='76' r='3' fill='%23d7b276' opacity='.75'/%3E%3C/svg%3E") right 26px top 24px / 94px auto no-repeat,
    radial-gradient(circle at 94% 10%, rgba(255, 226, 236, .55) 0 58px, transparent 59px),
    radial-gradient(circle at 7% 92%, rgba(225, 243, 248, .65) 0 72px, transparent 73px),
    linear-gradient(180deg, #fffdf9 0%, #f8fcfd 100%) !important;
  border: 1px solid #dbe8ee !important;
  border-top: 6px solid #7899b2 !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 24px rgba(95, 127, 152, 0.13) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* 既存board5や他board系の疑似要素を完全に無効化 */
.board5::before,
.board5::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* 見出し */
.board5 > p:first-child,
.board5 > p.bold:first-child,
.board5 > .bold:first-child {
  display: inline-block !important;
  margin: 0 0 18px !important;
  padding: 8px 24px !important;
  background: linear-gradient(90deg, #7899b2 0%, #9db5c6 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 108% !important;
  font-weight: bold !important;
  line-height: 1.4 !important;
  box-shadow: 0 5px 12px rgba(95, 127, 152, 0.16) !important;
}

/* リスト */
.board5 ul {
  margin: 0 140px 22px 0 !important;
  padding: 16px 18px !important;
  background: rgba(255,255,255,.90) !important;
  border: 1px solid #e3eef2 !important;
  border-radius: 18px !important;
  list-style: none !important;
  box-shadow: 0 4px 12px rgba(95, 127, 152, 0.05) !important;
}

.board5 li {
  position: relative !important;
  margin: 0 0 10px !important;
  padding: 0 0 0 28px !important;
  line-height: 1.7 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

.board5 li:last-child {
  margin-bottom: 0 !important;
}

.board5 li::before {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: .72em !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #7899b2 0%, #d7b276 100%) !important;
  box-shadow: 0 0 0 4px rgba(120,153,178,.10) !important;
}

/* 本文 */
.board5 p {
  margin: 0 0 14px !important;
  padding: 0 !important;
  line-height: 1.85 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

.board5 p:last-child {
  margin-bottom: 0 !important;
}

/* スマホ */
@media screen and (max-width: 760px) {
  .board5 {
    margin: 28px 0 36px !important;
    padding: 22px 16px 18px !important;
    background:
      radial-gradient(circle at 96% 8%, rgba(255, 226, 236, .45) 0 42px, transparent 43px),
      radial-gradient(circle at 7% 92%, rgba(225, 243, 248, .55) 0 62px, transparent 63px),
      linear-gradient(180deg, #fffdf9 0%, #f8fcfd 100%) !important;
    border-top-width: 5px !important;
    border-radius: 18px !important;
  }

  .board5 > p:first-child,
  .board5 > p.bold:first-child,
  .board5 > .bold:first-child {
    margin-bottom: 16px !important;
    padding: 7px 18px !important;
    font-size: 100% !important;
  }

  .board5 ul {
    margin: 0 0 18px 0 !important;
    padding: 14px 13px !important;
    border-radius: 15px !important;
  }

  .board5 li {
    padding-left: 25px !important;
  }
}

/* ====================
   tb_brown 証券会社比較表
   ・ネット型 / 店舗型比較用
   ・既存HTMLそのまま
==================== */

.tb_brown {
  margin: 28px 0 38px !important;
  padding: 16px !important;
  background:
    radial-gradient(circle at 96% 8%, rgba(255, 226, 236, .50) 0 44px, transparent 45px),
    linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%) !important;
  border: 1px solid #dbe8ee !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 18px rgba(95, 127, 152, 0.10) !important;
  box-sizing: border-box !important;
  overflow-x: auto !important;
}

.tb_brown table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  border: 1px solid #dbe8ee !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.tb_brown th,
.tb_brown td {
  padding: 12px 10px !important;
  border-right: 1px solid #e3eef2 !important;
  border-bottom: 1px solid #e3eef2 !important;
  line-height: 1.55 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

.tb_brown tr:last-child th,
.tb_brown tr:last-child td {
  border-bottom: none !important;
}

.tb_brown th:last-child,
.tb_brown td:last-child {
  border-right: none !important;
}

/* 見出し行 */
.tb_brown tr:first-child th {
  background: linear-gradient(180deg, #f7efe4 0%, #eadfce 100%) !important;
  color: #5c5146 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* 左側の緑見出しをリニューアル色へ上書き */
.tb_brown th[bgcolor="#66CC00"] {
  background: linear-gradient(180deg, #7899b2 0%, #6f8fa7 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* 2段目の会社名 */
.tb_brown tr:nth-child(2) th {
  background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%) !important;
  color: #46677e !important;
  font-weight: 700 !important;
}

.tb_brown tr:nth-child(2) th a {
  color: #46677e !important;
  text-decoration: none !important;
}

.tb_brown tr:nth-child(2) th a:hover {
  color: #c45f84 !important;
}

/* 通常セル */
.tb_brown td {
  background: #ffffff !important;
  color: #4f5f68 !important;
}

.tb_brown tr:nth-child(even) td {
  background: #fbfeff !important;
}

/* ネット証券側を少し目立たせる */
.tb_brown td:nth-child(3),
.tb_brown td:nth-child(4) {
  background: #f8fcfd !important;
}

/* 店舗型証券側は少し落ち着いた色 */
.tb_brown td:nth-child(5),
.tb_brown td:nth-child(6) {
  background: #fffdf9 !important;
}

/* 無料などの強調色 */
.tb_brown .f_F00,
.tb_brown .f_F00b {
  color: #d85f7f !important;
}

.tb_brown .f_080,
.tb_brown .f_080b {
  color: #4f8a67 !important;
}

/* 注記 */
.tb_brown .kome {
  color: #6f7f88 !important;
  font-size: 86% !important;
  line-height: 1.45 !important;
}

/* 縦書きっぽい左見出しを読みやすく */
.tb_brown th div[align="center"] {
  writing-mode: horizontal-tb !important;
  text-align: center !important;
  line-height: 1.45 !important;
}

/* スマホ */
@media screen and (max-width: 760px) {
  .tb_brown {
    padding: 10px !important;
    border-radius: 16px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .tb_brown table {
    min-width: 720px !important;
    font-size: 92% !important;
  }

  .tb_brown th,
  .tb_brown td {
    padding: 10px 8px !important;
  }

  .tb_brown::before {
    content: "横にスクロールできます";
    display: block;
    margin: 0 0 8px;
    padding: 5px 10px;
    width: fit-content;
    background: #fff8ec;
    border: 1px solid #ead9bd;
    border-radius: 999px;
    color: #8b765e;
    font-size: 78%;
  }
}

/* ====================
   詳細ページ table リニューアル 修正版
   ・線が切れないよう、角丸は外枠側にだけ付ける
   ・テーブル本体は border-collapse: collapse で罫線を安定表示
==================== */

/* 外側の箱だけ角丸にする */
.yutai_joho .naiyo_box,
.yutai_joho .scroll-div-wrapper,
.yutai_joho .yurimawari_box {
  margin: 14px 0 24px !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1px solid #dbe8ee !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 16px rgba(95, 127, 152, 0.08) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* スクロール用の内側は余白なし */
.yutai_joho .scroll-div-content {
  padding: 0 !important;
}

/* テーブル本体は線を優先 */
.yutai_joho .naiyo_box table,
.yutai_joho .scroll-div-content table,
.yutai_joho .yurimawari_box table {
  width: 100% !important;
  margin: 0 !important;
  background: #ffffff !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* セル共通 */
.yutai_joho .naiyo_box th,
.yutai_joho .naiyo_box td,
.yutai_joho .scroll-div-content th,
.yutai_joho .scroll-div-content td,
.yutai_joho .yurimawari_box th,
.yutai_joho .yurimawari_box td {
  padding: 12px 14px !important;
  border: 1px solid #e3eef2 !important;
  line-height: 1.65 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

/* 見出しセル */
.yutai_joho .naiyo_box th,
.yutai_joho .scroll-div-content th,
.yutai_joho .yurimawari_box th {
  background: linear-gradient(180deg, #f7efe4 0%, #eadfce 100%) !important;
  color: #5c5146 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* 通常セル */
.yutai_joho .naiyo_box td,
.yutai_joho .scroll-div-content td,
.yutai_joho .yurimawari_box td {
  background: #ffffff !important;
  color: #4f5f68 !important;
}

/* 交互にほんのり色付け */
.yutai_joho .naiyo_box tr:nth-child(even) td,
.yutai_joho .scroll-div-content tr:nth-child(even) td,
.yutai_joho .yurimawari_box tr:nth-child(even) td {
  background: #fbfeff !important;
}

/* 強調色 */
.yutai_joho .yutai_month,
.yutai_joho .yutai_toshi,
.yutai_joho .f_F00,
.yutai_joho .f_F00b {
  color: #d85f7f !important;
  font-weight: 700 !important;
}

.yutai_joho .f_080,
.yutai_joho .f_080b {
  color: #4f8a67 !important;
}

/* 備考欄 */
.yutai_joho .yubi {
  background: #fffdf9 !important;
  color: #5f6f78 !important;
  font-size: 92% !important;
  line-height: 1.7 !important;
}

/* 基本情報下の注記 */
.yutai_joho .naiyo_box ul.kome {
  margin: 10px 0 0 !important;
  padding: 10px 14px 10px 30px !important;
  background: #fffdf9 !important;
  border: 1px solid #ead9bd !important;
  border-radius: 12px !important;
  color: #6f7f88 !important;
  line-height: 1.65 !important;
}

/* 優待内容の小見出し */
.yutai_joho .yutle {
  margin: 26px 0 10px !important;
  padding: 10px 16px !important;
  background: linear-gradient(90deg, #eff6f8 0%, #ffffff 100%) !important;
  border: 1px solid #dbe8ee !important;
  border-left: 6px solid #7899b2 !important;
  border-radius: 14px !important;
  color: #46677e !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  box-shadow: 0 4px 12px rgba(95, 127, 152, 0.07) !important;
}

/* 優待利回りボックスだけ少し淡い背景 */
.yutai_joho .yurimawari_box {
  padding: 12px !important;
  background:
    radial-gradient(circle at 96% 8%, rgba(255, 226, 236, .36) 0 38px, transparent 39px),
    linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%) !important;
}

.yutai_joho .yurimawari_box table {
  border: 1px solid #dbe8ee !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .yutai_joho .scroll-div-wrapper {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .yutai_joho .scroll-div-content {
    width: 780px;
  }

  .yutai_joho .scroll-div-content.w-100 {
    width: 100% !important;
  }

  .yutai_joho .naiyo_box th,
  .yutai_joho .naiyo_box td,
  .yutai_joho .scroll-div-content th,
  .yutai_joho .scroll-div-content td,
  .yutai_joho .yurimawari_box th,
  .yutai_joho .yurimawari_box td {
    padding: 10px 9px !important;
  }

  .yutai_joho .scroll-div-wrapper::before {
    content: "横にスクロールできます";
    display: inline-block;
    margin: 8px 8px 6px;
    padding: 5px 10px;
    background: #fff8ec;
    border: 1px solid #ead9bd;
    border-radius: 999px;
    color: #8b765e;
    font-size: 78%;
  }

  .yutai_joho .yurimawari_box {
    padding: 10px !important;
  }
}

/* ====================
   pankuzu を pan と同じ雰囲気に
==================== */

#pankuzu {
  font-size: 86% !important;
  color: #454545 !important;
  margin: 7px 0 7px !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}

#pankuzu ol {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#pankuzu li {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: none !important;
}

#pankuzu li a {
  margin-right: 5px !important;
  padding-right: 15px !important;
  background: url("../img/f02.gif") right center no-repeat !important;
  color: #368aaa !important;
  text-decoration: none !important;
}

#pankuzu li a:hover {
  color: #c15f80 !important;
}

/* 最後の現在地側 */
#pankuzu li:last-child a {
  background: none !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
}

/* スマホ */
@media screen and (max-width: 760px) {
  #pankuzu {
    font-size: 82% !important;
    margin: 0 0 8px !important;
    padding: 0 4px !important;
  }
}

/* ====================
   端株優待・隠れ優待 一覧テーブル
   ・背景色あり/なしの交互
   ・下線で銘柄の区切りを明確化
   ・スマホは横スクロール
==================== */

/* 外枠 */
.hakabu-list-table,
.kakure-list-table {
  margin: 18px 0 34px !important;
  padding: 12px !important;
  background: #ffffff !important;
  border: 1px solid #dbe8ee !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 18px rgba(95, 127, 152, 0.08) !important;
  box-sizing: border-box !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* テーブル共通 */
.hakabu-list-table table,
.kakure-list-table table {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  border: 1px solid #dbe8ee !important;
}

/* セル共通 */
.hakabu-list-table th,
.hakabu-list-table td,
.kakure-list-table th,
.kakure-list-table td {
  padding: 12px 13px !important;
  border: 1px solid #e3eef2 !important;
  line-height: 1.65 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

/* 見出し */
.hakabu-list-table th,
.kakure-list-table th {
  background: linear-gradient(180deg, #f7efe4 0%, #eadfce 100%) !important;
  color: #5c5146 !important;
  font-weight: 700 !important;
  text-align: center !important;
  border-color: #d9cbbb !important;
}

/* リンク */
.hakabu-list-table a,
.kakure-list-table a {
  color: #2a7fa1 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.hakabu-list-table a:hover,
.kakure-list-table a:hover {
  color: #c45f84 !important;
  text-decoration: underline !important;
}

/* ====================
   端株優待一覧
   1銘柄 = 1行
   最初の銘柄は白、次を色ありで交互
==================== */

/* 見出しを除くデータ行：まず白に統一 */
.hakabu-list-table tr:not(:first-child) td,
.hakabu-list-table tr:not(:first-child) td.td_y {
  background: #ffffff !important;
}

/* 2件目、4件目、6件目...を淡い水色に */
.hakabu-list-table tr:nth-child(2n+3) td,
.hakabu-list-table tr:nth-child(2n+3) td.td_y {
  background: #f7fbfc !important;
}

/* 銘柄ごとの下線を強調 */
.hakabu-list-table tr:not(:first-child) td {
  border-bottom: 3px solid #dbe8ee !important;
}

/* 企業名セル */
.hakabu-list-table td:first-child {
  font-weight: 700 !important;
  color: #46677e !important;
}

/* 優待内容 */
.hakabu-list-table td:nth-child(2) {
  width: 45%;
}

/* 株価 */
.hakabu-list-table td:nth-child(3) {
  text-align: right !important;
  white-space: nowrap !important;
  color: #5c5146 !important;
  font-weight: 700 !important;
}

/* 権利月 */
.hakabu-list-table td:nth-child(4) {
  text-align: center !important;
  white-space: nowrap !important;
}

/* 優待条件バッジ */
.hakabu-list-table td:nth-child(2) div + div {
  display: inline-block;
  margin-top: 7px;
  padding: 3px 10px;
  background: #fff8ec;
  border: 1px solid #ead9bd;
  border-radius: 999px;
  color: #8b765e;
  font-size: 86%;
  line-height: 1.35;
}

.hakabu-list-table td:nth-child(2) div + div:empty {
  display: none;
}

/* ====================
   隠れ優待一覧
   1銘柄 = 2行セット
   区切り線を1列目まで通す
==================== */

/* 見出しの色 */
.kakure-list-table tr:first-child th {
  background: linear-gradient(180deg, #f9e9ef 0%, #f5d7e1 100%) !important;
  color: #8d5266 !important;
}

.kakure-list-table tr:nth-child(2) th {
  background: linear-gradient(180deg, #eff6f8 0%, #dfeef3 100%) !important;
  color: #46677e !important;
}

/* 奇数セット：白 */
.kakure-list-table tr:nth-child(4n+3) td,
.kakure-list-table tr:nth-child(4n+4) td {
  background: #ffffff !important;
}

/* 偶数セット：淡い水色 */
.kakure-list-table tr:nth-child(4n+5) td,
.kakure-list-table tr:nth-child(4n+6) td {
  background: #f7fbfc !important;
}

/* 2行目側の下線 */
.kakure-list-table tr:nth-child(2n+4) td {
  border-bottom: 4px solid #dbe8ee !important;
}

/* rowspanの銘柄名セルにも下線を通す */
.kakure-list-table tr:nth-child(2n+3) td[rowspan="2"] {
  border-bottom: 4px solid #dbe8ee !important;
  box-shadow: inset 0 -3px 0 #dbe8ee !important;
}

/* 銘柄名セル */
.kakure-list-table td[rowspan="2"] {
  width: 24%;
  font-weight: 700 !important;
  vertical-align: top !important;
  color: #46677e !important;
}

/* 権利月バッジ */
.kakure-list-table td[rowspan="2"] div {
  display: inline-block;
  margin-top: 7px;
  padding: 3px 10px;
  background: #fff8ec;
  border: 1px solid #ead9bd;
  border-radius: 999px;
  color: #8b765e;
  font-size: 86%;
  line-height: 1.35;
}

/* 優待内容 */
.kakure-list-table td:nth-child(2) {
  width: 50%;
}

/* 条件・投資金額 */
.kakure-list-table td:nth-child(3) {
  width: 26%;
  text-align: center !important;
  white-space: nowrap !important;
  color: #5c5146 !important;
  font-weight: 700 !important;
}

/* 補足説明行 */
.kakure-list-table td[colspan="2"] {
  color: #5f6f78 !important;
  font-size: 94% !important;
  line-height: 1.75 !important;
  padding: 13px 15px 15px !important;
}

/* 説明文内のp余白 */
.kakure-list-table td p {
  margin: 0 0 8px !important;
  line-height: 1.75 !important;
}

.kakure-list-table td p:last-child {
  margin-bottom: 0 !important;
}

.kakure-list-table td ul {
  margin: 8px 0 0 !important;
  padding-left: 20px !important;
}

/* ====================
   スマホ
==================== */

@media screen and (max-width: 769px) {
  .hakabu-list-table,
  .kakure-list-table {
    padding: 10px !important;
    border-radius: 16px !important;
    overflow-x: auto !important;
  }

  .hakabu-list-table::before,
  .kakure-list-table::before {
    content: "横にスクロールできます";
    display: inline-block;
    margin: 0 0 8px;
    padding: 5px 10px;
    background: #fff8ec;
    border: 1px solid #ead9bd;
    border-radius: 999px;
    color: #8b765e;
    font-size: 78%;
    line-height: 1.35;
  }

  .hakabu-list-table table {
    min-width: 720px !important;
    font-size: 92% !important;
  }

  .kakure-list-table table {
    min-width: 780px !important;
    font-size: 92% !important;
  }

  .hakabu-list-table th,
  .hakabu-list-table td,
  .kakure-list-table th,
  .kakure-list-table td {
    padding: 10px 9px !important;
  }

  .hakabu-list-table tr:not(:first-child) td {
    border-bottom-width: 3px !important;
  }

  .kakure-list-table tr:nth-child(2n+4) td,
  .kakure-list-table tr:nth-child(2n+3) td[rowspan="2"] {
    border-bottom-width: 4px !important;
  }
}
/* ====================
   隠れ優待：銘柄ごとの下線太さを統一
==================== */

/* rowspanセル側の二重線を解消 */
.kakure-list-table tr:nth-child(2n+3) td[rowspan="2"] {
  border-bottom: 4px solid #dbe8ee !important;
  box-shadow: none !important;
}

/* 補足行側も同じ太さに統一 */
.kakure-list-table tr:nth-child(2n+4) td {
  border-bottom: 4px solid #dbe8ee !important;
}

/* セット途中の通常線は細く */
.kakure-list-table tr:nth-child(2n+3) td:not([rowspan="2"]) {
  border-bottom: 1px solid #e3eef2 !important;
}

/* ====================
   端株優待・隠れ優待：スマホ時の1列目を100pxに固定
   ※上の下線調整CSSの後に追記
==================== */

@media screen and (max-width: 769px) {

  /* 端株優待：スマホ表全体 */
  .hakabu-list-table table {
    table-layout: fixed !important;
    width: 720px !important;
    min-width: 720px !important;
    font-size: 92% !important;
  }

  /* 端株優待：1列目100px */
  .hakabu-list-table tr > th:first-child,
  .hakabu-list-table tr > td:first-child {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    white-space: normal !important;
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
  }

  /* 端株優待：残り列 */
  .hakabu-list-table tr > th:nth-child(2),
  .hakabu-list-table tr > td:nth-child(2) {
    width: 390px !important;
  }

  .hakabu-list-table tr > th:nth-child(3),
  .hakabu-list-table tr > td:nth-child(3) {
    width: 100px !important;
  }

  .hakabu-list-table tr > th:nth-child(4),
  .hakabu-list-table tr > td:nth-child(4) {
    width: 130px !important;
  }

  /* 隠れ優待：スマホ表全体 */
  .kakure-list-table table {
    table-layout: fixed !important;
    width: 780px !important;
    min-width: 780px !important;
    font-size: 92% !important;
  }

  /* 隠れ優待：1列目100px */
  .kakure-list-table tr > th:first-child,
  .kakure-list-table tr > td:first-child,
  .kakure-list-table tr > td[rowspan],
  .kakure-list-table tr > td[rowspan="2"] {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    white-space: normal !important;
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
  }

  /* 隠れ優待：残り列 */
  .kakure-list-table tr:first-child th:nth-child(2) {
    width: 680px !important;
  }

  .kakure-list-table tr:nth-child(n+3) td:nth-child(2) {
    width: 460px !important;
  }

  .kakure-list-table tr:nth-child(n+3) td:nth-child(3) {
    width: 220px !important;
  }

  /* スマホ時の余白調整 */
  .hakabu-list-table th,
  .hakabu-list-table td,
  .kakure-list-table th,
  .kakure-list-table td {
    padding: 10px 9px !important;
  }

  .hakabu-list-table,
  .kakure-list-table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}


/* ====================
   検索一覧ラベル 修正版
   ・文字はlayout.cssの ::after を利用
   ・span本体ではなく ::after を装飾
   ・長期 / 端株 / 隠れ の短い表示を維持
==================== */

/* span本体は余計な装飾をしない */
#search_result .search_list,
.yutai_title .search_list {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* ラベル本体は ::after を装飾 */
#search_result .cl_tyoki.search_list::after,
#search_result .cl_hakabu.search_list::after,
#search_result .cl_kakure.search_list::after,
.yutai_title .cl_tyoki.search_list::after,
.yutai_title .cl_hakabu.search_list::after,
.yutai_title .cl_kakure.search_list::after {
  display: inline-block !important;
  margin: 3px 5px 3px 0 !important;
  padding: 1px 7px !important;
  border-radius: 7px !important;
  font-size: 11px !important;
  font-weight: normal !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

/* 長期 */
#search_result .cl_tyoki.search_list::after,
.yutai_title .cl_tyoki.search_list::after {
  content: "長期" !important;
  color: #6f5a3e !important;
  background: #fff8ec !important;
  border: 1px solid #ead9bd !important;
}

/* 端株 */
#search_result .cl_hakabu.search_list::after,
.yutai_title .cl_hakabu.search_list::after {
  content: "端株" !important;
  color: #46677e !important;
  background: #eef7fa !important;
  border: 1px solid #dbe8ee !important;
}

/* 隠れ */
#search_result .cl_kakure.search_list::after,
.yutai_title .cl_kakure.search_list::after {
  content: "隠れ" !important;
  color: #8d5266 !important;
  background: #fff2f6 !important;
  border: 1px solid #efd6df !important;
}

/* スマホ */
@media screen and (max-width: 760px) {
  #search_result .cl_tyoki.search_list::after,
  #search_result .cl_hakabu.search_list::after,
  #search_result .cl_kakure.search_list::after,
  .yutai_title .cl_tyoki.search_list::after,
  .yutai_title .cl_hakabu.search_list::after,
  .yutai_title .cl_kakure.search_list::after {
    margin: 2px 4px 2px 0 !important;
    padding: 1px 6px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
}

/* ====================
   tb_brown：td_syokenだけ項目背景を固定
   ・偶数行の背景指定より強く上書き
==================== */

/* 通常tdは白 */
.tb_brown table tr td {
  background: #ffffff !important;
}

/* 偶数行・td_yなども一旦白に統一 */
.tb_brown table tr:nth-child(even) td,
.tb_brown table tr:nth-child(odd) td,
.tb_brown table tr td.td_y {
  background: #ffffff !important;
}

/* 項目セルだけ背景色ありにする */
.tb_brown table tr td.td_syoken,
.tb_brown table tr:nth-child(even) td.td_syoken,
.tb_brown table tr:nth-child(odd) td.td_syoken,
.tb_brown table tr td.td_syoken.nowrap_sp {
  background: linear-gradient(180deg, #f7efe4 0%, #eadfce 100%) !important;
  color: #5c5146 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* ====================
   tb_brown：td_syokenをナチュラルグリーン系に
   ・thはベージュ系のまま
   ・td_syokenだけ項目セルとして差別化
   ・通常tdは白背景
==================== */

/* 通常tdは白背景 */
.tb_brown table tr td:not(.td_syoken),
.tb_brown table tr:nth-child(even) td:not(.td_syoken),
.tb_brown table tr:nth-child(odd) td:not(.td_syoken),
.tb_brown table tr td.td_y:not(.td_syoken) {
  background: #ffffff !important;
}

/* 項目セル td_syoken はナチュラルグリーン系 */
.tb_brown table tr td.td_syoken,
.tb_brown table tr:nth-child(even) td.td_syoken,
.tb_brown table tr:nth-child(odd) td.td_syoken,
.tb_brown table tr td.td_syoken.nowrap_sp {
  background: linear-gradient(180deg, #edf7e8 0%, #dceccf 100%) !important;
  color: #4f6f3e !important;
  font-weight: 700 !important;
  text-align: center !important;
  border-color: #cfe2c0 !important;
}

/* td_syoken内のリンクがある場合 */
.tb_brown table tr td.td_syoken a {
  color: #4f6f3e !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.tb_brown table tr td.td_syoken a:hover {
  color: #2a7fa1 !important;
  text-decoration: underline !important;
}

/* ====================
   詳細ページ：優待内容テーブル調整
   ・HTMLは変更しない
   ・PCでは自動折り返し
   ・tdの高さを抑える
   ・スマホは横スクロール維持
==================== */

/* PC表示 */
@media screen and (min-width: 768px) {

  /* PCでは横スクロールさせず、ページ幅内に収める */
  .yutai_joho .scroll-div-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
  }

  .yutai_joho .scroll-div-content,
  .yutai_joho .scroll-div-content.w-100 {
    width: 100% !important;
    max-width: 100% !important;
  }

  .yutai_joho .scroll-div-content table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  /* セルの高さを抑える */
  .yutai_joho .scroll-div-content th,
  .yutai_joho .scroll-div-content td {
    padding: 8px 10px !important;
    line-height: 1.45 !important;
/*    vertical-align: top !important;*/
    height: auto !important;
    min-height: 0 !important;
  }

  /* 必要株数列 */
  .yutai_joho .scroll-div-content table th.th_kabusu,
  .yutai_joho .scroll-div-content table td:first-child {
    width: 115px !important;
    white-space: nowrap !important;
    text-align: center !important;
    vertical-align: middle !important;
  }

  /* 株主優待列：長文を自動で折り返す */
  .yutai_joho .scroll-div-content table th:nth-child(2),
  .yutai_joho .scroll-div-content table td:nth-child(2),
  .yutai_joho .scroll-div-content table td.nowrap_sp:not(:first-child) {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* 備考列：長文を折り返す */
  .yutai_joho .scroll-div-content table th.min-w300,
  .yutai_joho .scroll-div-content table td.yubi {
    width: 360px !important;
    min-width: 0 !important;
    max-width: 360px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    vertical-align: top !important;
    padding: 8px 10px !important;
    line-height: 1.45 !important;
  }

  /* rowspanで中央寄せになっている場合の空白感を抑える */
  .yutai_joho .scroll-div-content table td[rowspan],
  .yutai_joho .scroll-div-content table td[rowspan="2"],
  .yutai_joho .scroll-div-content table td[rowspan="3"],
  .yutai_joho .scroll-div-content table td[rowspan="4"] {
    vertical-align: top !important;
  }
}

/* スマホ表示：既存どおり横スクロール */
@media screen and (max-width: 767px) {
  .yutai_joho .scroll-div-wrapper {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    width: 100% !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .yutai_joho .scroll-div-content {
    width: 780px !important;
  }

  .yutai_joho .scroll-div-content.w-100 {
    width: 100% !important;
  }
}

/* ====================
   もらった株主優待：実績タイトル
   j_title
==================== */

.j_title {
  margin: 28px 0 18px !important;
  padding: 12px 18px 12px 44px !important;
  background:
    radial-gradient(circle at 23px 50%, #ffffff 0 6px, transparent 7px),
    linear-gradient(90deg, #eef7fa 0%, #ffffff 100%) !important;
  border: 1px solid #dbe8ee !important;
  border-left: 6px solid #7899b2 !important;
  border-radius: 14px !important;
  color: #46677e !important;
  font-size: 112% !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  box-shadow: 0 5px 14px rgba(95, 127, 152, 0.08) !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* 左の小さな丸アクセント */
.j_title::before {
  content: "" !important;
  position: absolute !important;
  left: 17px !important;
  top: 50% !important;
  width: 12px !important;
  height: 12px !important;
  margin-top: -6px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #7899b2 0%, #d7b276 100%) !important;
  box-shadow: 0 0 0 4px rgba(120,153,178,.12) !important;
}

/* 銘柄リンク */
.j_title a {
  color: #2a7fa1 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(42,127,161,.35) !important;
}

.j_title a:hover {
  color: #c45f84 !important;
  border-bottom-color: rgba(196,95,132,.45) !important;
}

/* 日付 */
.j_title .f_86 {
  color: #8b765e !important;
  font-size: 86% !important;
  font-weight: normal !important;
}

/* スマホ */
@media screen and (max-width: 760px) {
  .j_title {
    margin: 24px 0 15px !important;
    padding: 10px 14px 10px 38px !important;
    font-size: 104% !important;
    border-radius: 12px !important;
  }

  .j_title::before {
    left: 14px !important;
    width: 10px !important;
    height: 10px !important;
    margin-top: -5px !important;
  }
}

/* ====================
   詳細ページ：テーブル内テキストのはみ出し防止
   ・PCで横幅を超える場合は折り返す
   ・nowrap_sp が付いていてもPCでは折り返し可
==================== */

@media screen and (min-width: 768px) {

  .yutai_joho .scroll-div-content table {
    width: 100% !important;
    table-layout: fixed !important;
  }

  .yutai_joho .scroll-div-content table th,
  .yutai_joho .scroll-div-content table td {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    overflow: visible !important;
  }

  /* nowrap_sp がPCで効きすぎてはみ出すのを防ぐ */
  .yutai_joho .scroll-div-content table .nowrap_sp {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* 必要株数列は中央寄せのまま、はみ出したら折り返す */
  .yutai_joho .scroll-div-content table th.th_kabusu,
  .yutai_joho .scroll-div-content table td:first-child {
    text-align: center !important;
    vertical-align: middle !important;
  }
}
/* ====================
   詳細ページ：必要株数セルの重なり防止
   ・PCでも必要株数が長い場合は強制的に折り返す
==================== */

@media screen and (min-width: 768px) {

  /* テーブルは固定幅でセル内折り返しを優先 */
  .yutai_joho .scroll-div-content table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  /* 必要株数列：nowrapを完全に解除 */
  .yutai_joho .scroll-div-content table tr td:first-child,
  .yutai_joho .scroll-div-content table tr td:first-child.nowrap_sp,
  .yutai_joho .scroll-div-content table tr td.nowrap_sp:first-child {
    white-space: normal !important;
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
    overflow: hidden !important;
    text-align: center !important;
    vertical-align: middle !important;
    line-height: 1.45 !important;
  }

  /* 株主優待列も長文は折り返す */
  .yutai_joho .scroll-div-content table tr td:nth-child(2),
  .yutai_joho .scroll-div-content table tr td:nth-child(2).nowrap_sp,
  .yutai_joho .scroll-div-content table tr td.nowrap_sp:nth-child(2) {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    overflow: hidden !important;
    line-height: 1.45 !important;
  }
}