@charset "UTF-8";
/* common
------------------------------ */
body {
  background-image: url("/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/bg_pc.jpg");
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
body:not(.page--home) .wrap {
  background: none;
}

body, a, .page--home .block--content-wrap, .page--home .block--contents a, .copyright, footer small a, footer small, .page--movie .section--detail .btn .btn--sub, .page--faq .block--faq-detail span.icon--q, .page--faq .section--detail .block--contact a, .page--home .section--hero-img .block--login nav a, .page--home footer .list-tit, .page--feature .page--introduction .block--service .block--service__contents li, footer .page--qa .tit--a:first-letter, .page--blog .block--comment .list--comment li.comment--member .user:after {
  color: #000;
}

.nav__list--sns li a {
  color: #fff;
}

.page--home .header .g-nav .g-nav--item a, .section--hero-img .block--login nav li a, .list__item.new .tit::after, .page--schedule .list--schedule li .block--txt.new .tit::after, .page--qa .tit--q span:first-letter {
  color: hsl(48, 100%, 39%);
  font-family: "Oswald", "Yusei Magic", sans-serif;
  font-weight: bold;
}

.lineIco a svg, .body--app section.section--detail.page--fcmenu .list--fcmenu span svg {
  fill: #000;
}

.section-tit, .category, .header .g-nav .g-nav--item a, .list__more a, .date, .list__more a, .block--share .share, .block--date, .block--date__month, .block--month, .block--date__youbi, .block--pager li, .detail__btn a, .block--date__date, .block--refine, .list--qa .list__item a::before {
  font-family: "Oswald", "Yusei Magic", sans-serif !important;
  font-weight: bold !important;
}

img,
img[alt=SERVICE][src$="fc_introduction.jpg"] {
  pointer-events: none;
}

img[alt=SERVICE][src$="fc_introduction.jpg"] {
  display: none !important;
}

.detail__btn a:hover::after {
  content: none !important;
}

.btn .btn--main, .page--blog .wrap--action .reply-form .btn .btn--main {
  background: #000;
}

.btn--sub {
  border-color: #000;
  color: #000;
}

.slick-prev::after, .slick-next::after, .tit .free::after, .free .section-tit::after, .btn .btn--sub, .block--pager .pager__item--newer a::after, .block--pager .pager__item--newer span::after, .block--pager .pager__item--older a::after, .block--pager .pager__item--older span::after, .page--faq .block--faq-detail, .page--faq .block--faq-detail span.icon--q, .form__select select, .form__select select:focus, .form__select::after, .form__checkbox label p::before {
  border-color: #000;
}

.page--home .wrap > .bg {
  display: none !important;
}

.nav__list--login a,
.profile__more a {
  transition: opacity 0.3s ease; /* スムーズに変化させる */
}

.nav__list--login a:hover,
.profile__more a:hover,
.list .list__item a:hover,
.list--thumbnail .list__item a:hover,
.list--info .sys-schedule a:hover {
  opacity: 0.6; /* ホバー時に薄く */
}

.block--contents .block--title .section-tit {
  font-size: 40px;
}

.section--list, .section--detail {
  position: relative;
  max-width: 850px;
  width: 80%;
  margin: 0 auto 150px;
  padding: 5em;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/of_contents_bg.jpg) no-repeat center center;
  background-size: cover;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
}

.section--list::before, .section--detail::before {
  content: "";
  position: absolute;
  inset: 0; /* 親要素いっぱいに広げる */
  border: 6px solid #000;
  pointer-events: none; /* クリック操作に影響させない */
}

.section--list::after, .section--detail::after {
  content: "";
  position: absolute;
  inset: 15px; /* 内側にオフセット */
  border: 2px solid #000;
  pointer-events: none;
}

/* 星付き見出し（SP/PC共通） */
.section-tit {
  text-align: center;
  line-height: 1.25;
  position: relative;
  padding-top: 28px !important; /* 星分の余白 */
  /* TOPページだけ星を消したい場合（必要な場合のみ） */
}
.section-tit::before {
  content: "★";
  position: absolute;
  top: 4px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 18px;
  line-height: 1;
  color: #000;
  pointer-events: none;
}
.section-tit::after {
  content: "★";
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  line-height: 1;
  color: transparent;
  text-shadow: -24px 0 0 #000, 24px 0 0 #000;
  pointer-events: none;
}
body.page--home .section-tit::before, body.page--home .section-tit::after {
  content: none !important;
}

/* header
------------------------------ */
.header {
  z-index: 100;
  background: transparent !important;
}
.header .nav.nav__list--contents .g-nav--item__sns {
  display: none;
}

h1.logo {
  display: none;
}

#next .arrow-2 {
  background: #fff;
}
#next .arrow-2 span {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
}

.tit .free {
  display: none;
}

/* footer
------------------------------ */
footer {
  background-color: transparent;
}
footer .bg {
  display: none;
}
footer small {
  text-align: center;
  color: #fff !important;
}
footer small a {
  color: inherit !important;
  text-decoration: underline;
}
footer small a:link, footer small a:visited, footer small a:hover, footer small a:active {
  color: inherit !important;
}

