@charset "utf-8";

html {

	font-size:100%;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*, *::before, *::after{
	box-sizing:border-box;
}


.header-background {
	background-color: #ffffff;
	color:white;
	width:100%;
	position: fixed;
	top:0;
	height:76px;
	display:block;
	z-index:9999;
	background-clip:padding-box;
	border-bottom: rgba(122, 123, 135, 0.4) 3px solid;
}



.header-logo {
	
	height:100%;
	position: absolute;
	left:0;
	display:inline-block;

	padding:11px;

}


.header-logo img {
	height:54px;
	padding:5px;

}

/* ここから下がハンバーガーメニューに関するCSS */
  
/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  position: absolute;
  right:74px;
  top: 34px;
  cursor: pointer;
  z-index:99999;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 8px;
  width: 44px;
  border-radius: 3px;
  background: #2e2e2d;
  transition: 0.5s;
  position: absolute;
  
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  margin-top:11px;
	bottom: 14px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 14px;
  margin-bottom:11px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);

}
  
/* メニューのデザイン*/
.nav {
}
.nav_content {
  position: fixed;

  height: 100%;
  top: 0%;
  width:100%;
  left: 100%; /* メニューを画面の外に飛ばす */
  background: rgb(198, 192, 184);
  transition: 0.5s;
  text-align: center;
  padding-top: 3.0rem;
  z-index: 9999;
}

/* メニュー黒ポチを消す */

.nav_list {
	list-style: none;
}

.nav_content a {
	display: inline-block;
	color: #fff;
	font-size: 2.0rem;
	text-decoration: none;
  

}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {

  left: 0;
}

/* ここまで共通ヘッダーに関するCSS */






body {
	background: #151515 url('body-background.jpg') no-repeat fixed left bottom;
	background-size:cover;
	color:#fff;
	text-align:center;
	font-size:1.0rem;
	flex-direction:column;
}

.top_header {
	width:100%;
	background-color:RGB(255,255,255,0.8);
	z-index:9999;
}
.top_header img {
	width:100%;
	object-fit: cover;
}

.main {
	margin-top:76px;

}


.slider {
	position: relative;

	width: 100%;
	overflow: hidden; /* 枠外を隠す */
}
.slider-inner {
  position:relative;

  display: flex; /* 画像を横並びに */
  width: 500%; /* 画像3枚分 */
  animation: slide 15s infinite; /* 10秒でループ */
}
.character-image {

	position: relative;
	width: calc(100% / 5); /* 1枚の幅をコンテナに合わせる */
}

.character-image:nth-child(1) {
  animation-delay: 0s; /* 最初の画像はすぐに表示 */
}

.character-image img {
	position: relative;
	width:100%;

}

@keyframes slide {
  0% { transform: translateX(0); }
  15% { transform: translateX(0); }
  20% { transform: translateX(-20.00%); }
  35% { transform: translateX(-20.00%); }
  40% { transform: translateX(-40.00%); }
  55% { transform: translateX(-40.00%); }
  60% { transform: translateX(-60.00%); }
  75% { transform: translateX(-60.00%); }
  80% { transform: translateX(-80.00%); }
  95% { transform: translateX(-80.00%); }
  100% { transform: translateX(0); }
}

.character-link {
	display: block; 

}

.character-image {
	display: block;          /* 画像下の謎の余白も防げる */
  	width: 100%;             /* 元々100%で見せたい場合 */
 	height: auto;
}

h2 {

	font-family: "Kaisei HarunoUmi", serif;
 	font-weight: 400;
 	font-style: normal;
	font-size:1.5rem;
	text-align: center;
	margin-top:3.0rem;
	border-bottom: 3px solid rgba(255, 255, 255, 0.7);
	padding: 0.5rem 0;
}

/*共通ヘッダーのCSS */



/*共通ヘッダーのCSSここまで */


.content_title {
	background-color:RGB(255,255,255,0.8);
	padding:0%;
	margin:0px auto;
	border-radius:15px;
}

.content_title h1{
	text-align:center;
	width:100%;
}

.content_world {
	padding:0px 1.5rem 0px 1.5rem;
	color:#ccc;
	font-size:1.0rem;
}




/* PC用（デフォルト） */
.chara {
	width:100%;
	display:inline-block;
	height:cover;	
	color:white;
	border-radius: 15px;
	border: double 5px white;



}



.characters ul {
	list-style-type:none;
	text-align:center;
	padding:0;
}

.characters li {
	display:inline;
}

.chara {
	width:22%;
	margin-top: 1.0rem;
}

.chara img {
	width: 100%;
}

.chara h3 {
	font-size:0.8rem;
}

.characters h6 {
	font-size:0.2rem;
	color:black;
}


/* キャラクターページのCSS */

.characterpage-inner {
	display: inline-block;
	margin:0 auto;
	padding:0 1.5rem 0 1.5rem;
	width:100%;

}

.characterpage-description {
	 text-align: left;
}


.content_movie {
	width:100%;

}

.content_movie ul {
	list-style-type:none;
	text-align:center;
	padding:0;
}

.content_movie li {
	list-style:none;
}

.content_movie h4 {
	color:black;
	font-size:0.8rem;
	margin-top:0.5rem;
	margin-bottom:0.5rem;
}

.content_movie iframe {
	margin:10px;
	width:80%;
}


.carousel {
	width:100%;
	height:cover;
	margin:0 auto;
}

.carousel ul {
	list-style-type:none;
}

.carousel li {
	display:inline-block;

}

.item {
	width:16%;
}
.item img {
	width: 6.0rem;
	height:6.0rem;
	object-fit: cover;
}

.characterpage-image {
	border-top: #2e2e2d 5px double;
	width:100%;
	height:cover;
}



.characterpage {
	display: inline-block;
}



.characterpage-inner{
	width:100%;
	margin:0 auto;
}

.characterpage-inner h1 {
	font-size:1.8rem;
	padding-bottom:1.0rem;
	border-bottom:1px solid rgba(255, 255, 255, 0.7);
}

.characterpage-inner h4 {
	font-size:0.8rem;
}

.characterpage-gallery{
	margin: 2.0rem;
	padding-bottom:1.0rem;
	color: rgb(224, 208, 208);
	border-top: #3f3f3f 2px double;
	border-bottom: #3f3f3f 2px double;
}

.characterpage-description {
	margin-top:2.0rem;
	font-size:0.8rem;
	color:#ccc;
}

.fanart-grid img {
	border-top: #3f3f3f 2px double;
	display: flex;
	width: 100%;
	object-fit: cover;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.0rem;
	margin-top: 1.0rem;
	padding-top: 1.0rem;
}

.fanart-meta {
	font-size: 1.0rem;
	color: #ccc;
	margin-top: 1.0rem;
}

footer{
	margin-top:3.0rem;
	background-color: gray;
	color:white;
	height:76px;
	width:100%;
}

footer p {
	padding: 1.5rem;
	font-size:0.8rem;
}

body {
	margin-top:76px;

}