@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&family=Limelight&display=swap");
/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

全ページ共通

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-family: "BIZ UDPGothic", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-size: 1.6rem;
  color: #544F53;
  letter-spacing: 2px;
  line-height: 1.8;
  background-color: #EDC339;
}
@media screen and (max-width: 520px) {
  body {
    font-size: 1.4rem;
  }
}

*:hover,
*::before,
*::after {
  transition: 0.2s;
}


/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

文字

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
p {
  margin: 20px 0;
  letter-spacing: 1px;
  text-align: justify;
}

a {
  color: inherit;
  -webkit-text-decoration: underline 1px #01577D;
          text-decoration: underline 1px #01577D;
  transition: 0.2s;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
}

/*－－－－－－－－－－ リンクホバー時の設定 －－－－－－－－－－*/
@media (hover: hover) {
  a:not([class]):hover {
    background-color: #EDC339;
  }
}

/*fuwaimgでの無効化 */
#fuwaimg_prev:hover,
#fuwaimg_next:hover {
  background: none;
}

/*－－－－－－－－－－ 見出し －－－－－－－－－－*/
h1,
h2,
h3,
h4,
h5 {
  font-family: "Limelight", "BIZ UDPGothic", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: lighter;
  letter-spacing: 4px;
  line-height: 1;
  text-transform: uppercase;
  overflow-wrap: break-word;
}
h1 .ja,
h2 .ja,
h3 .ja,
h4 .ja,
h5 .ja {
  font-size: 0.9em;
}

/*－－－－－－－－－－ 大見出し －－－－－－－－－－*/
.headingL {
  font-size: clamp(1.8rem, 4vw + 2rem, 8rem);
  margin: clamp(3rem, 2.8rem + 1vw, 4rem) 0;
  margin-left: -6rem;
  padding-left: 6rem;
  padding-top: 8px;
  color: #d64022;
  line-height: 0.8;
  background-color: #EDC339;
  
  /* 💡 【ここを修正】文字の長さに合わせて背景をどこまでも広げる設定 */
  width: max-content;
  
  white-space: nowrap;
}

/*－－－－－－－－－－ 中見出し －－－－－－－－－－*/
.headingM {
  font-size: clamp(2.4rem, 2.28rem + 0.6vw, 3rem);
  margin: clamp(2rem, 1.8rem + 1vw, 3rem) 0;
  color: #000203;
  border-bottom: 1px solid #000203;
}

/*－－－－－－－－－－ 小見出し －－－－－－－－－－*/
.headingS {
  position: relative;
  font-size: clamp(2rem, 1.96rem + 0.2vw, 2.2rem);
  color: #000203;
  margin: 20px 0;
  padding-left: 18px;
}
.headingS::before {
  position: absolute;
  top: 0.3em;
  left: 0;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #EDC339;
}

/*－－－－－－－－－－ 最小見出し －－－－－－－－－－*/
.headingSS {
  position: relative;
  font-size: clamp(1.8rem, 1.76rem + 0.2vw, 2rem);
  color: #000203;
  margin: 20px 0;
  padding-left: 18px;
}
.headingSS::before {
  position: absolute;
  top: 0.4em;
  left: 0;
  content: "";
  display: block;
  width: 10px;
  height: 2px;
  background-color: #EDC339;
}

/*－－－－－－－－－－ 文字装飾 －－－－－－－－－－*/
.right {
  text-align: right;
}

.center {
  text-align: center;
}

.marker {
  background: linear-gradient(transparent 40%, rgba(237, 195, 57, 0.4) 40%);
}