/* drawer
------------------------------ */
.header .drawer {
  /* official 側 */
  /* ★ ここに member を集約 ★ */
}
.header .drawer .g-nav {
  width: 100%;
  height: 100%;
  padding: 0;
}
.header .drawer .nav--official,
.header .drawer .nav--member {
  position: relative;
}
.header .drawer .nav--official .g-nav--item,
.header .drawer .nav--member .g-nav--item {
  display: block;
}
.header .drawer .nav--official .g-nav--item a,
.header .drawer .nav--member .g-nav--item a {
  transition: 0.4s;
}
.header .drawer .nav--official {
  background: #fff;
}
.header .drawer .nav--official .nav--official__inner {
  text-align: left;
}
.header .drawer .nav--official nav {
  display: block;
  margin: 0 auto;
}
.header .drawer .nav--official li a {
  color: #000 !important;
}
.header .drawer .nav--member {
  background: #000;
  /* FCロゴ */
  /* ログインブロック */
}
.header .drawer .nav--member::before {
  content: "";
  display: block;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/fc_logo.png) no-repeat center center;
  background-size: contain;
}
.header .drawer .nav--member .block--login::before {
  content: none;
}
.header .drawer .nav--member .block--login.pc {
  display: block !important;
}
.header .drawer .nav--member .block--login .nav__list--login {
  margin-left: 0;
  margin-bottom: 25px;
}
.header .drawer .nav--member .block--login .nav__list--login li {
  margin: 0 5px;
}
.header .drawer .nav--member .block--login .nav__list--login li a::after {
  content: none;
}
.header .drawer .nav--member .g-nav--item__login a,
.header .drawer .nav--member .g-nav--item__join a,
.header .drawer .nav--member .g-nav--item__mypage a {
  display: inline-block;
  width: 100px; /* 画像幅 */
  height: 27px; /* 画像高さ */
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  padding: 0;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  color: transparent;
  transition: filter 0.2s ease, opacity 0.2s ease !important;
}
.header .drawer .nav--member .g-nav--item__login a:hover, .header .drawer .nav--member .g-nav--item__login a:focus-visible,
.header .drawer .nav--member .g-nav--item__join a:hover,
.header .drawer .nav--member .g-nav--item__join a:focus-visible,
.header .drawer .nav--member .g-nav--item__mypage a:hover,
.header .drawer .nav--member .g-nav--item__mypage a:focus-visible {
  filter: brightness(1.08);
}
.header .drawer .nav--member .g-nav--item__login a:active,
.header .drawer .nav--member .g-nav--item__join a:active,
.header .drawer .nav--member .g-nav--item__mypage a:active {
  opacity: 0.9;
  transform: translateY(1px);
}
.header .drawer .nav--member .g-nav--item__join a {
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/join.png) no-repeat center/contain !important;
}
.header .drawer .nav--member .g-nav--item__login a {
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/login.png) no-repeat center/contain !important;
}
.header .drawer .nav--member .g-nav--item__mypage a {
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/mypage.png) no-repeat center/contain !important;
  margin-top: 15px;
}
.header .drawer .nav--member .g-nav--item__mypage a:hover, .header .drawer .nav--member .g-nav--item__mypage a:focus-visible {
  filter: none;
  opacity: 0.6;
}
.header .drawer .nav--member .g-nav--item__mypage a:active {
  opacity: 0.4;
  transform: translateY(1px);
}

