/*************************************************
** Charset:UTF-8（京雀）
** Version:20190618
** Programing by H.Watanabe
*************************************************/

/*************************************************
** Reset
*************************************************/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
	all:unset;
	display:revert;
}
*, *::before, *::after {
	box-sizing:border-box;
}
a, button {
	cursor:revert;
}
ol, ul, menu {
	list-style:none;
}
img {
	max-width:100%;
}
table {
	border-collapse:collapse;
}
input, textarea {
	-webkit-user-select:auto;
}
textarea {
	white-space:revert;
}
meter {
	-webkit-appearance:revert;
	appearance:revert;
}
::placeholder {
	color:unset;
}
:where([hidden]) {
	display:none;
}
:where([contenteditable]:not([contenteditable="false"])) {
	-moz-user-modify:read-write;
	-webkit-user-modify:read-write;
	overflow-wrap:break-word;
	-webkit-line-break:after-white-space;
	-webkit-user-select:auto;
}
:where([draggable="true"]) {
	-webkit-user-drag:element;
}


/*************************************************
** Utility
*************************************************/
.site-wrapper {
	font-family:'Noto Serif JP', serif;
}
.sans {
	font-family: 'Noto Sans JP', sans-serif;
}
.wrap {
	margin:0 auto;
	width:calc(100% - 20px);
}

@media screen and (min-width:768px) {
	.wrap {
		width:calc(100% - 40px);
	}
}

@media screen and (min-width:1024px) {
	.wrap {
		width:950px;
	}
}


/*************************************************
** Header
*************************************************/
.header {
	position:fixed;
	top:0;
	left:0;
	z-index:200;
	width:100%;
	background:rgba(0, 0, 0, 1);
}
.header-main {
	padding:5px 0;
}
.header-main a {
	display:block;
}
.header-main img {
	display:block;
	margin:0 auto;
	width:auto;
	height:45px;
}
.header-nav-wrap {
	position:relative;
	z-index:200;
	padding:1px 0;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
	background-color:#333;
}
.header-nav {
	border-top:1px solid #9d3e46;
	border-bottom:1px solid #9d3e46;
}
.header-menu-trigger {
	padding-right:10px;
	text-align:right;
}
.header-menu-trigger a {
	display:inline-block;
	color:#fff;
	font-size:85%;
	line-height:29px;
}
.header-menu-trigger a::after {
	content:"\0020\25BC";
}
.header-menu-trigger a.active::after {
	content:"\0020\25B2";
}
.header-nav-list-wrap {
	display:none;
}
.header-nav-list li {
	border-bottom:1px solid #fff;
}
.header-nav-list li:last-child {
	border-bottom:0;
}
.header-nav-list li a {
	display:block;
	margin:0 auto;
	padding:15px 0;
	font-size:110%;
	width:calc(100% - 20px);
	color:#fff;
}
.header-nav-list li a.current {
	color:#9d3e46;
}
.header-nav-list li a::before {
	content:"\FF1E\0020";
	color:#9d3e46;
}

@media screen and (min-width:768px) {
	.header-main {
		padding:10px 0;
	}
	.header-main img {
		height:60px;
	}
}

@media screen and (min-width:1024px) {
	.header {
		position:static;
	}
	.header-main img {
		height:120px;
	}
	.header-menu-trigger {
		display:none;
	}
	.front .header-nav-wrap {
		display:none;
	}
	.header-nav-list-wrap {
		display:block;
		margin:0 auto;
		width:100%;
		max-width:1280px;
	}
	.header-nav-list {
		letter-spacing:-.8em;
		text-align:center;
	}
	.header-nav-list li {
		display:inline-block;
		width:auto;
		letter-spacing:normal;
		border-bottom:0;
	}
	.header-nav-list li a {
		margin:0;
		padding:0 20px;
		width:auto;
		line-height:40px;
	}
}

@media screen and (min-width:1280px) {
	.header-nav-list li a {
		padding:0 40px;
	}
}


