/* 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:#a7ab92;
	font-style:normal;
	text-decoration:none;
	outline:none;
}

a:link {
	color:#2daa9d;
	font-style:normal;
	text-decoration:none;
}

a:visited {
	color:#2daa9d;
	text-decoration:none;
}

a:hover {
	color:#2daa9d;
	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: #2daa9d;
}

.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;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#333333+0,282828+100 */
background: #333333; /* Old browsers */
background: -moz-radial-gradient(center, ellipse cover,  #333333 0%, #282828 100%); /* FF3.6-15 */
background: -webkit-radial-gradient(center, ellipse cover,  #333333 0%,#282828 100%); /* Chrome10-25,Safari5.1-6 */
background: radial-gradient(ellipse at center,  #333333 0%,#282828 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#333333', endColorstr='#282828',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
  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: #ffffff;
}

@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:15px;
    background:none;
    transition: 0.1s;
	font-size:12px;
	line-height: 18px;
	height: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	box-sizing: border-box;
}


.drawer-menu li a:hover {
	color:#2daa9d ;
}

#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-image: url("images/back_icon.png");
	background-repeat: repeat;
}

.top h1 {
    width:640px;
    margin:0 auto;
}

.top h1 img {
    width:100%;
    height:auto;
    display:block;
    animation: top 3s ease 0s 1 normal;
    -moz-animation: top 3s ease 0s 1 normal;
    -webkit-animation: top 3s ease 0s 1 normal;
	-o-animation: top 3s ease 0s 1 normal;
    -ms-animation: top 3s ease 0s 1 normal;
}

.sns {
    display:flex;
    justify-content:space-between;
    -webkit-justify-content:space-between;
    padding:30px 0px;
}

.facebook, .twitter {
    width:100%;
    height:480px;
    background:white;
}

.twitter {
    overflow:scroll;
}

/* introduciton */
.intro-box {
    background-color:#ffffff;
	padding:0px 0px 60px 0px;
}

.intro {
    padding:60px 0px 30px 0px;
    color:#3f3a34;
}

.intro h2 {
    font-size:38px;
    margin-bottom:30px;
    line-height:46px;
	color:#2daa9d;
}

.intro-writer-katagaki {
    font-size:12px;
    margin-bottom:8px;
    line-height:14px;
}

.intro-writer {
	font-size:28px;
    margin-bottom:30px;
}

.intro p {
    font-size:16px;
    text-align:justify;
    line-height:28px;
    margin-bottom:30px;
}

.ishizaka {
    color:#3f3a34;
    padding:0px;
	padding-top:60px;
	border-top:2px solid #6abaa1;
}

.ishizaka-midashi {
    margin-bottom:15px;
}

.ishizaka-katagaki {
	width:100%;
    text-align:right;
    font-size:12px;
    margin-bottom:8px;
    margin-top:30px;
    line-height:18px;
}

.ishizaka-name {
	width:100%;
    text-align:right;
	font-size:28px;
    margin-bottom:0px;
}

.ishizaka p {
    font-size:16px;
    text-align:justify;
    line-height:28px;
}

/* sakuhin */
.sakuhin {
    padding:0px 0px 0px 0px;
    color:#3f3a34;
}

.sakuhin img {
    width:100%;
    height:auto;
}

.day1, .day2, .day3 {
    width:100%;
    margin:0 auto;
	background: #ebf6f5;
	border-bottom:3px solid #ffffff;
}

.day3 { 
	border: none;
}

.sakuhin h3 {
    padding:30px 0px;
	box-sizing:border-box;
    text-align:left;
    font-size:18px;
	cursor:pointer;
	background:url(images/plus.png) no-repeat top 30px right 10px;
    background-size:14px 14px;
    color:#3f3a34;
}

.sakuhin h3.active{
 	background:url(images/minus.png) no-repeat top 30px right 10px;
    background-size:14px 14px;
}

.sakuhin ul {
	display:none;
}

.sakuhin-time {
    font-size:14px;
    margin:15px 0px 10px 0px;
    color:#2daa9d;
    text-align:left;
    font-weight:bold;
	border:2px solid #2daa9d;
	padding: 5px 10px;
	display: inline-block;
}

.sakuhin-title {
	width:100%;
    font-size:20px;
    margin-bottom:15px;
    font-weight:bold;
    line-height:130%;
}

.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:3px solid #ebf6f5;
    padding-bottom:60px;
	background: #ffffff;
}

.bold {
    font-weight:bold;
}

.sakuhin-li-last {
    margin-bottom:0px;
}

.guest {
    padding:60px 0px 0px 0px;
}

.guest1, .guest2 {
    color:#ffffff;
}

.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:#3f3a34;
    padding:60px 0px 0px 0px;
}

.time-day1, .time-day3, .time-day2 {
    background:#ffffff;
    padding:30px 0px;
}

.time-day1 {
	background:#ffffff;
}

.time-day2 {
	background:#ebf6f5;
}

.time-day3 {
	background:#ffffff;
}

.time h4 {
    font-size:18px;
    padding-bottom:8px;
    border-bottom:2px solid #3f3a34;
    margin-bottom:15px;
    font-weight:bold;
} 

.week {
    font-size:12px;
    padding-right:5px;
}

.time table {
    width:100%;
    margin-bottom:-7px;
}

.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 {
    margin-top:8px;
    line-height:22px;
}

.time-katagaki {
    font-size:12px;
}

.ticket-cation {
    font-size:12px;
}

/* theater */
.theater {
    padding-top:60px;
    padding-bottom:15px;
    color:#ffffff;
}

.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-top:30px;
    margin-bottom:15px;
}

.theater-adress p {
    font-size:14px;
    line-height:20px;
    margin-bottom:10px;
    padding:0;
}

.tel {
    padding-bottom:30px;
}

.tel a {
	display:block;
    background:#ffffff;
    text-align:center;
    font-size:16px;
    padding:15px;
    border-radius:4px;
    margin-top:60px;
    line-height:22px;
    color:#2daa9d;
    transition:background-color 0.1s linear;
    -webkit-transition:background-color 0.1s linear;
}

.tel a:hover {
    text-decoration:none;
    background:#ffffff;
}


/* footer */
.footer {
    overflow:hidden;
	color: #ffffff;
}

.pagetop {
    width:100%;
    height:auto;
    overflow:hidden;
    color:#3f3a34;
    text-align:center;
    font-weight:normal;
	font-family:'cbg';
}

.pagetop a {
	font-size:16px;
	width:100%;
    background:#ffffff;
    text-decoration:none;
    color:#ebeae1;
    display:block;
    padding:15px 0px;
    justify-content:center;
    transition:background-color 0.1s linear;
    -webkit-transition:background-color 0.1s linear;
	border-top:1px solid #ffffff;
	border-bottom:1px solid #ffffff;
}

.pagetop a:hover {
    text-decoration:none;
    color:#ffffff;
}

.arrow-box {
	widht:100%;
	display:flex;
	justify-content: center;
	align-items: center;
}

.arrow {
	width: 10px;
	height: 10px;
	border-top: 3px solid #2daa9d;
	border-right: 3px solid #2daa9d;
    transform: rotate(-45deg);
    margin-top:6px;
    margin-right:10px;
}

.ichiran {
    padding:60px 0%;
    text-align:center;
}

.ichiran img {
    width:50%;
    height:auto;
    margin-bottom:30px;
}

.ichiran p {
    font-size:10px;
    line-height:16px;
    padding:0;
    margin-bottom:5px;
    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;
}

@media screen and (min-width: 0px) and (max-width: 640px) {

/* common */
.wrapper {
    width:90%;
    margin:0 auto;
    box-sizing:border-box;
}

.forsp {
    display:block;
}

.forpc {
    display:none;
}

/* top */
.top h1 {
    width:100%;
}

.top h1 img {
    width:100%;
    height:auto;
    display:block;
}

.sns {
    display:flex;
    align-items:center;
    flex-direction:column;    
    padding:30px 0px;
}

.twitter {
	margin-top:30px;
}

.sakuhin-li-last {
    margin-bottom:-15px;
}

/* timechedule */
.time-day1 .wrapper, .time-day2 .wrapper, .time-day3 .wrapper {
    width:100%;
}

/* theater */
.theater img {
    width:100%;
    height:auto;
}

.tel {
    padding-bottom:15px;
}

.tel a {
    margin-top:30px;
}

/* footer */
.ichiran img {
    width:75%;
}

.link {
	width:100%;
}

.link li {
    margin-bottom:15px;
}

.link img {
    display:block;
    width:100%;
    height:auto;
    border:none;
}

}