@charset "utf-8";

/* ---------------------------------------------------------- */
/* LOADING */
/* ---------------------------------------------------------- */
#loading {
	width: 100%;
	height: 100%;
	background: #46beaf;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 1002;
	}

#loading .loading {
	top: 50%;
	left: 50%;
	margin-top: -62px;
	margin-left: -50px;
	position: absolute;
	}

#loading .loading img {
	width: 100px;
	}

#loading .loader,
#loading .loader:before,
#loading .loader:after {
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation: load 1.8s infinite ease-in-out;
	animation: load 1.8s infinite ease-in-out;
	}

#loading .loader {
	font-size: 10px;
	color: #fff;
	margin: auto;
	position: relative;
	text-indent: -9999em;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
	}

#loading .loader:before,
#loading .loader:after {
	content: '';
	position: absolute;
	top: 0;
	}

#loading .loader:before {
	left: -3.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
	}

#loading .loader:after {
	left: 3.5em;
	}

@-webkit-keyframes load {
	0%, 80%, 100% {box-shadow: 0 2.5em 0 -1.3em;}
	40% {box-shadow: 0 2.5em 0 0;}
}
@keyframes load {
	0%, 80%, 100% {box-shadow: 0 2.5em 0 -1.3em;}
	40% {box-shadow: 0 2.5em 0 0;}
}

@media (max-width: 640px){
#loading .loading {
	margin-top: -50px;
	margin-left: -30px;
	}

#loading .loading img {
	width: 60px;
	}

#loading .loader,
#loading .loader:before,
#loading .loader:after {
	width: 1.2em;
	height: 1.2em;
	}
}


/* ---------------------------------------------------------- */
/* MAIN */
/* ---------------------------------------------------------- */
#main {
	width: 100%;
	height: 1155px;
	background: url(../images/top/bg_main_pc.jpg) bottom center no-repeat;
	background-size: cover;
	overflow: hidden;
	position: relative;
	}

#main h1 {
	width: 630px;
	top: 762px;
	left: 0;
	right: 0;
	margin: auto;
	position: absolute;
	z-index: 6;
	}

#main .onair {
	width: 240px;
	height: 100px;
	background: #fff;
	border: 4px solid #654f42;
	border-radius: 50px 0 0 50px;
	top: 940px;
	right: -4px;
	position: absolute;
	z-index: 5;
	}

#main .onair .tit {
	margin: -30px 0 10px -5px;
	}

#main .onair .tit img {
	width: 218px;
	}

#main .onair p {
	font-weight: bold;
	color: #47809A;
	text-align: center;
	padding: 0 0 0 10px;
	}

#main .onair p a {
	text-decoration: none;
	}

#main .onair p br {
	display: none;
	}

#main ul.sns {
	width: 225px;
	top: 1055px;
	right: 5px;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	z-index: 5;
	}

#main ul.sns li {
	line-height: 1;
	text-align: center;
	margin: 5px;
	}

#main ul.sns li img {
	width: 35px;
	}

#main ul.sns li:last-child {
	width: 100%;
	}

#main ul.sns li:last-child a {
	background: #fffad8;
	border-radius: 50px;
	padding: 5px;
	display: block;
	}

#main ul.sns li:last-child img {
	width: 163px;
	}

#main .catch {
	width: 1400px;
	height: 1155px;
	background: url(../images/top/txt_catch.png) center center no-repeat;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	top: 5px;
	left: 0;
	right: 0;
	margin: auto;
	position: absolute;
	z-index: 4;
	}

#main .chara_sub {
	width: 1384px;
	top: 550px;
	left: 0;
	right: 0;
	margin: auto;
	position: absolute;
	z-index: 3;
	}

#main .wave {
	left: 0;
	bottom: 0;
	position: absolute;
	z-index: 2;
	}

#main .chara_main {
	width: 1247px;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	position: absolute;
	z-index: 1;
	}

#main h1 img ,
#main .chara_sub img ,
#main .wave img ,
#main .chara_main img {
	width: 100%;
	}

@media (max-width: 1400px){
#main {
	height: 850px;
	background: url(../images/top/bg_main_pc.jpg) top -120px center no-repeat;
	background-size: cover;
	}

#main h1 {
	width: 32%;
	top: 70%;
	}

#main .onair {
	top: 75%;
	}

#main ul.sns {
	top: 88%;
	}

#main .catch {
	width: 79%;
	height: 0;
	background: url(../images/top/txt_catch.png) center center no-repeat;
	background-size: cover;
	padding: 65.175% 0 0 0;
	}

#main .chara_sub {
	width: 80%;
	top: 43%;
	}

#main .chara_main {
	width: 70%;
	}
}

@media (max-width: 1200px){
#main h1 {
	width: 38%;
	top: 68%;
	}

#main .catch {
	width: 85%;
	padding: 70.125% 0 0 0;
	}

#main .chara_sub {
	width: 85%;
	top: 45%;
	}

#main .chara_main {
	width: 75%;
	}
}

@media (max-width: 768px){
#main {
	height: 0;
	background: url(../images/top/bg_main_sp.jpg) bottom center no-repeat;
	background-size: cover;
	padding: 142.1875% 0 0 0;
	}

#main h1 {
	width: 100%;
	text-align: center;
	top: 61.5%;
	}

#main h1 img {
	width: 60%;
	}

#main .onair {
	width: 70%;
	height: 10%;
	border-radius: 50px;
	top: 86%;
	left: 0;
	right: 0;
	margin: auto;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	align-items: center;
	}

#main .onair .tit {
	width: 40%;
	margin: 0 0 0 -2%;
	}

#main .onair .tit img {
	width: 100%;
	}