/*************************************************
** Main
*************************************************/
.contents-main main {
	margin-top:90px;
	padding-bottom:30px;
	background-image:url(../images/bg.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:repeat;
}
.contents {
	padding:20px 0;
}

@media screen and (min-width:768px) {
	.contents-main main {
		margin-top:115px;
		padding-bottom:50px;
	}
	.contents {
		padding:35px 0;
	}
}

@media screen and (min-width:1024px) {
	.front .contents-main {
		padding-top:1px;
		border-top:1px solid #fff;
		background-color:#333;
	}
	.contents-main main {
		margin-top:0;
		padding-bottom:80px;
	}
	.contents {
		padding:50px 0;
	}
}


/*************************************************
** Aside
*************************************************/
.footer-links {
	margin:0 auto;
	width:100%;
	max-width:700px;
	letter-spacing:-.8em;
}
.footer-links li {
	display:inline-block;
	margin-right:15px;
	width:calc(calc(100% - 15px) / 2);
	letter-spacing:normal;
}
.footer-links li:nth-child(2n) {
	margin-right:0;
}
.footer-links li a {
	display:block;
}
.footer-links li img {
	display:block;
	width:100%;
	height:auto;
}

@media screen and (min-width:768px) {
	.footer-links li {
		margin-right:20px;
		width:calc(calc(100% - 20px) / 2);
	}
}

@media screen and (min-width:1024px) {
	.footer-links li {
		margin-right:50px;
		width:calc(calc(100% - 50px) / 2);
	}
}


/*************************************************
** Front
*************************************************/
.slider-wrap {
	border-top:1px solid #9d3e46;
	background-color:#000;
}
.slider-main {
	margin:0 auto;
	width:100vw;
	max-width:1280px;
}
.slider-list {
	width:100vw;
}
.slider-list a {
	display:block;
	width:100vw;
}
.slider-list img {
	display:block;
	width:100vw;
	height:auto;
}
.slick-dotted.slick-slider {
	margin-bottom:0;
}
.slick-arrow:before {
	content:"" !important;
	width:100% !important;
	height:100% !important;
	position:absolute;
	top:0;
	left:0;
}
.slick-prev, .slick-next {
	z-index:100;
	top:auto;
	bottom:0px;
	width:25px;
	height:25px;
}
.slick-prev {
	left:10px;
	background-image:url(../images/arrow-prev.png);
	background-size:contain;
}
.slick-next {
	right:10px;
	background-image:url(../images/arrow-next.png);
	background-size:contain;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity:1;
}
.slick-dots {
	z-index:100;
	left:35px;
	bottom:10px;
	width:calc(100% - 70px);
}
.slick-dots li {
	margin:0 1px;
}
.slick-dots li button:before {
	content:"";
	display:block;
	width:14px;
	height:14px;
	border:1px solid #fff;
	border-radius:7px;
	background-color:#fff;
	opacity:1;
}
.slick-dots li.slick-active button:before {
	opacity:1;
	background-color:#9d3e46;
}

@media screen and (min-width:1024px) {
	.slick-prev {
		left:50%;
		bottom:10px;
		transform:translateX(-475px);
	}
	.slick-next {
		right:50%;
		bottom:10px;
		transform:translateX(475px);
	}
	.slick-dots {
		z-index:100;
		left:50%;
		bottom:10px;
		width:880px;
		transform:translateX(-50%);
	}
}

@media screen and (min-width:1280px) {
	.slider-main {
		width:100%;
		max-width:1280px;
	}
	.slider-list {
		width:100%;
	}
	.slider-list a {
		width:100%;
	}
	.slider-list img {
		width:100%;
	}
}

.front-head-update {
	margin-bottom:20px;
	padding:10px;
	background-color:#3d3836;
}
.front-head-update a {
	display:block;
	color:#fff;
	font-weight:bold;
}
.front-head-update a strong {
	display:block;
	margin:0 0 .5em 0;
	padding:1px 0;
	border-top:1px solid #9d3e46;
	border-bottom:1px solid #9d3e46;
}
.front-head-update a strong span {
	display:block;
	padding:10px 0;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}
.front-head-update a small {
	display:block;
	font-size:80%;
}
.front-links li {
	margin-bottom:15px;
}
.front-links li a {
	display:block;
}
.front-links li img {
	display:block;
	width:100%;
	height:auto;
}

@media screen and (min-width:420px) {
	.front-links {
		letter-spacing:-.8em;
	}
	.front-links li {
		display:inline-block;
		margin-right:15px;
		width:calc(calc(100% - 15px) / 2);
		letter-spacing:normal;
	}
	.front-links li:nth-child(2n) {
		margin-right:0;
	}
}

@media screen and (min-width:768px) {
	.front-head-update {
		margin-bottom:30px;
		padding:15px;
	}
	.front-head-update a {
		font-size:120%;
		text-align:center;
	}
	.front-links li {
		margin-right:20px;
		margin-bottom:20px;
		width:calc(calc(100% - 20px) / 2);
	}
}

@media screen and (min-width:1024px) {
	.front-head-update {
		margin-bottom:40px;
		padding:20px;
	}
	.front-head-update a {
		font-size:140%;
	}
	.front-links li {
		margin-right:40px;
		margin-bottom:40px;
		width:calc(calc(100% - 40px) / 2);
	}
}


/*************************************************
** Profile
*************************************************/
.prof-header {
	position:relative;
	margin-bottom:20px;
}
.prof-title {
	margin-bottom:15px;
	font-size:125%;
	text-align:center;
}
.prof-title .eng {
	display:block;
	color:#4d4d4d;
	font-size:70%;
}
.prof-title small {
	display:inline-block;
	margin-right:.5em;
	font-size:80%;
}
.prof-image {
	margin:0 auto 20px;
	width:70%;
}
.prof-image img {
	display:block;
	width:100%;
	height:auto;
}
.prof-summary {
	border-top:1px solid #4d4d4d;
}
.prof-summary dt {
	float:left;
	clear:both;
	padding:5px 25px;
	width:120px;
	text-align:justify;
	text-align-last:justify;
	text-justify:inter-ideograph;
	word-break:break-all;
}
.prof-summary dt:last-of-type {
	text-align:center;
	text-align-last:center;
}
.prof-summary dd {
	padding:5px 0 5px 140px;
	border-bottom:1px solid #4d4d4d;
}
.prof-block {
	margin-bottom:20px;
	width:100%;
}
.prof-block:last-child {
	margin-bottom:0;
}
.prof-block-title {
	margin-bottom:.5em;
	color:#9d3e46;
	font-size:110%;
}
.prof-block-title::before {
	content:"\3010";
}
.prof-block-title::after {
	content:"\3011";
}
.prof-sentense {
	margin-bottom:1em;
	font-size:95%;
}
.prof-sentense:last-child {
	margin-bottom:0;
}
.prof-history {
	font-size:95%;
}
.prof-history dd {
	padding:0 0 5px 1em;
}
.prof-history dd br {
	display:none;
}
.prof-history-image {
	margin-top:20px;
}
.prof-history-image li {
	margin-bottom:15px;
}
.prof-history-image li:last-child {
	margin-bottom:0;
}
.prof-history-image li figure {
	display:block;
	text-align:center;
}
.prof-history-image li figure img {
	display:block;
	margin:0 auto;
	height:auto;
}
.prof-history-image li figure img.image-v {
	width:50%;
}
.prof-history-image li figure img.image-h {
	width:70%;
}
.prof-history-image li figure figcaption {
	font-size:85%;
}
.prof-history-2 {
	font-size:95%;
}
.prof-history-2 dt {
	float:left;
	clear:both;
	width:100px;
}
.prof-history-2 dd {
	padding:0 0 5px 100px;
}
.prof-kakeizu-wrap {
	display:block;
}
.prof-kakeizu {
	display:block;
	width:100%;
	height:auto;
}

@media screen and (min-width:420px) {
	.prof-image {
		width:60%;
	}
}

@media screen and (min-width:768px) {
	.prof-header {
		margin-bottom:35px;
		padding-right:45%;
	}
	.prof-title {
		margin-bottom:25px;
		font-size:135%;
	}
	.prof-image {
		position:absolute;
		right:0;
		bottom:0;
		margin:0;
		width:45%;
		height:100%;
		text-align:right;
	}
	.prof-image img {
		display:inline-block;
		width:auto;
		max-width:100%;
		height:auto;
		max-height:100%;
	}
	.prof-block {
		margin-bottom:35px;
	}
	.prof-right-image {
		position:relative;
		padding-right:210px;
	}
	.about-hayato .prof-history dt {
		float:left;
		clear:both;
		width:140px;
	}
	.about-hayato .prof-history dd {
		padding:0 0 5px 150px;
	}
	.prof-history-image {
		position:absolute;
		top:0;
		right:0;
	}
	.prof-history-image li {
		width:180px;
	}
	.prof-history-image li figure img,
	.prof-history-image li figure img.image-v,
	.prof-history-image li figure img.image-h {
		display:block;
		margin:0;
		width:100%;
		height:auto;
	}
	.prof-history-image li figure figcaption {
		font-size:80%;
	}
}

@media screen and (min-width:1024px) {
	.prof-header {
		margin-bottom:50px;
		padding-right:40%;
	}
	.prof-title {
		margin-bottom:35px;
		font-size:170%;
	}
	.prof-title .eng {
		font-size:60%;
	}
	.prof-title small {
		font-size:70%;
	}
	.prof-sentense {
		font-size:100%;
	}
	.prof-summary dt {
		padding:7px 35px;
		width:150px;
	}
	.prof-summary dd {
		padding:7px 0 7px 170px;
	}
	.prof-block {
		margin-bottom:50px;
	}
	.prof-history {
		font-size:100%;
	}
	.prof-history dt {
		float:left;
		clear:both;
		width:170px;
	}
	.prof-history dd {
		padding:0 0 10px 180px;
	}
	.prof-history dd br {
		display:inline;
	}
	.prof-history-image {
		top:auto;
		bottom:0;
	}
	.prof-history-2 {
		font-size:100%;
	}
}


/*************************************************
** Schedule
*************************************************/
.schedule-head {
	position:relative;
	padding-top:50%;
	width:100%;
	height:0;
	background-image:url(../images/schedule-head.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.schedule-head .wrap {
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	transform:translateY(-50%);
}
.schedule-title {
	margin-bottom:10px;
	color:#fff;
	font-size:180%;
	text-align:center;
}
.schedule-title small {
	display:block;
	font-size:50%;
}
.schedule-head p {
	color:#fff;
	font-size:90%;
	text-align:center;
}
.schedule-block {
	margin-bottom:10px;
	padding:15px;
	color:#fff;
	background-color:#3d3836;
}
.schedule-block:last-child {
	margin-bottom:0;
}
.schedule-block-head p {
	font-size:90%;
}
.schedule-icon {
	margin-top:5px;
	text-align:right;
}
.schedule-icon span {
	display:inline-block;
	margin-right:5px;
	padding:5px 8px;
	width:65px;
	font-size:90%;
	line-height:1;
	text-align:justify;
	text-align-last:justify;
	text-justify:inter-ideograph;
	word-break:break-all;
}
.schedule-icon span:last-child {
	margin-right:0;
}
.schedule-icon span.ico-kinnosuke {
	background-color:#9d3e46;
}
.schedule-icon span.ico-hayato {
	background-color:#5c4774;
}
.schedule-icon span.ico-hayanosuke {
	background-color:#808000;
}
.schedule-block-title {
	margin:10px 0;
	padding:1px 0;
	border-top:1px solid #9d3e46;
	border-bottom:1px solid #9d3e46;
}
.schedule-block-title span {
	display:block;
	padding:10px 0;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}
.schedule-date {
	font-size:90%;
}
.schedule-main {
	margin-top:20px;
}
.schedule-image {
	margin:0 auto 20px;
}
.schedule-image-v {
	width:60%;
}
.schedule-image-h {
	width:80%;
}
.schedule-image a {
	display:block;
}
.schedule-image img {
	display:block;
}
.schedule-text p {
	margin-bottom:1em;
	font-size:90%;
	word-break:break-all;
}
.schedule-text p:last-child {
	margin-bottom:0;
}
.schedule-text p a {
	color:#9d3e46;
}
.schedule-text p .alert {
	color:#f00;
}
.schedule-text p a.arrow {
	display:inline-block;
	position:relative;
	padding-left:1.2em;
}
.schedule-text p a.arrow::before {
	content:"\25B6";
	position:absolute;
	top:0;
	left:0;
}

@media screen and (min-width:768px) {
	.schedule-head {
		padding-top:200px;
	}
	.schedule-block-head p {
		font-size:95%;
	}
	.schedule-title {
		font-size:220%;
	}
	.schedule-head p br {
		display:none;
	}
	.schedule-block {
		padding:20px;
	}
	.schedule-block-head {
		position:relative;
		padding-right:200px;
	}
	.schedule-icon {
		position:absolute;
		top:0;
		right:0;
		margin-top:0;
	}
	.schedule-block-title {
		font-size:120%;
	}
	.schedule-main {
		position:relative;
		padding-right:40%;
	}
	.schedule-image {
		position:absolute;
		top:0;
		right:0;
		margin:0;
	}
	.schedule-image-v {
		width:20%;
	}
	.schedule-image-h {
		width:30%;
	}
	.schedule-image a {
		width:auto;
		max-width:100%;
		height:auto;
		max-height:100%;
	}
	.schedule-text p {
		margin-bottom:1.2em;
		font-size:95%;
	}
	.schedule-text p br.sp-disp {
		display:none;
	}
}

@media screen and (min-width:1024px) {
	.schedule-head {
		padding-top:225px;
	}
	.schedule-title {
		font-size:250%;
	}
	.schedule-head p {
		font-size:100%;
	}
	.schedule-block {
		padding:30px;
	}
	.schedule-block-head p {
		font-size:100%;
	}
	.schedule-block-title {
		font-size:130%;
	}
	.schedule-main {
		padding-right:35%;
	}
	.schedule-image-v {
		width:17%;
	}
	.schedule-image-h {
		width:30%;
	}
	.schedule-text p {
		margin-bottom:1.5em;
		font-size:100%;
	}
}


/*************************************************
** News & Information
*************************************************/
.news-head {
	position:relative;
	padding-top:50%;
	width:100%;
	height:0;
	background-image:url(../images/news-head.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.news-head .wrap {
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	transform:translateY(-50%);
}
.news-title {
	margin-bottom:10px;
	color:#fff;
	font-size:180%;
	text-align:center;
}
.news-head p {
	color:#fff;
	font-size:90%;
	text-align:center;
}
.news-block {
	margin-bottom:20px;
	padding:15px;
	color:#fff;
	background-color:#3d3836;
}
.news-block:last-child {
	margin-bottom:0;
}
.news-block-title {
	margin-bottom:20px;
	font-size:110%;
	line-height:2;
	letter-spacing:.2em;
	text-align:center;
}
#kinnosuke .news-block-title {
	background-color:#9d3e46;
}
#hayato .news-block-title {
	background-color:#5c4774;
}
.news-item {
	margin-bottom:30px;
}
.news-item:last-child {
	margin-bottom:0;
}
.news-item-icon {
	margin-bottom:5px;
	padding-bottom:10px;
	text-align:center;
}
#kinnosuke .news-item-icon {
	border-bottom:5px solid #9d3e46;
}
#hayato .news-item-icon {
	border-bottom:5px solid #5c4774;
}
.news-item-icon img {
	display:inline-block;
	width:auto;
	height:auto;
	vertical-align:middle;
}
.news-item-icon span {
	display:inline-block;
	margin-left:1em;
	width:70px;
	font-size:90%;
	line-height:1;
	text-align:justify;
	text-align-last:justify;
	text-justify:inter-ideograph;
	vertical-align:middle;
}
.news-item-title {
	margin-bottom:10px;
	padding:1px 0;
}
#kinnosuke .news-item-title {
	border-top:1px solid #9d3e46;
	border-bottom:1px solid #9d3e46;
}
#hayato .news-item-title {
	border-top:1px solid #5c4774;
	border-bottom:1px solid #5c4774;
}
.news-item-title span {
	display:block;
	padding:5px 0;
	font-size:110%;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}
