@charset "UTF-8";


/*____________ common_____________

_______ font

font-family: source-han-sans-japanese, sans-serif;
font-weight: 400;
font-style: normal;

font-family: source-han-sans-japanese, sans-serif;
font-weight: 500;
font-style: normal;

font-family: yu-gothic-pr6n, sans-serif;
font-weight: 400;
font-style: normal;





#ffffff
#000000
#E5B611

text-shadow: 0px 0px 6px rgba(255, 255, 255, 0.85);

*/


/* Design tokens shared by all pages. */
:root {

  /* Colors: 基本パレット。番号付きUtilityと旧実装の互換用 */
  --color-01: #ffffff;
  --color-02: #E5B611;
  --color-03: #E5B611;
  --color-04: #c8c8c8;

  /* Semantic colors: common.cssでは原則こちらを使用 */
  --color-text: var(--color-04);
  --color-inverse: var(--color-01);
  --color-accent: var(--color-02);
  --color-accent-secondary: var(--color-03);
  --color-surface: var(--background-color);
  --color-surface-subtle: var(--background-color-subtle);

  /* Text and links */
  --base-font-color: var(--color-text);
  --link-font-color: var(--color-accent-secondary);
  --link-font-hover-color: var(--color-inverse);

  /* SNSアイコンの基準色 */
  --sns-icon-color: #fff;

  /* Menu colors */
  --openbtn-color: var(--color-02);
  --openbtn-color2: var(--color-02);
  --openbtn-basecolor: hsla(0, 0%, 100%, 0);

  /* グローバルナビ内ロゴと項目 */
  --g-nav-logo-width: 300px;
  --g-nav-logo-width-sp: 200px;
  --g-nav-logo-max-width: 45vw;
  --nav-item-border-height: 0px;
  --menu-font-color: var(--color-03);
  --menu-font-hover-color: var(--color-01);

  /* ハンバーガー／モーダル閉じるボタン。上段がPC、mobileがSP */
  --menu-toggle-width: 110px;
  --menu-toggle-height: 84px;
  --menu-toggle-line-width: 52px;
  --menu-toggle-line-height: 3px;
  --menu-toggle-width-mobile: 64px;
  --menu-toggle-height-mobile: 60px;
  --menu-toggle-line-width-mobile: 36px;

  /* Borders: 通常、hover、強調の順に濃くする */
  --link-border-color: hsla(0, 0%, 100%, 0.25);
  --link-border-color-strong: hsla(0, 0%, 100%, 0.35);
  --link-border-color-emphasis: hsla(0, 0%, 100%, 0.55);
  --border-color: hsla(0, 0%, 100%, 0.3);

  /* Backgrounds: ページ、補助面、各種オーバーレイ */
  --background-color: hsla(0, 0%, 0%, 1);
  --background-color-subtle: hsla(0, 0%, 40%, 1);
    
  --loader_cover-color: #000;
  --menu_cover-color: hsla(0, 0%, 0%, 0.9);
  --modal_cover-color: hsla(0, 0%, 0%, 0.9);

  /* Typography: 本文用と見出し・UI用 */
  --font-family-base: source-han-sans-japanese, sans-serif;
  --font-family-accent:yu-gothic-pr6n, sans-serif;

  /* 固定文字サイズのrem換算値 */
  --14px: 0.875rem;
  --15px: 0.9375rem;
  --16px: 1rem;
  --17px: 1.0625rem;
  --18px: 1.125rem;
  --19px: 1.1875rem;
  --20px: 1.25rem;
  --21px: 1.3125rem;

  /* 可変文字サイズ */
  --font-size-xlarge: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
  --font-size-large: clamp(0.9rem, 0.827rem + 0.36vw, 1.1rem);
  --font-size-default: clamp(0.9rem, 0.864rem + 0.18vw, 1rem);
  --font-size-small: clamp(0.8rem, 0.764rem + 0.18vw, 0.9rem);
  --font-size-menu: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);

  /* 行間 */
  --line-height-default: 1.8;
  --line-height-large: 2;

  /* フォントウェイト */
  --font-weight-medium: 400;
  --font-weight-semibold: 500;
  --font-weight-bold: 500;
  --font-weight-black: 500;

  /* Spacing and content widths: SP余白比率とコンテナ幅 */
  --spacing-mobile-ratio: 1.5;
  --pc-contents-width: 95%;
  --sp-contents-width: 90%;
  --width-default: 1200px;
  --width-wide: 1400px;
  --width-small: 1000px;

  /* フッター固有の共通寸法 */
  --footer-logo-width: 1000px;
  --social-buttons-width: 300px;

  /* Project assets: 案件ごとに差し替えるPC／SP背景画像 */
  --project-background-image: url("../img/common/base.webp");
  --project-background-image-mobile: url("../img/common/base_sp.webp");

  /* Titles: 共通セクション見出し */
  --title-font-size: clamp(1.3rem, 1.045rem + 1.27vw, 2rem);
  --title-font-weight: 700;
  --title-font-color: var(--color-04);
  --title-letter-spacing: 0.2rem;
  --title-font-family: var(--font-family-accent);

  /* Names: キャスト名など人物名 */
  --name-font-size: clamp(1.3rem, 1.082rem + 1.09vw, 1.9rem);
  --name-font-size-small: clamp(1.063rem, 0.994rem + 0.34vw, 1.25rem);
}