#main .onair p {
	width: 60%;
	font-size: 3.2vw;
	line-height: 1.2;
	}

#main .onair p br {
	display: inline-block;
	}

#main .catch {
	width: 19%;
	height: 0;
	background: url(../images/top/txt_catch_sp.png) center center no-repeat;
	background-size: contain;
	top: 0.5%;
	left: 14.5%;
	right: auto;
	padding: 33.90196% 0 0 0;
	}

#main ul.sns ,
#main .chara_sub ,
#main .wave ,
#main .chara_main {
	display: none;
	}
}


/* ---------------------------------------------------------- */
/* 配信 */
/* ---------------------------------------------------------- */
#haishin {
	width: 230px;
	background: #fff;
	border: 4px solid #654f42;
	border-radius: 0 10px 10px 0;
	text-align: center;
	top: 935px;
	left: -4px;
	position: absolute;
	z-index: 5;
	}

#haishin .tit {
	margin: -20px 0 5px 0;
	}

#haishin .tit img {
	width: 200px;
	}

#haishin p {
	font-weight: bold;
	color: #47809A;
	padding: 5px 0;
	}

#haishin a:hover {
	opacity: 0.7;
	}

#haishin a img {
	width: 200px;
	}

.haishin_popup {
	width: 100%;
	max-width: 900px;
	text-align: center;
	background: #fff;
	border: 4px solid #654f42;
	border-radius: 20px;
	margin: auto;
	padding: 30px;
	position: relative;
	}

.haishin_popup .movie {
	height: 0;
	margin: 0 0 20px 0;
	padding: 0 0 56.25% 0;
	overflow: hidden;
	position: relative;
	}

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

.haishin_popup a {
	width: 100%;
	max-width: 400px;
	}

.haishin_popup a {
	width: 430px;
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background: url("../images/top/ico_youtube.png") left 25px center no-repeat #ff0000;
	background-size: 50px auto , auto;
	border-radius: 50px;
	margin: auto;
	padding: 20px 25px 20px 45px;
	display: block;
	position: relative;
	}

.haishin_popup a::after {
	content: "";
	width: 7px;
	height: 7px;
	top: 50%;
	right: 40px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin: -4px 0 0 0;
	display: block;
	position: absolute;
	}

@media (max-width: 1400px){
#haishin {
	top: 650px;
	}
}

@media (max-width: 768px){
#haishin {
	width: 100%;
	background: url("../images/common/bg_ikura_03.png") top 10% left 10px no-repeat , #f2fff0;
	background-size: 5% auto , 100% , auto;
	border: none;
	border-top: 4px solid #654f42;
	border-radius: 0;
	padding: 40px 20px 20px 20px;
	position: static;
	}

#haishin .bg {
	background: #fff;
	border-radius: 20px;
	padding: 30px 30px 15px 30px;
	position: relative;
	z-index: 1;
	}

#haishin .pattern {
	width: 100px;
	height: 75px;
	background: url(../images/top/bg_pattern_sns.png) top center no-repeat ,
				url(../images/common/bg_ikura_02.png) bottom right 5px no-repeat;
	background-size: 100px auto , 25px auto;
	top: -25px;
	right: -20px;
	position: absolute;
	z-index: 2;
	}

#haishin .bg_ikura {
	width: 25px;
	height: 27px;
	background: url(../images/common/bg_ikura_01.png) center center no-repeat;
	background-size: 25px 27px;
	bottom: 25px;
	left: -15px;
	position: absolute;
	z-index: 2;
	}

#haishin .tit {
	margin: -50px 0 10px 0;
	}

#haishin .tit img {
	width: 50%;
	}

#haishin a img {
	width: 100%;
	}

#haishin p {
	font-size: 1.6rem;
	padding: 10px 0 0 0;
	}

.haishin_popup a {
	width: 70%;
	font-size: 1.8rem;
	background: url("../images/top/ico_youtube.png") left 20px center no-repeat #ff0000;
	background-size: 30px auto , auto;
	padding: 15px 15px 15px 35px;
	display: block;
	position: relative;
	}

.haishin_popup a::after {
	right: 20px;
	}
}

@media (max-width: 640px){
#haishin .pattern {
	width: 70px;
	height: 50px;
	background-size: 70px auto , 20px auto;
	top: -25px;
	right: -10px;
	}

#haishin .bg_ikura {
	width: 20px;
	height: 22px;
	background-size: 20px 22px;
	left: -10px;
	}

#haishin .tit {
	margin: -45px 0 10px 0;
	}

#haishin .tit img {
	width: 55%;
	}

.haishin_popup {
	border: 3px solid #654f42;
	border-radius: 10px;
	padding: 20px;
	}

.haishin_popup a {
	width: 90%;
	font-size: 1.4rem;
	}
}

@media (max-width: 480px){
#haishin .tit img {
	width: 65%;
	}

.haishin_popup a {
	width: 100%;
	}
}


/* ---------------------------------------------------------- */
/* メニュー */
/* ---------------------------------------------------------- */
#menu {
	width: 100%;
	background: url(../images/common/bg_menu.png);
	border-top: 4px solid #654f42;
	border-bottom: 4px solid #654f42;
	padding: 5px 0 10px 0;
	}

#menu nav {
	width: 1143px;
	margin: auto;
	}

#menu nav ul {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	}

#menu nav ul li {
	margin: 0 6px;
	}

#menu nav ul li.top {
	display: none;
	}

#menu nav ul li a ,
#menu nav ul li span {
	width: 115px;
	height: 84px;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	display: block;
	}

#menu nav ul li span {
	opacity: 0.5;
	}

#menu nav ul li a:hover.mov {
	transform: scale(1.05, 1.05);
	animation: mov linear 0.4s;
	}