/* page--home
------------------------------ */
.page--home.window-scroll .header .drawer .nav li a {
  color: #fff;
}
.page--home .block--title::before {
  content: "★";
  position: absolute;
  top: 4px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 18px;
  line-height: 1;
  color: #000;
  pointer-events: none;
}
.page--home .block--title::after {
  content: "★";
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  line-height: 1;
  color: transparent;
  text-shadow: -24px 0 0 #000, 24px 0 0 #000;
  pointer-events: none;
}
#profile .page--home .block--title::before, #profile .page--home .block--title::after, #photo .page--home .block--title::before, #photo .page--home .block--title::after, #blog .page--home .block--title::before, #blog .page--home .block--title::after {
  content: none !important;
}
.page--home #news.section--information {
  position: relative;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/of_contents_bg.jpg) no-repeat center center;
  background-size: cover;
  padding: 5%;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
  min-height: 600px;
  display: flex;
  flex-direction: column;
}
.page--home #news.section--information::before,
.page--home #news.section--information::after,
.page--home #schedule.section--schedule::before,
.page--home #schedule.section--schedule::after,
.page--home #video.section--video::before,
.page--home #video.section--video::after,
.page--home #blog.section--blog::before,
.page--home #blog.section--blog::after,
.page--home #photo.section--photo::before,
.page--home #photo.section--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.page--home #news.section--information::before,
.page--home #schedule.section--schedule::before,
.page--home #video.section--video::before,
.page--home #blog.section--blog::before,
.page--home #photo.section--photo::before {
  border: 6px solid #000;
}
.page--home #news.section--information::after,
.page--home #schedule.section--schedule::after,
.page--home #video.section--video::after,
.page--home #blog.section--blog::after,
.page--home #photo.section--photo::after {
  inset: 15px;
  border: 2px solid #000;
}
.page--home #news .block--title,
.page--home #schedule .block--title,
.page--home #blog .block--title,
.page--home #photo .block--title {
  margin-bottom: 50px;
}
.page--home #news .section-tit,
.page--home #schedule .section-tit,
.page--home #video .section-tit,
.page--home #blog .section-tit,
.page--home #photo .section-tit {
  margin: 0 auto;
  padding: 0;
}
.page--home #news .block--title .list__more,
.page--home #schedule .block--title .list__more,
.page--home #video .block--title .list__more,
.page--home #blog .block--title .list__more,
.page--home #photo .block--title .list__more {
  display: none !important;
}
.page--home #news > .list__more,
.page--home #schedule > .list__more,
.page--home #video > .list__more,
.page--home #blog > .list__more,
.page--home #photo > .list__more {
  display: block !important;
  margin: auto;
}
.page--home #news > .list__more a,
.page--home #schedule > .list__more a,
.page--home #video > .list__more a,
.page--home #blog > .list__more a,
.page--home #photo > .list__more a {
  position: relative;
  display: inline-block;
  padding: 10px 15px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-decoration: none;
  color: #fff;
  border: 2px solid #000;
  border-radius: 5px;
  background: transparent;
  z-index: 1;
  overflow: visible;
  transition: border-color 0.22s ease;
}
.page--home #news > .list__more a:hover,
.page--home #news > .list__more a:focus-visible,
.page--home #schedule > .list__more a:hover,
.page--home #schedule > .list__more a:focus-visible,
.page--home #video > .list__more a:hover,
.page--home #video > .list__more a:focus-visible,
.page--home #blog > .list__more a:hover,
.page--home #blog > .list__more a:focus-visible,
.page--home #photo > .list__more a:hover,
.page--home #photo > .list__more a:focus-visible {
  border-color: rgba(17, 17, 17, 0.7);
}
.page--home #news > .list__more a::before,
.page--home #schedule > .list__more a::before,
.page--home #video > .list__more a::before,
.page--home #blog > .list__more a::before,
.page--home #photo > .list__more a::before {
  content: "";
  position: absolute;
  inset: 3px;
  background: #000;
  border-radius: 5px;
  z-index: -1;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.2s ease;
}
.page--home #news > .list__more a::after,
.page--home #schedule > .list__more a::after,
.page--home #video > .list__more a::after,
.page--home #blog > .list__more a::after,
.page--home #photo > .list__more a::after {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 12px;
  z-index: -2;
  pointer-events: none;
  background: transparent !important;
  height: auto !important;
  transform: none !important;
}
.page--home #news .list__more a:hover::after,
.page--home #schedule .list__more a:hover::after,
.page--home #video .list__more a:hover::after,
.page--home #blog .list__more a:hover::after,
.page--home #photo .list__more a:hover::after {
  transform: none !important;
  background: transparent !important;
  height: auto !important;
}
.page--home #news .list__more a:hover::before,
.page--home #news .list__more a:focus-visible::before,
.page--home #schedule .list__more a:hover::before,
.page--home #schedule .list__more a:focus-visible::before,
.page--home #video .list__more a:hover::before,
.page--home #video .list__more a:focus-visible::before,
.page--home #blog .list__more a:hover::before,
.page--home #blog .list__more a:focus-visible::before,
.page--home #photo .list__more a:hover::before,
.page--home #photo .list__more a:focus-visible::before {
  opacity: 0.7;
}
.page--home #news .list,
.page--home #schedule .list {
  margin-bottom: 50px;
}
.page--home #schedule.section--schedule {
  position: relative;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/of_contents_bg.jpg) no-repeat center center;
  background-size: cover;
  padding: 5%;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
  min-height: 600px;
}
.page--home #video.section--video {
  position: relative;
  display: flex;
  flex-direction: column;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/of_contents_bg.jpg) no-repeat center/cover;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
  max-width: 850px;
  width: 80%;
  margin: 0 auto 150px;
  padding: 5em;
}
.page--home #video.section--video .list--thumnail--center .list__item {
  width: 80%;
  margin: 50px auto 0;
}
.page--home #video .block--title {
  margin-bottom: 0px;
}
.page--home #video .list--video {
  margin-bottom: 50px;
}
.page--home #video .video {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding-top: 0;
}
.page--home #video .video_item {
  position: relative;
  aspect-ratio: 16/9;
}
.page--home #video .video_item iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.page--home #blog.section--blog,
.page--home #photo.section--photo {
  position: relative;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/of_contents_bg.jpg) no-repeat center center;
  background-size: cover;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
  max-width: 850px;
  width: 80%;
  margin: 0 auto 200px;
  padding: 5em;
  border: 6px solid #000;
}
.page--home #blog.section--blog::before,
.page--home #photo.section--photo::before {
  content: "";
  position: absolute;
  inset: -20px;
  transform: rotate(4deg);
  transform-origin: 50% 0;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/fc_bg.jpg) repeat;
  background-size: cover;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.35);
  z-index: -1;
  pointer-events: none;
  --shift-x: 15px;
  left: calc(40px + var(--shift-x));
  right: calc(-40px - var(--shift-x));
}
.page--home #blog .block--title::after {
  content: "";
  position: absolute;
  top: -130px;
  left: -30px;
  width: 120px;
  height: 160px;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/fc_deco.png) no-repeat center/contain;
  z-index: 4;
  pointer-events: none;
}
.page--home #blog .block--title::before {
  content: "";
  position: absolute;
  top: 0; /* 位置はお好みで微調整 */
  left: 0;
  width: 100%;
  height: 24px; /* 星用の当たり枠 */
  pointer-events: none;
  color: #000; /* 星の色。currentColor を使うのでここで変更可 */
  --star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon fill='currentColor' points='12,2 15,8.5 22,9.5 17,14.1 18.3,21 12,17.7 5.7,21 7,14.1 2,9.5 9,8.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-image: var(--star), var(--star), var(--star);
  background-size: 12px 12px, 18px 18px, 12px 12px;
  background-position: calc(50% - 24px) 6px, 50% 4px, calc(50% + 24px) 6px; /* 右の小星 */
  transform: none;
}
.page--home #photo .block--title::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(20px, 16px);
  width: 120px;
  height: 150px;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/fc_deco2.png) no-repeat center/contain;
  z-index: 4;
  pointer-events: none;
  top: unset;
  left: unset;
}
.page--home #photo .block--title {
  position: static;
}
.page--home #photo .block--title::before {
  content: "";
  position: absolute;
  top: 70px; /* 位置はお好みで微調整 */
  left: 0;
  width: 100%;
  height: 24px; /* 星用の当たり枠 */
  pointer-events: none;
  color: #000; /* 星の色。currentColor を使うのでここで変更可 */
  --star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon fill='currentColor' points='12,2 15,8.5 22,9.5 17,14.1 18.3,21 12,17.7 5.7,21 7,14.1 2,9.5 9,8.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-image: var(--star), var(--star), var(--star);
  background-size: 12px 12px, 18px 18px, 12px 12px;
  background-position: calc(50% - 24px) 6px, 50% 4px, calc(50% + 24px) 6px; /* 右の小星 */
  transform: none;
}
.page--home .section--profile.block--profile {
  display: flex;
  flex-direction: column;
  align-items: center; /* 横方向中央 */
  margin: auto;
  width: 55%;
  padding-bottom: 10%;
}
.page--home .section--profile .block--title {
  width: 50%;
}
.page--home .section--profile .frame-wrap {
  margin: 0 auto 50px;
}
.page--home .section--profile .profile__more {
  margin: 8px 0 0;
  width: 20%;
}
.page--home :is(#news, #schedule, #video, #blog, #photo) .section-tit::before {
  content: none !important; /* 見出し側の疑似要素は無効化 */
}
.page--home .g-nav--item__mypage a:hover {
  opacity: 0.6;
  transition: opacity 0.3s;
}

