@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.2
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

:root {
  --mb18rem: 1.8rem;
}

/* **********
** トップページ
************* :*/
.new-entry-cards.fp-new-entry-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  box-sizing: border-box;
}

.fp-new-entry-cards .new-entry-card-link.a-wrap {
  display: inline-block;
  width: 49.5%;
}

/* ********* */

.img-border {
  border: 1px solid #e4e7e9;
  padding: 3px;
}

/* .wrap{
  width: 1020px;
} */

.sidebar{
  background: #f7f7f7;
  padding: 0;
  width: 300px;
}

.sidebar .adbox {
  margin-bottom: var(--mb18rem);
}

.box26 {
  position: relative;
  margin: 2em 0;
  padding: 0.5em 1em;
  border: solid 2px #95ccff;
  border-radius: 7px;
}
.box26 .box-title {
  position: absolute;
  display: inline-block;
  top: -13px;
  left: 10px;
  padding: 0 9px;
  line-height: 1;
  font-size: 1.075em;
  background: #fff;
  color: #165e83;
  /*font-weight: bold;*/
}

.box26 ul,
.box26 p,
.kakomi-box11 p,
.kakomi-box11 ul {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}

.kakomi-box11 {
  position: relative;
  margin: 2em auto;
  padding: 1.2em;
  color: #555555; /* 文章色 */
  background-color: #fff; /* 背景色 */
  border: 1px solid #555555; /* 枠線の太さ・色 */
  width: 90%;
}
.title-box11 {
  position: absolute;
  padding: 0 0.5em;
  left: 20px;
  top: -15px;
  font-weight: bold;
  background-color: #fff; /* タイトル背景色 */
  color: #555555; /* タイトル文字色 */
}

.article h3 {
  padding: 12px 0 0 0;
  border: none;
}

.sidebar .cta-content a {
  color: #ffffff;
}

.scrollable-table th {
  background-color: inherit;
}

.like_new {
  margin-top: -1.8em;
}

#pc_overlay_wrap {
  background: #fff;
  border-top: 1px #999 solid;
  display: block;
  z-index: 1002;
  position: fixed;
  bottom: -1px;
  padding-bottom: 1px;
  left: 0;
  right: 0;
  overflow: hidden;
  height: 70px;
}

#pc_overlay {
  width: 1100px;
  margin: auto;
  height: 60px;
  clear: both;
  text-align: center;
  background: #fff;
  padding: 5px 0;
}

.ads468x60 {
  height: 60px;
  width: 468px;
  text-align: center;
}

.header_bottom_ads {
  margin-top: 10px;
  text-align: center;
}

.pc_overlay_1nd {
  float: left;
  margin-right: 14px;
}

.pc_overlay_2nd {
  float: right;
  clear: none;
}

.footer {
  padding-bottom: 70px;
}