/*------------------------------------------------------------------------
// Utility
------------------------------------------------------------------------*/

/* Variable-driven utilities */

.text-color-01 { color: var(--color-01) !important; }
.text-color-02 { color: var(--color-02) !important; }
.text-color-03 { color: var(--color-03) !important; }
.text-color-04 { color: var(--color-04) !important; }

.bg-color-01 { background-color: var(--color-01) !important; }
.bg-color-02 { background-color: var(--color-02) !important; }
.bg-color-03 { background-color: var(--color-03) !important; }
.bg-color-04 { background-color: var(--color-04) !important; }
.bg-color-default { background-color: var(--background-color) !important; }
.bg-color-subtle { background-color: var(--background-color-subtle) !important; }

.font-family-base { font-family: var(--font-family-base) !important; }
.font-family-accent { font-family: var(--font-family-accent) !important; }

.font-size-xlarge { font-size: var(--font-size-xlarge) !important; }
.font-size-large { font-size: var(--font-size-large) !important; }
.font-size-default { font-size: var(--font-size-default) !important; }
.font-size-small { font-size: var(--font-size-small) !important; }

.line-height-default { line-height: var(--line-height-default) !important; }
.line-height-large { line-height: var(--line-height-large) !important; }

@media (max-width: 767px) {
	.line-height-large {
		line-height: calc(var(--line-height-large) / 0.9) !important;
	}
}

.font-weight-medium { font-weight: var(--font-weight-medium) !important; }
.font-weight-semibold { font-weight: var(--font-weight-semibold) !important; }
.font-weight-bold { font-weight: var(--font-weight-bold) !important; }
.font-weight-black { font-weight: var(--font-weight-black) !important; }

.max-width-default { max-width: var(--width-default); }
.max-width-wide { max-width: var(--width-wide); }
.max-width-small { max-width: var(--width-small); }

/* Display */

/* SP設定 */

.sp {
	display: none;
}

@media (max-width: 767px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block;
	}
}

img {
	width: 100%;
	height: auto;
}

img.self-size {
	width: 100%;
	max-width: 100%;
}

.anime_a,
.last_anime {
	opacity: 0;
}

.soon,
.opacity-30 {
	opacity: 0.3;
}

.mt-0 { margin-top: 0rem !important; }
.mt-0-5 { margin-top: 0.5rem !important; }
.mt-1 { margin-top: 1rem !important; }
.mt-2 { margin-top: 2rem !important; }
.mt-3 { margin-top: 3rem !important; }
.mt-4 { margin-top: 4rem !important; }
.mt-5 { margin-top: 5rem !important; }
.mt-6 { margin-top: 6rem !important; }
.mt-7 { margin-top: 7rem !important; }
.mt-8 { margin-top: 8rem !important; }
.mt-9 { margin-top: 9rem !important; }
.mt-10 { margin-top: 10rem !important; }