.list__more {
  text-align: center;
}

/* page--news
------------------------------ */
.page--information .section--detail .block--txt a.btn--main {
  text-decoration: none;
}

.page--schedule .list--schedule .block--txt .category {
  text-transform: none !important;
}
.page--schedule .section--list .block--month ul li a::after {
  background: #000;
}
.page--schedule .block--refine .checkbox:hover {
  opacity: 0.6; /* ホバー時に薄く */
  transition: opacity 0.3s;
}

.page--video .list--video .list__item {
  width: 100%;
  margin-right: 0;
  margin-bottom: 0;
}

/* TOP FC
------------------------------ */
.area--fc .section-tit {
  color: #000;
}
.area--fc .no-data {
  color: #000;
}
.area--fc .tit .free {
  display: none;
}
.area--fc .section--login#TopfcLogo {
  width: 100%;
  margin-bottom: 100px;
}
.area--fc .section--login#TopfcLogo .logo--fc {
  display: block;
  width: 400px;
  height: 300px;
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/fc_logo.png) no-repeat center center;
  background-size: contain;
  margin: 0 auto 24px;
}
.area--fc .section--login#TopfcLogo .block--login {
  position: relative;
  bottom: inherit;
  right: inherit;
  text-align: center;
}
.area--fc .section--login#TopfcLogo .block--login ul li {
  display: inline-block;
}
.area--fc .section--login#TopfcLogo .g-nav--item__login a,
.area--fc .section--login#TopfcLogo .g-nav--item__join a,
.area--fc .section--login#TopfcLogo .g-nav--item__mypage a {
  display: inline-block;
  width: 160px;
  height: 44px;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  padding: 0;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  color: transparent;
  transition: filter 0.2s ease, opacity 0.2s ease;
}
.area--fc .section--login#TopfcLogo .g-nav--item__login a:hover, .area--fc .section--login#TopfcLogo .g-nav--item__login a:focus-visible,
.area--fc .section--login#TopfcLogo .g-nav--item__join a:hover,
.area--fc .section--login#TopfcLogo .g-nav--item__join a:focus-visible,
.area--fc .section--login#TopfcLogo .g-nav--item__mypage a:hover,
.area--fc .section--login#TopfcLogo .g-nav--item__mypage a:focus-visible {
  filter: brightness(1.08);
}
.area--fc .section--login#TopfcLogo .g-nav--item__login a:active,
.area--fc .section--login#TopfcLogo .g-nav--item__join a:active,
.area--fc .section--login#TopfcLogo .g-nav--item__mypage a:active {
  opacity: 0.9;
  transform: translateY(1px);
}
.area--fc .section--login#TopfcLogo .g-nav--item__join a {
  background-image: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/join.png);
}
.area--fc .section--login#TopfcLogo .g-nav--item__login a {
  background-image: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/login.png);
}
.area--fc .section--login#TopfcLogo .g-nav--item__mypage a {
  background-image: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/mypage.png);
}
.area--fc .section--login#TopfcLogo .nav--login {
  text-align: center;
}
.area--fc .list--thumbnail .list__item .block--txt {
  color: #000;
}

