/* WordPress 化で必要になった最小限の補正 */
.hy-hp { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }
/* ページのフェードイン（元サイトは body の opacity:0 を JS で 1 にしていた。JS が無い場合は最初から表示） */
body.hy-fade { opacity: 0; transition: opacity 1s; }
body.hy-fade.hy-fade-in { opacity: 1; }
@media (prefers-reduced-motion: reduce) { body.hy-fade { opacity: 1; transition: none; } }
/* 見出しタグは文書構造のためだけに使い、見た目は各クラスで決める */
h1, h2, h3 { margin: 0; font-size: inherit; font-weight: inherit; }
.page-title > span { display: block; }
main { display: block; }
.l-header__button { background: none; border: 0; padding: 0; font: inherit; color: inherit; }
/* srcset 付き画像は width/height 属性を持つので、高さは CSS に任せる */
img[class*="__image__size"], img[class*="__image__link"], img.c-news__content__image, img.c-home__profiles__content__right__image2, img.c-profiles__image__left__image { height: auto; }

/* トップの動画: 読み込み前から枠を確保し、ヘッダーと合わせて画面いっぱい（100vh）にする。
   動画は枠に合わせて切り抜き（object-fit: cover）。元サイトの left オフセットは使わない */
:root { --hy-header-h: 80px; }
@media screen and (max-width: 800px) { :root { --hy-header-h: 60px; } }
.c-home__video {
  position: relative;
  height: calc(100vh - var(--hy-header-h));
  height: calc(100svh - var(--hy-header-h));
  overflow: hidden;
  background: #1a1a1a url(../img/hero-poster.webp) center / cover no-repeat;
}
.c-home__video .c-home__video__size {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* プロフィールの画像は角を丸くする（プロフィールページの写真 2 枚・SNS カード・トップのプロフィール写真） */
.c-profiles__image__left__image,
.c-home__profiles__content__right__image2 { border-radius: 12px; }
.c-profiles__bottom__image,
.c-profiles__bottom__image__cover,
.c-profiles__bottom__image__link { border-radius: 12px; }
.c-profiles__bottom__image { overflow: hidden; }
/* 写真は親の枠で切り取られて表示されるので、枠の側にも角丸を付ける */
.c-home__profiles__content__right,
.c-home__profiles1100__middle,
.c-profiles__image__left,
.c-profiles__image__right { border-radius: 12px; overflow: hidden; }

/* 英字のロゴ・メニュー・見出しは Cormorant Garamond（同梱）。本文の Zen Old Mincho は site.css 側で指定 */
.l-header__left__link, .l-header__left__link2,
.l-header__right__link, .l-header__right2 a, .l-footer__bottom__right__link,
.c-home__news__top__left, .c-home__profiles__top__left,
.c-home__news__top__right__link__text, .c-home__profiles__top__right__link__text,
.c-home__profiles__content__left__top__name__en,
.l-footer__bottom__left__name, .l-footer__contact, .l-footer__bottom__left__copy, .l-footer__bottom2,
.c-news__bottom__left__content__status__right__s, .c-news__content__date__s {
  font-family: "Cormorant Garamond", serif;
}
.l-header__left__link, .l-header__left__link2 { font-weight: 700; }
.l-header__right__link, .l-header__right2 a, .l-footer__bottom__right__link { font-weight: 600; font-size: 1.1em; }
.c-home__news__top__left, .c-home__profiles__top__left { font-weight: 500; }
.c-home__news__top__right__link__text, .c-home__profiles__top__right__link__text { font-weight: 600; }

/* ページ上部の見出し（NEWS / CONCERT / PROFILE / CONTACT）は画像ではなく文字で */
.page-title__text {
  display: inline-block;
  height: auto;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1;
  letter-spacing: 10px;
  color: #295981;
}
@media screen and (max-width: 800px) {
  .page-title__text { font-size: 30px; letter-spacing: 7px; }
}

/* ---- プロフィールページの調整 ---- */
/* 写真は縦長に（260px → 420px）。枠に合わせて切り抜き */
.c-profiles__image { height: 420px; gap: 16px; }
.c-profiles__image__left, .c-profiles__image__right { width: calc(50% - 8px); }
img.c-profiles__image__left__image { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
/* 写真と経歴の間の空き（元は空の経歴枠で 170px）を詰める */
.c-profiles__detail { margin-top: 48px; }
/* SNS リンク: 5 つを等幅で 1 列に並べる。角は付けず、カードの間だけ空ける */
.c-profiles__bottom { padding-top: 64px; gap: 14px; display: grid; grid-template-columns: repeat(5, 1fr); width: 80%; }
.c-profiles__bottom__image { width: auto; height: 150px; border-radius: 0; overflow: hidden; }
.c-profiles__bottom__image__cover { border-radius: 0; opacity: .45; transition: opacity .3s; }
.c-profiles__bottom__image:hover .c-profiles__bottom__image__cover { opacity: .3; }
img.c-profiles__bottom__image__link { border-radius: 0; width: 100%; height: 100%; object-fit: cover; }
.c-profiles__bottom__image__text { height: auto; top: 50%; display: flex; align-items: center; white-space: nowrap; }
.c-profiles__bottom__image__text__font { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 18px; letter-spacing: 1px; }
@media screen and (max-width: 1100px) {
  .c-profiles__bottom__image { height: 120px; }
}
@media screen and (max-width: 800px) {
  .c-profiles__image { height: 300px; gap: 10px; }
  .c-profiles__image__left, .c-profiles__image__right { width: calc(50% - 5px); }
  .c-profiles__bottom { grid-template-columns: 1fr; gap: 10px; padding-top: 48px; }
  .c-profiles__bottom__image { height: 76px; }
}
@media screen and (max-width: 500px) {
  .c-profiles__bottom { width: 100%; }
}

/* ファーストビューの文字も同梱フォントに揃える */
.c-home__video__text__top { font-family: "Cormorant Garamond", serif; font-weight: 500; letter-spacing: 4px; }
.c-home__video__text__bottom { font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif; font-weight: 500; }

/* 一覧に 1 件もないときの案内 */
.hy-empty { width: 100%; align-self: flex-start; margin: 10px 0 40px; padding: 0; color: #555; font-size: 15px; letter-spacing: 1px; }