.adbox {
  -webkit-box-sizing: border-box;
  -webkit-text-size-adjust: none;
  background: none;
  background-color: inherit;
  border: none;
  /*border-color: #cdcdcd;*/
  /*border-style: dotted;*/
  /*border-width: 1px 0px 0px 0px;*/
  box-sizing: border-box;
  display: block;
  float: none;
  font-size: 16px;
  height: auto;
  line-height: 1.2;
  margin: 0px 0px 0px 0px;
  max-width: none;
  opacity: 1;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-decoration: none;
  visibility: visible;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.adbox a {
  -webkit-box-sizing: border-box;
  background: none;
  background-color: #fff;
  border: none;
  border-color: #cdcdcd;
  border-style: dotted;
  border-width: 0px 0px 1px 0px;
  box-sizing: border-box;
  display: block;
  float: none;
  height: 100%;
  line-height: 1.2;
  margin: 0;
  opacity: 1;
  overflow: hidden;
  padding: 10px 0px 10px 0px;
  position: inherit;
  text-decoration: none;
  visibility: visible;
  width: auto;
  word-break: break-all;
}

.adbox a:hover {
  background-color: #efefef;
}

.imgbox {
  float: left;
  width: 120px;
  height: auto;
  margin-right: 8px;
}

.adbox div.randombox {
  -webkit-box-sizing: border-box;
  background: none;
  border: none;
  box-sizing: border-box;
  display: block;
  float: none;
  height: auto;
  line-height: 1.2;
  margin: 0;
  opacity: 1;
  overflow: hidden;
  padding: 0;
  position: inherit;
  text-decoration: none;
  visibility: visible;
  width: auto;
}

.news--inner {
  border-top: 1px solid #a1a1a1;
  /* border-bottom: 1px solid #666; */
  padding: 0 0 1em;
  margin-bottom: 1em;
}

.news--inner p {
  text-align: center;
  margin: 0.4em 0;
  font-size: 14px;
  color: #a1a1a1;
}

.news--inner .column-wrap {
  margin-bottom: 0;
}

div.randombox p.uv_title {
  -webkit-box-sizing: border-box;
  background: none;
  border: none;
  box-sizing: border-box;
  color: #022eb0;
  display: block;
  float: none;
  font-size: 14px;
  font-weight: normal;
  height: auto;
  line-height: 1.2;
  margin: 0px 0px 4px 0px;
  opacity: 1;
  padding: 0;
  position: inherit;
  text-align: left;
  text-decoration: none;
  visibility: visible;
  width: auto;
}

div.adbox a:hover p.uv_title {
  text-decoration: underline;
}

div.randombox p.uv_url {
  -webkit-box-sizing: border-box;
  background: none;
  border: none;
  box-sizing: border-box;
  color: #808080;
  display: block;
  float: none;
  font-size: 11px;
  font-weight: normal;
  height: auto;
  line-height: 1.2;
  margin: 0px 0px 4px 0px;
  opacity: 1;
  padding: 0;
  position: inherit;
  text-align: left;
  text-decoration: none;
  visibility: visible;
  width: auto;
}

div.randombox p.uv_desc {
  -webkit-box-sizing: border-box;
  background: none;
  border: none;
  box-sizing: border-box;
  color: #333;
  display: block;
  float: none;
  font-size: 13px;
  font-weight: normal;
  height: auto;
  line-height: 1.2;
  margin: 0px 0px 0px 0px;
  opacity: 1;
  padding: 0;
  position: inherit;
  text-align: left;
  text-decoration: none;
  visibility: visible;
  width: auto;
}

/* .adbox img{
    height: 60px;
    width: auto;
    float: left;
} */

/* .adbox div.withimg{

} */

.adbox_sponsord {
  text-align: center;
  font-size: 0.9em;
  color: #464444;
  margin-bottom: 0 !important;
}

/* ----------------------------------------------- */
/*

      BlogRoll css 2

*/
/* ----------------------------------------------- */

.rss-title {
  background: #165e83;
  color: #fff;
  padding: 0.25em 0 0.25em 1.5em;
  font-size: 14px;
  border-radius: 0px 20px 0px 20px;
}

.single_sougorss {
  margin-bottom: 15px;
  padding: 0;
  height: 293px;
  overflow-y: auto;
}

.single_fix {
  overflow: hidden;
}

.blogroll-channel,
.blogroll-channel * {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  text-align: left;
}

.blogroll-channel {
  margin-bottom: 15px;
  padding: 0;
  overflow-y: auto;
}

.blogroll-channel .blogroll-list-wrap {
  margin-bottom: 10px;
}

p.blogroll_top,
.blogroll-channel .blogroll-list {
  list-style-type: none;
  margin-bottom: 3px;
  font-size: 15px;
  /*font-weight: 700;*/
  line-height: 29px;
  height: 29px;
  overflow: hidden;
  padding-right: 10px;
  background: url(https://bakuana.com/wp-content/uploads/2020/12/sankaku5x5.png)
    no-repeat 4px center;
  border-bottom: 1px dotted #104e0c;
  padding-left: 14px;
  margin: 0.2em;
}

p.blogroll_top {
  margin: 0.2em 0.2em 0 0.2em;
}

.blogroll-channel .blogroll-list img {
  vertical-align: middle;
}

.blogroll-channel img.blogroll-icon,
.blogroll-channel img.blogroll-favicon {
  margin: 0 5px 0 0;
}

.blogroll-channel img.blogroll-favicon {
  width: 16px;
  height: 16px;
}

p.blogroll_top a,
.blogroll-channel a.blogroll-link {
  text-decoration: none;
  overflow: hidden;
}

.blogroll-channel .blogroll-new-entry {
  margin-left: 5px;
  color: red;
}

.blogroll-channel .blogroll-clip,
.blogroll-channel .blogroll-hatebu {
  margin: 0 0 0 5px;
}

.blogroll-channel .blogroll-link-time {
  margin: 0 0 0 3px;
  color: #666;
  font-size: 10px;
}

/* .blogroll-channel .blogroll-ad-img {
} */

.blogroll-channel .blogroll-ad-text {
  display: block;
  margin-top: 5px;
  color: #666;
  font-size: 12px;
}

.blogroll-channel ul {
  margin: 0;
  padding: 0;
}

/*******************************
* 血統関連フォントスタイル一覧
********************************/
.tt {
  background: #c4f3aa;
}

.northern {
  background: #cafff0;
}

.nasu {
  background: #ffcacb;
}

.native {
  background: #fff9bf;
}

.matchem {
  background: #d8bfd8;
}

.hampton {
  background: #9999ff;
}

.herod {
  background: #c6a495;
}

.stsimon {
  background: #ebafff;
}

.other {
  background: #c0c0c0;
}

.oomozi {
  font-size: 18pt;
  line-height: 35px;
  font-weight: bold;
}

.f12 {
  font-size: 1.2em !important;
  line-height: 1.3 !important;
}

.f14 {
  font-size: 1.4em !important;
  line-height: 1.3 !important;
}

.f16 {
  font-size: 1.6em !important;
  line-height: 1.3 !important;
}

li.f12,
li.f14 {
  margin-bottom: 1em !important;
}

.tr,
.tright {
  text-align: right;
}

.tc,
.tcenter {
  text-align: center;
}

.huto {
  font-weight: bold;
}

.tred {
  color: #fe2e2e;
}
.tblue {
  color: #1843c1;
}

.tgreen {
  color: #166129;
}

.twhite {
  color: #fff;
}

.tbred {
  color: #fe2e2e;
  font-weight: bold;
}
.tbblue {
  color: #1843c1;
  font-weight: bold;
}

.tbgreen {
  color: #166129;
  font-weight: bold;
}

.tbwhite {
  color: #fff;
  font-weight: bold;
}

.ubred {
  background: linear-gradient(transparent 50%, #fad5dc 40%);
}
.ubgreen {
  background: linear-gradient(transparent 50%, #66ffcc 40%);
}
.ubblue {
  background: linear-gradient(transparent 50%, #91d1f2 40%);
}
.ubyellow {
  background: linear-gradient(transparent 50%, #fff8bf 40%);
}

.bgyellow {
  background: #fff8bf;
  padding: 1px;
}

.bgred {
  background: #ffd3d3;
}

.by {
  background: rgb(255, 255, 82);
  color: #f73636;
}

.article h3 {
  margin: 0;
  position: relative;
  font-size: 1.45em;
  border: none;
  margin-bottom: 1.5em;
}

.article h3::after {
  content: "";
  width: 98px;
  height: 4px;
  background-color: #3498db;
  display: block;
  position: absolute;
  left: 0;
  bottom: -8px;
}

.check-box ul,
.alert-box ul,
.information-box ul,
.question-box ul,
.primary-box ul,
.success-box ul,
.info-box ul,
.warning-box ul,
.danger-box {
  margin: 0;
}

.oikiri-box {
  background: #effbff;
  border: 1px solid #59b9c6;
  padding: 20px 20px 20px 60px;
  border-radius: 4px;
  position: relative;
  display: block;
  margin-bottom: 1.8em;
}

.oikiri-box::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f017";
    font-size: 20px;
    position: absolute;
    padding-right: -0.85em;
    line-height: 1em;
    top: 50%;
    margin-top: -0.5em;
    left: 0px;
    width: 40px;
    text-align: center;
    color: #2a83a2;
    border-right: 1px solid #2a83a2;
}

.race-box {
  border: 4px double #110062;
  padding: 20px 20px 20px 72px;
  border-radius: 4px;
  position: relative;
  display: block;
  margin-bottom: 1.8em;
}

.race-box::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f441";
  font-size: 34px;
  position: absolute;
  padding-right: 0.15em;
  line-height: 1em;
  top: 50%;
  margin-top: -0.5em;
  left: 10px;
  width: 44px;
  text-align: center;
  color: #110062;
  border-right: 1px solid #110062;
}

.check-box {
  background: #f2fff2;
  border: 1px solid #007d2e;
  padding: 20px 20px 20px 72px;
  border-radius: 4px;
  position: relative;
  display: block;
  margin-bottom: 1.8em;
}

.check-box::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f058";
  font-size: 34px;
  position: absolute;
  padding-right: 0.15em;
  line-height: 1em;
  top: 50%;
  margin-top: -0.5em;
  left: 10px;
  width: 44px;
  text-align: center;
  color: #007d2e;
  border-right: 1px solid #007d2e;
}

.video-box {
  background: #fff1f1;
  border: 1px solid #da1725;
  padding: 20px 20px 20px 72px;
  border-radius: 4px;
  position: relative;
  display: block;
  margin-bottom: 1.8em;
}

.video-box::before {
  font-family: "Font Awesome 5 Brands";
  font-weight: 900;
  content: "\f167";
  font-size: 34px;
  position: absolute;
  padding-right: 0.15em;
  line-height: 1em;
  top: 50%;
  margin-top: -0.5em;
  left: 10px;
  width: 44px;
  text-align: center;
  color: #da1725;
  border-right: 1px solid #da1725;
}

.bell-box {
  background: #fffde8;
  border: 1px solid #f9f100;
  padding: 20px 20px 20px 72px;
  border-radius: 4px;
  position: relative;
  display: block;
  margin-bottom: 1.8em;
}

.bell-box::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f0f3";
  font-size: 34px;
  position: absolute;
  padding-right: 0.15em;
  line-height: 1em;
  top: 50%;
  margin-top: -0.5em;
  left: 10px;
  width: 44px;
  text-align: center;
  color: #f9f100;
  border-right: 1px solid #f9f100;
}

.oikiriyellow {
  background: #fffacd;
}

.w1,
.w2,
.w3,
.w4,
.w5,
.w6,
.w7,
.w8 {
  font-weight: bold;
}

.w1 {
  background-color: #ffffff;
  color: #000000;
}

.w2 {
  background-color: #626262;
  color: #fff;
}

.w3 {
  background-color: #cb3232;
  color: #fff;
}

.w4 {
  background-color: #2250db;
  color: #fff;
}

.w5 {
  background-color: #ebd516;
  color: #fff;
}

.w6 {
  background-color: #0eab19;
  color: #fff;
}

.w7 {
  background-color: #f98600;
  color: #fff;
}

.w8 {
  background-color: #ff4297;
  color: #fff;
}

/** 記事下広告設定 **/

.single_ads {
  text-align: left;
  margin-top: 1.45em;
  margin-bottom: 1.2em;
}

.single_ads::before {
  content: "ADVERTISEMENT";
  border-top: #bdbdbd 1px solid;
  text-align: center;
  padding: 0.25rem;
  display: flex;
  justify-content: center;
  color: #8d8888;
  width: 50%;
  margin: 0 auto;
}

.cta-post-title {
  font-size: 1.5em;
  position: relative;
  margin-bottom: 1.5em !important;
  border-bottom: 4px solid #ffecf2;
  font-weight: 600;
}

.cta-post-title::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  z-index: 2;
  content: "";
  width: 20%;
  height: 4px;
  background-color: #db345c;
}

.cta-bun-wrap ul {
  padding: 0;
  margin-bottom: 0.8rem;
}

.cta-bun-wrap ul li {
  font-weight: 500;
  list-style: none;
  font-size: 0.9em;
  position: relative;
  padding-left: 1.5em !important;
}

.cta-bun-wrap ul li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c" !important;
  font-weight: 600;
  color: #eb0d74;
  position: absolute;
  left: 0 !important;
  top: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

.post-cta-btn a span {
  font-size: 0.9rem;
  line-height: 0.9;
  text-align: center;
  color: #006812;
  background: #fff;
  /*font-weight: 600;*/
  padding: 6px 0 4px 0;
  margin-right: 4px;
  border-radius: 9px;
  width: 42px;
}

.post-cta-btn a::after {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  margin: auto 0;
  position: absolute;
  right: 10px;
  font-weight: bold;
  font-size: 1.5em;
}

.cta-bun-wrap {
  width: 95%;
  margin: 0 auto;
  background: #ffffff;
}

.cta-bun-wrap .cta-microcopy-title {
  text-align: center;
  font-weight: 800;
  margin-bottom: 8px;
  font-size: 80%;
}

.cta-bun-wrap .cta-microcopy {
  margin-top: -5px;
  margin-bottom: 7px;
  text-align: center;
  line-height: 130%;
  font-size: 80%;
}

.cta-bun-wrap .cta-microcopy-url {
  text-align: left;
  font-size: 0.8rem;
  margin-bottom: 0.2em;
}

.cta-bun-wrap .cta-microcopy-url a {
  text-decoration: underline;
}

.article p.post-cta-btn {
  margin-bottom: 0.4em;
}

.post-cta-btn a {
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  font-size: 0.925rem;
  flex-direction: row;
  align-items: center;
  background: #00991a;
  color: #fff;
  border-radius: 7px;
  padding: 26px 16px;
  text-decoration: none;
  margin: 0 auto;
  box-shadow: 2px 2px 8px rgba(31, 28, 28, 0.8);
  transition: 0.3s;
  line-height: 1.3;
  position: relative;
  /*font-weight: 600;*/
}

.post-cta-btn a:hover {
  background: #00991a;
  box-shadow: 0 0 10px rgba(31, 29, 29, 0);
}

.article p.cta-microcopy-waku {
  font-size: 0.9em;
  margin-bottom: 0.8rem;
  border: 1px solid #00991a;
  padding: 0.5em 1em;
}

/* 広告周りのアニメーション等の設定 */

.pulse-btn::before,
.pulse-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 1px solid #1da1f2;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  animation: pulsate 2s linear infinite;
}

.pulse-btn::after {
  animation-delay: 1s;
}

@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(2);
    opacity: 0;
  }
}

.hikaru {
  overflow: hidden;
  position: relative;
}

.hikaru::before {
  content: "";
  height: 100%;
  width: 30px;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #fff;
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflection 3s ease-in-out infinite;
}

@-webkit-keyframes reflection {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

.fuwafuwa {
  -webkit-animation-name: fuwafuwa; /* fuwafuwaっていうアニメーションをしてね！ */
  -webkit-animation-duration: 1.5s;
  -webkit-animation-iteration-count: infinite;
  /*-webkit-animation-direction:alternate;*/
  -webkit-animation-timing-function: ease;

  -moz-animation-name: fuwafuwa;
  -moz-animation-duration: 1.5s;
  -moz-animation-iteration-count: infinite;
  /*-moz-animation-direction:alternate;*/
  -moz-animation-timing-function: ease;
}
/* fuwafuwaっていうアニメーションはこんなふうだよ！ */
@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -3px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@-moz-keyframes fuwafuwa {
  0% {
    -moz-transform: translate(0, 0);
  }
  50% {
    -moz-transform: translate(0, -3px);
  }
  100% {
    -moz-transform: translate(0, 0);
  }
}

@keyframes jello {
  11.1% {
    transform: none;
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
  100% {
    transform: none;
  }
}

.jello {
  animation: jello 3.5s infinite;
  transform-origin: center;
}

.yokoyure {
  animation: yokoyure 1.6s infinite;
}
@keyframes yokoyure {
  0% {
    transform: translate(2px, 0px);
  }
  5% {
    transform: translate(-2px, 0px);
  }
  10% {
    transform: translate(2px, 0px);
  }
  15% {
    transform: translate(-2px, 0px);
  }
  20% {
    transform: translate(2px, 0px);
  }
  25% {
    transform: translate(-2px, 0px);
  }
  30% {
    transform: translate(0px, 0px);
  }
}

.buruburu {
  animation: buruburu 1s infinite;
}
@keyframes buruburu {
  50% {
    transform: scale(1, 1);
  }
  52% {
    transform: scale(0.98, 0.95);
  }
  54% {
    transform: scale(1, 1);
  }
  56% {
    transform: scale(0.98, 0.95);
  }
  58% {
    transform: scale(1, 1);
  }
  60% {
    transform: scale(0.98, 0.95);
  }
}

.dokidoki {
  animation: dokidoki 1.3s infinite;
}
@keyframes dokidoki {
  0% {
    transform: scale(1.05);
  }
  5% {
    transform: scale(1);
  }
  95% {
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.05);
  }
}

/* gemini style */
.cta-button {
    /* ボタンの基本デザイン */
    display: inline-block;
    padding: 18px 40px;
    background: linear-gradient(135deg, #00cc22, #00991a); /* グラデーションで立体感を演出 */
    color: #ffffff;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    border-radius: 50px; /* 親しみやすい角丸デザイン */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); /* 影を付けて浮き上がらせる */
    position: relative; /* 子要素（光のエフェクト）の基準位置にする */
    overflow: hidden; /* はみ出した光を隠す */
    cursor: pointer;
    transition: all 0.3s ease; /* ホバー時の変化を滑らかに */
    -webkit-font-smoothing: antialiased; /* テキストを滑らかに表示 */

    /* アニメーションの適用 */
    animation: click-animation 6s infinite;
}

/* 光のエフェクト（疑似要素で作成） */
.cta-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        100deg,
        rgba(255, 255, 255, 0) 20%,
        rgba(255, 255, 255, 0.5) 50%,
        rgba(255, 255, 255, 0) 80%
    );
    transform: translateX(-150%); /* 初期状態では左側に見えない位置に配置 */
    
    /* アニメーションの適用 */
    animation: shine-animation 6s infinite;
}

/* ホバーしたときのデザイン */
.cta-button:hover {
    transform: translateY(-5px); /* 少し上に浮かせる */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); /* 影を濃くして、より浮いたように見せる */
    animation-play-state: paused; /* ホバー中はアニメーションを一時停止 */
}

/* キーフレームアニメーションの定義 */
/* 1. クリックを促すアニメーション */
@keyframes click-animation {
    0%, 49.9% {
        transform: scale(1); /* 3秒間静止 */
    }
    50% {
        transform: scale(0.95); /* 1回目のクリック（縮む） */
    }
    51.5% {
        transform: scale(1); /* 元に戻る */
    }
    53% {
        transform: scale(0.95); /* 2回目のクリック（縮む） */
    }
    54.5%, 100% {
        transform: scale(1); /* 元に戻って次の周期まで静止 */
    }
}

/* 2. 光が走るアニメーション */
@keyframes shine-animation {
    0%, 16.66% { /* 0秒から1秒地点まで */
        transform: translateX(-150%); /* 左側に見えない位置で待機 */
    }
    33.33% { /* 2秒地点で */
        transform: translateX(150%); /* 右側に見えない位置まで移動完了 */
    }
    33.34%, 100% { /* その後、次の周期まで見えない位置で待機 */
        transform: translateX(150%);
    }
}

/*その他の設定*/

.sp {
  display: none;
}

/*
右下広告
*/

#ad-container {
  position: fixed;
  top: 0;
  right: -160px; /* 初期位置は右端の外側 */
  width: 160px;
  height: 600px;
  /* background-color: #ccc; */
  transition: right 0.3s;
}

#hide-button {
  position: absolute;
  top: 0;
  left: -10px;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

/***********************************
**Impact ADS
************************************/
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(60px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.content-in {
  position: relative;
}

.ads600x160 {
  width: 160px;
  height: 600px;
  opacity: 0; /* 初期状態では透明にする */
  animation: fadeIn 1.2s ease-in-out forwards;
}

#impr {
  box-sizing: content-box;
  /* background-color: rgb(241, 245, 255); */
  position: fixed;
  width: 160px;
  height: 600px;
  top: 205px;
  right: 50%;
  margin-right: -675px;
  z-index: auto;
}

#impl {
  box-sizing: content-box;
  /* background-color: rgb(241, 245, 255); */
  position: fixed;
  width: 160px;
  height: 600px;
  top: 205px;
  left: 50%;
  z-index: auto;
  margin-left: -675px;
}