/* entry
------------------------------ */
.page--feature .block--logo img {
  display: none;
}
.page--feature .btn a {
  color: #fff;
}
.page--feature .block--service__contents li .inner span svg {
  fill: #fff;
}

.page--feature .page--introduction .block--service .block--service__contents li .inner span {
  background: #000;
}

/* fc menu 
------------------------------ */
.page--home .block--content-wrap {
  padding: 0;
  background: none;
}

/* マウス環境でホバー時にしっかり傾ける */
@media (hover: hover) and (pointer: fine) {
  .drawer__btn:hover {
    transform: rotate(-14deg) scale(1.06); /* ← 傾きを強めに */
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.25)); /* お好みで立体感 */
  }
}
/* アニメ控えめ設定を尊重（任意） */
@media (prefers-reduced-motion: reduce) {
  .drawer__btn,
  .drawer__btn:hover {
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
}
.movie--message {
  --hero-logo: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/fc_logo.png);
  --logo-w: 66%;
  --logo-ar: 700 / 325;
  --logo-right: 0%;
  --shadow-x: -6px;
  --shadow-y: 10px;
  --shadow-blur: 10px;
  --shadow-opacity: 0.45;
}

.movie--message .movie--content {
  position: relative;
  isolation: isolate;
}

.movie--message .movie--content::after {
  content: "";
  position: absolute;
  right: 11%;
  top: 50%;
  transform: translateY(-50%);
  width: 45%;
  height: 100%;
  background-image: var(--hero-logo);
  background-repeat: no-repeat;
  background-size: contain; /* 縦横比を保持して収める */
  background-position: center;
  pointer-events: none;
  aspect-ratio: var(--logo-ar);
  z-index: 1;
}

.movie--message .movie--content::before {
  content: "";
  position: absolute;
  right: var(--logo-right);
  top: 50%;
  transform: translate(calc(var(--shadow-x) * -1), calc(-50% + var(--shadow-y)));
  width: var(--logo-w);
  aspect-ratio: var(--logo-ar); /* 高さが決まる */
  height: auto;
  background: rgba(0, 0, 0, var(--shadow-opacity));
  filter: blur(var(--shadow-blur));
  z-index: 1;
  pointer-events: none;
  -webkit-mask-image: var(--hero-logo);
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-image: var(--hero-logo);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  /* 必要なら */
  /* mask-mode: alpha; */
}

/* フレームを常に最前面にしたい場合はこれを有効化 */
.movie--message .movie--frame {
  z-index: 2;
}

#profile .block--title::before,
#profile .block--title::after {
  content: none !important;
}

/* drawer-visible が付いたら消す（祖先についていれば効きます） */
.drawer-visible .kv-stars,
body.drawer-visible .kv-stars,
html.drawer-visible .kv-stars {
  opacity: 0;
  visibility: hidden;
}

/* 無駄な描画を止める */
.drawer-visible .kv-star {
  animation-play-state: paused;
}

/* 星レイヤー：ヒーローの直下に重ねる前提 */
.kv-stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 999; /* フレームとの前後で調整 */
  isolation: isolate; /* mix-blend-mode を閉じ込める場合に便利 */
}

