@charset "UTF-8";
/* CSS Document */


body {
	position: relative;
}
a {
	text-decoration: none;
}

/*loading*/
div.loading_bg {
	background: #f8f055;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
}
div.loading_bg div.loader {
	position: relative;
}
div.loading_bg div.loader img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -150px;
	margin-top: -150px;
}
/*~loading*/

/*header*/
header {
	width: 100%;
	position: absolute;
	z-index: 30;
}
h1 {
	width: 170px;
	height: 98.5px;
	background: url(../image/h1.png) no-repeat center/100%;
	position: absolute;
	top: 15px;
	left: 40px;
}
h1 a {
	display: block;
	width: 100%;
	height: 100%;
}
h1 a span {
	opacity: 0;
}
div.ul_wrap {
	padding-top: 15px;
	padding-right: 30px;
	text-align: right;
}
ul#top-menu li {
	width: 100px;
	height: 92px;
	display: inline-block;
	vertical-align: top;
	margin-right: 20px;
	overflow: hidden;
	border-radius: 5px;
}
ul#top-menu li a {
	display: table;
	width: 100%;
	height: 100%;
	background: #eb3373;
	border-radius: 5px;
	text-decoration: none;
	position: relative;
	text-align: center;
	transition:  .2s ease-out;
	z-index: 2;
}
ul#top-menu li a::before {
	content: "";
	position: absolute;
	z-index: 1;
	width: 153.1px;
	height: 100%;
	top: 0;
	left: -179.7px;
	background: #fff;
	-webkit-transform: skewX(-30deg);
	transform: skewX(-30deg);
	transition: .2s ease-out;
}
ul#top-menu li a:hover::before {
	left: -26.6px;
}
ul#top-menu li a div {
	color: #fff;
	font-weight: bold;
	display: table-cell;
	vertical-align: middle;
	transition: .2s ease-out;
	position: relative;
	z-index: 2;
	padding: 5px 10px;
}
ul#top-menu li a:hover div {
	color: #eb3373;
}
ul#top-menu li a div span {
	display: block;
	margin-bottom: 5px;
	width: 100%;
	height: 57px;
	background-repeat: no-repeat;
	background-position: center center;
}
ul#top-menu li a div p {
	font-size: 10px;
	font-weight: bold;
	font-style: italic;
	text-align: center;
	line-height: 1;
}
li#menu-guide a div span {
	background-image: url(../image/icon_guide.png);
	background-size: 51px 57px;
}
li#menu-guide a:hover div span {
	background-image: url(../image/icon_guide_h.png);
}
li#menu-access a div span {
	background-image: url(../image/icon_access.png);
	background-size: 42px 57px;
}
li#menu-access a:hover div span {
	background-image: url(../image/icon_access_h.png);
}
li#menu-manga a div span {
	background-image: url(../image/icon_wm.png);
	background-size: 55px 54px;
}
li#menu-manga a:hover div span {
	background-image: url(../image/icon_wm_h.png);
}
li#menu-goods a div span {
	background-image: url(../image/icon_goods.png);
	background-size: 56px 43px;
}
li#menu-goods a:hover div span {
	background-image: url(../image/icon_goods_h.png);
}
li#menu-contact a div span {
	background-image: url(../image/icon_con.png);
	background-size: 57px 42px;
}
li#menu-contact a:hover div span {
	background-image: url(../image/icon_con_h.png);
}
li#menu-lang a div span {
	background-image: url(../image/icon_lan.png);
	background-size: 48px 48px;
}
li#menu-lang a:hover div span {
	background-image: url(../image/icon_lan_h.png);
}
/*~header*/


/*top-visual*/
div#top-visual {
	height: 105vh;
	min-height: 768px;
	min-width: 960px;
	background: url(../image/bg_topvisual.gif) no-repeat center bottom/cover;
	position: relative;
	z-index: 2;
}
div#top-visual::before {
	content: "";
	position: absolute;
	top: 8vh;
	height: 100%;
	width: 100%;
	min-height: 768px;
	min-width: 960px;
	background: url(../image/chara.png) no-repeat center bottom/cover;

}
div#bal_01 {
	min-width: 271px;
	min-height: 287px;
	width: 304px;
	height: 346px;
	background: url(../image/balloon_01.png) no-repeat center/auto 100%;
	position: absolute;
	top: 50%;
	left: 20vw;
	margin-top: -20%;
	z-index: 10;
	opacity: 0;
	cursor: pointer;
}
ul#bal_down_sign {
	width: 30px;
	position:absolute;
	top: 65%;
	left: 50%;
	margin-left: -15px;
}
ul#bal_down_sign li {
	margin-bottom: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px 15px 0 15px;
	border-color: #e60050 transparent transparent transparent;
	opacity: 0;
	animation-duration: 2s;
	animation-delay: 2.5s;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
}
div#bal_02 {
	width: 149px;
	height: 182px;
	background: url(../image/balloon_02.png) no-repeat center/auto 100%;
	position: absolute;
	top: 50%;
	margin-top: -10%;
	left: 56vw;
	z-index: 10;
	opacity: 0;
}
div#bal_03 {
	width: 137px;
	height: 158px;
	background: url(../image/balloon_03.png) no-repeat center/auto 100%;
	position: absolute;
	top: 50%;
	margin-top: -10%;
	right: 10vw;
	z-index: 10;
	opacity: 0;
}
div.bal span {
	opacity: 0;
}

ul#bal_sns_ul {
	width: 100%;
	position: absolute;
	top: 92px;
	left: 0;
	padding-left: 13px;
}
ul#bal_sns_ul li {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
}
ul#bal_sns_ul li:last-child {
	margin-right: 0;
}
ul#bal_sns_ul li a {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
ul#bal_sns_ul li:first-child a {
	background-image: url(../image/sns_f.png);
}
ul#bal_sns_ul li:nth-child(2) a {
	background-image: url(../image/sns_t.png);
}
ul#bal_sns_ul li:last-child a {
	background-image: url(../image/sns_i.png);
}
/*~top-visual*/


/*main_section*/
div#main_section {
	position: relative;
	z-index: 1;
	margin-top: -100px;
}

/*~main_section*/

/*welcome_section*/
div#welcome_section {
	background: url(../image/welcom_bg.jpg) left top/94px 112px;
	-webkit-animation: welcome_bg 10s infinite linear;
	animation: welcome_bg 10s infinite linear;
	padding: 200px 0 50px;
}
div#welcome_section div.contents_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	width: 645px;
	margin: 0 auto;
}
div#welcome_section div.contents_box div#welcome_intro {
	position: relative;
	width: 100%;
	margin: 0 auto 50px;
}
div#welcome_section div.contents_box div#welcome_intro::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 340px;
	height: 162px;
	margin-left: -170px;
	background: url(../image/fig_sil.png) no-repeat left top/100% auto;
	z-index: 2;
}
div#welcome_section div.contents_box div#welcome_intro h2 {
	height: 90px;
	margin-bottom: 50px;
	background: url(../image/welcome.png) no-repeat center center/394px 90px;
}
div#welcome_section div.contents_box div#welcome_intro h2 span {
	opacity: 0;
}
div#welcome_section div.contents_box div#welcome_intro p {
	font-size: 22px;
	font-weight: bold;
	width: 100%;
	margin: 0 auto 197px;
}
div#welcome_section div.contents_box div#slide_wrap {
	width: 100%;
	height: 443px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
div#welcome_section div.contents_box div#slide_wrap ul li {
	position: absolute;
	width: 370.875px;
	height: 278.018px;
	-webkit-animation: 8s infinite cubic-bezier(0.645, 0.045, 0.355, 1); /*easeInOutCubic*/
	animation: 8s infinite cubic-bezier(0.645, 0.045, 0.355, 1);
	-webkit-transform: rotate(-12deg) scale(1,1);
	transform: rotate(-12deg) scale(1,1);
}
div#welcome_section div.contents_box div#slide_wrap ul li img {
	width: 100%;
	height: 100%;
}
div#welcome_section.action div.contents_box div#slide_wrap ul li:nth-child(1) {
	animation-name: slide1;
	/*z-index: 1;*/
}
div#welcome_section.action div.contents_box div#slide_wrap ul li:nth-child(2) {
	animation-name: slide2;
	/*z-index: 2;*/
}
div#welcome_section.action div.contents_box div#slide_wrap ul li:nth-child(3) {
	animation-name: slide3;
	/*z-index: 3;*/
}
/*~welcome_section*/

/*a_link*/
div.a_wrap {
	text-align: center;
}
div.a_wrap a {
	position: relative;
	display: block;
	padding-top: 34px;
	border-radius: 50%;
	width: 125px;
	height: 125px;
}
div.a_wrap a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: #e60050;
	z-index: -1;
}
div.a_wrap a:hover::before {
	-webkit-animation: aHover 1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	animation: aHover 1s cubic-bezier(0.455, 0.03, 0.515, 0.955);/*easeInOutQuad*/
}
div.a_wrap a p {
	width: 95px;
	margin: 0 auto;
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	line-height: 1.6;
}
div.a_wrap a {
	display: inline-block
}
/*a_link*/



/*second_section*/
div#second_section {
	position: relative;
	background: url(../image/second_sec_bgtop.png) no-repeat center top/1920px 100px;
	overflow: hidden;
	margin-top: -100px;
	padding: 80px 0 60px;
}
div#second_section div.contents_box {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	width: 960px;
	margin: 0 auto;
	z-index: 2;
}
div#second_section section {
	padding: 30px;
}
h2.section_title {
	font: bold 70px 'Passion One', cursive;
	color: #e60050;
	margin-bottom: 60px;
	text-align: center;
}
h2.section_title span {
	display: inline-block;
	font-size: 22px;
	margin-left: 10px;
}

	/*guide_section*/
	div#second_section section#guide_section {
		width: 450px;
	}
	div#second_section section#guide_section h3 {
		font-size: 20px;
		font-weight: bold;
		color: #e60050;
	}
	div#second_section section#guide_section div#hour p,
	div#second_section section#guide_section dt,
	div#second_section section#guide_section dd {
		font-size: 28px;
		font-weight: bold;
	}
	div#second_section section#guide_section div.inner_box {
		margin-bottom: 50px;
	}
	div#second_section section#guide_section div#hour {
		margin-bottom: 38px;
	}
	
	div#second_section section#guide_section dl,
	div#second_section section#guide_section dt,
	div#second_section section#guide_section dd {
		display: inline-block;
		vertical-align: top;
	}
	div#second_section section#guide_section dl:first-child {
		margin-right: 10px;
	}
	div#second_section section#guide_section dt {
		margin-right: 1em;
	}
	div#second_section section#guide_section dt span {
		display: block;
		font-size: 13px;
		margin-top: -10px;
	}
	
	/*manga_section*/
	div#second_section section#manga_section {
		width: 750px;
	}
	div#second_section section#manga_section h2 {
		margin-bottom: 25px;
	}
	div#second_section section#manga_section div.inner_box {
		position: relative;
		margin-bottom: 36px;
	}
	div#second_section section#manga_section div#manga_v {
		width: 460px;
		height: 251.563px;
		margin-left: 230px;
	}
	div#second_section section#manga_section div#manga_v img {
		width: 100%;
		height: 100%;
	}
	div#second_section section#manga_section div#manga_intro {
		position: absolute;
		left: 0;
		top: 60px;
		width: 270px;
		height: 261px;
		padding-top: 65px;
		background: url(../image/manga_intro_bg.png) no-repeat left top/270px 261px;
	}
	div#second_section section#manga_section div#manga_intro p {
		width: 80%;
		margin: 0 auto;
		line-height: 1.75;
		font-weight: bold;
	}
	
	/*~manga_section*/

#guide_bg, #manga_bg {
	position: absolute;
	width: 960px;
	z-index: -1;
	background: no-repeat left top/100%;
}
#guide_bg {
	height: 688px;
	left: 50%;
	margin-left: -480px;
	top: 100px;
}
div#second_section.action div#guide_bg svg circle {
	-webkit-animation: circle_anime infinite cubic-bezier(0.455, 0.03, 0.515, 0.955);
	animation: circle_anime infinite cubic-bezier(0.455, 0.03, 0.515, 0.955);  
}
div#second_section.action div#guide_bg svg circle#circle1 {
	-webkit-animation-duration: 20s;
	animation-duration: 20s;
}
div#second_section.action div#guide_bg svg circle#circle2 {
	-webkit-animation-name: circle_anime_up;
	animation-name: circle_anime_up;
	-webkit-animation-duration: 10s;
	animation-duration: 10s;
}
div#second_section.action div#guide_bg svg circle#circle3 {
	-webkit-animation-duration: 15s;
	animation-duration: 15s;
}
div#second_section.action div#guide_bg svg circle#circle4 {
	-webkit-animation-duration: 12s;
	animation-duration: 12s;
}
div#second_section.action div#guide_bg svg circle#circle5 {
	-webkit-animation-duration: 25s;
	animation-duration: 25s;
}
div#second_section.action div#guide_bg svg circle#circle6 {
	-webkit-animation-name: circle_anime_up;
	animation-name: circle_anime_up;
	-webkit-animation-duration: 8s;
	animation-duration: 8s;
}
#manga_bg {
	bottom: 0;
	right: 0;
	height: 450px;
	
}
/*~guide_bg, manga_bg*/	
	
/*~second_section*/

/*access_section*/
section#access_section {
	position: relative;
	background: url(../image/access_bg.png) no-repeat center top;
	margin-top: -130px;
	padding: 170px 0 0;
}
section#access_section::before,
section#access_section::after {
	content: "";
	position: absolute;
}
section#access_section::before {
	background-color: #fde6ee;
	width: 100%;
	height: 100%;
	z-index: -1;
	top: 130px;
	left: 0;
}
section#access_section::after {
	left: 0;
	bottom: -110px;
	width: 100%;
	height: 114px;
	background: url(../image/access_bg_btm.png) no-repeat center bottom/1920px 114px;
	z-index: 1;
}
section#access_section div.contents_box {
	position: relative;
	text-align: center;
	width: 960px;
	margin: 0 auto;
	padding: 30px;
	z-index: 3;
}
section#access_section div#map_top {
	width: 100%;
	height: 550px;
	margin-bottom: 200px;
}
section#access_section div#nishijin, 
section#access_section div#access_chara {
	position: absolute;
	z-index: 2;
}
section#access_section div#nishijin {
	width: 180px;
	height: 181px;
	top: -100px;
	right: 0;
	padding-top: 75.5px;
	background: url(../image/access_nishi.png) no-repeat left top/100% auto;
}
section#access_section div#nishijin p {
	font-size: 30px;
	font-weight: bold;
	color: #fff;
}
section#access_section div#access_chara {
	width: 450px;
	bottom: 125px;
	left: 0;
}
section#access_section div#access_chara img {
	display: inline-block;
	width: 245px;
	height: 204px;
}
section#access_section div#access_chara > div {
	display: inline-block;
	width: 221px;
	height: 204px;
	margin-left: -30px;
	padding-top: 45px;
	text-align: center;
	background: url(../image/access_chara_bg.png) no-repeat left top/100% auto;
}
section#access_section div#access_chara > div p {
	font-size: 18px;
	font-weight: bold;
	margin-left: 53px ;
	width: 133px;
}
section#access_section div#access_bg {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 407px;	
	z-index: 2;
}
div#access_bg svg#access_svg {
	width: 100%;
	height: 100%;
	opacity: 0.3;
}
section#access_section div#access_bg svg#access_svg g#groupe1 {
	-webkit-animation: g1_anime 80s infinite linear;
	animation: g1_anime 80s infinite linear;
}
section#access_section div#access_bg svg#access_svg g#groupe2 {
	-webkit-animation: g1_anime 20s infinite linear;
	animation: g1_anime 20s infinite linear;
}
section#access_section div#access_bg svg#access_svg g#groupe3 {
	-webkit-animation: g1_anime 40s infinite linear;
	animation: g1_anime 40s infinite linear;
}
/*~access_section*/

/*greeting_section*/
section#greeting_section {
	position: relative;
	background: url(../image/greeting_bg1.jpg) no-repeat center center/cover;
	padding: 264px 0 150px;
	z-index: 0;
}
section#greeting_section::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../image/greeting_bg2.jpg) no-repeat center center/cover;
	z-index: 1;
	opacity: 0;
}
section#greeting_section.action::before {
	-webkit-animation: greeting_bg 15s infinite cubic-bezier(0.25, 0.46, 0.45, 0.94);
	animation: greeting_bg 15s infinite cubic-bezier(0.25, 0.46, 0.45, 0.94); /*easeOutQuad*/
}
section#greeting_section div.contents_box {
	position: relative;
	width: 800px;
	margin: 0 auto;
	padding: 60px 60px;
	text-align: center;
	border-radius: 30px;
	background-color: #fff;
	z-index: 2;
}
section#greeting_section div.contents_box p {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 1em;
	text-align: left;
}
section#greeting_section div.contents_box p:last-child {
	text-align: right;
}
/*~greeting_section*/







/*sns_section*/
div.sns_section {
	position: relative;
	z-index: 2;
	margin-top: -33.5px;
}
/*~sns_section*/


@media screen and (max-height: 800px) {
	div#bal_01 {
		width: 36vh;
		height: 41vh;
	}
}

/*animate*/
.load_action1 {
	-webkit-animation: scaleUp 1s  1s forwards ease-out;
	animation: scaleUp 1s 1s forwards ease-out; 
}
.load_action2 {
	-webkit-animation: scaleUp 1s 1.5s forwards ease-out;
	animation: scaleUp 1s  1.5s forwards ease-out; 
}
.load_action3 {
	-webkit-animation: scaleUpRight 1.8s 1s ease-out;
	animation: scaleUpRight 1.8s 1s forwards ease-out; 
}

.down_action1 {
	-webkit-animation-name: slideDown;
	animation-name: slideDown;
}
.down_action2 {
	-webkit-animation-name: slideDown2;
	animation-name: slideDown2;
}
.down_action3 {
	-webkit-animation-name: slideDown3;
	animation-name: slideDown3;
}


