/* reset */
html, body, div, span, applet, object, iframe, strong,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, legend, caption, 
tbody, tfoot, thead, label, table, tr, td, th, body, blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
    line-height:100%;
    list-style: none;
	}

table {
	border-collapse: colarrowlapse;
	border-spacing: 0;
	}

/*
 * Copyright (C) 2014 Adobe Systems Incorporated
 *      https://github.com/adobe-fonts/source-han-sans/tree/master
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

a, a:link, a:visited {
	color:#60c6f2;
	font-style:normal;
	text-decoration:none;
	outline:none;
	opacity: 1;
    transition:opacity 0.1s linear;
    -webkit-transition:opacity 0.1s linear;
}

a:hover {
	color:#60c6f2;
	font-style:normal;
	text-decoration:underline;
	opacity: 0.8;
}

a:active {
	text-decoration:underline;
}

@keyframes top {
0% {opacity:0;}
100% {opacity:1;}
}

/* common */
body{
	font-family: YuGothic, 'Yu Gothic medium', 'Hiragino Sans', Meiryo, 'sans-serif';
	font-weight: 400;
	font-style: normal;
	color:#3E3A39;
	background: #ffffff;
}

img {
	width: 100%;
	height: auto;
	display: block;
}

.wrapper {
	width: 640px;
	margin: 0 auto;
	box-sizing: border-box;
}

p {
	font-size: 16px;
	line-height: 175%;
}

.forsp {
	display: none;
}

/* loading */
#loader-bg {
display: none;
position: fixed;
width: 100vw;
height: 100vh;
background: #ffffff;
z-index: 999998;
}

#loader {
display: flex;
justify-content: center;
align-items: center;
	flex-direction: column;
width: 100vw;
height: 100vh;
z-index: 999999;
}

#loader img {
	width: 50px;
	height:auto;
}

/* back */
.parallax-box {
    position: relative;
}

.section-body {
    position: relative;
    padding-top: 80px;
    margin-top: 200px;
    width: 100%;
    height: 300px;
    text-align: center;
}

.bg-image-clip {
    position: absolute;
    top: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 230px;
    clip-path: inset(0); /* 切り抜き */
    z-index: -1;
}

.bg-image-fixed {
    position: fixed; /* 背景を固定 */
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-evenly;
	box-sizing: border-box;
	padding: 0px;
}

.back-top .bg-image-fixed {
	position: absolute;
    background-image: none;
	background-color: #ffffff;
}

.back-news .bg-image-fixed {
	position: absolute;
    background-image: none;
	background-color: #60c6f2;
}

.back1 .bg-image-fixed {
    background-image: url("images/back_buranko.jpg");
}

.back2 .bg-image-fixed {
    background-image: none;
	background-color: #ffffff;
}

.back3 .bg-image-fixed {
    background-image: url("images/back_futsuhahashiridasu.jpg");
}

.parallax-top-title img, .parallax-top-guest img {
    width: 175px;
	height: auto;
	padding: 0;
	margin: 0 auto;
}

.parallax-logo img, .parallax-amiko img {
    width: auto;
	height: 200px;
	padding: 0;
	margin: 0 auto;
}

.bg-image-fixed .wrapper {
	content:"";
	height: 1em;
	padding: 0;
	margin: 0;
}

.back1 .parallax-amiko {
	opacity: 0;
}

/* top */
.top {
	position: relative;
	z-index: 1;
}

.top-box {
	position: relative;
}
		
.top-box h1 {
	position: absolute;
	z-index: 5;
	margin: 0 auto;
	top:18.3%;
}

.top-box h1 img {
	width: 87%;
	margin: 0 auto;
	margin-bottom: -1px;
}

.ginger-box {
	width: 100%;
	max-width: 640px;
	height: 100%;
	position: absolute;
	top: 0;
}

.ginger-box img {
	width: 32px;
	opacity: 0.5;
	animation: swing3 10s linear infinite;
}

