/* 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{
	color:#333333;
	font-style:normal;
	text-decoration:none;
	outline:none;
}

a:link {
	color:#333333;
	font-style:normal;
	text-decoration:none;
}

a:visited {
	color:#333333;
	text-decoration:none;
}

a:hover {
	color:#333333;
	font-style:normal;
	text-decoration:underline;
}

a:active {
	text-decoration:underline;
}

@keyframes top {
0% {opacity:0;}
100% {opacity:1;}
}

/* common */
body{
    font-family:'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    color:#333333;
	background: #ffffff;
}

.wrapper, .day-h3-box {
    font-family:'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    width:640px;
    margin:0 auto;
}

.forsp {
    display:none;
}

.forpc {
    display:block;
}

.green {
	color: #2daa9d;
}

/* loading */
#loader-bg {
  display: none;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0px;
  left: 0px;
	background: #ffffff;
  z-index: 999998;
}
#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -50px;
  margin-left: -100px;
  text-align: center;
  z-index: 999999;
}
#loader img {
	padding-bottom: 0px;
	width: 200px;
	height:auto;
}
#loader p {
	font-family:'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-size: 10px;
	color: #aaca5d;
	font-weight: bold;
}

@keyframes top {
0% {opacity:0;}
50% {opacity:0;}
100% {opacity:1;}
}


/* menu */
/* thanks : https://lopan.jp/css-animation-drawer/ */
/* :::::: toggle button :::::: */
.drawer-box {
	position: relative;
	z-index: 999998;
}

#navTgl {
	display: none;
}
.drawer-box label {
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 0;
}
.open {
	z-index: 2;
	width: 60px;
	height: 60px;
	transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before,
.open::after {
	content: "";
}
.open span,
.open::before,
.open::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 30%;
	width: 40%;
	border-bottom: 2px solid #cccccc;
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before {
	transform: translateY(-8px);
}
.open::after {
	transform: translateY(8px);
}
.close {
	z-index: 1;
	width: 100%;
	height: 100%;
	pointer-events: none;
	transition: background .6s;
}
#navTgl:checked + .open {
	transform: translateX(-240px);
}
#navTgl:checked + .open span {
	transform: scaleX(0);
}
#navTgl:checked + .open::before {
	transform: rotate(45deg);
}
#navTgl:checked + .open::after {
	transform: rotate(-45deg);
}
#navTgl:checked ~ .close {
	pointer-events: auto;
	background: rgba(0,0,0,.3);
}

/* :::::: drawer menu :::::: */
.drawer-menu {
	z-index: 1;
	position: fixed;
	overflow: auto;
	top: 0;
	right: 0;
	width: 240px;
	height: 100%;
	box-sizing: border-box;
	background: #ffffff;
	transform: translateX(100%);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.drawer-menu li {
	color:#333333;
}

.drawer-menu li a {
	color:#333333;
    text-decoration:none;
	padding:20px;
    background:#ffffff;
    transition: 0.1s;
	font-size:12px;
	line-height: 18px;
	height: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	box-sizing: border-box;
	border-bottom: 5px solid;
	border-image-source: url("images/bg_dot.png");
	border-image-slice: 33%;
	border-image-repeat: repeat;
	border-image-width: 0px 0px 5px 0px;
	font-weight: bold;
}

.drawer-menu img {
	width: 100%;
	height: auto;
	display: block;
}


.drawer-menu li a:hover {
}

#navTgl:checked ~ .drawer-menu {
	transform: none;
}

.drawer-menu li .line {
	width: 100%;
	height: 2px;
	background: #cccccc;
	mask-image: url(images/line_dotted.svg);
	-webkit-mask-image: url(images/line_dotted.svg);
	margin: 0px 0px;
}

.drawer-menu-logo a {
	padding: 30px;
    box-sizing:border-box; 
	display: block;
}

.drawer-menu-logo a img {
	width: 100%;
	height: auto;
	display: block;
}


/* top */
.top {
    width:100%;
}

.back1 {
	width: 100%;
	height: auto;
	background: url("images/back03.jpg") center #aaca5d;
	background-size: cover;
	overflow: hidden;
}

.top h1 {
	width: 100%;
	position: relative;
	z-index: 998;
	overflow: hidden;
    margin:0 auto;
	box-shadow: 0px 0px 500px #ffffff;
}

.top h1 video {
	width: 100%;
	height: auto;
	display: block;
}

.top h1 img {
    width:100%;
    height:auto;
    display:block;
}

.sns {
    display:flex;
    justify-content:space-between;
    -webkit-justify-content:space-between;
    padding:0px 0px 30px 0px;
}

.facebook, .twitter {
    width:100%;
    height:480px;
    background:white;
	border:1px solid #efefef;
	box-sizing: border-box;
}

.twitter {
    overflow:scroll;
}

/* introduciton */
.intro-box {
	padding:60px 0px 60px 0px;
}