.kv-star {
  position: absolute;
  left: calc(var(--x, 50) * 1%); /* 中心X(%) */
  top: calc(var(--y, 50) * 1%); /* 中心Y(%) */
  width: calc(var(--w, 10) * 1%); /* 幅(コンテナ幅に対する%) */
  aspect-ratio: var(--ar, 1/1); /* 画像の縦横比 */
  transform: translate(-50%, -50%); /* 中心アンカー */
  background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/light.png) no-repeat center/100% 100%;
  opacity: 1;
  animation: kv-star-blink var(--dur, 2.8s) ease-in-out var(--delay, 0s) infinite;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@keyframes kv-star-blink {
  0% {
    opacity: 1;
  }
  12% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .kv-star {
    animation: none !important;
    opacity: 0.6;
  }
}
.page--biography .block {
  margin-bottom: 80px;
}
.page--biography .block:first-of-type {
  margin-top: 40px;
}
.page--biography .block .block-tit {
  font-family: "Spartan", sans-serif;
  border-bottom: 1px solid;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
.page--biography .block .list--thumb {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: 0;
}
.page--biography .block .list--thumb li {
  list-style: none;
  width: 48%;
  margin-bottom: 40px;
  font-size: 13px;
  line-height: 1.5;
}
.page--biography .block .list--thumb li .thumb {
  margin-bottom: 15px;
}
.page--biography .list--vertical {
  padding-left: 0;
}
.page--biography .list--vertical li {
  list-style: none;
}

@media screen and (min-width: 961px) {
  footer .nav__list--sns li a,
  .page--home footer .nav__list--sns li a,
  .header .g-nav .nav li a:hover,
  .page--home .list__more > a:hover,
  .page--home .bg img {
    background-size: contain;
  }
  .window-scroll #header-nav:not(:has(> .inner .block--login.pc)) {
    padding: 3.2em 0;
  }
  .window-scroll .header {
    background: none;
    box-shadow: none;
  }
  .drawer__btn {
    display: block !important;
    width: 110px;
    height: 110px;
    position: fixed;
    right: 1.5vw;
    top: 0.6vw;
    z-index: 999;
    transition: 0.3s;
    padding: 5px;
    cursor: pointer;
    background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/menu.png) no-repeat center center;
    background-size: contain;
    transform: rotate(0deg);
    transform-origin: 50% 50%;
    transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.18s;
    will-change: transform;
  }
  .header .inner .drawer {
    opacity: 0;
    position: fixed;
    top: 0;
    z-index: 999;
    height: 100vh;
    width: 100vw;
    pointer-events: none;
    padding: 0;
    transition: 0.4s;
  }
  .header .inner .drawer .g-nav .g-nav--item,
  .header .inner .drawer .g-nav .g-nav--item__mypage {
    font-size: min(1.73vw, 22px);
  }
  .header .inner .drawer .g-nav .g-nav--item a,
  .header .inner .drawer .g-nav .g-nav--item__mypage a {
    line-height: 2.7vw;
    text-align: left;
    color: #fff;
  }
  .header .inner .drawer .g-nav .g-nav--item a::before, .header .inner .drawer .g-nav .g-nav--item a::after,
  .header .inner .drawer .g-nav .g-nav--item__mypage a::before,
  .header .inner .drawer .g-nav .g-nav--item__mypage a::after {
    content: none;
  }
  .drawer-visible .header .inner .drawer {
    opacity: 1;
    pointer-events: auto;
  }
  .header .g-nav .nav__list--contents .g-nav--item__sns a:hover {
    opacity: 1;
  }
  .header .g-nav .nav__list--contents .g-nav--item__sns.item__first::before {
    color: #fff;
    font-weight: bold;
    vertical-align: 2px;
  }
  .bg::before {
    opacity: 1;
  }
  .list--schedule .block--date {
    top: 8px;
  }
  .list--thumbnail .list__item .block--txt,
  .list__item.new .tit::after {
    transition: 0.3s;
  }
  .footer .nav__list--sns li a:hover,
  .list .list__item a:hover,
  .list--thumbnail .list__item a:hover .block--txt {
    opacity: 0.4;
  }
  /* border background color */
  .area--official {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 100%;
    padding: 60px 15% 50px;
  }
  .page--home .section--hero-img .block--hero-img {
    height: auto;
    display: block;
    padding-top: 0;
    max-height: 100vh;
    width: 65%;
  }
  .page--home .section--hero-img .block--hero-img:not(.movie--message) img {
    display: block;
    max-height: inherit;
    max-width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
    width: 70%;
    margin: 0 auto;
  }
  /* PCの movie--message */
  .block--hero-img.movie--message {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    padding-top: 0;
    height: auto;
    margin: 0 auto;
  }
  .movie--message .movie--content {
    aspect-ratio: 16/9; /* フレームの viewBox 比率に合わせてOK */
  }
  .movie--message .movie--content img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    -o-object-fit: cover;
       object-fit: cover;
    max-height: 100vh !important;
    -o-object-position: 50% 90%;
       object-position: 50% 90%;
  }
  .movie--message .movie--content .cover {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .movie--message .movie--frame {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    pointer-events: none;
    max-height: 100vh !important;
  }
  .area--fc {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 0px 5% 50px;
  }
  .area--fc .block--login .nav__list--login .g-nav--item__join {
    margin-right: 40px;
  }
  .page--home .section--banner {
    margin: -25px 0 150px;
  }
  .header .drawer .g-nav {
    display: flex;
    align-items: stretch;
    justify-content: center;
  }
  .header .drawer .g-nav .nav {
    text-align: left;
  }
  .header .drawer .nav--official,
  .header .drawer .nav--member {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 50vw;
    height: 100vh;
  }
  .header .drawer .nav--official .g-nav--item:hover a,
  .header .drawer .nav--member .g-nav--item:hover a {
    opacity: 0.6;
  }
  .header .drawer .nav--member::before {
    width: 17vw;
    max-width: 300px;
    min-width: 175px;
    height: 10vw;
    max-height: 200px;
    min-height: 100px;
    margin-bottom: 20px;
    position: relative;
    top: 0;
  }
  .header .drawer .nav--member .block--login {
    display: block !important;
    position: relative;
    margin: 0;
    bottom: auto;
    left: 0vw;
  }
  .header .drawer .nav--member .block--login.pc {
    display: block !important;
  }
  .header .drawer .nav--member .block--login .nav__list--login::before {
    content: none;
  }
}
@media screen and (max-width: 960px) {
  .nav__list--login a:hover,
  .profile__more a:hover,
  .list .list__item a:hover,
  .list--thumbnail .list__item a:hover,
  .list--info .sys-schedule a:hover {
    opacity: 1;
  }
  .header .drawer .nav--member .g-nav--item__mypage a:hover, .header .drawer .nav--member .g-nav--item__mypage a:focus-visible {
    opacity: 1;
  }
  .g-nav--item__mypage a:hover {
    opacity: 1;
  }
  .page--home footer .list-tit, .page--home .page--home footer .nav__list--sns li a i, .page--home .page--home .list--support .list__item a, .page--home .header .drawer .nav li a {
    color: #FFF;
    letter-spacing: 0.1em;
  }
  .page--home #news .list__more a:hover::before,
  .page--home #news .list__more a:focus-visible::before,
  .page--home #schedule .list__more a:hover::before,
  .page--home #schedule .list__more a:focus-visible::before,
  .page--home #video .list__more a:hover::before,
  .page--home #video .list__more a:focus-visible::before,
  .page--home #blog .list__more a:hover::before,
  .page--home #blog .list__more a:focus-visible::before,
  .page--home #photo .list__more a:hover::before,
  .page--home #photo .list__more a:focus-visible::before {
    opacity: 1;
  }
  .page--home .list-tit::before,
  .page--home .list-tit::after {
    background: #FFF !important;
  }
  .page--home h1.logo a img {
    display: none;
  }
  .page--home .block--login {
    display: none;
  }
  .page--home .bg {
    height: 140vw;
    position: absolute;
    top: 24vw;
    left: 0;
  }
  .page--home .bg img {
    filter: blur(0);
    transform: none;
    background-position: 0 -5vw;
    background-position: center;
    background-size: contain;
  }
  .page--home .wrap h1.logo {
    height: 35vw;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 3vw;
  }
  .page--home .block--content-wrap {
    padding-top: 0;
  }
  .page--home .area--official {
    padding: 0 5% 80px;
  }
  .page--home .area--fc {
    padding: 60px 5% 50px;
  }
  .page--home .area--fc .block--login ul li a {
    font-size: 14px;
    border-radius: 20px;
  }
  .page--home #news.section--information,
  .page--home #schedule.section--schedule {
    padding: 10%;
    min-height: auto;
  }
  .page--home #video.section--video {
    padding: 10%;
    width: 100%;
  }
  .page--home #video.section--video .list--thumnail--center .list__item {
    width: 100%;
  }
  .page--home .section--profile.block--profile {
    width: 100%;
  }
  .page--home #blog.section--blog {
    width: 100%;
    padding: 10%;
    margin: 0 auto 100px;
  }
  .page--home #blog.section--blog::before {
    content: "";
    position: absolute;
    inset: -20px;
    transform: rotate(4deg);
    transform-origin: 50% 0;
    box-shadow: 0 18px 30px rgba(0, 0, 0, 0.35);
    z-index: -1;
    pointer-events: none;
    --shift-x: -15px;
    left: calc(45px + var(--shift-x));
    right: calc(-35px - var(--shift-x));
  }
  .page--home #blog .block--title::after {
    content: "";
    position: absolute;
    top: -130px;
    left: -10px;
    width: 100px;
    height: 160px;
    z-index: 4;
    pointer-events: none;
  }
  .page--home #photo.section--photo {
    width: 100%;
    padding: 3em 5em 3em 5em;
  }
  .page--home #photo.section--photo::before {
    content: "";
    position: absolute;
    inset: -20px;
    transform: rotate(4deg);
    transform-origin: 50% 0;
    box-shadow: 0 18px 30px rgba(0, 0, 0, 0.35);
    z-index: -1;
    pointer-events: none;
    --shift-x: -15px;
    left: calc(35px + var(--shift-x));
    right: calc(-35px - var(--shift-x));
  }
  .page--home #photo .block--title::after {
    content: "";
    position: absolute;
    right: -10px;
    bottom: -30px;
    width: 100px;
    height: 150px;
    z-index: 4;
    pointer-events: none;
  }
  .page--home .section--hero-img .block--hero-img img {
    width: 100%;
  }
  .page--home .nonlogin .list--thumbnail .list__item .thumb .limited-thumb span {
    font-size: 3vw;
  }
  .drawer__btn {
    display: block !important;
    width: 90px;
    height: 90px;
    position: fixed;
    right: 3vw !important;
    top: 0.6vw !important;
    z-index: 999;
    transition: 0.3s;
    padding: 5px;
    cursor: pointer;
    background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/menu.png) no-repeat center center;
    background-size: contain;
    mix-blend-mode: unset;
  }
  .drawer__btn--item {
    display: none !important;
  }
  h1.logo {
    width: 32vw;
  }
  .page--photo #swipebox-action #swipebox-prev, .page--photo #swipebox-action #swipebox-next {
    color: #fff;
  }
  .page--home .wrap h1.logo a {
    width: 100%;
    height: 100%;
  }
  .header .drawer {
    padding: 0;
    background: #000;
  }
  .header .drawer .g-nav .nav {
    display: block;
    text-align: center;
  }
  .header .drawer .g-nav .nav li {
    width: auto;
    font-size: min(4vw, 18px);
    margin: 0 0.5em;
  }
  .header .drawer .nav--official,
  .header .drawer .nav--member {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 47vh;
    padding: 45px 0 40px;
  }
  .header .drawer .nav--member::before {
    width: 54vw;
    height: 34vw;
    max-width: 260px;
    max-height: 160px;
    margin: 0 auto 20px;
  }
  .header .drawer .nav--member .block--login .nav__list--login {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
  .header .drawer .nav--member .g-nav--item__login a,
  .header .drawer .nav--member .g-nav--item__join a,
  .header .drawer .nav--member .g-nav--item__mypage a {
    width: 110px;
    height: 30px;
  }
  .area--fc .section--login#TopfcLogo {
    margin-bottom: 60px;
  }
  .area--fc .section--login#TopfcLogo .logo--fc {
    width: 60vw;
    max-width: 320px;
    height: 40vw;
    max-height: 220px;
  }
  .area--fc .section--login#TopfcLogo .block--login {
    display: block !important;
  }
  .area--fc .section--login#TopfcLogo .g-nav--item__login a,
  .area--fc .section--login#TopfcLogo .g-nav--item__join a,
  .area--fc .section--login#TopfcLogo .g-nav--item__mypage a {
    width: 110px;
    height: 30px;
  }
  .list__more a:hover {
    color: inherit; /* 元の色に戻す */
  }
  body {
    /* fixed は使わない */
    background: none;
    position: relative;
  }
  body::before {
    content: "";
    position: fixed; /* 擬似要素を固定 */
    inset: 0;
    background-image: url("/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/bg_sp.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    z-index: -1; /* 背面へ */
    pointer-events: none;
    /* iOSの描画安定化 */
    transform: translateZ(0);
    will-change: transform;
  }
  .page--home .section--hero-img {
    height: 110vw;
    margin-top: 60px;
  }
  .page--home .block--hero-img {
    width: 95%;
  }
  .page--home .section--hero-img .block--hero-img:not(.movie--message) img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
  }
  .page--home .section--banner {
    margin-bottom: 100px;
  }
  .page--home .block--hero-img.movie--message {
    position: relative;
    width: 95%;
    max-width: 100%;
    padding-top: 0;
    margin: 0 auto;
  }
  .page--home #photo .block--title {
    margin-bottom: 30px;
  }
  .page--home #photo .block--title::before {
    top: 40px;
  }
  .page--home .list__more {
    margin: 20px auto !important;
  }
  .movie--message .movie--content {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9; /* フレーム比率に合わせて必要なら変更 */
    overflow: hidden;
    --logo-w: 75%;
    --logo-ar: 700 / 325;
    --logo-right: 0%;
    --shadow-x: -20px;
    --shadow-y: 5px;
    --shadow-blur: 10px;
    --shadow-opacity: 0.45;
  }
  .movie--message .movie--content img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; /* 全面フィット（余白出すなら contain） */
    -o-object-position: 50% 90%;
       object-position: 50% 90%;
  }
  .movie--message .movie--content .cover {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .movie--message .movie--frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  .block--contents .block--title .section-tit {
    font-size: 30px;
  }
  .section--list, .section--detail {
    width: 90%;
    padding: 2.5em !important;
  }
  .movie--message .movie--content::after {
    right: 9%;
    top: auto;
    bottom: 0%;
    transform: none;
    width: 50%;
  }
  .page--biography .block {
    margin-bottom: 40px;
  }
  .page--biography .block .list--thumb {
    display: block;
  }
  .page--biography .block .list--thumb li {
    width: 100%;
    margin-bottom: 30px;
    font-size: 13px;
  }
  .kv-stars > .kv-star:nth-of-type(1) {
    position: absolute;
    left: 10%;
    top: 96%;
    width: calc(var(--w, 10) * 1%);
    aspect-ratio: var(--ar, 1/1);
    transform: translate(-50%, -50%);
    background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/light.png) no-repeat center/100% 100%;
    opacity: 1;
    animation: kv-star-blink var(--dur, 2.8s) ease-in-out var(--delay, 0s) infinite;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .kv-stars > .kv-star:nth-of-type(2) {
    position: absolute;
    left: calc(var(--x, 50) * 1%);
    top: 3%;
    width: 30%;
    aspect-ratio: var(--ar, 1/1);
    transform: translate(-50%, -50%);
    background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/light.png) no-repeat center/100% 100%;
    opacity: 1;
    animation: kv-star-blink var(--dur, 2.8s) ease-in-out var(--delay, 0s) infinite;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .kv-stars > .kv-star:nth-of-type(3) {
    position: absolute;
    left: 25%;
    top: 5%;
    width: 40%;
    aspect-ratio: var(--ar, 1/1);
    transform: translate(-50%, -50%);
    background: url(/static/fcopen/fanplakit/artist/hashiyasume_new_TMSXBEDcEA/image/light.png) no-repeat center/100% 100%;
    opacity: 1;
    animation: kv-star-blink var(--dur, 2.8s) ease-in-out var(--delay, 0s) infinite;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  #next {
    z-index: 999;
  }
  .page--schedule .block--refine .checkbox:hover {
    opacity: 1;
  }
}/*# sourceMappingURL=service_TMSXBEDcEA.css.map */