.news-item-title small {
	display:inline-block;
	margin-left:1em;
	font-size:90%;
}
.news-item-text p {
	margin-bottom:.5em;
	font-size:90%;
}
.news-item-text p:last-child {
	margin-bottom:0;
}
.news-item-text p a {
	color:#fff;
}
.news-item-text p a.news-arrow {
	padding-left:1.3em;
	position:relative;
}
.news-item-text p a.news-arrow::before {
	content:"\226B";
	position:absolute;
	top:0;
	left:0;
}
#kinnosuke .news-item-text p a.news-arrow::before {
	color:#9d3e46;
}
#hayato .news-item-text p a.news-arrow::before {
	color:#5c4774;
}

@media screen and (min-width:768px) {
	.news-head {
		padding-top:200px;
	}
	.news-title {
		font-size:220%;
	}
	.news-head p br {
		display:none;
	}
	.news-block {
		padding:30px;
	}
	.news-block-title {
		margin-bottom:30px;
		font-size:120%;
	}
	.news-item {
		display:table;
		margin-bottom:35px;
		width:100%;
	}
	.news-item-icon {
		display:table-cell;
		width:120px;
		vertical-align:middle;
	}
	#kinnosuke .news-item-icon {
		border-bottom:0;
		border-right:7px solid #9d3e46;
	}
	#hayato .news-item-icon {
		border-bottom:0;
		border-right:7px solid #5c4774;
	}
	.news-item-icon span {
		margin-left:0;
		width:80px;
		font-size:95%;
	}
	.news-item-text {
		display:table-cell;
		padding-left:20px;
	}
	.news-item-title {
		margin-bottom:15px;
	}
	.news-item-title span {
		padding:7px 0;
		font-size:115%;
	}
	.news-item-text p {
		font-size:95%;
	}
	.news-item-text p br.sp-disp {
		display:none;
	}
}

@media screen and (min-width:1024px) {
	.news-head {
		padding-top:225px;
	}
	.news-title {
		font-size:250%;
	}
	.news-head p {
		font-size:100%;
	}
	.news-block {
		padding:40px;
	}
	.news-block-title {
		margin-bottom:40px;
		font-size:130%;
	}
	.news-item {
		margin-bottom:40px;
	}
	.news-item-icon {
		width:120px;
	}
	#kinnosuke .news-item-icon {
		border-right:10px solid #9d3e46;
	}
	#hayato .news-item-icon {
		border-right:10px solid #5c4774;
	}
	.news-item-icon span {
		font-size:100%;
	}
	.news-item-title {
		margin-bottom:20px;
	}
	.news-item-title span {
		padding:10px 0;
		font-size:120%;
	}
	.news-item-text p {
		font-size:100%;
	}
}


/*************************************************
** Update
*************************************************/
.update {
	padding:10px;
	background-color:#fff;
}
.update h2,
.update strong {
	display:block;
	margin-bottom:10px;
	color:#9d3e46;
	font-size:105%;
	font-weight:bold;
	line-height:1;
	text-align:center;
}
.update dl {
	font-size:90%;
}
.update dt {
	position:relative;
	margin-bottom:3px;
	padding-top:10px;
}
.update dt time {
	display:inline-block;
}
.update dt time::before {
	content:"\3010";
}
.update dt time::after {
	content:"\3011";
}
.update dt .update-icon {
	position:absolute;
	top:10px;
	right:0;
}
.update dt .update-kinnosuke,
.update dt .update-hayato,
.update dt .update-hayanosuke {
	display:inline-block;
	margin-left:5px;
	padding:2px 5px;
	color:#fff;
	font-size:85%;
}
.update dt .update-kinnosuke {
	background-color:#9d3e46;
}
.update dt .update-hayato {
	background-color:#5c4774;
}
.update dt .update-hayanosuke {
	background-color:#808000;
}
.update dd {
	padding-bottom:10px;
	border-bottom:1px solid #808080;
}
.update dl:first-of-type dd {
	border-top:1px solid #808080;
}
.update dd a {
	color:#9d3e46;
}
.update dd strong {
	display:inline;
}
.update > a {
	display:block;
	margin-top:10px;
	color:#000;
	line-height:1;
	text-align:center;
}
.update > a::before {
	content:"\FF1E";
}
.pagination-container {
	margin-top:20px;
}
.pagination {
	letter-spacing:-.8em;
	text-align:center;
}
.pagination li {
	display:inline-block;
	letter-spacing:normal;
}
.pagination li.disabled {
	display:none;
}
.pagination li a {
	display:block;
	width:30px;
	line-height:30px;
}
.pagination li.navi-active a {
	color:#9d3e46;
}