@keyframes swing3 {
      0%   { transform: rotate(0deg); }
      100% { transform: rotate(-360deg); }
    }

.ginger1 {
	position: absolute;
	width: auto;
	height: auto;
	top: 24%;
	left: 64%;
}

.ginger2 {
	position: absolute;
	width: auto;
	height: auto;
	top: 59.75%;
	left: 20.95%;
	transform: rotate(-180deg);	
}
.ginger3 {
	position: absolute;
	width: auto;
	height: auto;
	top: 86.75%;
	left: 64.5%;
	transform: rotate(75deg);
}


/* news */
.news-box {
	position: relative;
	padding: 100px 0px calc(100px + 15px) 0px;
}

h2 {
	text-align: center;
	margin: 0 auto;
	margin-bottom: 50px;
}

h2 img {
	width: auto;
	height: 30px;
	margin: 0 auto;
}

h2 span {
	display: block;
	font-size: 14px;
	font-weight: bold;
	padding-top: 10px;
}

.news-list-box {
	width: 100%;
	border-radius: 25px;
	padding: 50px 0px 50px 50px;
	box-sizing: border-box;
	background: #ffffff;
}

.news-guest-box {
	display: none;
	background: #ffffff;
	border-radius: 25px;
	padding: 50px;
	box-sizing: border-box;
	margin-top: 30px;
}

.news-guest-box img {
	width: 100%;
	max-width: 200px;
	height: auto;
	margin: 0 auto;
}

.news-list {
	height: 100vh;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
	padding: 0px 50px 0px 0px;
}

.news-list ul {
	border-radius: 25px;
	box-sizing: border-box;
}

.news-list li::after {
	content: "";
	display: block;
	width: 100%;
	height: 5px;
	background: url("images/border_wavyline.png") center;
	background-size: auto 100%;
	background-repeat: repeat-x;
	margin: 50px 0px;
}

.news-list li:last-child::after, .news-list-caption li:last-child::after {
	display: none;
	margin-bottom: 0px;
}
	
.news-list-day {
	font-size: 14px;
	margin-bottom: 10px;
}

.news-list-day img {
	width: auto;
	height: 12px;
	display: inline-block;
	border-radius: 2.5px;
	padding-right: 5px;
}

.news-list-title {
	font-weight: bold;
	margin-bottom: 15px;
	line-height: 150%;
}

.news-list-caption ul {
	border-radius: none;
	padding: 0px;
}

.news-list-caption li {
	margin-bottom: 25px;
}

.news-list-caption li:last-child {
	margin-bottom: 0px;
}

.news-list-caption li::after {
	display: none;
}

.news-list-caption p {
	font-size: 14px;
	line-height: 150%;
}

.news-list-caption img {
	width: 75%;
	margin: 0 auto;
}

.buttun a {
	display: block;
	width: 75%;
	background:url("images/icon_window.gif") no-repeat calc(100% - 25px) center #60c6f2;
	background-size: auto 15px;
	border-radius: 25px;
	color: #ffffff;
	font-size: 14px;
	text-align: center;
	font-weight: bold;
	margin: 0 auto;
	padding: 15px;
	box-sizing: border-box;
}

.buttun a:hover {
	text-decoration: none;
}

.news-box .link-box .buttun a {
	background:url("images/icon_window+.gif") no-repeat calc(100% - 25px) center #ffffff;
	background-size: auto 20px;
	color: #60c6f2;
	font-size: 16px;
	line-height: 125%;
	padding: 15px;
}

.sns-box {
	margin-top: 50px;
}

.sns-box-midashi img {
	width: 125px;
	height: auto;
	margin: 0 auto;
}

.sns-box ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	margin-bottom: 15px;
}

.sns-box li {
	margin-right: 15px;
}

.sns-box li:last-child {
	margin: 0;
}