@keyframes mov {
	0%   {transform: scale(1.0, 1.0);}
	25%  {transform: scale(0.7, 0.7);}
	70%  {transform: scale(1.2, 1.2);}
	100% {transform: scale(1.0, 1.0);}
}

#menu nav ul li .news      {background: url(../images/common/menu_news.png);}
#menu nav ul li .onair     {background: url(../images/common/menu_onair.png);}
#menu nav ul li .character {background: url(../images/common/menu_character.png);}
#menu nav ul li .movie     {background: url(../images/common/menu_movie.png);}
#menu nav ul li .story     {background: url(../images/common/menu_story.png);}
#menu nav ul li .about     {background: url(../images/common/menu_about.png);}
#menu nav ul li .book      {background: url(../images/common/menu_book.png);}
#menu nav ul li .goods     {background: url(../images/common/menu_goods.png);}
#menu nav ul li .special   {background: url(../images/common/menu_special.png);}

#menu nav ul li .news ,
#menu nav ul li .onair ,
#menu nav ul li .character ,
#menu nav ul li .movie ,
#menu nav ul li .story ,
#menu nav ul li .about ,
#menu nav ul li .book ,
#menu nav ul li .goods ,
#menu nav ul li .special {
	background-size: 115px , 84px;
	}

#menu .btn ,
#menu .txt ,
#menu ul.sns {
	display: none;
	}

@media (max-width: 768px){
#menu {
	min-width: 100%;
	padding: 20px 30px;
	}

#menu nav {
	width: 100%;
	}

#menu nav ul {
	flex-wrap: wrap;
	}

#menu nav ul li.top {
	display: block;
	}

#menu nav ul li {
	width: calc(50% - 20px);
	background: #fffad8;
	border-radius: 50px;
	margin: 5px 10px;
	padding: 10px 20px;
	}

#menu nav ul li a ,
#menu nav ul li span {
	width: 100%;
	height: 0;
	padding: 12.38095% 0 0 0;
	}

#menu nav ul li a:hover.mov {
	transform: none;
	animation: none;
	}

#menu nav ul li .top       {background: url(../images/common/menu_top_sp.png);}
#menu nav ul li .news      {background: url(../images/common/menu_news_sp.png);}
#menu nav ul li .onair     {background: url(../images/common/menu_onair_sp.png);}
#menu nav ul li .character {background: url(../images/common/menu_character_sp.png);}
#menu nav ul li .movie     {background: url(../images/common/menu_movie_sp.png);}
#menu nav ul li .story     {background: url(../images/common/menu_story_sp.png);}
#menu nav ul li .about     {background: url(../images/common/menu_about_sp.png);}
#menu nav ul li .book      {background: url(../images/common/menu_book_sp.png);}
#menu nav ul li .goods     {background: url(../images/common/menu_goods_sp.png);}
#menu nav ul li .special   {background: url(../images/common/menu_special_sp.png);}

#menu nav ul li .top ,
#menu nav ul li .news ,
#menu nav ul li .onair ,
#menu nav ul li .character ,
#menu nav ul li .movie ,
#menu nav ul li .story ,
#menu nav ul li .about ,
#menu nav ul li .book ,
#menu nav ul li .goods ,
#menu nav ul li .special {
	background-size: contain;
	background-repeat: no-repeat;
	}

#menu ul.sns {
	width: 60%;
	margin: 5px auto auto auto;
	display: flex;
	}

#menu ul.sns li {
	width: 20%;
	line-height: 1;
	text-align: center;
	background: none;
	margin: 0;
	padding: 10px 7.5px 5px 7.5px;
	}

#menu ul.sns li a {
	width: auto;
	height: auto;
	text-indent: inherit;
	overflow: auto;
	white-space: inherit;
	display: inline-block;
	}

#menu ul.sns li a img {
	width: 100%;
	}

#menu ul.sns li:last-child {
	width: 100%;
	}

#menu ul.sns li:last-child a {
	background: #fffad8;
	border-radius: 50px;
	padding: 10px;
	display: block;
	}

#menu ul.sns li:last-child a img {
	width: 70%;
	}

#menu.fixed {
	text-align: right;
	background: none;
	border-top: none;
	border-bottom: none;
	padding: 0;
	top: 0;
	left: 0;
	position: fixed;
	z-index: 100;
	}

#menu.fixed nav {
	background: url(../images/common/bg_menu.png);
	background-size: 1449px auto;
	border-bottom: 4px solid #654f42;
	padding: 10px 30px 30px 30px;
	top: 0;
	position: absolute;
	display: none;
	}

#menu.fixed .btn {
	width: 50px;
	height: 50px;
	background: #ffebb0;
	display: inline-block;
	cursor: pointer;
	position: relative;
	z-index: 101;
	}

#menu.fixed .btn span ,
#menu.fixed .btn span:before ,
#menu.fixed .btn span:after {
	width: 24px;
	height: 3px;
	background: #675144;
	}

#menu.fixed .btn span {
	margin: -2px 0 0 -12px;
	top: 50%;
	left: 50%;
	transition: .2s;
	display: block;
	position: absolute;
	}

#menu.fixed .btn span:before {
	margin: -10px 0 0 0;
	content: "";
	top: 50%;
	left: 0;
	transition: .3s;
	position: absolute;
	}

#menu.fixed .btn span:after {
	margin: 6px 0 0 0;
	content: "";
	top: 50%;
	left: 0;
	transition: .3s;
	position: absolute;
	}

#menu.fixed .btn.close {
	background: #675144;
	}

#menu.fixed .btn.close span {
	background: transparent;
	}

#menu.fixed .btn.close span:before {
	background: #fff;
	margin: -2px 0 0 0;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	}