.mb-0 { margin-bottom: 0 !important; }
.mb-0-5 { margin-bottom: 0.5rem !important; }
.mb-1 { margin-bottom: 1rem !important; }
.mb-2 { margin-bottom: 2rem !important; }
.mb-3 { margin-bottom: 3rem !important; }
.mb-4 { margin-bottom: 4rem !important; }
.mb-5 { margin-bottom: 5rem !important; }
.mb-6 { margin-bottom: 6rem !important; }
.mb-7 { margin-bottom: 7rem !important; }
.mb-8 { margin-bottom: 8rem !important; }
.mb-9 { margin-bottom: 9rem !important; }
.mb-10 { margin-bottom: 10rem !important; }

.mr-1 { margin-right: 1rem !important; }
.ml-1 { margin-left: 1rem !important; }

.pt-1 { padding-top: 1rem !important; }
.pt-2 { padding-top: 2rem !important; }
.pt-3 { padding-top: 3rem !important; }
.pt-4 { padding-top: 4rem !important; }
.pt-5 { padding-top: 5rem !important; }
.pt-6 { padding-top: 6rem !important; }
.pt-7 { padding-top: 7rem !important; }
.pt-8 { padding-top: 8rem !important; }
.pt-9 { padding-top: 9rem !important; }
.pt-10 { padding-top: 10rem !important; }

.pb-1 { padding-bottom: 1rem !important; }
.pb-2 { padding-bottom: 2rem !important; }
.pb-3 { padding-bottom: 3rem !important; }
.pb-4 { padding-bottom: 4rem !important; }
.pb-5 { padding-bottom: 5rem !important; }
.pb-6 { padding-bottom: 6rem !important; }
.pb-7 { padding-bottom: 7rem !important; }
.pb-8 { padding-bottom: 8rem !important; }
.pb-9 { padding-bottom: 9rem !important; }
.pb-10 { padding-bottom: 10rem !important; }

