/* ==========================
  フォントインポート
========================== */
@import url('https://fonts.googleapis.com/css2?family=Lato&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap');
/* ==========================
  //フォントインポート
========================== */

/* ==========================
  初期設定
========================== */
/* 全体 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  /* 選択させない */
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  /* //選択させない */
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
  color: #fff;
  background: #333;
  /* 文字の間隔を少し広げる */
  letter-spacing: 0.08em;
  /* //文字の間隔を少し広げる */
}

img {
  width: 100%;
  /* 保存禁止 */
  pointer-events: none;
  /* //保存禁止 */
  border-radius: 5px;
}

/* レイアウトリセット */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* スクロールバーを非表示 */
::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
}

/* リンクのデコレーションをなしに */
a {
  text-decoration: none;
}

/* ==========================
  // 初期設定
========================== */


/* ==========================
  背景設定
========================== */
/* 横の余白の初期値 */
main {
  padding: 10px;
  /* ページ遷移時のアニメーション */
	animation-name: my-fade-in;
	animation-duration: 2s;
  /* //ページ遷移時のアニメーション */
}

/* 背景に画像を設定 */
main::before {
  background: url('https://specialsite.jp/atsuya/img/live.jpg') no-repeat center;
  background-size: cover;
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  /*height: var(--vh);*/
}

/* 背景画像にフィルター */
main::after {
  /* ぼかしていい感じに */
  background: rgba(0, 0, 0, .4);
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  /* ぼかしていい感じに */
  background-size: cover;
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  /*height: var(--vh);*/
}

/* PCでも横幅をスマホサイズに設定 */
.ly_inner {
  width: 100%;
  max-width: 480px;
  margin: 0px auto;
  padding: 0px;
  /* 角丸 */
  /*border-radius: 30px;*/
  /* テキスト配置 */
}

/* サイトトップのアーティスト名 */
.artist_name {
  font-size: 14px;
  padding: 10px 0 20px 0;
  font-weight: bold;
}

/* ==========================
  //背景設定
========================== */


/* -------------------- */
/* top loadpage logo
/* -------------------- */
.top_loadpage_fadein {
  opacity: 1;
	font-family: 'Lato', sans-serif;
	background: url('https://specialsite.jp/atsuya/img/live.jpg') no-repeat center;
  background-size: cover;
  content: "";
  display: block;
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100vh;
	z-index: 9999;
  text-align: center;
  top: 0;
  left: 0;
}
.top_loadpage_fadein::after{
  /* ぼかしていい感じに */
  background: rgba(0, 0, 0, .4);
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  /* ぼかしていい感じに */
  background-size: cover;
  content: "";
  display: block;
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
  text-align: center;
  top: 0;
  left: 0;
}
.top_loadpage_fadein p {
	display: none;
	z-index: 9998;
	width: 100%;
	font-size: 30px;
	font-family: 'Lato', sans-serif;
	letter-spacing: 0.5em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: 0 auto;
  animation: mmfadeIn 1.5s cubic-bezier(0, 0, 0.1, 1);
}
.top_log_min{
	font-size: 15px;
	letter-spacing: 0.5em;
}


/* ==========================
  //ページトップの設定
========================== */
.top_artist_img {
  width: 100%;
  max-width: 480px;
  margin: 0px auto;
  padding: 0px;
  position: relative;
}

.top_artist_img img {
  border-radius: 0px;
  text-align: center;
}

.top-left {
  position: absolute;
  top: 0px;
  left: 0px;
  color: #fff;
  font-size: 16px;
  border-radius: 30px;
  background: rgba(0, 0, 0, .2);
  width: 30px;
  height: 30px;
  text-align: center;
  margin: 10px 10px;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, .05);
  padding: 0 0 0 4px;
}

.bottom-left {
  position: absolute;
  width: 100%;
  bottom: 2px;
  left: 0px;
  font-size: 40px;
  color: #fff;
  font-weight: bold;
  background: linear-gradient(to right, rgba(42, 245, 152, .1) 0%, rgba(0, 158, 253, .1) 100%);
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(255, 0, 0, .5));
  background-image: linear-gradient(transparent, #666);
  padding: 10px;
}

/* ==========================
  //ページトップの設定
========================== */


/* ====================================
  リスト + モーダルウィンドウの設定
==================================== */

/* ====================================
  リスト
==================================== */
/* リスト全体 */
.section {}