#menu.fixed .btn.close span:after {
	background: #fff;
	margin: -2px 0 0 0;
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	}

#menu.fixed nav .txt {
	text-align: center;
	padding: 10px 0;
	display: block;
	}

#menu.fixed nav .txt img {
	width: 120px;
	}

#menu.fixed ul.sns {
	margin: 5px auto auto auto;
	}
}

@media (max-width: 640px){
#menu {
	padding: 10px 5px;
	}

#menu nav ul li ,
#menu nav ul li:last-child {
	width: calc(50% - 10px);
	margin: 5px;
	padding: 10px 15px;
	}

#menu nav ul.sns li ,
#menu nav ul.sns li:last-child {
	padding: 0 7.5px 7.5px 7.5px;
	}

#menu.fixed nav ul.sns li:last-child {
	margin: 7.5px 0 5px 0;
	padding: 0 7.5px 0 7.5px;
	}


#menu.fixed nav {
	padding: 10px 15px 20px 15px;
	}

#menu.fixed nav .txt img {
	width: 100px;
	}
}

@media (max-width: 480px){
#menu nav ul li ,
#menu nav ul li:last-child {
	padding: 10px;
	}

#menu ul.sns {
	width: 70%;
	}

#menu.fixed ul.sns {
	width: 80%;
	margin: 10px auto auto auto;
	}
}

@media (min-width: 769px){
#menu.fixed {
	display: block !important;
	}

#menu nav {
	display: block !important;
	}
}


/* ---------------------------------------------------------- */
/* コンテンツ共通 */
/* ---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
	}

h2 {
	text-align: center;
	}

.ov:hover {
	transform: scale(1.0, 1.0);
	animation: ov linear 0.3s;
	}

@keyframes ov {
	0%   {transform: scale(1.0, 1.0);}
	70%  {transform: scale(1.05, 1.05);}
	100% {transform: scale(1.0, 1.0);}
}


/* ---------------------------------------------------------- */
/* ニュース */
/* ---------------------------------------------------------- */
#news {
	background: url(../images/news/bg_title.png) top center no-repeat ,
				url(../images/news/bg.png) top 220px center no-repeat ,
				#fffef0;
	box-shadow: 0 8px 3px -3px rgba(0, 0, 0, 0.1)inset;
	padding: 5px 0 100px 0;
	}

#news h2 img {
	width: 533px;
	}

#news .bg {
	width: 1000px;
	background: #fff;
	border-radius: 50px;
	margin: -70px auto auto auto;
	padding: 30px 15px 50px 15px;
	position: relative;
	z-index: 1;
	}

#news .pattern {
	width: 134px;
	height: 53px;
	background: url(../images/news/bg_pattern.png) top center no-repeat;
	background-size: 134px auto;
	top: -45px;
	left: 50px;
	position: absolute;
	z-index: 2;
	}

#news .bg_chara_01 {
	width: 279px;
	height: 184px;
	background: url(../images/common/bg_contents_01.png) top left no-repeat;
	background-size: 279px 184px;
	top: -75px;
	right: -140px;
	position: absolute;
	z-index: 2;
	}

#news .bg_chara_02 {
	width: 381px;
	height: 350px;
	background: url(../images/common/bg_contents_02.png) bottom left no-repeat ,
				url(../images/common/bg_ikura_01.png) top right no-repeat;
	background-size: 381px auto , 42px auto;
	top: -10px;
	left: -410px;
	position: absolute;
	z-index: 2;
	}

#news .bg_chara_03 {
	width: 250px;
	height: 148px;
	background: url(../images/common/bg_contents_04.png) top right no-repeat ,
				url(../images/common/bg_ikura_01.png) bottom left no-repeat;
	background-size: 165px auto , 42px auto;
	bottom: -55px;
	left: -30px;
	position: absolute;
	z-index: 2;
	}

#news .bg_chara_04 {
	width: 294px;
	height: 519px;
	background: url(../images/top/bg_news.png) top left no-repeat;
	bottom: -205px;
	right: -160px;
	position: absolute;
	z-index: 2;
	}

#news .bg_ikura {
	display: none;
	}

#news ul {
	min-height: 280px;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	}

#news ul li {
	width: 50%;
	padding: 20px 35px;
	}

#news ul li a {
	color: #675144;
	text-decoration: none;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	}

#news ul li a:hover {
	opacity: 0.7;
	}

#news ul li .thumb {
	padding: 0 20px 0 0;
	}

#news ul li .thumb img {
	width: 110px;
	}

#news ul li .text .category {
	background: #fffac1;
	padding: 2px 10px;
	display: inline-block;
	}

#news ul li .text .category.onair     {background: #c7e3ff;}
#news ul li .text .category.character {background: #ffc4c4;}
#news ul li .text .category.movie     {background: #b7f1ff;}
#news ul li .text .category.story     {background: #ffd8b9;}
#news ul li .text .category.about     {background: #d7bcff;}
#news ul li .text .category.book      {background: #d8ffbc;}
#news ul li .text .category.goods     {background: #ffd9ed;}
#news ul li .text .category.special   {background: #ffe6bb;}

#news ul li .text time {
	color: #47809a;
	padding: 10px 0;
	display: block;
	}

#news .more {
	width: 430px;
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background: #7faf77;
	border-radius: 50px;
	margin: 60px auto auto auto;
	padding: 25px;
	display: block;
	position: relative;
	}

#news .more::before {
	content: url(../images/common/img_more.png);
	top: -60px;
	left: 0;
	-webkit-transform: scale(0.5);
	transform: scale(0.5);
	position: absolute;
	}