/************************************
** 縦3つ
************************************/
.tate_koukoku {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bakuana_koukoku {
  width: 300px;
  height: 83.333px;
}

.bakuana_koukoku a {
  text-decoration: none;
  color: #333;
}

.bakuana_koukoku a:hover {
  text-decoration: underline;
}

.bakuana_koukoku:hover {
  background-color: rgba(22, 94, 131, 0.05);
}

.tate__warp {
  display: flex;
  position: relative;
}

.tate__img {
  width: 83px;
  height: 83px;
}

.tate__title {
  font-size: 12px;
  height: 48px;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-align: left;
  padding-top: 2px;
  width: 210px;
  padding-left: 3px;
}

.tate__site {
  font-size: 10px;
  overflow: hidden;
  white-space: nowrap;
  text-align: right;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  position: absolute;
  bottom: 2px;
  right: 5px;
}

@media screen and (max-width: 834px) {
  .container .column-wrap > div {
    width: 100%;
    text-align: center;
  }
}
/************************************
** サイドバー占い
************************************/

.omikuji_number {
  margin-bottom: 16px;
}

.omikuji_number-inp {
  margin-bottom: 8px;
}

.omikuji_number button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.925rem;
  background: #00991a;
  height: 2em;
  width: 100%;
  line-height: 1.3;
  color: #fff;
  border-radius: 7px;
  box-shadow: 0 0 5px rgba(31, 28, 28, 0.5);
  margin-bottom: 16px;
  border: none;
}
/************************************
** 買い目計算
************************************/
.section {
  background-color: #fff;
  /* border-radius: 8px; */
  /* padding: 20px; */
  margin-bottom: 150px;
  /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
}

.section h2 {
  border-bottom: 2px solid #006400;
  padding-bottom: 10px;
  margin-top: 0;
  background: none;
  color: #006400;
  margin: 1em 0;
}

.section input[type="number"] {
  width: 20%;
}

.betting-ticket,
.betting-rule {
  width: 25%;
}

.section input[type="number"],
.section select,
.section button {
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #ccc;
  font-size: 16px;
  vertical-align: middle;
}
.section button {
  background-color: #008000;
  color: white;
  cursor: pointer;
  border: none;
}
.section button:hover {
  background-color: #006400;
}
#horse-list-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
  margin-bottom: 15px;
}
.horse-box {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 18px;
  border-radius: 5px;
  cursor: pointer;
  border: 2px solid transparent;
  user-select: none;
  transition: transform 0.1s;
}
.horse-box:active {
  transform: scale(0.95);
}
.color-1 {
  background-color: #ffffff;
  color: #000;
  border: 1px solid #ccc;
}
.color-2 {
  background-color: #000000;
  color: #fff;
}
.color-3 {
  background-color: #ff0000;
  color: #fff;
}
.color-4 {
  background-color: #0000ff;
  color: #fff;
}
.color-5 {
  background-color: #ffff00;
  color: #000;
}
.color-6 {
  background-color: #008000;
  color: #fff;
}
.color-7 {
  background-color: #ffa500;
  color: #fff;
}
.color-8 {
  background-color: #ffc0cb;
  color: #000;
}
.horse-box.selected-axis1 {
  box-shadow: 0 0 0 3px #e60012;
}
.horse-box.selected-axis2 {
  box-shadow: 0 0 0 3px #009e49;
}
.horse-box.selected-axis3 {
  box-shadow: 0 0 0 3px #0068b7;
}
#selection-area {
  margin-top: 20px;
}
.axis-box {
  padding: 15px;
  border: 1px dashed #ccc;
  border-radius: 5px;
  margin-bottom: 10px;
  min-height: 50px;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}
.axis-box.active-axis {
  border: 2px solid #008000;
  background-color: #e6ffe6;
}
.axis-box h3 {
  margin: 0 0 10px 0;
  display: flex;
  align-items: center;
  color: #006400;
}

.axis-box h3::after {
  content: none;
}

.axis-box .selection-display {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 40px;
}
#multi-option-area label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 16px;
}
#multi-option-area input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-right: 8px;
}
#result-display {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
#result-display span {
  font-size: 40px;
  color: #d9534f;
  margin: 0 10px;
}

.hayami table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  font-size: 14px;
  overflow-x: auto;
  display: block;
}
.hayami caption {
  font-size: 1.2em;
  font-weight: bold;
  padding: 10px;
  background-color: #f2f2f2;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.hayami th,
.hayami td {
  border: 1px solid #ddd;
  padding: 12px;
  text-align: center;
}
.hayami th {
  background-color: #008000 !important;
  color: white;
  white-space: nowrap;
}
.hayami th:first-child {
  background-color: #006400;
}
.hayami tbody tr:nth-child(odd) {
  background-color: #f9f9f9;
}
.hayami tbody tr:hover {
  background-color: #e6ffe6;
}
.hayami td span.multi {
  font-size: 0.9em;
  color: #d9534f;
  font-weight: bold;
}
.hayami .note {
  margin-top: 20px;
  padding: 15px;
  background-color: #eef;
  border-left: 5px solid #00008b;
  font-size: 0.9em;
}

/************************************
** ADS
************************************/

/* .fade-element,
.fade-element__seconds,
.fade-element__overlay {
  opacity: 0;
  transition: opacity 0.5s;
} */

/************************************
** 目次
************************************/
.toc {
  background: #f9f9f9 !important;
  border: 0 !important;
  display: block !important;
  border-top: 5px solid !important;
  border-top-color: #2a83a2 !important; /*お好みの色に*/
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2) !important;
  /*padding: 20px 32px 7px 32px!important;*/
  margin-bottom: 5% !important;
  width: 95%;
  border-radius: 10px;
}

.toc-title {
  margin: 0 20px 20px -10px !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  color: #2a83a2 !important; /*お好みの色に*/
  background-color: initial;
}
.toc-title:before {
  font-family: "Font Awesome 5 Free";
  content: "\f03a";
  font-weight: 900 !important;
  font-size: 20px;
  color: #fff;
  background-color: #2a83a2; /*お好みの色に*/
  border-radius: 50%;
  padding: 14px;
}
.toc a {
  color: #333;
  display: block;
  border-bottom: dashed 1px silver;
  padding-bottom: 0.5em; /*下の点線との間*/
  padding-top: 0em !important; /*下の点線との間*/
}
.toc ul li {
  font-weight: 700;
  line-height: 1.5;
  padding: 0 0 0.4em 1.4em;
  position: relative;
}
.toc ul li:before {
  font-family: "Font Awesome 5 Free" !important;
  content: "\f138";
  position: absolute !important;
  left: -0.3em !important;
  color: #c94132; /*お好みの色に*/
  font-weight: 900;
}
.toc li li {
  font-weight: 400;
  padding-top: 0.5em;
  margin-top: 0 !important;
}
.toc_list li {
  margin-top: -5% !important;
}
@media screen and (min-width: 834px) {
  .toc_list li {
    /*PCでは目次のh2同士の間隔は抑えめに*/
    margin-top: -1.8% !important;
  }
}