.label {
  display: block;
  margin: 20px 0;
  padding: 2px 10px;
  background-color: #01577D;
  color: #fff;
  width: -moz-fit-content;
  width: fit-content;
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

アイコン等

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.la,
.las {
  font-size: 1.2em;
  color: #01577D;
  position: relative;
  top: 2px;
}

/* 矢印 */
.arrow {
  width: 20px;
  height: 20px;
  border: 2px solid #01577D;
  border-bottom: 0;
  border-left: 0;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

入力フォーム、ボタン

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
/* 入力フォーム */
input,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 10px 20px 8px 20px;
  border: 0;
  border-bottom: 1px solid #01577D;
  margin: 10px 0;
}

textarea {
  border: 1px solid #01577D;
}

/* ボタン */
.btn {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #01577D;
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: 3px 10px;
  border: 1px solid #01577D;
  transition: 0.2s;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -moz-transition: 0.2s;
}
.btn:hover {
  cursor: pointer;
  background-color: #EDC339;
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

リスト

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.list,
.list-number {
  margin: 20px 0;
}

.list li {
  position: relative;
  margin-left: 16px;
}
.list li::before {
  position: absolute;
  top: calc(50% - 4px);
  left: -16px;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #EDC339;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

/*－－－－－－－－－－ 数字付きリスト －－－－－－－－－－*/
.list-number {
  list-style-type: decimal-leading-zero;
  list-style-position: inside;
}
.list-number li {
  text-indent: -3.4rem;
  padding-left: 3.6rem;
}
.list-number li > :not(:first-child) {
  text-indent: 0;
}

/*－－－－－－－－－－ 表リスト －－－－－－－－－－*/
.gridlist {
  width: 100%;
}

/* パソコン時：NameとLinkの行を横に並べる */
.gridlist__row {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr;
}

/* パソコン時：Messageの行を横に並べる */
.gridlist__row_msg {
  display: grid;
  grid-template-columns: auto 1fr;
}

/* 👇 【修正】labelとtextの両方に、上下中央揃え（align-items）を適用しました */
.gridlist .gridlist__label,
.gridlist .gridlist__text {
  padding: 8px 20px;
  border-bottom: 1px solid #01577D;
  display: flex;         /* これを追加 */
  align-items: center;   /* これで右側の文字（ゾンビ犬）も上下中央に揃います */
}

.gridlist .gridlist__label {
  color: #01577D;
}

/* 2人目の上に1行分の隙間をあける */
.gridlist__row.separator {
  margin-top: 40px; 
}

/* 📱 スマホ（520px以下）の時の設定 */
@media screen and (max-width: 520px) {
  /* ① NameとLinkの行は「2列」にして横並びをキープ */
  .gridlist__row {
    grid-template-columns: auto 1fr;
  }
  
  /* ② Messageの行だけ「1列」にして、縦に2行分に分ける */
  .gridlist__row_msg {
    grid-template-columns: 1fr;
  }
  
  /* MESSAGEの文字とメッセージ内容を横幅いっぱいに広げて綺麗に落とす */
  .gridlist__row_msg .gridlist__label,
  .gridlist__row_msg .gridlist__text {
    width: 100%;
    display: block;
  }
}
/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
枠組み

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.box {
  padding: 40px;
  background-color: rgba(237, 195, 57, 0.4);
}
.box > :first-child {
  margin-top: 0;
}
.box > :last-child {
  margin-bottom: 0;
}

.box__title {
  border-bottom: 1px solid #fff;
  padding-left: 0;
}
.box__title::before {
  display: none;
}

/* スマホ */
@media screen and (max-width: 520px) {
  .box {
    padding: 30px;
  }
}
/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

SNSアイコンリスト

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.snslist .snslist__item a {
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  background-color: #EDC339;
  border-radius: 50%;
  transition: 0.2s;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -moz-transition: 0.2s;
}
.snslist .snslist__item a:hover {
  color: #fff;
  transition: none;
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
}
.snslist .snslist__item.twitter:hover a {
  background-color: #1DA1F2;
}
.snslist .snslist__item.instagram:hover a {
  background-color: #CF2E92;
}
.snslist .snslist__item.facebook:hover a {
  background-color: #4267b2;
}
.snslist .snslist__item.youtube:hover a {
  background-color: #DA1725;
}
.snslist .snslist__item .lab {
  margin: 6px 1px 3px 3px;
  font-size: 2rem;
}
@media screen and (max-width: 520px) {
  .snslist {
    justify-content: center;
  }
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

レイアウト

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
/*－－－－－－－－－－ 横並び －－－－－－－－－－*/
.flex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  /* 表示サイズを変えたい場合は200pxの部分を変更 */
  gap: 20px;
  justify-content: center;
  align-items: center;
}

/*－－－－－－－－－－ 2カラム表示 －－－－－－－－－－*/
.--2column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 60px;
  align-items: flex-start;
}

/* タブレット、スマホでは１カラム */
@media screen and (max-width: 1181px) {
  .--2column {
    grid-template-columns: 1fr;
  }
}
/*－－－－－－－－－－ 左右反対 －－－－－－－－－－*/
.reverse {
  flex-direction: row-reverse;
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

全体のレイアウト

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
/*－－－－－－－－－－ ヘッダー －－－－－－－－－－*/
/*－－－－－－－－－－ コンテンツ全体の横幅、余白 －－－－－－－－－－*/
.mainwrapper {
  padding: 0 10px;
}
.mainwrapper > :first-child {
  margin-top: 0;
}

/* PC */
@media screen and (min-width: 1181px), print {
  .mainwrapper {
    width: 80%;
    max-width: 1160px;
    margin: 0 auto;
    padding: 0;
  }
}
/*－－－－－－－－－－ セクション －－－－－－－－－－*/
section:first-child {
  padding-top: 60px;
}

section {
  padding: 30px 10px;
  background-color: #fff;
  margin-bottom: 40px;
  overflow: hidden;
}
section > :first-child {
  margin-top: 0;
}
section > :last-child {
  margin-bottom: 0;
}
section section {
  background: none;
  padding-left: 0;
  padding-right: 0;
  margin: 0;
}
section section:first-of-type {
  padding-top: 0;
}
section section:last-of-type {
  padding-bottom: 0;
}

/* PC */
@media screen and (min-width: 1181px), print {
  section {
    padding: 60px;
  }
  section > :nth-child(2) {
    margin-top: 0;
  }
  section section:nth-of-type(2) {
    padding-top: 0;
  }
}
/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

メニュー

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.globalnav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 998;
  background-color: rgba(237, 195, 57, 0.6);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}

.globalnav._fix {
  position: fixed;
  top: 0;
  right: 0;
}

.globalnav__main {
  align-items: flex-start;
  gap: 0;
}
.globalnav__main .globalnav__item {
  position: relative;
  font-weight: bold;
}
.globalnav__main .globalnav__item a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 8px 10px 2px;
  overflow-wrap: break-word;
  transition: 0.2s;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -moz-transition: 0.2s;
}
.globalnav__main .globalnav__item a:hover, .globalnav__main .globalnav__item a:has(+ .globalnav__child:hover) {
  background-color: #EDC339;
}
.globalnav__main .globalnav__item._has-child:hover .globalnav__child {
  visibility: visible;
  opacity: 1;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  -ms-transition: 0.4s;
  -moz-transition: 0.2s;
  -o-transition: 0.4s;
}
.globalnav__main .globalnav__child {
  position: absolute;
  right: 0;
  background-color: rgba(237, 195, 57, 0.4);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  visibility: hidden;
  opacity: 0;
  transition: 0.2s;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -moz-transition: 0.2s;
}

/*  タブレット、スマホでの表示 */
@media screen and (max-width: 1180px) {
  .globalnav__main .globalnav__item .globalnav__child {
    top: 100%;
    left: 0%;
    right: auto;
    max-width: calc(100vw - 40px);
    z-index: 1;
    visibility: visible;
    /*JSで制御するため一旦表示*/
    opacity: 1;
    /*JSで制御するため一旦表示*/
    display: none;
    /*JSのtoggleで表示させるため非表示に*/
  }
  .globalnav__main .globalnav__item .globalnav__child.active {
    display: block;
  }
}
/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

サブメニュー

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.submenu {
  margin-bottom: 40px;
}

.submenu__main {
  align-items: start;
}

.submenu__item {
  position: relative;
}
.submenu__item a {
  display: inline-block;
  padding: 8px 10px 8px;
  text-decoration: none;
  transition: 0.2s;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -moz-transition: 0.2s;
}
/* 子、孫メニューの左に余白 */
.submenu__main ._has-child ul {
  margin-left: 20px;
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

ページUP

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.pageup {
  position: fixed;
  right: 2vw;
  bottom: 2vw;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  background-color: #01577D;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  transition: 0.2s;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -moz-transition: 0.2s;
  opacity: 0;
  visibility: hidden;
}
.pageup .arrow {
  border-color: #fff;
  margin-top: 10px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}
.pageup._active {
  opacity: 1;
  visibility: visible;
}

@media (hover: hover) {
  .pageup:hover {
    background-color: #EDC339;
  }
}
/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

フッター

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
footer {
  color: #fff;
  font-size: 1.2rem;
  padding: 10px;
  text-align: center;
}
/* 短かめの説明文 */
 .novellist__text {
   display: block;
   font-size: 0.8em;
   margin: 10px;
   margin-left: 20px;
 }
/*－－－－－－－－－－ 漫画タイトル一覧ページ －－－－－－－－－－*/
.comiclist__item {
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}
.comiclist__item .comiclist__img {
 position: relative;
  width: 100%;
  height: 100%;
  min-height: 30vh;
}
.comiclist__item .comiclist__img img {
 position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
/* スマホ */
@media screen and (max-width: 520px) {
  .comiclist__item {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .comiclist__item .comiclist__body {
    padding-top: 0;
  }
  .comiclist__item .comiclist__body .comiclist__title {
    position: static;
    width: 100%;
    margin: 20px 0;
  }
}
 /* 小説のタイトル */
 .novellist__title {
   font-size: 1.6rem;
 }
 @media screen and (min-width: 1025px), print {
   .novellist__title {
     font-size: 1.8rem;
   }
 }

/* ==========================================
   自分が追加したギャラリーのポップアップ（決定版）
========================================== */

/* ポップアップ全体の背景（画面全体を覆う暗いマスク） */
.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999 !important;
  
  /* ★お手本サイトと同じ「縦スクロール」の魔法★ */
  overflow-y: scroll;  /* 常にスクロールバーを準備する */
  -webkit-overflow-scrolling: touch;

  /* ーーー★ここから下が新しくなった部分です★ーーー */
  
  /* 背景の黒を「0.9（ほぼ真っ黒）」から「0.6（少し透けるくらい）」に薄くしました */
  background-color: rgba(0, 0, 0, 0.6) !important; 
  
  /* 後ろにある元の画面をすりガラスみたいにぼかす魔法です */
  backdrop-filter: blur(8px); 
  -webkit-backdrop-filter: blur(8px); /* iPhoneのSafariなどでも動くようにするおまじない */
}

/* 画像を包む真ん中の箱 */
.modal-content {
  /* ★ここが最重要！★
     スマホでは100%だけど、パソコンではどんなに画面が広くても
     「800px」以上に大きくならないように制限します。
     （800pxはお好みで700pxや900pxに調整してもOKです） */
  width: 90%;           /* スマホなど狭い画面では90%の幅 */
  max-width: 800px;     /* パソコンなど広い画面では最大800pxに制限 */
  
  margin: 60px auto !important;    /* 上下に隙間を開けて中央に寄せる */
  padding: 0;           /* 余計な余白を消す */
  position: relative;   /* 閉じるボタンの位置基準にするため */
}

/* ポップアップの中に入る画像すべての共通設定 */
#modalImageContainer img {
  width: 100%;          /* modal-content（最大800px）の幅に合わせる */
  height: auto;
  display: block;
  margin-bottom: 0;     /* 漫画のすきまをなくす（お手本サイト風） */
}

/* 閉じるボタン（×） */
.close-btn {
  color: white;
  font-size: 50px;      /* 少し大きく */
  font-weight: bold;
  cursor: pointer;
  position: fixed;      /* 画面に固定する */
  top: 10px;            /* 右上の隅に */
  right: 20px;
  z-index: 10000;       /* 画像よりさらに手前に */
  text-shadow: 0 0 5px rgba(0,0,0,0.5); /* 文字に影をつけて見やすく */
}

/* サムネイル下の作者名（左揃え） */
.gallerylist__item .author-name {
  font-size: 1.4rem !important;
  color: #000203 !important;           /* 黒文字（濃い色）に変更 */
  margin-top: 1px !important;
  text-align: left !important;
  font-weight: normal !important;
  
  /* 🎯 黄色い背景・インラインブロックの指定を解除してリセット */
  display: block !important;          /* ブロック要素に戻す */
  background-color: transparent !important; /* 背景を透明（なし）にする */
  padding: 0 !important;              /* 余白をなくす */
}

/* 小説タイトルのリンク設定（横並び ＆ 下線を完全に消す） */
.novellist__title,
a.novellist__title,
.novellist__item a.novellist__title {
  display: flex !important;           
  align-items: center !important;     
  gap: 12px !important;               
  
  /* 🎯 【重要】あらゆる下線の指定を強制的にオフにする */
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  border-bottom: none !important;
}

/* アイコンの大きさ調整 */
.novellist__title img.novel-icon {
  height: 1.8em !important;           
  width: auto !important;
  display: inline-block !important;
}


/* 🎯 地球マーク（las）を他のSNSアイコンと全く同じサイズ・位置・黄色い丸にする設定 */
.snslist .snslist__item .las {
  position: static !important;  /* テンプレートの強制位置ズレをリセット */
  margin: 0 !important;
  font-size: 1.8rem !important;
  color: inherit !important;    /* 通常時は親要素の色（文字色）に合わせる */
}

/* マウスを乗せたとき、他のSNSと同じように黄色い丸がBlueskyの青になり、中の地球が白に光る */
.snslist .snslist__item.bluesky:hover a {
  background-color: #0085FF !important;
}
.snslist .snslist__item a:hover .las {
  color: #fff !important;
}

/* -------------------------------------------------------------------------
   折り畳み（アコーディオン）メニュー（▼マーク ＆ 黄色背景＋赤文字）
------------------------------------------------------------------------- */
.accordion {
  margin: 20px 0;
  background-color: transparent;
  border: none;
}

.accordion__title {
  /* 👇 ご提示いただいたスタイル（黄色背景＋赤文字・インラインブロック）を適用 */
  display: inline-block !important;
  background-color: #EDC339 !important;
  color: #d64022 !important;
  font-weight: bold !important;
  padding: 2px 8px !important;
  margin: 10px 0 !important;
  
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-left: 28px !important; /* ▼マークを置くための左側の余白 */
}

/* Safariなどでデフォルトの三角が残るのを消すおまじない */
.accordion__title::-webkit-details-marker {
  display: none;
}

/* 🎯 常に「▼」の形にする設定（閉じているときは下向き▼） */
.accordion__title::before {
  content: "▼";
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8em; /* 文字の大きさに合わせて微調整 */
  transition: transform 0.2s;
}

/* 🎯 開いたときに ▼ を上向き（▲）に回転させる場合 */
.accordion[open] .accordion__title::before {
  transform: translateY(-50%) rotate(180deg);
}

/* 🎯 通常文の直後の下の隙間を完全に消す */
p.no-space {
  margin-bottom: 0 !important;
}

/* -------------------------------------------------------------------------
   折り畳み（アコーディオン）メニュー（完全隙間ゼロ版）
------------------------------------------------------------------------- */

/* ① 通常文のすぐ下の隙間を完全に殺す */
p.no-space {
  margin-bottom: 0px !important;
}

/* ② アコーディオン全体の箱の余白を完全になくす */
.accordion {
  margin: 0px !important;
  padding: 0px !important;
  background-color: transparent !important;
  border: none !important;
}

/* ③ タイトル部分（黄色背景・赤文字）の設定 */
.accordion__title {
  display: inline-block !important;
  background-color: #EDC339 !important;
  color: #000203 !important;
  font-weight: normal !important;
  padding: 2px 8px 2px 28px !important;
  margin: 2px 0 0 0 !important;         /* 上の文との隙間をほぼゼロ(2px)に */
  
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
}

/* Safari用のおまじない */
.accordion__title::-webkit-details-marker {
  display: none !important;
}

/* ▼マーク */
.accordion__title::before {
  content: "▼" !important;
  position: absolute !important;
  left: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 0.8em !important;
}

.accordion[open] .accordion__title::before {
  transform: translateY(-50%) rotate(180deg) !important;
}

/* ④ 中身を包む箱自体の余白を完全にゼロにして上へ引き上げる */
.accordion__content {
  margin: 0 !important;
  padding: 0 0 10px 8px !important; /* 上のパディングを 0 に */
  border-top: none !important;
  background-color: transparent !important;
  display: block !important;
}

/* ⑤ 中身の「最初の段落（pタグ）」の余白を強制的に完全にリセット */
.accordion__content p:first-child {
  margin-top: 2px !important;    /* ほんのわずか（2px）だけ空ける。0にすればピッタリくっつきます */
  padding-top: 0 !important;
}

/* 中身の2つ目以降の段落の隙間 */
.accordion__content p {
  margin-bottom: 8px !important;
}

/* 🎯 1. タイトル（黄色い部分）自体の上の余白と下線を完全にゼロにする */
.accordion__title {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

/* 🎯 2. 通常文（no-space）の底上げと、アコーディオン自体のブロックの強制引き上げ */
p.no-space {
  margin-bottom: -4px !important; /* マイナス指定で上の要素と強制的に引き合わせる */
}

.accordion {
  margin-top: 0px !important;
  line-height: 1.4 !important;    /* 行の高さを少しだけ詰めて余白を消す */
}

/* 🎯 「こちらを参照」などのリンク（下線なし ＆ ホバー時に文字色のみ変更） */
a.no-underline {
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  border-bottom: none !important;
  color: #01577D !important;          /* 通常時の文字色（サイトのテーマカラーの青） */
  transition: color 0.2s !important;  /* 色がなめらかに変わるアニメーション */
}

/* マウスを乗せた（触った）時の文字色 */
a.no-underline:hover {
  color: #d64022 !important;          /* 触った時の文字色（赤色に変わる例） */
  background-color: transparent !important; /* 背景色が変わらないように透明を保つ */
}

/* 小説タイトルの作者名（カルキ）だけを一回り小さくする設定 */
.novellist__title .author-name {
  font-size: 0.85em !important; /* タイトル本体の文字サイズの85%に縮小 */
  opacity: 0.85;                /* お好みで少しだけ主張を抑える（不要なら削除OK） */
}

/* SPECIALセクション内のタイトルを飾り文字フォント・大文字化から解除する */
.comiclist__title,
.comiclist__title a {
  font-family: "BIZ UDPGothic", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" !important;
  text-transform: none !important; /* 勝手に大文字になるのを防ぐ */
  letter-spacing: normal !important;
}

/* AUTHOR-NAME（COZY COFFEE）のフォントと見た目の最終調整 */
.comiclist__title .author-name {
  font-size: 0.85em !important;  
  opacity: 0.85;                /* お好みで少しだけ主張を抑える（不要なら削除OK） */
  color: #000203 !important;     
  font-weight: normal !important;
  text-transform: none !important; /* 小文字混じりの表記を死守する */
}

/* --- SPECIALスライダー（Splide）最終完全版CSS --- */
.special-slider {
  visibility: hidden;
}
.special-slider.is-initialized,
.special-slider.is-active {
  visibility: visible;
}

/* スライド個別の枠組み */
.special-slider .splide__slide {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  height: auto !important;
  background: transparent !important;
  padding: 0 10px !important;
}

/* 画像と文章の親枠（画像の表示幅にぴったり密着させる設定） */
.special-slider .special-content {
  display: table !important;
  table-layout: fixed !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

/* 画像の設定（崩さず・はみ出さず全景表示） */
.special-slider .special-content img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 60vh !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* 文章の設定（上の画像幅に100%揃えて自動折返し） */
.special-slider .special-content .comiclist__text {
  display: table-caption !important;
  caption-side: bottom !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: justify !important;
  margin-top: 14px !important;
  font-size: 1.4rem !important;
  color: #544F53 !important;
  line-height: 1.7 !important;
  word-break: break-word !important;
}

/* 📱 スマホ表示（画面幅520px以下）の時の文字サイズ */
@media screen and (max-width: 520px) {
  .special-slider .special-content .comiclist__text {
    font-size: 1.2rem !important;
    line-height: 1.5 !important;
  }
}

/* --- SPECIALスライダー文章：スマホ・PCの文字サイズ強制上書き --- */
@media screen and (max-width: 520px) {
  .special-slider .special-content .comiclist__text {
    font-size: 1.2rem !important; /* スマホで小さくするサイズ */
  }
}

@media screen and (min-width: 521px) {
  .special-slider .special-content .comiclist__text {
    font-size: 1.4rem !important; /* パソコンでのサイズ */
  }
}

/* PCでは .sp-only を非表示にする */
.sp-only {
  display: none;
}

/* スマホ表示（画面幅520px以下）の時だけ有効化する */
@media screen and (max-width: 520px) {
  .sp-only {
    display: inline;
  }
}

/* 🎯 タイトル全体の文字の流れをインライン（文字の自然な流れ）に統一 */
.novellist__title {
  display: block !important;
  text-align: left !important;
}

/* アイコンの位置調整 */
.novellist__title .novel-icon {
  vertical-align: middle !important;
  margin-right: 6px !important;
}

/* タイトルテキスト：単語の途中でも画面端で自然に折り返せるようにする */
.novel-title-text {
  display: inline !important;
  word-break: break-all !important; /* スマホ画面の右端でピッタリ折返す */
}

/* 著者名（ユニタ）：タイトルの最後の文字のすぐ隣に全角1文字分の隙間で配置 */
.novellist__title .author-name {
  display: inline !important;
  white-space: nowrap !important; /* 名前自体が途中で折返されるのを防ぐ */
  margin-left: 1em !important;    /* 他の作品と同じ全角1文字分の空き */
}

/* --- 🎯 「COZY COFFEE」の項目専用の個別レイアウト（他には一切影響しません） --- */

/* 行間の調整 */
.cozy-item .novellist__title {
  line-height: 1.3 !important;
  display: block !important;
}

/* この項目内の著者名（COZY COFFEE）だけに適用する折り返し・間隔設定 */
.cozy-item .author-name {
  display: inline !important;
  white-space: normal !important; /* 必要に応じて2行に折り返しを許可 */
  margin-left: 1em !important;    /* タイトルとの間の綺麗なスペース */
}