#news .more::after {
	content: "";
	width: 7px;
	height: 7px;
	top: 50%;
	right: 40px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin: -4px 0 0 0;
	display: block;
	position: absolute;
	}

@media (max-width: 1200px){
#news .bg_chara_01 {
	right: -100px;
	}

#news .bg_chara_02 {
	left: -350px;
	}

#news .bg_chara_04 {
	right: -100px;
	}
}

@media (max-width: 768px){
#news {
	background: url(../images/news/bg_title.png) top center no-repeat ,
				url(../images/news/bg.png) top 50% center no-repeat ,
				#fffef0;
	background-size: 1400px auto , contain , auto;
	padding: 10px 40px 100px 40px;
	}

#news h2 img {
	width: 450px;
	}

#news .bg {
	width: 100%;
	border-radius: 20px;
	margin: -50px auto auto auto;
	padding: 30px;
	}

#news .pattern {
	width: 100px;
	height: 59px;
	background: url(../images/news/bg_pattern.png) bottom center no-repeat ,
				url(../images/common/bg_ikura_01.png) top right 20px no-repeat;
	background-size: 100px auto , 25px auto;
	top: -70px;
	left: -60px;
	}

#news .bg_chara_01 {
	width: 160px;
	height: 106px;
	background-size: 160px 106px;
	top: -60px;
	right: -55px;
	}

#news .bg_chara_02 {
	width: 210px;
	height: 118px;
	background: url(../images/common/bg_contents_02.png) bottom left no-repeat ,
				url(../images/common/bg_ikura_01.png) top right 60px no-repeat;
	background-size: 210px auto , 20px auto;
	top: 36%;
	left: -160px;
	}

#news .bg_chara_03 {
	width: 220px;
	height: 90px;
	background: url(../images/common/bg_contents_04.png) top right no-repeat ,
				url(../images/common/bg_ikura_01.png) center left no-repeat ,
				url(../images/news/bg_pattern.png) top 5px left 30px no-repeat;
	background-size: 110px auto , 30px auto , 120px auto;
	bottom: -80px;
	left: -10px;
	}

#news .bg_chara_04 {
	width: 160px;
	height: 169px;
	background: url(../images/common/bg_contents_03.png) top left no-repeat;
	background-size: 160px 169px;
	bottom: -150px;
	right: -10px;
	}

#news .bg_ikura {
	width: 30px;
	height: 318px;
	background: url(../images/common/bg_ikura_03.png) top left no-repeat;
	background-size: 30px 318px;
	top: 20%;
	right: -20px;
	display: block;
	position: absolute;
	z-index: 2;
	}

#news ul {
	min-height: auto;
	}

#news ul li {
	width: 100%;
	padding: 0 0 30px 0;
	}

#news ul li .thumb {
	width: 30%;
	}

#news ul li .thumb img {
	width: 100%;
	}

#news ul li .text {
	width: 70%;
	}

#news .more {
	width: 60%;
	font-size: 1.8rem;
	margin: 40px auto auto auto;
	padding: 15px;
	display: block;
	position: relative;
	}

#news .more::before {
	top: -70px;
	-webkit-transform: scale(0.4);
	transform: scale(0.4);
	}

#news .more::after {
	right: 30px;
	}
}

@media (max-width: 640px){
#news {
	padding: 10px 20px 70px 20px;
	}

#news h2 img {
	width: 300px;
	}

#news .bg {
	margin: -35px auto auto auto;
	padding: 30px 20px;
	}

#news .pattern {
	width: 70px;
	height: 41px;
	background: url(../images/news/bg_pattern.png) bottom center no-repeat ,
				url(../images/common/bg_ikura_01.png) top right 15px no-repeat;
	background-size: 70px auto , 17px auto;
	top: -50px;
	left: -30px;
	}

#news .bg_chara_01 {
	width: 120px;
	height: 79px;
	background-size: 120px 79px;
	top: -40px;
	right: -25px;
	}

#news .bg_chara_02 {
	width: 120px;
	height: 60px;
	background: url(../images/common/bg_contents_02.png) bottom left no-repeat ,
				url(../images/common/bg_ikura_01.png) top right 40px no-repeat;
	background-size: 120px auto , 15px auto;
	top: 33%;
	left: -80px;
	}

#news .bg_chara_03 {
	width: 170px;
	height: 70px;
	background-size: 170px 70px;
	bottom: -60px;
	}

#news .bg_chara_03 {
	width: 170px;
	height: 70px;
	background-size: 80px auto , 25px auto , 90px auto;
	bottom: -60px;
	}

#news .bg_chara_04 {
	width: 120px;
	height: 127px;
	background-size: 120px 127px;
	bottom: -110px;
	right: 0;
	}

#news .bg_ikura {
	width: 20px;
	height: 212px;
	background-size: 20px 212px;
	top: 20%;
	right: -15px;
	}

#news ul li {
	padding: 0 0 20px 0;
	}

#news ul li .text .category {
	font-size: 1.2rem;
	}

#news ul li .text time {
	padding: 5px 0;
	}

#news .more {
	width: 70%;
	font-size: 1.6rem;
	margin: 30px auto auto auto;
	}

#news .more::before {
	left: -15px;
	-webkit-transform: scale(0.35);
	transform: scale(0.35);
	}
}

@media (max-width: 480px){
#news h2 img {
	width: 260px;
	}

#news .bg {
	margin: -30px auto auto auto;
	}

#news .pattern {
	width: 50px;
	height: 29px;
	background: url(../images/news/bg_pattern.png) bottom center no-repeat ,
				url(../images/common/bg_ikura_01.png) top right 12px no-repeat;
	background-size: 50px auto , 12px auto;
	top: -35px;
	left: -20px;
	}

#news .bg_chara_01 {
	width: 90px;
	height: 59px;
	background-size: 90px 59px;
	top: -30px;
	}

#news .bg_chara_02 {
	width: 110px;
	height: 55px;
	background: url(../images/common/bg_contents_02.png) bottom left no-repeat ,
				url(../images/common/bg_ikura_01.png) top right 35px no-repeat;
	background-size: 110px auto , 10px auto;
	top: 34%;
	left: -80px;
	}

#news .bg_chara_03 {
	width: 120px;
	height: 49px;
	background-size: 55px auto , 18px auto , 60px auto;
	bottom: -40px;
	}

#news .bg_chara_04 {
	width: 105px;
	height: 111px;
	background-size: 105px 111px;
	bottom: -95px;
	right: 0;
	}

#news .more {
	width: 90%;
	font-size: 1.4rem;
	}
}


/* ---------------------------------------------------------- */
/* ムービー */
/* ---------------------------------------------------------- */
#movie {
	background: url(../images/movie/bg_title.png) top center no-repeat ,
				url(../images/movie/bg.png) top 220px center no-repeat ,
				#f0fcff;
	border-top: 4px solid #418090;
	padding: 10px 0 100px 0;
	}

#movie.bg_l {
	background: url(../images/movie/bg_title.png) top center no-repeat ,
				url(../images/movie/bg_l.png) top center no-repeat ,
				#f0fcff;
	}

#movie h2 img {
	width: 527px;
	}

#movie .bg {
	width: 1000px;
	background: #fff;
	border-radius: 50px;
	margin: -48px auto auto auto;
	padding: 50px;
	position: relative;
	z-index: 1;
	}

#movie .pattern {
	width: 134px;
	height: 53px;
	background: url(../images/movie/bg_pattern.png) top center no-repeat;
	background-size: 134px auto;
	top: -48px;
	right: 0;
	position: absolute;
	z-index: 2;
	}

#movie .bg_chara_01 {
	width: 104px;
	height: 175px;
	background: url(../images/common/bg_contents_05.png) top left no-repeat;
	background-size: 104px 175px;
	top: -40px;
	left: -93px;
	position: absolute;
	z-index: 2;
	}

#movie .bg_chara_02 {
	width: 211px;
	height: 222px;
	background: url(../images/common/bg_contents_06.png) top left no-repeat;
	background-size: 211px 222px;
	top: 460px;
	left: -180px;
	position: absolute;
	z-index: 2;
	}

#movie .bg_chara_03 {
	width: 203px;
	height: 198px;
	background: url(../images/common/bg_contents_07.png) top left no-repeat;
	background-size: 203px 198px;
	top: 630px;
	right: -190px;
	position: absolute;
	z-index: 2;
	}

#movie .bg_chara_04 {
	width: 165px;
	height: 211px;
	background: url(../images/common/bg_contents_08.png) bottom left no-repeat;
	background-size: 165px 211px;
	bottom: -60px;
	left: -100px;
	position: absolute;
	z-index: 2;
	}

#movie .bg_chara_04_l {
	width: 211px;
	height: 313px;
	background: url(../images/common/bg_contents_08.png) bottom left no-repeat ,
				url(../images/movie/bg_pattern.png) top left no-repeat;
	background-size: 165px 211px , 134px auto;
	bottom: -60px;
	left: -100px;
	position: absolute;
	z-index: 2;
	}

#movie .bg_chara_05 {
	width: 226px;
	height: 375px;
	background: url(../images/top/bg_movie.png) top 60px left no-repeat ,
				url(../images/common/bg_ikura_01.png) top center no-repeat ,
				url(../images/top/bg_pattern_sns.png) bottom left 24px no-repeat;
	background-size: 226px auto , 37px auto , 134px auto;
	bottom: -260px;
	right: -180px;
	position: absolute;
	z-index: 2;
	}

#movie ul li {
	margin: 0 0 40px 0;
	}

#movie ul li:last-child {
	margin: 0;
	}

#movie ul li .movie {
	height: 0;
	padding: 0 0 56.25% 0;
	overflow: hidden;
	position: relative;
	}

#movie ul li .movie iframe {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	}

@media (max-width: 1200px){
#movie .pattern {
	right: 60px;
	}
}

@media (max-width: 768px){
#movie {
	background: url(../images/movie/bg_title.png) top center no-repeat ,
				url(../images/movie/bg.png) top 50% center no-repeat ,
				#f0fcff;
	background-size: 1400px auto , contain , auto;
	padding: 10px 40px 100px 40px;
	}

#movie.bg_l {
	background: url(../images/movie/bg_title.png) top center no-repeat ,
				url(../images/movie/bg_l.png) top center no-repeat ,
				#f0fcff;
	background-size: 1400px auto , contain , auto;
	}

#movie h2 img {
	width: 450px;
	}

#movie .bg {
	width: 100%;
	border-radius: 20px;
	margin: -40px auto auto auto;
	padding: 30px;
	}

#movie .pattern {
	width: 100px;
	height: 75px;
	background: url(../images/movie/bg_pattern.png) top center no-repeat ,
				url(../images/common/bg_ikura_02.png) bottom right 5px no-repeat;
	background-size: 100px auto , 25px auto;
	top: -35px;
	right: -20px;
	}

#movie .bg_chara_01 {
	width: 65px;
	height: 115px;
	background: url(../images/common/bg_contents_05.png) bottom left no-repeat ,
				url(../images/common/bg_ikura_01.png) top right no-repeat;
	background-size: 50px auto, 25px auto;
	top: -80px;
	left: -30px;
	}

#movie .bg_chara_02 {
	width: 70px;
	height: 74px;
	background-size: 70px 74px;
	top: 55%;
	left: -40px;
	}

#movie .bg_chara_03 {
	width: 80px;
	height: 78px;
	background-size: 80px 78px;
	top: 45%;
	right: -60px;
	}

#movie .bg_chara_04 ,
#movie .bg_chara_04_l {
	width: 140px;
	height: 147px;
	background: url(../images/common/bg_contents_08.png) top left no-repeat ,
				url(../images/common/bg_ikura_01.png) center right no-repeat;
	background-size: 110px auto , 25px auto;
	bottom: -130px;
	left: -15px;
	}

#movie .bg_chara_05 {
	width: 140px;
	height: 179px;
	background: url(../images/top/bg_movie.png) top left no-repeat;
	background-size: 140px 179px;
	bottom: -165px;
	right: -25px;
	}

#movie ul li{
	margin: 0 0 30px 0;
	}

#movie ul li:last-child {
	margin: 0;
	}
}

@media (max-width: 640px){
#movie {
	padding: 10px 20px 70px 20px;
	}

#movie h2 img {
	width: 310px;
	}

#movie .bg {
	margin: -25px auto auto auto;
	padding: 30px 20px;
	}

#movie .pattern {
	width: 70px;
	height: 50px;
	background-size: 70px auto , 20px auto;
	top: -25px;
	right: -10px;
	}

#movie .bg_chara_01 {
	width: 50px;
	height: 90px;
	background-size: 40px auto, 20px auto;
	top: -60px;
	left: -12px;
	}

#movie .bg_chara_02 {
	width: 50px;
	height: 53px;
	background-size: 50px 53px;
	left: -25px;
	}

#movie .bg_chara_03 {
	width: 60px;
	height: 59px;
	background-size: 60px 59px;
	right: -45px;
	}

#movie .bg_chara_04 ,
#movie .bg_chara_04_l {
	width: 100px;
	height: 107px;
	background-size: 80px auto , 20px auto;
	bottom: -90px;
	left: -10px;
	}

#movie .bg_chara_05 {
	width: 110px;
	height: 141px;
	background-size: 110px 141px;
	bottom: -130px;
	right: -15px;
	}

#movie ul li {
	margin: 0 0 20px 0;
	}
}

@media (max-width: 480px){
#movie h2 img {
	width: 265px;
	}

#movie .bg {
	margin: -20px auto auto auto;
	}

#movie .pattern {
	width: 50px;
	height: 40px;
	background-size: 50px auto , 15px auto;
	top: -20px;
	}

#movie .bg_chara_01 {
	width: 40px;
	height: 70px;
	background-size: 30px auto, 15px auto;
	top: -40px;
	left: -12px;
	}

#movie .bg_chara_02 {
	width: 45px;
	height: 47px;
	background-size: 45px 47px;
	left: -22px;
	}

#movie .bg_chara_04 ,
#movie .bg_chara_04_l {
	width: 80px;
	height: 94px;
	background-size: 70px auto , 15px auto;
	bottom: -80px;
	}

#movie .bg_chara_05 {
	width: 100px;
	height: 128px;
	background-size: 100px 128px;
	bottom: -115px;
	}
}


/* ------------------------------------------------------- */
/* SNS
---------------------------------------------------------- */
#sns {
	background: url(../images/top/bg_sns.png) top 160px center no-repeat ,
				url(../images/top/bg_sns_wave.png) bottom center no-repeat ,
				#f2fff0;
	background-size: auto , 100% , auto;
	border-top: 4px solid #7cb773;
	margin: auto;
	padding: 75px 0 180px 0;
	}

#sns .x {
	max-width: 640px;
	margin: 0 auto 20px auto;
	}

#sns ul.list {
	width: 1040px;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	}

#sns ul.list li {
	width: 50%;
	margin: 0 0 40px 0;
	padding: 0 20px;
	}

#sns ul.list li.facebook {
	overflow: hidden !important;
	}

#sns ul.list li #instagramWrapper {
	width: 480px;
	height: 250px;
	background: #fff;
	border-radius: 10px;
	margin: auto;
	padding: 30px 10px;
	}

#sns ul.list li #instagramWrapper p {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1;
	margin: 0 0 25px 0;
	padding: 0 10px;
	}

#sns ul.list li #instagramWrapper ul {
	width: 100%;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	}

#sns ul.list li #instagramWrapper ul li {
	line-height: 0;
	margin: 0 10px;
	padding: 0;
	}

#sns ul.list li #instagramWrapper ul li a:hover {
	opacity: 0.7
	}

#sns ul.list li #instagramWrapper ul li img {
	width: 130px;
	height: 130px;
	border: 1px solid #ededed;
	object-fit: cover;
	}

#sns ul.list li #instagramWrapper .bg_chara_01 ,
#sns ul.list li #instagramWrapper .bg_chara_02 {
	display: none;
	}

#sns .banner {
	width: 530px;
	margin: auto;
	}

@media (max-width: 768px){
#sns {
	background: url(../images/top/bg_sns_sp.png) top 10px center no-repeat ,
				url(../images/top/bg_sns_wave.png) bottom center no-repeat,
				#f2fff0;
	background-size: contain , 100% , auto;
	}

#sns ul.list {
	width: 480px;
	}

#sns ul.list li {
	width: 100%;
	text-align: center;
	margin: 0 0 20px 0;
	padding: 0;
	}

#sns ul.list li #instagramWrapper {
	position: relative;
	}

#sns ul.list li #instagramWrapper p {
	text-align: left;
	}

#sns ul.list li #instagramWrapper .bg_chara_01 {
	width: 440px;
	height: 80px;
	background: url(../images/top/bg_sns_instagram.png) center top no-repeat ,
				url(../images/common/bg_ikura_02.png) top right no-repeat;
	background-size: 80px auto , 30px auto;
	top: -15px;
	position: absolute;
	z-index: 2;
	display: block;
	}

#sns ul.list li #instagramWrapper .bg_chara_02 {
	width: 30px;
	height: 33px;
	background: url(../images/common/bg_ikura_01.png) top right no-repeat;
	background-size: 30px auto;
	left: 100px;
	bottom: -15px;
	position: absolute;
	z-index: 2;
	display: block;
	}

#sns .banner {
	width: 480px;
	}

#sns .banner img {
	width: 100%;
	}
}

@media (max-width: 640px){
#sns {
	padding: 60px 40px 120px 40px;
	}

#sns ul.list {
	width: 100%;
	}

#sns ul.list li iframe ,
#sns ul.list li a {
	width: 100% !important;
	width: 740px !important;
	}

#sns ul.list li #instagramWrapper {
	width: 100%;
	height: auto;
	padding: 15px 7.5px;
	}

#sns ul.list li #instagramWrapper p {
	font-size: 1.8rem;
	margin: 0 0 10px 0;
	padding: 0 7.5px;
	}

#sns ul.list li #instagramWrapper ul li {
	width: 33.33333%;
	margin: 0 7.5px;
	position: relative;
	}

#sns ul.list li #instagramWrapper ul li:before{
	content: "";
	padding: 100% 0 0 0;
	display: block;
	}

#sns ul.list li #instagramWrapper ul li img {
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	position: absolute;
	}

#sns ul.list li #instagramWrapper .bg_chara_01 {
	width: 85%;
	height: 60px;
	background: url(../images/top/bg_sns_instagram.png) center top no-repeat ,
				url(../images/common/bg_ikura_02.png) top 10px right no-repeat;
	background-size: 60px auto , 25px auto;
	top: -25px;
	}

#sns ul.list li #instagramWrapper .bg_chara_02 {
	width: 20px;
	height: 23px;
	background: url(../images/common/bg_ikura_01.png) top right no-repeat;
	background-size: 20px auto;
	left: 20%;
	bottom: -10px;
	}

#sns .banner {
	width: 100%;
	}
}


/* ---------------------------------------------------------- */
/* フッター
/* ---------------------------------------------------------- */
footer {
	height: 145px;
	background: url(../images/common/bg_footer.png) bottom center;
	text-align: center;
	margin: -70px 0 0 0;
	padding: 80px 0 0 0;
	}

footer .copyright {
	width: 1000px;
	font-size: 1.6rem;
	color: #fff;
	margin: auto;
	position: relative;
	}

footer .copyright p span {
	font-family: Verdana , Droid Sans;
	}

footer .notes {
	font-size: 1.2rem;
	color: #ff0;
	margin: 5px 0 0 0;
	}

footer .copyright .bg_chara_01 {
	width: 184px;
	height: 252px;
	background: url(../images/common/bg_footer_01.png) top left no-repeat;
	top: -206px;
	left: -63px;
	position: absolute;
	z-index: 2;
	}

footer .copyright .bg_chara_02 {
	width: 161px;
	height: 284px;
	background: url(../images/common/bg_footer_02.png) top left no-repeat;
	top: -250px;
	right: -110px;
	position: absolute;
	z-index: 2;
	}

@media (max-width: 768px){
footer {
	height: auto;
	background: #047d77;
	margin: 0;
	padding: 20px 10px;
	}

footer .copyright {
	width: 100%;
	font-size: 1.2rem;
	}

footer .copyright .bg_chara_01 {
	width: 92px;
	height: 126px;
	background-size: 92px 126px;
	top: -130px;
	left: 10px;
	}

footer .copyright .bg_chara_02 {
	width: 80px;
	height: 142px;
	background-size: 80px 142px;
	top: -150px;
	right: 10px;
	}
}

@media (max-width: 640px){
footer .copyright .bg_chara_01 {
	width: 70px;
	height: 96px;
	background-size: 70px 96px;
	top: -100px;
	left: 5px;
	}

footer .copyright .bg_chara_02 {
	width: 60px;
	height: 106px;
	background-size: 60px 106px;
	top: -110px;
	right: 5px;
	}

footer .notes {
	font-size: 1.0rem;
	}
}


/* ---------------------------------------------------------- */
/* magnific-popup */
/* ---------------------------------------------------------- */
.mfp-container {
	padding: 0 40px;
	}

button.mfp-close ,
.mfp-iframe-holder .mfp-close {
	width: 40px;
	height: 40px;
	background: #654f42;
	border-radius: 50px;
	top: -20px !important;
	right: -20px !important;
	opacity: 1;
	display: block;
	padding: 0;
	z-index: 100;
	cursor: pointer;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	position: absolute;
	}

button.mfp-close:before ,
button.mfp-close:after {
	content:"";
	width: 3px;
	height: 20px;
	background: #ffebb0;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	position:absolute;
	display:inline-block;
	}

button.mfp-close:before {
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	}

button.mfp-close:after{
	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	}

button.mfp-close:hover {
	background: #ffebb0;
	}

button.mfp-close:hover:before ,
button.mfp-close:hover:after {
	background: #654f42;
	}

.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.15s ease-out;
	-moz-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
	}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.7;
	}

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
	}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
	}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
	}

@media (max-width: 640px){
.mfp-container {
	padding: 0 20px;
	}

.mfp-content {
	margin: 20px auto;
	}

button.mfp-close {
	width: 30px !important;
	height: 30px;
	top: -20px !important;
	right: -15px !important;
	}

button.mfp-close:before{
	height: 15px;
	}

button.mfp-close:after{
	height: 15px;
	}
}