/************************************
** サイドバーの目次
************************************/
.sidebar .toc {
  background: transparent !important;
  border: initial !important;
  border-top: initial !important;
  border-top-color: initial !important;
  box-shadow: initial !important;
  margin-bottom: initial !important;
  width: initial !important;
  border-radius: initial !important;
  padding-top: initial !important;
}
.sidebar .toc li li:before {
  color: #fad9a7; /*お好みの色に*/
}

/************************************
** カエレバ・トマレバ追加CSS
************************************/
.cstmreba {
  /*width:98%;*/
  height: auto;
  /*margin:36px auto;*/
  font-family: "Lucida Grande", "Hiragino Kaku Gothic ProN", Helvetica, Meiryo,
    sans-serif;
  line-height: 1.5;
  word-wrap: break-word;
  box-sizing: border-box;
  display: block;
}
/* WordPressで自動挿入されるPタグの余白を対処 */
.cstmreba p {
  margin: 0;
  padding: 0;
}
.cstmreba a {
  transition: 0.8s;
  color: #285eff; /* テキストリンクカラー */
}
.cstmreba a:hover {
  color: #ffca28; /* テキストリンクカラー(マウスオーバー時) */
}
.cstmreba .booklink-box,
.cstmreba .kaerebalink-box,
.cstmreba .tomarebalink-box {
  width: 100%;
  background-color: #ffffff; /* 全体の背景カラー */
  overflow: hidden;
  border-radius: 0px;
  box-sizing: border-box;
  padding: 12px 8px;
  /*box-shadow: 0px 2px 5px 0 rgba(0,0,0,.26);*/
  border: 1px solid rgba(22, 94, 131, 0.5);
  border-radius: 4px;
}
/* サムネイル画像ボックス */
.cstmreba .booklink-image,
.cstmreba .kaerebalink-image,
.cstmreba .tomarebalink-image {
  width: 150px;
  float: left;
  margin: 0 14px 0 0;
  text-align: center;
  background: #fff;
}
.cstmreba .booklink-image a,
.cstmreba .kaerebalink-image a,
.cstmreba .tomarebalink-image a {
  width: 100%;
  display: block;
}
.cstmreba .booklink-image a img,
.cstmreba .kaerebalink-image a img,
.cstmreba .tomarebalink-image a img {
  margin: 0;
  padding: 0;
  text-align: center;
  background: #fff;
}

/* サムネイル画像ボックスSIDE BER */
.sidebar .cstmreba .booklink-image,
.sidebar .cstmreba .kaerebalink-image,
.sidebar .cstmreba .tomarebalink-image {
  width: 100%;
  float: none;
  margin: 0 14px 0 0;
  text-align: center;
  background: #fff;
}

.cstmreba .booklink-info,
.cstmreba .kaerebalink-info,
.cstmreba .tomarebalink-info {
  overflow: hidden;
  line-height: 170%;
  color: #333;
}
/* infoボックス内リンク下線非表示 */
.cstmreba .booklink-info a,
.cstmreba .kaerebalink-info a,
.cstmreba .tomarebalink-info a {
  text-decoration: none;
}
/* 作品・商品・ホテル名 リンク */
.cstmreba .booklink-name > a,
.cstmreba .kaerebalink-name > a,
.cstmreba .tomarebalink-name > a {
  border-bottom: 1px solid;
  font-size: 16px;
}
/* powered by */
.cstmreba .booklink-powered-date,
.cstmreba .kaerebalink-powered-date,
.cstmreba .tomarebalink-powered-date {
  font-size: 10px;
  line-height: 150%;
}
.cstmreba .booklink-powered-date a,
.cstmreba .kaerebalink-powered-date a,
.cstmreba .tomarebalink-powered-date a {
  color: #333;
  border-bottom: none;
}
.cstmreba .booklink-powered-date a:hover,
.cstmreba .kaerebalink-powered-date a:hover,
.cstmreba .tomarebalink-powered-date a:hover {
  color: #333;
  border-bottom: 1px solid #333;
}
/* 著者・住所 */
.cstmreba .booklink-detail,
.cstmreba .kaerebalink-detail,
.cstmreba .tomarebalink-address {
  font-size: 12px;
}
.cstmreba .kaerebalink-link1 div img,
.cstmreba .booklink-link2 div img,
.cstmreba .tomarebalink-link1 div img {
  display: none !important;
}
.cstmreba .kaerebalink-link1,
.cstmreba .booklink-link2,
.cstmreba .tomarebalink-link1 {
  display: inline-block;
  width: 100%;
  margin-top: 5px;
}
.cstmreba .booklink-link2 > div,
.cstmreba .kaerebalink-link1 > div,
.cstmreba .tomarebalink-link1 > div {
  float: left;
  width: 24%;
  min-width: 128px;
  margin: 0.5%;
}
/* ボタンボックスSIDE BER */
.sidebar .cstmreba .booklink-link2 > div,
.sidebar .cstmreba .kaerebalink-link1 > div,
.sidebar .cstmreba .tomarebalink-link1 > div {
  float: none;
  width: 100%;
  min-width: 128px;
  margin-bottom: 0.25em !important;
}