@media (max-width: 767px) {
	.mt-1 { margin-top: calc(1rem / var(--spacing-mobile-ratio)) !important; }
	.mt-2 { margin-top: calc(2rem / var(--spacing-mobile-ratio)) !important; }
	.mt-3 { margin-top: calc(3rem / var(--spacing-mobile-ratio)) !important; }
	.mt-4 { margin-top: calc(4rem / var(--spacing-mobile-ratio)) !important; }
	.mt-5 { margin-top: calc(5rem / var(--spacing-mobile-ratio)) !important; }
	.mt-6 { margin-top: calc(6rem / var(--spacing-mobile-ratio)) !important; }
	.mt-7 { margin-top: calc(7rem / var(--spacing-mobile-ratio)) !important; }
	.mt-8 { margin-top: calc(8rem / var(--spacing-mobile-ratio)) !important; }
	.mt-9 { margin-top: calc(9rem / var(--spacing-mobile-ratio)) !important; }
	.mt-10 { margin-top: calc(10rem / var(--spacing-mobile-ratio)) !important; }

	.mb-2 { margin-bottom: calc(2rem / var(--spacing-mobile-ratio)) !important; }
	.mb-3 { margin-bottom: calc(3rem / var(--spacing-mobile-ratio)) !important; }
	.mb-4 { margin-bottom: calc(4rem / var(--spacing-mobile-ratio)) !important; }
	.mb-5 { margin-bottom: calc(5rem / var(--spacing-mobile-ratio)) !important; }
	.mb-6 { margin-bottom: calc(6rem / var(--spacing-mobile-ratio)) !important; }
	.mb-7 { margin-bottom: calc(7rem / var(--spacing-mobile-ratio)) !important; }
	.mb-8 { margin-bottom: calc(8rem / var(--spacing-mobile-ratio)) !important; }
	.mb-9 { margin-bottom: calc(9rem / var(--spacing-mobile-ratio)) !important; }
	.mb-10 { margin-bottom: calc(10rem / var(--spacing-mobile-ratio)) !important; }

	.pt-1 { padding-top: calc(1rem / var(--spacing-mobile-ratio)) !important; }
	.pt-2 { padding-top: calc(2rem / var(--spacing-mobile-ratio)) !important; }
	.pt-3 { padding-top: calc(3rem / var(--spacing-mobile-ratio)) !important; }
	.pt-4 { padding-top: calc(4rem / var(--spacing-mobile-ratio)) !important; }
	.pt-5 { padding-top: calc(5rem / var(--spacing-mobile-ratio)) !important; }
	.pt-6 { padding-top: calc(6rem / var(--spacing-mobile-ratio)) !important; }
	.pt-7 { padding-top: calc(7rem / var(--spacing-mobile-ratio)) !important; }
	.pt-8 { padding-top: calc(8rem / var(--spacing-mobile-ratio)) !important; }
	.pt-9 { padding-top: calc(9rem / var(--spacing-mobile-ratio)) !important; }
	.pt-10 { padding-top: calc(10rem / var(--spacing-mobile-ratio)) !important; }

	.pb-1 { padding-bottom: calc(1rem / var(--spacing-mobile-ratio)) !important; }
	.pb-2 { padding-bottom: calc(2rem / var(--spacing-mobile-ratio)) !important; }
	.pb-3 { padding-bottom: calc(3rem / var(--spacing-mobile-ratio)) !important; }
	.pb-4 { padding-bottom: calc(4rem / var(--spacing-mobile-ratio)) !important; }
	.pb-5 { padding-bottom: calc(5rem / var(--spacing-mobile-ratio)) !important; }
	.pb-6 { padding-bottom: calc(6rem / var(--spacing-mobile-ratio)) !important; }
	.pb-7 { padding-bottom: calc(7rem / var(--spacing-mobile-ratio)) !important; }
	.pb-8 { padding-bottom: calc(8rem / var(--spacing-mobile-ratio)) !important; }
	.pb-9 { padding-bottom: calc(9rem / var(--spacing-mobile-ratio)) !important; }
	.pb-10 { padding-bottom: calc(10rem / var(--spacing-mobile-ratio)) !important; }
}

/*windows webフォント対策*/
/*widows シャギ-対策 textboxのみに設定 fixedが効かなくなる*/

.webfont,
.font-rendering-fix {
	transform: rotate(0.05deg);
}

/*スクリーンリーダーから隠す*/

.visually-hidden {
	position: absolute;
	white-space: nowrap;
	width: 1px;
	height: 1px;
	overflow: hidden;
	border: 0;
	padding: 0;
	clip: rect(0 0 0 0);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	margin: -1px;
}

/*幅*/

.width-10 { width: 10%; }
.width-20 { width: 20%; }
.width-30 { width: 30%; }
.width-40 { width: 40%; }
.width-50 { width: 50%; }
.width-60 { width: 60%; }
.width-70 { width: 70%; }
.width-80 { width: 80%; }
.width-90 { width: 90%; }
.width-100 { width: 100%; }

/*注釈*/
.text-note {
	margin-left: 1em;
	text-indent: -1em;
}

/*配置*/
.text-right {
	text-align: right;
}

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.margin-center {
	position: relative;
	left: 0;
	right: 0;
	margin: auto;
}

.margin-inline-auto {
	margin-inline: auto !important;
}


.container__base._wide {
	max-width: var(--width-wide);
}

.container__base._small {
	max-width: var(--width-small);
}

.container__base._full{
	width:100%;
}

.display-block {
	display: block;
}

.display-none {
	display: none;
}

.position-relative {
	position: relative;
}

.position-absolute {
	position: absolute;
}

/*flex*/

