@charset "UTF-8";

body {
	text-align: center;
	background: url(../img/bg_border.jpg);
	background-attachment: fixed;
	overflow-x: hidden;
}

body > .container {
	position: relative;
	width: 960px;
	border-left: 1px solid #b1b4b9;
	border-right: 1px solid #b1b4b9;
	margin: auto;
	padding-top: 1145px;
	box-sizing: border-box;
	text-align: left;
	background: #FFFFFF url(../img/bg_fix_231229.jpg?20231221) no-repeat;
	background-position: center 20px;
	background-size: auto auto;
	background-attachment: fixed;
}
body > .container::before {
	content: "";
	position: absolute;
	top: 0;
	margin-left: -1px;
	width: 960px;
	height: 1145px;
	background: url(../img/bg_contents_231229.png?20231221) no-repeat;
	background-position: center 63px;
	background-size: 100% auto;
	z-index: 0;
}


/** HEADER **/
body > .container > header {
	position: fixed;
	top: 0;
	width: 959px;
	height: 62px;
	border-right: 1px solid #b1b4b9;
	box-shadow: 0px 8px 6px -4px rgba(177, 180, 185, 0.7);
	background-color: #FFF;
	z-index: 999;
}
body > .container > header h1 {
	display: inline-block;
	width: 190px;
	height: 63px;
	margin: 20px 20px 0 30px;
	background: url(../img/logo.png) no-repeat;
	background-size: 100% auto;
}
body > .container > header h1 a {
	display: block;
	width: 190px;
	height: 63px;
	overflow: hidden;
	text-indent: -9999px;
}
body > .container > header nav {
	position: absolute;
	display: inline-block;
	left: 240px;
	top: 35px;
	vertical-align: top;
}
body > .container > header nav > ul {
	letter-spacing: -.40em;
	height: 11px;
}
body > .container > header nav > ul > li {
	display: inline-block;
	position: relative;
	height: 11px;
	margin-right: 25px;
	letter-spacing: normal;
	vertical-align: top;
}
body > .container > header nav > ul > li::after {
	content: "";
	position: absolute;
	display: inline-block;
	top: 0;
	right: -25px;
	width: 25px;
	height: 11px;
	background: url(../img/nav_split.png) no-repeat left bottom;
}
body > .container > header nav > ul > li:nth-last-child(1)::after {
	display: none;
}
body > .container > header nav > ul > li > a {
	display: block;
	height: 11px;
	overflow: hidden;
	text-indent: -999px;
	background: #FFF url(../img/nav.png) no-repeat left top;
}
body > .container > header nav > ul > li.news { width: 68px; }
body > .container > header nav > ul > li.titles { width: 81px; }
body > .container > header nav > ul > li.book { width: 68px; }
body > .container > header nav > ul > li.about { width: 84px; }
body > .container > header nav > ul > li.link { width: 56px; margin-right: 0; }
body > .container > header nav > ul > li.news > a { background-position: 0px -24px; }
body > .container > header nav > ul > li.titles > a { background-position: -93px -24px; }
body > .container > header nav > ul > li.book > a { background-position: -199px -24px; }
body > .container > header nav > ul > li.about > a { background-position: -293px -24px; }
body > .container > header nav > ul > li.link > a { background-position: -402px -24px; }
body > .container > header nav > ul > li > a:hover {
	background: #FFF url(../img/nav.png) no-repeat left top;
}
body > .container > header nav > ul > li.news > a:hover { background-position: 0px 0px; }
body > .container > header nav > ul > li.titles > a:hover { background-position: -93px 0px; }
body > .container > header nav > ul > li.book > a:hover { background-position: -199px 0px; }
body > .container > header nav > ul > li.about > a:hover { background-position: -293px 0px; }
body > .container > header nav > ul > li.link > a:hover { background-position: -402px 0px; }
body > .container > header nav > ul > li.disabled.news > span { background-position: 0px -12px; }
body > .container > header nav > ul > li.disabled.titles > span { background-position: -93px -12px; }
body > .container > header nav > ul > li.disabled.book > span { background-position: -199px -12px; }
body > .container > header nav > ul > li.disabled.about > span { background-position: -293px -12px; }
body > .container > header nav > ul > li.disabled.link > span { background-position: -402px -12px; }
body > .container > header nav > ul > li .menu-titles::before{
	content: "▲";
	position: absolute;
	display: inline-block;
	content: "▲";
	position: absolute;
	display: inline-block;
	top: -18px;
	left: 80px;
	color: rgba(255, 255, 255, 0.9);
}
body > .container > header nav > ul > li .menu-titles {
	position: absolute;
	display: none;
	background-color: rgba(255, 255, 255, 0.95);
	border-radius: 10px;
	padding: 20px;
	top: 40px;
	left: -45px;
	width: 410px;
	box-shadow: 0 5px 20px 0 #808080;
}
body > .container > header nav > ul > li .menu-titles.show { display: inline-block; }
body > .container > header nav > ul > li .menu-titles > ul li {
	font-size: 12px;
	width: 240px;
}
body > .container > header nav > ul > li .menu-titles a {
	color: #000000;
}
body > .container > header nav > ul > li .menu-titles a:hover {
	color: #FF0000;
}
body > .container > header nav > ul > li .menu-titles > ul li > a {
	position: relative;
	display: block;
}
body > .container > header nav > ul > li .menu-titles > ul li > a::after {
	content: "▶";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
}
body > .container > header nav > ul > li .menu-titles > .link {
	font-size: 12px;
	width: 240px;
	padding: 15px 0 0 0;
	margin-top: 15px;
	border-top: 1px solid #000;
}
body > .container > header nav > ul > li .menu-titles > ul li .comingsoon {
	display: none;
	font-size: 10px;
	border: 1px solid #909090;
	background-color: #e8e8e8;
	color: #635c5c;
	border-radius: 10px;
	line-height: 1;
	padding: 1px 10px;
}
body > .container > header nav > ul > li .menu-titles > ul li .view {
	position: absolute;
	display: none;
	top: 20px;
	left: 250px;
	width: 150px;
	padding-left: 30px;
	opacity: 0;
	transition: all .2s linear;
}
body > .container > header nav > ul > li .menu-titles > ul li:hover a { color: #FF0000; }
body > .container > header nav > ul > li .menu-titles > ul li:hover .view {
	display: block;
	opacity: 1;
}
body > .container > header nav > ul > li .menu-titles > ul li .view > .info,
body > .container > header nav > ul > li .menu-titles > ul li .view > time {
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	display: block;
	margin-bottom: 5px;
}
body > .container > header nav > ul > li .menu-titles > ul li .view > .link {
	width: 100%;
}
body > .container > header nav > ul > li .menu-titles > ul li .view img {
	max-width: 100%;
	height: auto;
}
body > .container > header .social {
	position: absolute;
	bottom: 10px;
	right: 10px;
	height: 30px;
	display: inline-block;
}
body > .container > header .social > div {
	display: inline-block;
}
body > .container > header .social > div > iframe {
	vertical-align: bottom;
}


/** CONTENTS **/
body > .container > .contents {
	width: 860px;
	margin: auto;
	padding: 20px;
	background-color: rgba(255, 255, 255, 0.9);
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
}
body > .container > .contents section {
	margin-bottom: 70px;
}
body > .container > .contents section > h2 {
	padding: 10px 0;
	margin-bottom: 20px;
	border-bottom: 1px solid #000;
}


/** CONTENTS > SLIDER **/
body > .container > .contents section.slider {
	position: absolute;
	top: 107px;
	left: 30px;
	width: 235px;
	height: 268px;
	margin: 0;
	border: 1px solid #000;
	overflow: hidden;
}
body > .container > .contents section.slider ul li {
	display: inline-block;
	width: 100%;
}
body > .container > .contents section.slider ul li figure figcaption {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	color: #FFF;
	padding: 3px 3px;
	box-sizing: border-box;
}
body > .container > .contents section.slider ul li figure figcaption p{
	font-size: 12px;
}
body > .container > .contents section.slider ul li figure time {
	position: absolute;
	background-color: #000;
	width: 100%;
	top: 0;
	left: 0;
	color: #fff;
}
body > .container > .contents section.slider ul li figure time p {
	font-size: 12px;
}
body > .container > .contents section.slider ul li figure time p::before {
	content: "▶";
	display: inline-block;
	font-size: 10px;
	line-height: 1;
	padding: 0 2px;
}
@media screen and (max-width:450px){
	body > .container > .contents section.slider ul li figure time p {
		margin:0;
		padding-left:100%;
		display:inline-block;
		white-space:nowrap;
		-webkit-animation-name:marquee;
		-webkit-animation-timing-function:linear;
		-webkit-animation-duration:10s;
		-webkit-animation-iteration-count:infinite;
		-moz-animation-name:marquee;
		-moz-animation-timing-function:linear;
		-moz-animation-duration:10s;
		-moz-animation-iteration-count:infinite;
		-ms-animation-name:marquee;
		-ms-animation-timing-function:linear;
		-ms-animation-duration:10s;
		-ms-animation-iteration-count:infinite;
		-o-animation-name:marquee;
		-o-animation-timing-function:linear;
		-o-animation-duration:10s;
		-o-animation-iteration-count:infinite;
		animation-name:marquee;
		animation-timing-function:linear;
		animation-duration:10s;
		animation-iteration-count:infinite;
	}
}
@media screen and (max-width:500px){
	body > .container > .contents section.slider ul li figure figcaption p {
		margin:0;
		padding-left:100%;
		display:inline-block;
		white-space:nowrap;
		-webkit-animation-name:marquee;
		-webkit-animation-timing-function:linear;
		-webkit-animation-duration:10s;
		-webkit-animation-iteration-count:infinite;
		-moz-animation-name:marquee;
		-moz-animation-timing-function:linear;
		-moz-animation-duration:10s;
		-moz-animation-iteration-count:infinite;
		-ms-animation-name:marquee;
		-ms-animation-timing-function:linear;
		-ms-animation-duration:10s;
		-ms-animation-iteration-count:infinite;
		-o-animation-name:marquee;
		-o-animation-timing-function:linear;
		-o-animation-duration:10s;
		-o-animation-iteration-count:infinite;
		animation-name:marquee;
		animation-timing-function:linear;
		animation-duration:10s;
		animation-iteration-count:infinite;
	}
}
@-webkit-keyframes marquee {
	from   { -webkit-transform: translate(0%);}
	99%,to { -webkit-transform: translate(-100%);}
}
@-moz-keyframes marquee {
	from   { -moz-transform: translate(0%);}
	99%,to { -moz-transform: translate(-100%);}
}
@-ms-keyframes marquee {
	from   { -ms-transform: translate(0%);}
	99%,to { -ms-transform: translate(-100%);}
}
@-o-keyframes marquee {
	from   { -o-transform: translate(0%);}
	99%,to { -o-transform: translate(-100%);}
}
@keyframes marquee {
	from   { transform: translate(0%);}
	99%,to { transform: translate(-100%);}
}


/** CONTENTS > NEWS **/
body > .container > .contents section.news {
}
body > .container > .contents section.news h2 {
	background: url(../img/t_news.png) no-repeat left center;
	overflow: hidden;
	text-indent: -9999px;
}
body > .container > .contents section.news dl {
	display: table;
	width: 100%;
	border-bottom: 1px dotted #b1b4b9;
}
body > .container > .contents section.news dl dt {
	display: table-cell;
	width: 90px;
}
body > .container > .contents section.news dl dt p {
	display: inline-block;
	font-size: 12px;
	font-weight: bold;
}
body > .container > .contents section.news dl dt::after {
	content: "";
	display: inline-block;
	font-size: 14px;
	padding: 0 0 0 5px;
}
body > .container > .contents section.news dl dd {
	display: table-cell;
	font-size: 14px;
}
body > .container > .contents section.news .col-block {
	letter-spacing: -.40em;
}
body > .container > .contents section.news .col-block > .col {
	display: inline-block;
	letter-spacing: normal;
	width: 50%;
	box-sizing: border-box;
	padding: 0 10px;
}
body > .container > .contents section.news .col-block > .col:nth-child(1) {
	border-top: 1px solid #e1e7eb;
	border-bottom: 1px solid #e1e7eb;
	height: 301px;
	overflow-y: scroll;
	overflow-x: hidden;
}
body > .container > .contents section.news .col-block > .col:nth-last-child(1) {
	position: relative;
	border: 0;
	z-index: 1;
}


/** CONTENTS > ABOUT **/
body > .container > .contents section.about {
	letter-spacing: -.40em;
}
body > .container > .contents section.about h2 {
	background: url(../img/t_about.png) no-repeat left center;
	overflow: hidden;
	text-indent: -9999px;
}
body > .container > .contents section.about article {
	display: inline-block;
	width: 560px;
	letter-spacing: normal;
}
body > .container > .contents section.about article h3 {
	background: url(../img/t_tanaka.png) no-repeat right center;
	overflow: hidden;
	text-indent: -9999px;
	margin-bottom: 10px;
	height: 27px;
}
body > .container > .contents section.about article > p {
	margin-bottom: 10px;
	padding-bottom: 10px;
	font-size: 13px;
	border-bottom: 1px solid #000;
}
body > .container > .contents section.about article dl {
	letter-spacing: -.40em;
}
body > .container > .contents section.about article dl dt {
	display: inline-block;
	font-size: 13px;
	font-weight: bold;
	width: 80px;
	letter-spacing: normal;
	vertical-align: top
}
body > .container > .contents section.about article dl dd {
	display: inline-block;
	font-size: 13px;
	width: 480px;
	letter-spacing: normal;
}
body > .container > .contents section.about figure {
	display: inline-block;
	width: 300px;
	text-align: right;
	letter-spacing: normal;
}


/** CONTENTS > TITLES **/
body > .container > .contents section.titles {
	position: relative;
}
body > .container > .contents section.titles h2 {
	background: url(../img/t_titles.png) no-repeat left center;
	overflow: hidden;
	text-indent: -9999px;
}
body > .container > .contents section.titles nav {
	position: absolute;
	top: 10px;
	left: 100px;
}
body > .container > .contents section.titles nav a {
	display: inline-block;
	width: 28px;
	height: 12px;
}
body > .container > .contents section.titles nav a.kurochan { background-color: #424145; }
body > .container > .contents section.titles nav a.daradara { background-color: #fc7d93; }
body > .container > .contents section.titles nav a.exeqn { background-color: #be60ea; }
body > .container > .contents section.titles nav a.fam { background-color: #f75555; }
body > .container > .contents section.titles nav a.gathe { background-color: #20b794; }
body > .container > .contents section.titles nav a.mimimies { background-color: #7075b7; }
body > .container > .contents section.titles article {
	vertical-align: top;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #000;
}
body > .container > .contents section.titles article > .img {
	display: inline-block;
	vertical-align: top;
	width: 320px;
}
body > .container > .contents section.titles article > .body header h3 {
	font-size: 20px;
	margin-bottom: 5px;
}
body > .container > .contents section.titles article#kurochan > .body header h3 { color: #424145; }
body > .container > .contents section.titles article#daradara > .body header h3 { color: #fc7d93; }
body > .container > .contents section.titles article#exeqn > .body header h3 { color: #be60ea; }
body > .container > .contents section.titles article#fam > .body header h3 { color: #f75555; }
body > .container > .contents section.titles article#gathe > .body header h3 { color: #20b794; }
body > .container > .contents section.titles article#mimimies > .body header h3 { color: #7075b7; }
body > .container > .contents section.titles article > .body header h4 {
	font-size: 16px;
	margin-bottom: 5px;
}
body > .container > .contents section.titles article > .body {
	display: inline-block;
	vertical-align: top;
	margin-left: 20px;
	width: 514px;
}
body > .container > .contents section.titles article > .body p {
	font-size: 13px;
	margin-bottom: 15px;
}
body > .container > .contents section.titles article > .body ul {
	margin-left: -8px;
	margin-bottom: 15px;
}
body > .container > .contents section.titles article > .body ul li {
	display: inline-block;
	box-sizing: border-box;
	margin-left: 8px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.2;
}
body > .container > .contents section.titles article > .body ul li a {
	display: inline-block;
	width: 90px;
	height: 90px;
	border: 1px solid #000;
}
body > .container > .contents section.titles article > .body footer {
	vertical-align: baseline;
	letter-spacing: -.40em;
}
body > .container > .contents section.titles article > .body footer time {
	display: inline-block;
	font-size: 13px;
	line-height: 30px;
	height: 30px;
	width: 48.9%;
	vertical-align: top;
	letter-spacing: normal;
}
body > .container > .contents section.titles article > .body footer .link {
	display: inline-block;
	padding: 0;
	width: 50%;
	height: 30px;
	text-align: right;
	vertical-align: top;
	letter-spacing: normal;
	float: right;
}


/** FOOTER **/
body > .container > footer {
	border-top: 1px solid #b1b4b9;
	padding-bottom: 25px;
	padding-top: 20px;
	background: #FFF;
}
body > .container > footer h3 {
	text-align: center;
	padding: 0 0 20px 0;
}
body > .container > footer ul {
	text-align: center;
}
body > .container > footer ul li {
	display: inline-block;
	margin: 0 10px;
}
body > .container > footer small {
	display: block;
	text-align: center;
	margin-top: 25px;
	font-size: 80%;
}

@media screen and (max-width:960px){
	img { max-width: 100%; height: auto; }
	body::-webkit-scrollbar {
		width:5px;
		background:#eee;
	}
	body::-webkit-scrollbar:horizontal {
		height:5px;
	}
	body::-webkit-scrollbar-button {
		width:5px;
		height:5px;
		background:#666;
	}
	body::-webkit-scrollbar-piece {
		background:#eee;
	}
	body::-webkit-scrollbar-piece:start {
		background:#eee;
	}
	body::-webkit-scrollbar-thumb {
		background:#333;
	}
	body::-webkit-scrollbar-corner {
		background:#333;
	}
	body > .container {
		width: 100vw;
		border: 0;
		padding-top: calc(50px + 113vw);
		background-size: 100% auto;
		background-position: center 22px;
	}
	body > .container::before {
		width: 100vw;
		height: calc(103vw * 1.2);
		margin-left: 0;
		background-position: center 50px;
	}
	body > .container > header {
		width: 100vw;
		height: 50px;
	}
	body > .container > header h1 {
		width: 40vw;
		max-width: 150px;
		margin: 18px 20px 0 10px;
	}
	body > .container > header nav {
		top: 10px;
		left: auto;
		right: 9px;
		width: 30px;
		height: 30px;
	}
	body > .container > header nav::before {
		content: "";
		display: inline-block;
		background: url(../img/btn_menu.png) no-repeat;
		background-size: 100% 100%;
		width: 30px;
		height: 30px;
	}
	body > .container > header nav.show::before {
		background-image: url(../img/btn_close.png);
	}
	body > .container > header nav.show::after {
		content: "";
		position: absolute;
		top: 40px;
		left: calc(-100vw + 39px);
		width: 100vw;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.4);
		z-index: -1;
	}
	body > .container > header nav > ul {
		position: absolute;
		display: block;
		width: 340px;
		height: calc(100vh - 50px);
		top: 40px;
		right: -400px;
		background: none;
		background-color: rgba(0, 0, 0, 0.6);
		transition: all .2s linear;
	}
	body > .container > header nav.show > ul {
		right: -190px;
		border-top: 1px solid #d7d7d7;
	}
	body > .container > header nav > ul > li {
		position: relative;
		display: block;
		padding: 15px 0 15px 10px;
	}
	body > .container > header nav > ul > li::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 300px;
		height: 41px;
		background: #FFF;
	}
	body > .container > header nav > ul > li::after {
		content: "";
		display: block;
		position: absolute;
		top: auto;
		left: 0;
		bottom: 0;
		width: 300px;
		height: 1px;
		border-bottom: 1px solid #d7d7d7;
		background: none;
	}
	body > .container > header nav > ul > li > a {
		position: relative;
	}
	body > .container > header nav > ul > li.titles {
		height: auto;
		margin-bottom: -15px;
	}
	body > .container > header nav > ul > li .menu-titles {
		position: relative;
		display: block;
		top: auto;
		left: auto;
		right: auto;
		padding: 5px 5px 5px 25px;
		border-radius: 0;
		margin-top: 15px;
		margin-left: -10px;
		width: 129px;
		box-shadow: none;
		border-bottom: 1px solid #d7d7d7;
		transition: all .2s linear;
	}
	body > .container > header nav > ul > li .menu-titles.show {
		display: block;
	}
	body > .container > header nav > ul > li .menu-titles::before {
		display: none;
	}
	body > .container > header nav > ul > li .menu-titles > ul li {
		width: 100%;
	}
	body > .container > header nav > ul > li .menu-titles > ul li > a::after {
		right: auto;
		left: -15px;
	}
	body > .container > header nav > ul > li .menu-titles > .link {
		width: 100%;
		position: relative;
		display: block;
	}
	body > .container > header nav > ul > li .menu-titles > .link > a::after {
		content: "▶";
		display: inline-block;
		position: absolute;
		top: 14px;
		left: -15px;
	}
	body > .container > header nav > ul > li .menu-titles > ul li .comingsoon { display: inline-block; }
	body > .container > header .social {
		right: 50px;
	}
	body > .container > .contents {
		width: 95vw;
		padding: 2vw 4vw;
		box-sizing: border-box;
	}
	body > .container > .contents section.slider {
		top: calc(50px + 5vw);
		left: 3vw;
		width: 31vw;
		max-width: 235px;
		height: 35vw;
		max-height: 268px;
	}
	body > .container > .contents section.slider ul li figure time {
		font-size: 10px;
	}
	body > .container > .contents section.slider ul li figure figcaption {
		font-size: 12px;
	}
	body > .container > .contents section.news dl dt {
		display: block;
	}
	body > .container > .contents section.news dl dd {
		display: block;
	}
	body > .container > .contents section.news .col-block > .col {
		display: inline-block;
		letter-spacing: normal;
		width: 100%;
		box-sizing: border-box;
		padding: 0;
		border: 0;
		border-bottom: 1px solid #000;
		margin-bottom: 20px;
		padding-bottom: 20px;
	}
	body > .container > .contents section.news .col-block > .col:nth-last-child(1) {
		margin-bottom: 0;
		padding-bottom: 0;
	}
	body > .container > .contents section.titles article > .img {
		width: 100%;
	}
	body > .container > .contents section.titles article > .body {
		width: 100%;
		margin-left: 0;
	}
	body > .container > .contents section.titles article > .body ul li {
		width: 69px;
		height: 69px;
	}
	body > .container > .contents section.titles article > .body ul li a {
		width: 69px;
		height: 69px;
	}
	body > .container > .contents section.titles article > .body footer time {
		width: 100%;
		text-align: right;
	}
	body > .container > .contents section.titles article > .body footer .link {
		width: 100%;
		text-align: right;
	}
	body > .container > .contents section.about article {
		width: 100%;
	}
	body > .container > .contents section.about article h3 {
		width: 87vw;
		height: 7vw;
		max-width: 338px;
		max-height: 27px;
		background-position: center center;
		background-size: 100% auto;
		margin-right: auto;
		margin-left: auto;
	}
	body > .container > .contents section.about article dl dt {
		width: 100%;
	}
	body > .container > .contents section.about article dl dd {
		width: 100%;
	}
	body > .container > .contents section.about figure {
		width: 100%;
		text-align: center;
	}
	body > .container > footer h3 {
		display: none;
	}
}