/***** ボタンデザインここから ******/
.cstmreba .booklink-link2 a,
.cstmreba .kaerebalink-link1 a,
.cstmreba .tomarebalink-link1 a {
  width: 100%;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
  margin: 1px 0;
  padding: 3% 0.5%;
  border-radius: 8px;
  font-size: 13px;
  font-weight: bold;
  line-height: 180%;
  color: #fff;
  box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.26);
}
/* トマレバ */
.cstmreba .tomarebalink-link1 .shoplinkrakuten a {
  background: #76ae25;
  border: 2px solid #76ae25;
} /* 楽天トラベル */
.cstmreba .tomarebalink-link1 .shoplinkjalan a {
  background: #ff7a15;
  border: 2px solid #ff7a15;
} /* じゃらん */
.cstmreba .tomarebalink-link1 .shoplinkjtb a {
  background: #c81528;
  border: 2px solid #c81528;
} /* JTB */
.cstmreba .tomarebalink-link1 .shoplinkknt a {
  background: #0b499d;
  border: 2px solid #0b499d;
} /* KNT */
.cstmreba .tomarebalink-link1 .shoplinkikyu a {
  background: #bf9500;
  border: 2px solid #bf9500;
} /* 一休 */
.cstmreba .tomarebalink-link1 .shoplinkrurubu a {
  background: #000066;
  border: 2px solid #000066;
} /* るるぶ */
.cstmreba .tomarebalink-link1 .shoplinkyahoo a {
  background: #ff0033;
  border: 2px solid #ff0033;
} /* Yahoo!トラベル */
.cstmreba .tomarebalink-link1 .shoplinkhis a {
  background: #004bb0;
  border: 2px solid #004bb0;
} /*** HIS ***/
/* カエレバ */
.cstmreba .kaerebalink-link1 .shoplinkyahoo a {
  background: #ff0033;
  border: 2px solid #ff0033;
  letter-spacing: normal;
} /* Yahoo!ショッピング */
.cstmreba .kaerebalink-link1 .shoplinkbellemaison a {
  background: #84be24;
  border: 2px solid #84be24;
} /* ベルメゾン */
.cstmreba .kaerebalink-link1 .shoplinkcecile a {
  background: #8d124b;
  border: 2px solid #8d124b;
} /* セシール */
.cstmreba .kaerebalink-link1 .shoplinkwowma a {
  background: #ea5404;
  border: 2px solid #ea5404;
} /* Wowma */
.cstmreba .kaerebalink-link1 .shoplinkkakakucom a {
  background: #314995;
  border: 2px solid #314995;
} /* 価格コム */
/* ヨメレバ */
.cstmreba .booklink-link2 .shoplinkkindle a {
  background: #007dcd;
  border: 2px solid #007dcd;
} /* Kindle */
.cstmreba .booklink-link2 .shoplinkrakukobo a {
  background: #bf0000;
  border: 2px solid #bf0000;
} /* 楽天kobo */
.cstmreba .booklink-link2 .shoplinkbk1 a {
  background: #0085cd;
  border: 2px solid #0085cd;
} /* honto */
.cstmreba .booklink-link2 .shoplinkehon a {
  background: #2a2c6d;
  border: 2px solid #2a2c6d;
} /* ehon */
.cstmreba .booklink-link2 .shoplinkkino a {
  background: #003e92;
  border: 2px solid #003e92;
} /* 紀伊國屋書店 */
.cstmreba .booklink-link2 .shoplinkebj a {
  background: #f8485e;
  border: 2px solid #f8485e;
} /* ebookjapan */
.cstmreba .booklink-link2 .shoplinktoshokan a {
  background: #333333;
  border: 2px solid #333333;
} /* 図書館 */
/* カエレバ・ヨメレバ共通 */
.cstmreba .kaerebalink-link1 .shoplinkamazon a,
.cstmreba .booklink-link2 .shoplinkamazon a {
  background: #ff9901;
  border: 2px solid #ff9901;
} /* Amazon */
.cstmreba .kaerebalink-link1 .shoplinkrakuten a,
.cstmreba .booklink-link2 .shoplinkrakuten a {
  background: #bf0000;
  border: 2px solid #bf0000;
} /* 楽天 */
.cstmreba .kaerebalink-link1 .shoplinkseven a,
.cstmreba .booklink-link2 .shoplinkseven a {
  background: #225496;
  border: 2px solid #225496;
} /* 7net */
/****** ボタンカラー ここまで *****/

/***** ボタンデザイン　マウスオーバー時ここから *****/
.cstmreba .booklink-link2 a:hover,
.cstmreba .kaerebalink-link1 a:hover,
.cstmreba .tomarebalink-link1 a:hover {
  background: #fff;
}
/* トマレバ */
.cstmreba .tomarebalink-link1 .shoplinkrakuten a:hover {
  color: #76ae25;
} /* 楽天トラベル */
.cstmreba .tomarebalink-link1 .shoplinkjalan a:hover {
  color: #ff7a15;
} /* じゃらん */
.cstmreba .tomarebalink-link1 .shoplinkjtb a:hover {
  color: #c81528;
} /* JTB */
.cstmreba .tomarebalink-link1 .shoplinkknt a:hover {
  color: #0b499d;
} /* KNT */
.cstmreba .tomarebalink-link1 .shoplinkikyu a:hover {
  color: #bf9500;
} /* 一休 */
.cstmreba .tomarebalink-link1 .shoplinkrurubu a:hover {
  color: #000066;
} /* るるぶ */
.cstmreba .tomarebalink-link1 .shoplinkyahoo a:hover {
  color: #ff0033;
} /* Yahoo!トラベル */
.cstmreba .tomarebalink-link1 .shoplinkhis a:hover {
  color: #004bb0;
} /*** HIS ***/
/* カエレバ */
.cstmreba .kaerebalink-link1 .shoplinkyahoo a:hover {
  color: #ff0033;
} /* Yahoo!ショッピング */
.cstmreba .kaerebalink-link1 .shoplinkbellemaison a:hover {
  color: #84be24;
} /* ベルメゾン */
.cstmreba .kaerebalink-link1 .shoplinkcecile a:hover {
  color: #8d124b;
} /* セシール */
.cstmreba .kaerebalink-link1 .shoplinkwowma a:hover {
  color: #ea5404;
} /* Wowma */
.cstmreba .kaerebalink-link1 .shoplinkkakakucom a:hover {
  color: #314995;
} /* 価格コム */
/* ヨメレバ */
.cstmreba .booklink-link2 .shoplinkkindle a:hover {
  color: #007dcd;
} /* Kindle */
.cstmreba .booklink-link2 .shoplinkrakukobo a:hover {
  color: #bf0000;
} /* 楽天kobo */
.cstmreba .booklink-link2 .shoplinkbk1 a:hover {
  color: #0085cd;
} /* honto */
.cstmreba .booklink-link2 .shoplinkehon a:hover {
  color: #2a2c6d;
} /* ehon */
.cstmreba .booklink-link2 .shoplinkkino a:hover {
  color: #003e92;
} /* 紀伊國屋書店 */
.cstmreba .booklink-link2 .shoplinkebj a:hover {
  color: #f8485e;
} /* ebookjapan */
.cstmreba .booklink-link2 .shoplinktoshokan a:hover {
  color: #333333;
} /* 図書館 */
/* カエレバ・ヨメレバ共通 */
.cstmreba .kaerebalink-link1 .shoplinkamazon a:hover,
.cstmreba .booklink-link2 .shoplinkamazon a:hover {
  color: #ff9901;
} /* Amazon */
.cstmreba .kaerebalink-link1 .shoplinkrakuten a:hover,
.cstmreba .booklink-link2 .shoplinkrakuten a:hover {
  color: #bf0000;
} /* 楽天 */
.cstmreba .kaerebalink-link1 .shoplinkseven a:hover,
.cstmreba .booklink-link2 .shoplinkseven a:hover {
  color: #225496;
} /* 7net */
/***** ボタンデザイン　マウスオーバー時ここまで *****/
.cstmreba .booklink-footer {
  clear: both;
}