.section1 {
  justify-content: center;
  align-items: center;
}


/* リストのレイアウト調整 */
.modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

/* リストにカーソルあった時 */
.modal__btn:focus,
.modal__btn:hover {
  background: rgba(0, 0, 0, .3);
}

/* リストのデザイン */
.modal__btn-list {
  width: 100%;
  background: rgba(0, 0, 0, .4);
  color: #fff;
  padding: 0;
  margin-bottom: 15px;
  border-radius: 25px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 30px 0px;
  text-decoration: none;
}

/* 画像とテキスト横並びリスト */
article {
  display: flex;
  margin-bottom: 0px;
  box-sizing: border-box;
  vertical-align: middle;
  padding: 0 20px 0 0;
}

/* 横並びの画像の部分 */
article figure {
  width: 20%;
  margin-right: 10px;
  text-align: center;
  vertical-align: middle;
}

article figure img {
  width: 50px;
  height: 50px;
	object-fit: cover;
}

/* 横並びのテキストの部分 */
.text_content {
  width: 80%;
  padding: 20px 20px 20px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.music_title {
  font-size: 14px;
  /* 1行で収まらない場合は... */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  /* //1行で収まらない場合は... */
}

/* タイトルにもリンクつける場合 */
.music_title a {
  color: #fff;
  text-decoration: none;
}

.novel_min_title {
  font-size: 11px;
  padding: 5px 0;
  color: #ddd;
  /* 1行で収まらない場合は... */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ====================================
  //リスト
==================================== */


/* ====================================
  モーダル
==================================== */
/* モーダルウィンドウ */
.modal {}

/* モーダル開いた時の枠外の背景 */
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, .6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  overflow: hidden
}

/* モーダル開いた時の背景画像 */
.modal__overlay_img {
  height: 110vh;
  width: 110%;
  max-width: 480px;
  object-fit: cover;
}

/* モーダル開いた時の背景 */
.modal__container {
  /* ぼかしていい感じに */
  background: rgba(0, 0, 0, .4);
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  /* ぼかしていい感じに */
  padding: 0px;
  width: 100%;
  max-width: 480px;
  min-width: 330px;
  height: 100%;
  border-radius: 0px;
  overflow-y: auto;
  box-sizing: border-box;
  position: fixed;
}

/* モーダルのヘッダー */
.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* モーダルのメインコンテンツの余白 */
.modal__content {
  line-height: 1.5;
  padding: 0;
}

.modal__content img {
  width: 100%;
}

/* モーダル内の閉じるボタン */
.modal__btn-close {
  background: rgba(0, 0, 0, 0);
  color: #fff;
  padding: 0px;
  border-radius: 25px;
  font-size: 35px;
  width: 50px;
  height: 50px;
  margin: 0 auto;
  cursor: pointer;
}

/* モーダルの閉じるボタンの前後の反応しないエリア */
.modal__footer {
  text-align: center;
  font-size: 14px;
  padding: 10px;
}

/* モーダルの中身の中央揃え */
.novel {
  width: 100%;
  text-align: center;
  color: #fff;
}

/* モーダルの中身の余白 */
.document {
  padding: 50px 10px;
}

/* 小説のタイトル */
.novel_title {
  padding: 20px 20px 0px 20px;
  text-align: left;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}

/* 小説の作者 */
.novel_writer {
  padding: 0 20px 20px 20px;
  text-align: left;
  color: #ddd;
  font-size: 12px;
}

/* 小説の要約 */
.novel_text {
  padding: 0 20px 20px 20px;
  text-align: left;
  color: #fff;
  font-size: 12px;
}
.novel_text a{
  color: #ff4747;
}

/* 小説の要約者 */
.novel_text_creator {
  padding: 0 20px 20px 20px;
  text-align: right;
  color: #ddd;
  font-size: 8px;
}

/* 小説画像の縦幅を固定 */
.novel img {
  width: auto;
  max-height: 300px;
  max-width: 90%;
}

/* ====================================
  //モーダル
==================================== */


/* ====================================
  アニメーション
==================================== */
/* モーダルのアニメーション */
@keyframes mmfadeIn {
  from {
    opacity: 0;
    -webkit-filter: blur(30px);
    -moz-filter: blur(30px);
    -ms-filter: blur(30px);
    -o-filter: blur(30px);
    filter: blur(30px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }

  to {
    opacity: 0;
    -webkit-filter: blur(30px);
    -moz-filter: blur(30px);
    -ms-filter: blur(30px);
    -o-filter: blur(30px);
    filter: blur(30px);
  }
}

/* モーダル開く時に下から表示 */
@keyframes mmslideIn {
  from {
    /*transform: translateY(5%);*/
    transform: translateY(0);
  }

  to {
    transform: translateY(0);
  }
}

/* モーダル閉じる時に下に */
@keyframes mmslideOut {
  from {
    /*transform: translateY(-5%);*/
    transform: translateY(0);
  }

  to {
    transform: translateY(0);
  }
}

/* モーダルウィンドウが上に来るように */
.micromodal-slide {
  display: none;
  z-index: 100;
}

.micromodal-slide.is-open {
  display: block;
}

/* 各アニメーションの表示速度など */
.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .5s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn .5s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .5s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut .5s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

/* ページ遷移時のフェードイン */
@keyframes my-fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}
/* //ページ遷移時のフェードイン */


/* ====================================
  //アニメーション
==================================== */


/* ====================================
  ボタン
==================================== */
/* 購入ボタン */
.novel_buy {
  /* CSSリセット */
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  /* //CSSリセット */
  display: inline-block;
  margin: 10px 10px;
  background: rgba(0, 0, 0, 1);
  color: #fff;
  font-size: 14px;
  text-align: center;
  border-radius: 30px;
  text-decoration: none;
  /* フォントなどは再適用 */
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.08em;
  /* //フォントなどは再適用 */
  font-size: 10px;
  font-weight: bold;
  line-height: 2;
  padding: 5px 20px;
  text-align: center;
}

/* 楽天 */
.rakuten {
  background: rgba(191, 0, 0, 1);
  box-shadow: 0px 5px 5px rgba(191, 0, 0, .1);
  font-size: 10px;
  font-weight: bold;
  line-height: 3;
  padding: 5px 30px;
  text-align: center;
}

/* アマゾン */
.amazon {
  background: rgba(15, 17, 17, 1);
  box-shadow: 0px 5px 5px rgba(15, 17, 17, .1);
  font-size: 10px;
  padding: 14px 30px 16px 30px;
  font-weight: bold;
}

/* ====================================
  サイト切り替えボタン
==================================== */
.icon {
  background: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, .2);
  color: #222;
  margin: 0px 5px;
  text-align: center;
  vertical-align: middle;
  font-size: 10px;
}

.buy_icon {
  padding: 0 0px 0 5px;
}

/* アイコンを中央揃え */
.icon_center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.icon_min_title {
  font-size: 10px;
  font-weight: normal;
  vertical-align: middle;
}

.display_site {
  background: rgba(0, 0, 0, .8);
  box-shadow: 0px 5px 5px rgba(0, 0, 0, .1);
  color: #fff;
}

.top_site_box {
  margin: 0px 0px 0px 0px;
  border-radius: 30px;
}

/* ====================================
  //サイト切り替えボタン
==================================== */
/* ====================================
  //ボタン
==================================== */

/* ====================================
  広告
==================================== */
.adsbygoogle {
  margin-bottom: 15px;
}

.ad-box {
  padding-left: 20px;
  padding-right: 20px;
  margin-top: 15px;
  margin-bottom: 15px;
  text-align: center;
}

/* ====================================
  //広告
==================================== */


/* ====================================
  レスポンシブ対応
==================================== */
/* ここからPC幅 */
@media screen and (min-width: 768px) {}

/* ここからスマホ幅 */
@media screen and (max-width: 767px) {}

/* ====================================
  //レスポンシブ対応
==================================== */

.from{
  color: #fff;
  font-size: 12px;
}
.from a{
  color: #fff;
}

.top_background{
  background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
  padding: 20px 30px;
  border-radius: 30px;
}

.top_title_main {
  /*originalfont*/
  font-size: 14px;
  padding: 10px 0;
  letter-spacing: 0.3em;
  /*text-shadow: 0px 5px 5px rgba(0, 0, 0, .05);*/
  color: #fff;
  font-weight: bold;
}

/* 受付終了 */
.reception_closed {
  padding: 7px 20px 8px 20px;
  font-size: 12px;
  background: #222;
  color: #fff;
  font-weight: 400;
  display: inline-block;
  border-radius: 30px;
  font-weight: bold;
}

.btn_center {
  padding: 0 20px;
  text-align: center;
}