.back-flower {
	background-color:  #eef4df;
	background-image: url("images/back01.png"), url("images/back02.png");
	background-repeat: repeat-y;
	background-position: center left, center right;
	background-attachment: fixed;
	background-size: auto 480px;
}

.intro {
    color:333333;
	background: #ffffff;
	margin-bottom: 60px;
	padding: 60px;
	box-sizing: border-box;
}

.intro h2, .ishizaka h2 {
    font-size:18px;
    margin-bottom:30px;
    line-height:28px;
	color:#aaca5d;
}

.intro-katabaki-box {
	margin-top: 30px;
}

.intro-katagaki {
    font-size:14px;
    margin-bottom:6px;
    line-height:14px;
	text-align: right;
}

.intro-staff {
    font-size:14px;
	border-top: 5px solid;
	border-image-source: url("images/bg_dot.png");
	border-image-slice: 33%;
	border-image-repeat: repeat;
	border-image-width: 5px 0px 0px 0px;
	margin-top: 30px;
    padding-top:30px;
    line-height:24px;
}

.intro-name {
	font-size:20px;
	text-align: right;
}

.intro p {
    font-size:16px;
    text-align:justify;
    line-height:28px;
    margin-bottom:0px;
}

.ishizaka {
    color:333333;
	padding: 60px;
	border: 20px solid #aaca5d;
	background: #ffffff;
	box-sizing: border-box;
}

.ishizaka-midashi {
    margin-bottom:15px;
}

.ishizaka p {
    font-size:16px;
    text-align:justify;
    line-height:28px;
}

/* sakuhin */
.sakuhin {
    padding:0px 0px 0px 0px;
    color:333333;
}

.sakuhin img {
    width:100%;
    height:auto;
}

.day1, .day2, .day3, .day4 {
    width:100%;
    margin:0 auto;
}

.sakuhin h3 {
    padding:30px 0px 15px 0px;
	box-sizing:border-box;
    text-align:left;
    font-size:16px;
    color:333333;
}

.sakuhin-time-box {
	width: 100%;
	display: flex;
	justify-content: flex-start;
    margin:15px 0px 10px 0px;
}

.sakuhin-time, .sakuhin-talk {
    font-size:14px;
    color:#ffffff;
	background: #aaca5d;
    text-align:left;
    font-weight:bold;
	padding: 5px 10px;
	display: inline-block;
}

.sakuhin-talk {
	margin-left: 5px;
}

.sakuhin-title {
	width:100%;
    font-size:20px;
    margin-bottom:15px;
    font-weight:bold;
    line-height:130%;
}

.sakuhin-title .small, .time .small {
	font-size: 75%;
}

.sakuhin-story {
    font-size:16px;
    text-align:justify;
    line-height:28px;   
}

.gendai {
    font-size:12px;
    padding-left:5px;
}

.sakuhin-date {
    font-size:12px;
    text-align:justify;
    line-height:18px;
    margin-bottom:15px;
    margin-top:15px;
}

.sakuhin li {
	border-top: 5px solid;
	border-image-source: url("images/bg_dot.png");
	border-image-slice: 33%;
	border-image-repeat: repeat;
	border-image-width: 5px 0px 0px 0px;
    padding-bottom:60px;
	background: #ffffff;
}

.bold {
    font-weight:bold;
}

.sakuhin-li-last {
    margin-bottom:0px;
}

.guest {
    padding:60px 0px 0px 0px;
}

.guest1, .guest2 {
    color:#333333;
}

.guest1 {
	padding-bottom:60px;
}

.guest-katagaki {
	width:100%;
    text-align:right;
    font-size:12px;
    margin-top:8px;
	line-height:16px;
}

.guest-name {
	width:100%;
    text-align:right;
	font-size:28px;
    margin-top:15px;
}

.guest1 p, .guest2 p {
    line-height:28px;
}

/* timechedule */
.time {
    color:#333333;
    padding:60px 0px 0px 0px;
}

.time-day1, .time-day3, .time-day2 {
	background: #ffffff;
	margin-bottom: 30px;
}

.time-day3 {
	margin: 0;
}

.time h4 {
    font-size:18px;
    padding-bottom:8px;
	border-bottom: 5px solid;
	border-image-source: url("images/bg_dot.png");
	border-image-slice: 33%;
	border-image-repeat: repeat;
	border-image-width: 0px 0px 5px 0px;
    font-weight:bold;
	box-sizing: border-box;
	padding: 20px;	
} 

.week {
    font-size:12px;
    padding-right:5px;
}

.time table {
    width:100%;
    margin-bottom:-7px;
	padding: 20px;
}

.time td {
	width:60px;
    text-align:left; 
}

.time th {
	text-align:left;
    padding-bottom:7px;
    line-height:22px;
    margin-bottom:-6px;
}

.time-shaku {
    font-size:12px;
    padding-left:5px;
}

.time-guest-katagaki {
    font-size:12px;
	padding-top: 5px;
	line-height: 150%;
}