/*****  解像度768px以下のスタイル *****/
@media screen and (max-width: 768px) {
  .cstmreba .booklink-image,
  .cstmreba .kaerebalink-image,
  .cstmreba .tomarebalink-image {
    width: 100%;
    float: none;
  }
  .cstmreba .booklink-link2 > div,
  .cstmreba .kaerebalink-link1 > div,
  .cstmreba .tomarebalink-link1 > div {
    width: 32.33%;
    margin: 0.5%;
  }
  .cstmreba .booklink-info,
  .cstmreba .kaerebalink-info,
  .cstmreba .tomarebalink-info {
    text-align: center;
    padding-bottom: 1px;
  }
}

/*****  解像度480px以下のスタイル *****/
@media screen and (max-width: 480px) {
  .cstmreba .booklink-link2 > div,
  .cstmreba .kaerebalink-link1 > div,
  .cstmreba .tomarebalink-link1 > div {
    width: 49%;
    margin: 0.5%;
  }
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px) {
  /*必要ならばここにコードを書く*/
  .footer {
    padding: 8px;
  }
}

/*834px以下*/
@media screen and (max-width: 834px) {
  /*必要ならばここにコードを書く*/

  .toc {
    margin: 10px 5px;
  }
  .toc-list > li a {
    font-size: 13px;
  }
  .toc-list > li li a {
    margin-left: -3px;
  }
  .toc-list > li li ::before {
    margin-left: -5px;
  }

  .sp {
    display: block !important;
  }

  .cta-bun-wrap {
    /* width: 90%; */
  }

  .news--inner p {
    margin: 1em 0;
  }
}

/*480px以下*/
@media screen and (max-width: 480px) {
  /*必要ならばここにコードを書く*/
  .video-box,
  .race-box,
  .bell-box,
  .check-box,
  .oikiri-box {
    padding: 26px 6px 6px;
  }
  .video-box::before,
  .race-box::before,
  .bell-box::before,
  .check-box::before,
  .oikiri-box::before {
    padding: 0;
    top: 0.7em;
    left: 50%;
    margin-left: -0.5em;
    font-size: 18px;
    border: none;
    width: auto;
  }
}

/***
モーダルウィンドウが表示
**/
/* .modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.4);
}

.modal-content {
  background-color: #fefefe;
  margin: 10% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 800px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  position: relative;
}

.close {
  position: absolute;
  top: -20px;
  left: calc(100% - 20px);
  background: #f1f0f0;
  display: inline-block;
  border-radius: 100%;
  width: 40px;
  height: 40px;
  padding: 5px 13px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  color: #646464;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

body.no-scroll {
  overflow: hidden;
}

.hidden {
  display: none;
}

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 999;
}

#ad-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 20px;
  border: 1px solid #ccc;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  width: 300px;
  max-width: 100%;
}

.close-button {
  position: absolute;
  top: -10px;
  right: 10px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  background: #f3f3f3;
  right: -50px;
  border-radius: 50%;
  padding: 10px;
  height: 30px;
  width: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
} */
.poyopoyo {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%,
  40%,
  60%,
  80% {
    transform: scale(1);
  }
  50%,
  70% {
    transform: scale(0.95);
  }
}

.container--blood {
  display: grid;
  grid-template-rows: repeat(32, 20px); /* 2の5乗で32 */
  grid-template-columns: repeat(5, 20%);
  border: solid 1px #333333;
}

.container--blood div {
  border: solid 1px #333333;
  display: flex;
  justify-content: center;
  align-items: center;
}

.m {
  background: #88ff88;
}

.f {
  background: #ff8888;
}

/* 両親 */
.g1 {
  grid-column: 1;
  grid-row: span 16;
}

/* 祖父母 */
.g2 {
  grid-column: 2;
  grid-row: span 8;
}

/* 曽祖父母 */
.g3 {
  grid-column: 3;
  grid-row: span 4;
}

/* 高祖父母 */
.g4 {
  grid-column: 4;
  grid-row: span 2;
}

/* 五世祖父母 */
.g5 {
  grid-column: 5;
  grid-row: span 1;
}

@media (max-width: 480px) {
    #sb_instagram.sbi_col_10 #sbi_images, #sb_instagram.sbi_col_10.sbi_mob_col_auto #sbi_images, #sb_instagram.sbi_col_3 #sbi_images, #sb_instagram.sbi_col_3.sbi_mob_col_auto #sbi_images, #sb_instagram.sbi_col_4 #sbi_images, #sb_instagram.sbi_col_4.sbi_mob_col_auto #sbi_images, #sb_instagram.sbi_col_5 #sbi_images, #sb_instagram.sbi_col_5.sbi_mob_col_auto #sbi_images, #sb_instagram.sbi_col_6 #sbi_images, #sb_instagram.sbi_col_6.sbi_mob_col_auto #sbi_images, #sb_instagram.sbi_col_7 #sbi_images, #sb_instagram.sbi_col_7.sbi_mob_col_auto #sbi_images, #sb_instagram.sbi_col_8 #sbi_images, #sb_instagram.sbi_col_8.sbi_mob_col_auto #sbi_images, #sb_instagram.sbi_col_9 #sbi_images, #sb_instagram.sbi_col_9.sbi_mob_col_auto #sbi_images, #sb_instagram.sbi_mob_col_1 #sbi_images {
        grid-template-columns: repeat(2, 1fr);
    }
}