.flex-between,
.flex-justify-between {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flex-center,
.flex-justify-center {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}

.flex-around,
.flex-justify-around {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
}

.flex-right,
.flex-justify-end {
	display: flex;
	justify-content: flex-end;
}

.flex-align-center {
	align-items: center;
}

.flex-align-top,
.flex-align-start {
	align-items: flex-start;
}

.flex-align-bottom,
.flex-align-end {
	align-items: flex-end;
}

.flex--item__one,
.flex-item-full {
	width: 100%;
}

.flex--item__two,
.flex-item-half {
	width: 48%;
}

.flex--item__three,
.flex-item-third {
	width: 32.5%;
}

/*comment*/

.flex--item__img,
.flex-item-image {
	width: 40%;
}

.flex--item__text,
.flex-item-text {
	width: 57%;
}

@media (max-width: 767px) {
	.flex--item__img,
	.flex-item-image {
		width: 100%;
	}

	.flex--item__text,
	.flex-item-text {
		margin-top: 20px;
		width: 100%;
	}
}

.img--button__three {
	width: 31%;
}

.img--button__three img {
	width: 100% !important;
}

.flex--item__two__last::after,
.flex-item-half-last::after {
	content: "";
	display: block;
	width: 49%;
}

.flex--item__three__last,
.flex-item-third-last {
	position: relative;
	content: "";
	display: block;
	width: 32%;
}

.flex--item__three__last::after,
.flex-item-third-last::after {
	content: "";
	display: block;
	width: 32%;
}

.flex--item__two:nth-of-type(n+3),
.flex-item-half:nth-of-type(n+3) {
	margin-top: 40px;
}

.flex--item__three:nth-of-type(n+4),
.flex-item-third:nth-of-type(n+4) {
	margin-top: 40px;
}

.img--button__three:nth-of-type(n+4) {
	margin-top: 20px;
}

@media (max-width: 767px) {
	.flex--item__two,
	.flex-item-half {
		width: 100%;
	}

	.flex--item__three:not(:first-child),
	.flex-item-third:not(:first-child) {
		margin-top: 25px;
	}

	.flex--item__three,
	.flex-item-third {
		width: 100%;
	}

	.flex--item__two:not(:first-child),
	.flex-item-half:not(:first-child) {
		margin-top: 25px;
	}

	.img--button__three {
		width: 70%;
		margin-left: auto;
		margin-right: auto;
	}

	.img--button__three:not(:first-child) {
		margin-top: 10px;
	}
}

/*________________画像ボタン*/

.img--button {
	cursor: pointer;
	position: relative;
}

/* 画像のスタイル */
.img--button img {
	height: auto;
	left: 0;
	position: relative;
	width: 100%;
}

/* 2枚目の画像は最初透明 */
.img--button img:last-of-type {
	opacity: 0;
	transition: opacity .3s;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
}

/* hoverすると2枚目の画像が透明じゃなくなる */
.img--button:hover img {
	opacity: 1;
}

/*________________zoom画像ボタン*/

.zoomImgBox {
	cursor: pointer;
}

.zoomImgBox img {
	opacity: 0.9;
	display: block;
	transition-duration: 0.5s;
}

.zoomImgBox img:hover {
	opacity: 1;
	transform: scale(1.05);
	transition-duration: 0.2s;
}

.zoomImgBox2 {
	cursor: pointer;
}

.zoomImgBox2 img {
	opacity: 1;
	display: block;
	transition-duration: 0.5s;
	border: 1px solid hsla(0,0%,100%,0);
}

.zoomImgBox2 img:hover {
	opacity: 1;
	transform: scale(1.05);
	transition-duration: 0.2s;
	border: 1px solid hsla(0,0%,100%,1.00);
	background-color: #000;
}

/*youtube*/

.youtube {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 0px;
	height: 0;
	overflow: hidden;
	margin-top: 0px;
	margin-bottom: 0px;
}

.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Ruby */

ruby[data-ruby] {
	position: relative;
}

ruby[data-ruby]::before {
	position: absolute;
	right: -3em;
	bottom: 102%;
	left: -3em;
	content: attr(data-ruby);
	line-height: 100%;
	text-align: center;
	transform: scale(0.5);
	transform-origin: bottom center;
}

ruby[data-ruby] rt {
	display: none;
}