@media screen and (min-width:768px) {
	.update {
		padding:15px;
	}
	.update dl {
		font-size:90%;
	}
	.update dt {
		float:left;
		clear:both;
		margin-bottom:0;
		width:200px;
	}
	.update dt .update-icon {
		top:10px;
	}
	.update dd {
		padding-top:10px;
		padding-left:210px;
	}
}

@media screen and (min-width:1024px) {
	.update {
		padding:20px;
	}
	.update dl {
		font-size:95%;
	}
	.update dt {
		width:220px;
	}
	.update dd {
		padding-left:230px;
	}
}


/*************************************************
** fanclub
*************************************************/
.fanclub-head {
	position:relative;
	padding-top:50%;
	width:100%;
	height:0;
	background-image:url(../images/fanclub-head.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.fanclub-head .wrap {
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	transform:translateY(-50%);
}
.fanclub-title {
	margin-bottom:10px;
	color:#fff;
	font-size:180%;
	text-align:center;
}
.fanclub-legal .fanclub-title,
.fanclub-hayato .fanclub-title {
	font-size:150%;
}
.fanclub-head-text {
	margin-bottom:20px;
}
.fanclub-head-text p {
	margin-bottom:.5em;
	font-size:90%;
}
.fanclub-head-text p:last-child {
	margin-bottom:0;
}
.fanclub-block {
	margin-bottom:10px;
	padding:15px;
	color:#fff;
	background-color:#3d3836;
}
.fanclub-block:last-child {
	margin-bottom:0;
}
.fanclub-block-title {
	margin:0 0 10px 0;
	padding:1px 0;
	border-top:1px solid #9d3e46;
	border-bottom:1px solid #9d3e46;
}
.fanclub-block-title span {
	display:block;
	padding:10px 0;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}
.fanclub-block p {
	margin-bottom:.5em;
	font-size:90%;
}
.fanclub-block p:last-child {
	margin-bottom:0;
}
.fanclub-block p .fanclub-point {
	display:block;
	position:relative;
	padding-left:1.2em;
}
.fanclub-block p .fanclub-point::before {
	content:"\30FB";
	position:absolute;
	top:0;
	left:0;
}
.fanclub-block p .fanclub-alert {
	display:block;
	position:relative;
	padding-left:1.2em;
}
.fanclub-block p .fanclub-alert::before {
	content:"\203B";
	position:absolute;
	top:0;
	left:0;
}
.fanclub-block p .fanclub-alert-1 {
	display:block;
	position:relative;
	padding-left:2.7em;
}
.fanclub-block p .fanclub-alert-1::before {
	content:"\203B\0031\FF1A";
	position:absolute;
	top:0;
	left:0;
}
.fanclub-block p .fanclub-alert-2 {
	display:block;
	position:relative;
	padding-left:2.7em;
}
.fanclub-block p .fanclub-alert-2::before {
	content:"\203B\0032\FF1A";
	position:absolute;
	top:0;
	left:0;
}
.fanclub-block p.fanclub-form-link {
	margin:1em 0 1.5em;
	font-size:120%;
}
.fanclub-block p.fanclub-form-link::before {
	content:"\005B\0020";
}
.fanclub-block p.fanclub-form-link::after {
	content:"\0020\005D";
}
.fanclub-block p.fanclub-form-link a {
	color:#9d3e46;
}
.fanclub-block-image {
	margin-top:20px;
}
.fanclub-block-image figure {
	display:block;
}
.fanclub-block-image img {
	display:block;
	margin:0 auto;
	width:auto;
	height:auto;
}
.fanclub-block-image figcaption {
	display:block;
	font-size:85%;
	text-align:center;
}
.fanclub-aside {
	padding:15px;
	background-color:#fff;
}
.fanclub-aside strong {
	display:block;
	margin-bottom:1em;
	font-size:90%;
	font-weight:bold;
}
.fanclub-aside p {
	margin-bottom:.5em;
	font-size:90%;
}
.fanclub-aside p:last-child {
	margin-bottom:0;
}
.fanclub-aside p.fanclub-aside-sign {
	text-align:right;
}

@media screen and (min-width:768px) {
	.fanclub-head {
		padding-top:200px;
	}
	.fanclub-title {
		font-size:220%;
	}
	.fanclub-hayato .fanclub-title,
	.fanclub-legal .fanclub-title {
		font-size:220%;
	}
	.fanclub-head-text {
		margin-bottom:30px;
	}
	.fanclub-head-text p {
		font-size:95%;
	}
	.fanclub-block {
		margin:0 0 20px 0;
		padding:20px;
	}
	.fanclub-block-image-wrap {
		position:relative;
		padding-right:200px;
	}
	.fanclub-block p {
		font-size:95%;
	}
	.fanclub-block p.fanclub-form-link {
		font-size:130%;
	}
	.fanclub-block-image {
		position:absolute;
		top:0;
		right:0;
		margin-top:0;
	}
	.fanclub-block-image figure {
		display:inline-block;
	}
	.fanclub-block-image img {
		margin:0;
	}
	.fanclub-block-image figcaption {
		font-size:90%;
	}
	.fanclub-aside {
		padding:20px;
	}
	.fanclub-aside strong {
		font-size:95%;
	}
	.fanclub-aside p {
		font-size:95%;
	}
}

@media screen and (min-width:1024px) {
	.fanclub-head {
		padding-top:225px;
	}
	.fanclub-title {
		font-size:250%;
	}
	.fanclub-hayato .fanclub-title,
	.fanclub-legal .fanclub-title {
		font-size:250%;
	}
	.fanclub-head-text {
		margin-bottom:40px;
	}
	.fanclub-head-text p {
		font-size:100%;
	}
	.fanclub-block {
		margin:0 0 30px 0;
		padding:30px;
	}
	.fanclub-block p {
		font-size:100%;
	}
	.fanclub-aside {
		padding:30px;
	}
	.fanclub-aside strong {
		font-size:100%;
	}
	.fanclub-aside p {
		font-size:100%;
	}
}


/*************************************************
** Legal
*************************************************/
.legal-image {
	display:block;
	margin:0 auto 20px;
	width:100%;
	height:auto;
}
.legal-block {
	margin-bottom:10px;
	padding:15px;
	color:#fff;
	background-color:#3d3836;
}
.legal-block:last-child {
	margin-bottom:0;
}
.legal-list dt {
	margin:0 0 10px 0;
	padding:1px 0;
	border-top:1px solid #9d3e46;
	border-bottom:1px solid #9d3e46;
}
.legal-list dt span {
	display:block;
	padding:10px 0;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}
.legal-list dd {
	margin-bottom:20px;
}
.legal-list dd:last-child {
	margin-bottom:0;
}
.legal-list dd p {
	margin-bottom:.5em;
	font-size:90%;
}
.legal-list dd p:last-child {
	margin-bottom:0;
}
.legal-list dd p .legal-point {
	display:block;
	position:relative;
	padding-left:1em;
}
.legal-list dd p .legal-point::before {
	content:"\30FB";
	position:absolute;
	top:0;
	left:0;
}
.legal-list dd p a {
	color:#9d3e46;
}

@media screen and (min-width:768px) {
	.legal-image {
		margin:0 auto 30px;
	}
	.legal-block {
		margin:0 0 20px 0;
		padding:20px;
	}
	.legal-list dt {
		margin:0 0 15px 0;
	}
	.legal-list dd {
		margin-bottom:30px;
	}
	.legal-list dd p {
		font-size:95%;
	}
}

@media screen and (min-width:1024px) {
	.legal-image {
		margin:0 auto 40px;
	}
	.legal-block {
		margin:0 0 30px 0;
		padding:30px;
	}
	.legal-list dt {
		margin:0 0 15px 0;
	}
	.legal-list dd {
		margin-bottom:40px;
	}
	.legal-list dd p {
		font-size:100%;
	}
}


/*************************************************
** Calendar
*************************************************/
.calendar-image {
	display:block;
	margin:0 auto 20px;
	width:100%;
	height:auto;
}
.calendar-block {
	margin-bottom:30px;
	padding:15px;
	color:#fff;
	background-color:#3d3836;
}
.calendar-block:last-child {
	margin-bottom:0;
}
.calendar-block-title {
	margin:0 0 10px 0;
	padding:1px 0;
	border-top:1px solid #9d3e46;
	border-bottom:1px solid #9d3e46;
}
.calendar-block-title span {
	display:block;
	padding:10px 0;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}
.calendar-block p {
	margin-bottom:.5em;
	font-size:90%;
}
.calendar-block p:last-child {
	margin-bottom:0;
}
.calendar-block p a {
	color:#9d3e46;
}
.calendar-block p a.arrow {
	display:inline-block;
	padding-left:1.3em;
	position:relative;
	font-size:140%;
	word-break:break-all;
}
.calendar-block p a.arrow::before {
	content:"\226B";
	position:absolute;
	top:0;
	left:0;
}
.calendar-list {
	font-size:90%;
}
.calendar-list dt {
	margin-bottom:5px;
	font-weight:bold;
}
.calendar-list dt::before {
	content:"\3010";
}
.calendar-list dt::after {
	content:"\3011";
}
.calendar-list dd {
	margin-bottom:20px;
}
.calendar-list dd:last-child {
	margin-bottom:0;
}
.calendar-list dd p {
	margin-bottom:1em;
}
.calendar-list dd p:last-child {
	margin-bottom:0;
}
.calendar-list dd p .point {
	display:block;
	position:relative;
	padding-left:1em;
}
.calendar-list dd p .red {
	color:#9d3e46;
}
.calendar-list dd p .point::before {
	content:"\30FB";
	position:absolute;
	top:0;
	left:0;
}
.calendar-list dd .calendar-sample {
	display:block;
	width:100%;
}

@media screen and (min-width:768px) {
	.calendar-image {
		margin:0 auto 40px;
	}
	.calendar-block {
		margin:0 0 20px 0;
		padding:20px;
	}
	.calendar-block-title span {
		font-size:110%;
	}
	.calendar-block > p {
		font-size:95%;
	}
	.calendar-list {
		font-size:95%;
	}
	.calendar-list dt {
		float:left;
		clear:both;
		margin-bottom:0;
		width:240px;
	}
	.calendar-list dd {
		margin-bottom:30px;
		padding-left:240px;
	}
}

@media screen and (min-width:1024px) {
	.calendar-image {
		margin:0 auto 40px;
	}
	.calendar-block {
		margin:0 0 50px 0;
		padding:30px;
	}
	.calendar-block-title span {
		font-size:130%;
	}
	.calendar-block p {
		font-size:100%;
	}
	.calendar-list {
		font-size:100%;
	}
	.calendar-list dd {
		margin-bottom:40px;
	}
}


/*************************************************
** Inquiry
*************************************************/
.inquiry-head {
	position:relative;
	padding-top:50%;
	width:100%;
	height:0;
	background-image:url(../images/fanclub-head.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.inquiry-head .wrap {
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	transform:translateY(-50%);
}
.inquiry-title {
	margin-bottom:10px;
	color:#fff;
	font-size:180%;
	text-align:center;
}

@media screen and (min-width:768px) {
	.inquiry-head {
		padding-top:200px;
	}
	.inquiry-title {
		font-size:220%;
	}
}

@media screen and (min-width:1024px) {
	.inquiry-head {
		padding-top:225px;
	}
	.inquiry-title {
		font-size:250%;
	}
}


/*************************************************
** Form
*************************************************/
.form-block {
	margin-bottom:10px;
	padding:15px;
	color:#fff;
	background-color:#3d3836;
}
.form-block:last-child {
	margin-bottom:0;
}
.form-block-title {
	margin:0 0 10px 0;
	padding:1px 0;
	border-top:1px solid #9d3e46;
	border-bottom:1px solid #9d3e46;
}
.form-block-title span {
	display:block;
	padding:10px 0;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}
.form-block p {
	margin-bottom:.5em;
	font-size:90%;
}
.form-block p:last-child {
	margin-bottom:0;
}
.form-list {
	margin-top:20px;
	margin-bottom:30px;
	font-size:90%;
}
.form-list dt {
	margin-bottom:5px;
	font-weight:bold;
}
.form-list dd {
	margin-bottom:10px;
	padding-bottom:5px;
	border-bottom:1px solid #fff;
}
.form-list dd .form-item-half div {
	margin-bottom:5px;
}
.form-list dd .form-item-half div:last-child {
	margin-bottom:0;
}
.form-list dd input[type="text"],
.form-list dd input[type="number"],
.form-list dd textarea {
	padding:5px;
	width:100%;
	color:#000;
	border:1px solid #777;
	border-radius:5px;
	background-color:#fff;
}
.form-list dd textarea {
	height:200px;
}
.form-list dd.w15em input[type="text"] {
	margin-left:.5em;
	width:calc(100% - 1.5em);
}
.form-list dd.w15em.zip input[type="text"] {
	width:60px;
}
.form-list dd.tel input[type="text"] {
	width:60px;
}
.form-list dd p.form-err {
	margin-top:5px;
	margin-bottom:0;
	color:#f00;
	font-size:90%;
	font-weight:bold;
}
.form-submit {
	text-align:center;
}
.form-submit input[type="submit"] {
	display:inline-block;
	width:200px;
	max-width:100%;
	color:#3d3836;
	font-weight:bold;
	line-height:50px;
	text-align:center;
	background-color:#fff;
}
.form-submit .form-submit-half {
	display:inline-block;
	margin-right:20px;
	width:150px;
}
.form-submit .form-submit-half:last-child {
	margin-right:0;
}

@media screen and (min-width:768px) {
	.form-block {
		margin:0 0 20px 0;
		padding:20px;
	}
	.form-block-image-wrap {
		position:relative;
		padding-right:200px;
	}
	.form-block-title span {
		font-size:110%;
	}
	.form-block p {
		font-size:95%;
	}
	.form-list {
		font-size:95%;
	}
	.form-list dt {
		float:left;
		clear:both;
		margin-bottom:0;
		width:120px;
	}
	.form-list dd {
		padding-left:120px;
	}
	.form-list.form-list-w dt {
		width:200px;
	}
	.form-list.form-list-w dd {
		padding-left:200px;
	}
	.form-list dd .form-item-half {
		letter-spacing:-.8em;
	}
	.form-list dd .form-item-half div {
		display:inline-block;
		margin-right:2em;
		margin-bottom:0;
		letter-spacing:normal;
	}
	.form-list dd.w15em input[type="text"].middle {
		width:200px;
	}
	.form-list dd.w15em.zip input[type="text"].middle {
		width:80px;
	}
	.form-list dd.tel input[type="text"] {
		width:80px;
	}
	.form-list dd.half input[type="text"],
	.form-list dd.half input[type="number"] {
		width:200px;
	}
	.form-list dd p.form-err {
		font-size:95%;
	}
}

@media screen and (min-width:1024px) {
	.form-block {
		margin:0 0 30px 0;
		padding:30px;
	}
	.form-block-title span {
		font-size:120%;
	}
	.form-block p {
		font-size:100%;
	}
	.form-list {
		font-size:100%;
	}
	.form-list dt {
		width:140px;
	}
	.form-list dd {
		padding-left:140px;
	}
	.form-list dd p.form-err {
		font-size:100%;
	}
}


/*************************************************
** Links
*************************************************/
.links-head {
	position:relative;
	padding-top:50%;
	width:100%;
	height:0;
	background-image:url(../images/links-head.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.links-head .wrap {
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	transform:translateY(-50%);
}
.links-title {
	margin-bottom:10px;
	color:#fff;
	font-size:180%;
	text-align:center;
}
.links-head p {
	color:#fff;
	font-size:90%;
	text-align:center;
}
.links-block {
	margin-bottom:10px;
	padding:15px;
	color:#fff;
	background-color:#3d3836;
}
.links-block:last-child {
	margin-bottom:0;
}
.links-block-title {
	margin:0 0 10px 0;
	padding:1px 0;
	border-top:1px solid #9d3e46;
	border-bottom:1px solid #9d3e46;
}
.links-block-title span {
	display:block;
	padding:10px 0;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}
.links-block p {
	margin-bottom:.5em;
	font-size:90%;
}
.links-block p:last-child {
	margin-bottom:0;
}
.links-block p a {
	display:inline-block;
	padding-left:1.3em;
	position:relative;
	word-break:break-all;
}
.links-block p a::before {
	content:"\226B";
	position:absolute;
	top:0;
	left:0;
}

@media screen and (min-width:768px) {
	.links-head {
		padding-top:200px;
	}
	.links-title {
		font-size:220%;
	}
	.links-block {
		padding:20px;
	}
	.links-block-title {
		font-size:120%;
	}
	.links-block p {
		font-size:95%;
	}
}

@media screen and (min-width:1024px) {
	.links-head {
		padding-top:225px;
	}
	.links-title {
		font-size:250%;
	}
	.links-head p {
		font-size:100%;
	}
	.links-block {
		padding:30px;
	}
	.links-block-title {
		font-size:130%;
	}
	.links-block p {
		font-size:100%;
	}
}


/*************************************************
** Footer
*************************************************/
.footer {
	padding:15px 0;
	background-color:#000;
}
.footer-nav {
	margin-bottom:10px;
}
.footer-nav li {
	margin-bottom:3px;
}
.footer-nav li:last-child {
	margin-bottom:0;
}
.footer-nav li a {
	color:#fff;
	font-size:85%;
}
.footer-nav li a::before {
	content:"\226B\0020";
}
.footer-nav li a::after {
	content:url(../images/ico-footer-link.svg);
	display:inline-block;
	margin-left:.5em;
	width:15px;
	vertical-align:middle;
}
.footer-nav li a small {
	display:inline-block;
	margin-left:.5em;
	font-size:85%;
}
.footer-nav li a small::before {
	content:"\203B";
}
.copyright {
	color:#fff;
	font-size:85%;
	text-align:center;
}

@media screen and (min-width:768px) {
	.footer {
		padding:20px 0;
	}
	.footer-nav {
		margin-bottom:15px;
		letter-spacing:-.8em;
	}
	.footer-nav li {
		display:inline-block;
		margin-left:2em;
		margin-bottom:0;
		letter-spacing:normal;
	}
	.footer-nav li:first-child {
		margin-left:0;
	}
	.copyright br {
		display:none;
	}
}

@media screen and (min-width:1024px) {
	.footer {
		padding:25px 0;
	}
	.footer-nav {
		margin-bottom:20px;
	}
}