.time-guest {
    margin-top:8px;
    line-height:22px;
}

.time-katagaki {
    font-size:12px;
}

.ticket-cation {
    font-size:12px;
}

.talkshow-box {
	margin-top: 5px;
}

.time .talkshow {
	font-size: 12px;
    color:#ffffff;
	background: #aaca5d;
    text-align:left;
    font-weight:bold;
	padding: 4px 10px;
	display: inline-block;
	margin-bottom: 5px;
}

/* theater */
.theater {
    padding-top:60px;
    color:#333333;
	text-align: center;
}

.theater-box {
	box-sizing: border-box;
	background: #ffffff;
	padding: 30px;
	text-align: left;
	margin: 30px 0px;
}

.theater ul {
	display:block;
    margin:0;
    margin-top:15px;
}

.theater li {
	border:none;
    margin:0;
    padding-bottom:0px;
    line-height:20px;
    font-size:14px;
}

.theater img {
    width:50%;
    height:auto;
    border:none;
    boz-sizing:border-box;
}

.theater h5 {
    font-size:20px;
    margin-bottom:10px;
	font-weight: bold;
}

.theater-adress p {
    font-size:14px;
    line-height:24px;
    padding:0;
}

.tel {
    margin-bottom:60px;
}

.tel a, .chirashi a {
	display:block;
    background:#ffffff;
	border: 2px solid #aaca5d;
    text-align:center;
    font-size:16px;
    padding:15px;
    border-radius:4px;
    line-height:22px;
    color:#aaca5d;
    transition:opacity 0.1s linear;
    -webkit-transition:opacity 0.1s linear;
}

.tel a:hover, .chirashi a {
    text-decoration:none;
    opacity: 0.8;
}


/* footer */
.footer {
    overflow:hidden;
	color: #333333;
	background: #ffffff;
}

.pagetop {
    width:100%;
    height:auto;
    overflow:hidden;
    color:#333333;
    text-align:center;
    font-weight:normal;
	font-family:'cbg';
}

.pagetop a {
	font-size:16px;
	width:100%;
    background:#aaca5d;
    text-decoration:none;
    color:#333333;
    display:block;
    padding:15px 0px;
    justify-content:center;
}

.pagetop a:hover {
    text-decoration:none;
    color:#333333;
}

.arrow-box {
	widht:100%;
	display:flex;
	justify-content: center;
	align-items: center;
}

.arrow {
	width: 10px;
	height: 10px;
	border-top: 3px solid #ffffff;
	border-right: 3px solid #ffffff;
    transform: rotate(-45deg);
    margin-top:6px;
    margin-right:10px;
}

.ichiran {
    padding:60px 0%;
    text-align:center;
	background: #ffffff;
}

.ichiran img {
    width:50%;
    height:auto;
    margin-bottom:30px;
	box-sizing: border-box;
}

.ichiran p {
    font-size:10px;
    line-height:16px;
    padding:0;
    margin-bottom:0px;
    text-align:center;
}

.copyright {
	margin-top:-5px;
    padding-top:5%;
    font-size:10px;
}

.link {
	width:640px;
    margin:0 auto;
    margin-bottom:30px;
}

.link li {
    margin-bottom:30px;
}

.link img {
    display:block;
    width:100%;
    height:auto;
    border:none;
}

.img-copyright {
	font-size: 8px;
}

@media screen and (min-width: 0px) and (max-width: 640px) {

/* common */
.wrapper {
	width: calc(100% - 30px);
    margin:0 auto;
    box-sizing:border-box;
}

.forsp {
    display:block;
}

.forpc {
    display:none;
}

/* top */
.top .wrapper {
    width:100%;
}
	
.top h1 {
    width:100%;
}

.top h1 img {
    width:100%;
    height:auto;
    display:block;
}
	
/* introduciton */
.intro-box {
	padding:30px 0px;
}
	
.back-flower {
	background-size: auto 240px;
}

.intro {
	padding: 30px;
	margin-bottom: 30px;
}
	
.ishizaka {
    color:333333;
	padding: 30px;
	border: 10px solid #aaca5d;
}
	
.sakuhin li {
    padding-bottom:30px;
}

/* timechedule */
.time-day1 .wrapper, .time-day2 .wrapper, .time-day3 .wrapper {
    width:100%;
}
	
.time {
    padding:30px 0px 0px 0px;
}

/* theater */
.theater {
    padding-top:30px;
}
	
.theater img {
    width:100%;
    height:auto;
	margin: 0;
}
	
.theater-box {
	padding: 30px;
	margin: 30px 0px;
}
	
.tel {
    margin-bottom:30px;
}

/* footer */
.ichiran {
    padding:30px 0%;
}
	
.link {
	width:100%;
}

.link li {
    margin-bottom:15px;
}

.ichiran img {
    width:50%;
    height:auto;
    margin-bottom:30px;
}
	
.copyright {
	margin-top:0px;
    padding-top:15px;
}

}