.sns-box li a {
	min-width: 50px;
	text-align: center;
	display: block;
	background: #ffffff;
	padding: 15px;
	border-radius: 25px;
	font-weight: bold
}

.sns-box li a:hover {
	text-decoration: none;
}

.sns-box li a img {
	width: auto;
	height: 20px;
	display: block;
	margin: 0 auto;
}

/* about */
.wave-box1 {
    mask-image:
	url("images/back_wave1.svg"),
	linear-gradient(to bottom, transparent 0%, transparent 20px, #000 20px, #000 100%);
	mask-size: 75px ; /* 波型画像のサイズ */
	margin-top: -20px; /* 透明部分の高さを上にずらす */
}

.about-box {
	padding: 115px 0px;
}

.quiz-box {
	padding: 0px 50px 100px 50px;
	box-sizing: border-box;
}

.quiz-q {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 30px;
}

.quiz-q img {
	width: 100%;
	max-width: 240px;
}

.quiz-a {
	display: flex;
	justify-content: flex-end;
}

.quiz-a img {
	width: 100%;
	max-width: 400px;
}

.about-list-box li {
	background: #ffffff;
	border-radius: 25px;
	padding: 50px;
	box-sizing: border-box;
	margin-bottom: 30px;
}

.about-list-box li:last-child {
	margin-bottom: 0px;
}

.about-midashi {
	line-height: 150%;
	font-size: 24px;
	margin-bottom: 30px;
	text-align: center;
}

.author-box {
	margin-top: 50px;
	text-align: right;
	font-size: 20px;
}

.name-box span, .staffname-box {
	display: block;
	font-size: 12px;
	line-height: 150%;
	margin-top: 10px;
}

.staffname-box {
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px #60c6f2 solid;
}

.name-box {
	line-height: 125%;
}

/* sakuhin */
.sakuhin-box {
	padding: 115px 0px;
}

.sakuhin-box li::after {
	content: "";
	display: block;
	width: 75%;
	height: 5px;
	background: url("images/border_wavyline.png") center;
	background-size: auto 100%;
	margin: 0 auto;
	margin-top: 75px;
	margin-bottom: 75px;
}

.sakuhin-box li:last-child::after {
	display: none;
	margin-bottom: 0px;
}

.sakuhin-day-box {
	display: flex;
	flex-direction: row;
	margin-bottom: 20px;
}

.sakuhin-day-box div {
	display: block;
	font-weight: bold;
	color: #ffffff;
	background: #60c6f2;
	padding: 5px 15px;
	margin-right: 10px;
}

.sakuhin-title {
	font-weight: bold;
	font-size: 26px;
	margin-bottom: 20px;
}

.sakuhin-copyright {
	font-size: 10px;
	margin-bottom: 20px;
	margin-top: 3px;
}

.sakuhin-spec {
	font-size: 14px;
	line-height: 150%;
	margin-top: 20px;
	margin-bottom: 20px;
}

.sakuhin-text {
	margin-bottom: 20px;
}

.sakuhin-point {
	box-sizing: border-box;
}

.sakuhin-point p {
	font-size: 14px;
}

.sakuhin-point::before {
	width: 100%;
	content:"宙ぶらりんポイント";
	display: inherit;
	font-weight: bold;
	font-size: 12px;
	color: #60c6f2;
	border-bottom: 1px solid #60c6f2;
	padding-bottom: 3px;
	margin-bottom: 5px;
}

.link-box {
	margin-top: 50px;
}

.link-box li {
	margin-bottom: 10px;
}

.link-box li:last-child {
	margin-bottom: 0px;
}

.link-box li::after {
	display: none;
}

/* coment */
.coment-box {
	padding: 115px 0px 0px 0px;
}

/* theater */
.theater-box {
	padding: 100px 0px 115px 0px;
}

.time-day {
	font-size: 18px;
	font-weight: bold;
	background: #ffffff;
	border-radius: 25px 25px 0px 0px;
	padding: 30px 30px 15px 30px;
	box-sizing: border-box;
}

.sakuhin-day-box span, .time-day span {
	font-size: 12px;
}

.time-list-box {
	background: #ffffff;
	border-radius: 0px 0px 25px 25px;
	padding: 0px 30px 30px 30px;
	box-sizing: border-box;
	border-top: 1px solid #60c6f2;
}

.day1, .day2 {
	margin-bottom: 30px;
}

.time-list-box ul li {
	padding-top: 30px;
	margin-bottom: 0px;
}

.time-list-box ul li:last-child {
	margin-bottom: 0px;
}

.time-box-time {
	display: flex;
	flex-direction: row;
	align-items: center;
	font-weight: bold;
	margin-bottom: 10px;
}

.time-box-title a {
	color:#3E3A39;
	font-size: 20px;
	font-weight: bold;
}

.time-box-title a:hover {
	color:#60c6f2;
}

.guest-box {
	display: flex;
	flex-direction: row;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
}

.time-list-box .guest-box {
	font-size: 16px;
	margin-top: 10px;
}

.sakuhin-box .guest-box {
	flex-direction: column;
	line-height: 175%;
	text-align: center;
	justify-content: center;
	margin-top: 15px;
}

.guest-container {
	font-size: 14px;
	text-align: center;
	font-weight: bold;
	padding: 30px;
	box-sizing: border-box;
	border: 3px solid #60c6f2;
	margin-top: 20px;
	border-radius: 10px;
}

.guest-box div {
	font-size: 12px;
	display: block;
	font-weight: bold;
	color: #ffffff;
	background: #60c6f2;
	padding: 2px 10px;
	margin-right: 10px;
}

.sakuhin-box .guest-box div {
	margin-right: 0px;
}

.time-box-title span, .guest-box span {
	font-size: 12px;
}

.map-box {
	padding: 100px 0px 0px 0px;
}

.map-title {
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 10px;
	line-height: 150%;
}

.map-title span {
	font-size: 16px;
}

.map-caption a {
	color:#3E3A39;
}

.map-caption a:hover {
	color:#60c6f2;
}

.map-img {
	margin: 0 auto;
	margin-top: 50px;
	width:100%;
	max-width: 360px;
}

.map-box .buttun a {
	width: 100%;
	background:url("images/icon_window+.gif") no-repeat calc(100% - 25px) center #ffffff;
	background-size: auto 20px;
	color: #60c6f2;
	font-size: 16px;
	line-height: 125%;
	padding: 15px;
}

.news-box .buttun a {
	width: 85%;
}

.map-box .buttun a span {
	font-size: 12px;
}

.map-box .link-box {
	margin-top: 50px;
}

.map-box .link-box li {
	margin-bottom: 15px;
}

/* footer */
.footer {
	padding: 100px 0px;
	background: #ffffff;
}

.footer .wrapper {
	font-size: 12px;
	line-height: 175%;
	text-align: center;
}

.footer .wrapper a img {
	width: 100%;
	max-width: 320px;
	text-align: center;
	margin: 0 auto;
	margin-bottom: 30px;
}

.copyright {
	font-size: 10px;
	margin-top: 30px;
}

/* animation */
.top-box h1, .parallax-logo, .footer-logo {
	animation: swing1 5s ease infinite;
	transform-origin: top center; /* 頂点を回転の支点に */
}

.parallax-amiko, .forsp-amiko {
	animation: swing2 10s ease infinite;
	transform-origin: bottom center;
}

@keyframes swing1 {
      0%   { transform: rotate(5deg); }
      50%  { transform: rotate(-5deg); }
      100% { transform: rotate(5deg); }
    }

@keyframes swing2 {
      0%   { transform: rotate(2deg); }
      50%  { transform: rotate(-2deg); }
      100% { transform: rotate(2deg); }
    }

#loader img {
	animation: loading 5s linear infinite;
}

@keyframes loading {
      0%   { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }