@charset "UTF-8";
/* CSS Document */
@font-face {
    font-family: 'LigatureSymbols';
    src: url('../fonts/LigatureSymbols-2.11.eot');
    src: url('../fonts/LigatureSymbols-2.11.eot?#iefix') format('embedded-opentype'),
         url('../fonts/LigatureSymbols-2.11.woff') format('woff'),
         url('../fonts/LigatureSymbols-2.11.ttf') format('truetype'),
         url('../fonts/LigatureSymbols-2.11.svg#LigatureSymbols') format('svg');
    src: url('../fonts/LigatureSymbols-2.11.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'digitalism';
    src: url('../fonts/digitalism.woff') format('woff'),
         url('../fonts/digitalism.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

.lsf, .lsf-icon::before {
  font-family: 'LigatureSymbols';
  -webkit-text-rendering: optimizeLegibility;
  -moz-text-rendering: optimizeLegibility;
  -ms-text-rendering: optimizeLegibility;
  -o-text-rendering: optimizeLegibility;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
	font-weight: normal!important;
}

:root {
	--sbs-primary-color: #F0F6E1;/*　メインカラー */
	--sbs-primary-pale: #FCFDF9;/*　メインカラー */
	--sbs-primary-green: #5C9B34;/*　メインカラー */
	--sbs-sub-color: #E8F1D1;/*　サブカラー */
	--sbs-color-1: #97C720;/*　サブカラー */
	--sbs-color-2: #666;/*　サブカラー */
	--sbs-color-3: #25ACD0;/*　サブカラー */
	--sbs-color-4: #A1CBED;/*　サブカラー */
	--sbs-color-5: #C9BC9C;/*　サブカラー */
	--sbs-color-6: #517099;/*　サブカラー */
	--sbs-color-7: #F39800;/*　サブカラー */
	--sbs-color-8: #A40B5D;/*　サブカラー */
	--sbs-color-9: #006934;/*　サブカラー */
	--sbs-color-ticket-month: #eedbb2;/*　サブカラー */
	--sbs-color-ticket-spot: #bfeaf0;/*　サブカラー */
}

.alert {
	color: red;
}

.sbs-msg {
	width: 90%;
	max-width: 800px;
	border-radius: .5em;
	border: 1px solid #CCC;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	text-align: center;
	padding: .5em;
	margin: 0 auto 1em auto;
}

/*/////////////////////////////////////////////////////////////////////////////////////////////////////////
カレンダー表示
/////////////////////////////////////////////////////////////////////////////////////////////////////////*/
#sbs-calendar {
	width: 100%;
	max-width: 800px;
	margin: auto;
	background-color: #FFF;
}

#sbs-calendar > div {
	text-align: right;
}

#sbs-calendar > div a{
	background-color: #333;
	color: #FFF;
	border-radius: .5em;
	padding: .25em .5em;
	transition: .5s;
}
#sbs-calendar > div a:hover {
	opacity: .5;
	transition: .5s;
}


#sbs-calendar table {
	table-layout: fixed;
	width: 100%;
}

#sbs-calendar table tr#header h2{
	text-align: center;
	margin: 2em auto;
	font-size: 2em;
}
#sbs-calendar table tr#header h2 i {
	font-style: normal;
	font-size: .5em;
}

#sbs-calendar table tr#header th:first-of-type{
	text-align: right;
}

#sbs-calendar table tr#header th:last-of-type{
	text-align: left;
}

#sbs-calendar table tr.d-of-w th {
	text-align: center;
	background-color: #F6F6F6;
	border-radius: .5em;
}
#sbs-calendar table tr#header th span {
	display: none;
}

#sbs-calendar table tr#header th button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	border-radius: 50%;
	height: 3em;
	width: 3em;
	font-size: 1em;
	color: var(--sbs-primary-green);
}
#sbs-calendar table tr#header th button:hover {
	opacity: .5;
}

#sbs-calendar table td {
	vertical-align:top;
	height: 5em;
	padding: .25em;
}

#sbs-calendar table td div {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 1.5em;
	height: 1.5em;
	border: 1px solid rgba(255,255,255,0);
	border-radius: 50%;
	margin-bottom: .125em;
}

#sbs-calendar table td.today div {
	position: relative;
	background-color: var(--sbs-primary-green)!important;
	color: #fff!important;
}

#sbs-calendar table td.today div::after{
	content: '＼今日／';
	position: absolute;
	font-size: .35em;
	font-weight: bold;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	color: var(--sbs-primary-green)!important;
	top: -1.75em;
	right: -2.25em;
	transform: rotate(45deg);
}

#sbs-calendar table tbody td:hover {
	background-color: #F9F9F9;
	border-radius: .5em;
	transition: .5s;
}

#sbs-calendar table td div:first-of-type {
	font-size: 1.2em;
	color: #666;
}


#sbs-calendar .sondag {
	color: var(--sbs-primary-green)!important;
}


#sbs-calendar .lordag {
	color: #333!important;
}

/*予定表示部分*/

#sbs-calendar table td ul {
	list-style: none;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: 300;
	margin: 0!important;
}

#sbs-calendar table td a {
	display: block;
	text-align: center;
	border-radius: .5em;
	background-color: #F0F0F0;
}

#sbs-calendar table td li.closed a {
	color: #CCC!important;
}

#sbs-calendar table td a:hover{
	cursor: pointer;
	color: #000;
	background-color: #FFF!important;
	box-shadow: 2px 2px 5px rgba(0,0,0,.2);
}

#sbs-calendar table td a h3 {
	width: 100%;
	font-size: 1em;
	margin: 0;
}

#sbs-calendar table td a {
	border-bottom: 2px solid;
}

#sbs-calendar table td a.class-0, #sbs-view div#container.class-0,UL#sbs-list li.class-0 {border-color: var(--sbs-color-1);}
#sbs-calendar table td a.class-1, #sbs-view div#container.class-1,UL#sbs-list li.class-1 {border-color: var(--sbs-color-2);}
#sbs-calendar table td a.class-2, #sbs-view div#container.class-2,UL#sbs-list li.class-2 {border-color: var(--sbs-color-3);}
#sbs-calendar table td a.class-3, #sbs-view div#container.class-3,UL#sbs-list li.class-3 {border-color: var(--sbs-color-4);}
#sbs-calendar table td a.class-4, #sbs-view div#container.class-4,UL#sbs-list li.class-4 {border-color: var(--sbs-color-5);}
#sbs-calendar table td a.class-5, #sbs-view div#container.class-5,UL#sbs-list li.class-5 {border-color: var(--sbs-color-6);}
#sbs-calendar table td a.class-6, #sbs-view div#container.class-6,UL#sbs-list li.class-6 {border-color: var(--sbs-color-7);}
#sbs-calendar table td a.class-7, #sbs-view div#container.class-7,UL#sbs-list li.class-7 {border-color: var(--sbs-color-8);}

#sbs-calendar table td a span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #FFF;
	border-radius: 50%;
	height: 1.8em;
	width: 1.8em;
	font-size: .8em;
	line-height: 100%;
	margin: 0 .5em;
}

#sbs-calendar table td a aside {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

#sbs-calendar #today {
	display: block;
	margin: auto;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"!important;
	padding: 0;
	border: none;
	outline: none;
	font: inherit;
	color: inherit;
	background: none;
}
#sbs-calendar #today:hover{
	color: var(--sbs-primary-green);
}

/*/////////////////////////////////////////////////////////////////////////////////////////////////////////
予定詳細表示
/////////////////////////////////////////////////////////////////////////////////////////////////////////*/
#sbs-view {
	width: 100%;
	max-width: 800px;
	margin: auto;
	background-color: #FFF;
}

#sbs-view div#container{
	position: relative;
	overflow: hidden;
	width: 90%;
	max-width: 500px;
	margin: auto;
	padding: 1em;
	border-radius: 1em;
	background: #FAFAFA;
	box-shadow: 3px 3px 9px rgba(0,0,0,.2);
	border-bottom: 3px solid;
}

#sbs-view div#container h2{
	font-size: 1.5em;
	margin: .25em 0 1em 0;
}

#sbs-view div#container span#class{
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top:-.75em;
	right: -.75em;
	font-size: 1.35em;
	width: 5.5em;
	height: 5.5em;
	color: #FFF;
	font-weight: bold;
	border-radius: 50%;
}

#sbs-view div#container.class-0 span#class,UL#sbs-list li h4 span.class-0 {background-color: var(--sbs-color-1);}
#sbs-view div#container.class-1 span#class,UL#sbs-list li h4 span.class-1 {background-color: var(--sbs-color-2);}
#sbs-view div#container.class-2 span#class,UL#sbs-list li h4 span.class-2 {background-color: var(--sbs-color-3);}
#sbs-view div#container.class-3 span#class,UL#sbs-list li h4 span.class-3 {background-color: var(--sbs-color-4);}
#sbs-view div#container.class-4 span#class,UL#sbs-list li h4 span.class-4 {background-color: var(--sbs-color-5);}
#sbs-view div#container.class-5 span#class,UL#sbs-list li h4 span.class-5 {background-color: var(--sbs-color-6);}
#sbs-view div#container.class-6 span#class,UL#sbs-list li h4 span.class-6 {background-color: var(--sbs-color-7);}
#sbs-view div#container.class-7 span#class,UL#sbs-list li h4 span.class-7 {background-color: var(--sbs-color-8);}

#sbs-view div#container #schedule {
	border-bottom: 1px solid #333;
	margin-bottom: .5em;
}

#sbs-view div#container #schedule div:first-of-type {
	font-size: 1.5em;
	margin-bottom: .5em;
}
#sbs-view div#container #schedule span:first-of-type {
	font-size: 3em;
}
#sbs-view div#container #schedule span:last-of-type {
	font-size: 2em;
}
#sbs-view div#container #schedule small {
	font-size: 1rem;
	margin: 0 .25em;
	font-weight: bold;
}

#sbs-view div#container #schedule time {
	font-size: 1.2em;
}

#sbs-view div#container aside {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
}

#sbs-view div#container aside .lsf-icon {
	margin-right: 1em;
}

#sbs-view div#container aside div.lsf-icon span {
	font-weight: bold;
	margin: 0 .25em;
}

#sbs-view div#container aside #memo {
	border-radius: 1em;
	background-color: #FFF;
	margin: 1em 0;
	padding: .25em .5em;
	text-indent: -1.5em;
	padding-left: 1.75em;
}

#sbs-view div#container #booking_form {
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px dashed #CCC;
}

#sbs-view div#container #expired,
#sbs-view div#container #finished{
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px dashed #CCC;
	text-align: center;
}

#sbs-view div#container #expired P,
#sbs-view div#container #finished P{
	font-size: 1.2em;
	margin-bottom: 1em;
}

#sbs-view div#container #expired small,
#sbs-view div#container #finished small{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}

#sbs-view div#container #expire {
	text-align: center;
	font-size: .8em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}


#sbs-view div#container #expired {
	text-align: center;
}

#sbs-view div#container #alert {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	margin-top: 1em;
	padding: 1em;
	border: 1px solid red;
	color: red;
	text-align: center;
}



#sbs-view #price {
	font-size: 1.5em;
	text-align: center;
	margin: 1em auto;
}
#sbs-view #price.haveticket {
	text-decoration-line: line-through;
	text-decoration-thickness: 1px;
	color: #CCC;
}


#sbs-view #price span {
	font-size: .5em;
}

#sbs-view div#container #booking_form small {
	display: block;
	width: 100%;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	text-align: center;
	margin-top: 1em;
}

#sbs-view div#container button {
	display: flex;
	margin: 0 auto;
	background-color: #333;
	border: none;
	cursor: pointer;
	outline: none;
	padding: .5em 1.5em;
	appearance: none;
	border-radius: .5em;
	line-height: 120%;
	color: #FFF;
	font-size: 1.2em;
	transition: .5s;
}

#sbs-view div#container button:hover{
	background-color: #999;
	transition: .5s;
}

#sbs-view #canceled {
	border: 1px solid red;
	padding: 1em;
	color: red;
	text-align: center;
}

#sbs-view #booked_user,
#sbs-view #waiting_user {
	margin-top: 1em;
	font-size: 1.1em;
}

#sbs-view #waiting_user {
	color: #999;
}

#sbs-view #booked_user h4,
#sbs-view #waiting_user h4 {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
	margin-bottom: .5em;
}

#sbs-view #booked_user li {
	display: flex;
	justify-content: flex-start;
	align-items: center;

}

#sbs-view #waiting_user span {
	display: inline-block;
	margin-right: 1em;
}

#sbs-view #booked_user a {
	display: inline-block;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
	border-radius: .5em;
	background: #333;
	color: #FFF;
	padding: 0 .5em;
}

#sbs-view #booked_user a:hover {
	background: #CCC;
}


#sbs-view #status {
	border: 1px solid #999;
	border-radius: .25em;
	padding: 1em;
	margin-bottom: 1em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	color: #333;
	font-size: 1.2em;
	text-align: center;
}
#sbs-view #status small {
	display: block;
	font-size: .75em;
}

#sbs-view #status aside {
	display: block;
	margin-top: 1em;
	font-size: .75em!important;
}


#sbs-view aside#attention {
	margin: auto;
	margin-top: 5em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .75em;
	color: #666;
	width: fit-content;
	max-width: 90%!important;
}

#sbs-view aside#attention li {
	margin: 0;
	text-indent: -1em;
	line-height: 1.69em;
	margin-bottom: .5em;
}

/* 予約完了画面　*/

#sbs-result {
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
	margin-bottom: 2em;
}


#sbs-result h1 {
	text-align: center;
}

.rushin { 
    animation: rushIn .75s; /*keyframesで命名したものを使う。2秒間で消える*/
    animation-fill-mode: both; /*0%の時と100%の時の状態を保つ*/
}
  
@keyframes rushIn {
    0% {
        opacity: 0;
		transform:  rotate(20deg) scale(5);
		animation-timing-function: ease-in;
    }
    90% {
        opacity: 1;
		transform:  rotate(0deg) scale(.9);
		animation-timing-function: ease-in;
    }
	100% {
        opacity: 1;
		transform:  rotate(0deg) scale(1);
		animation-timing-function: ease-in-out;
    }
}

.tearup { 
    animation: tearUP 1s; /*keyframesで命名したものを使う。2秒間で消える*/
    animation-fill-mode: both; /*0%の時と100%の時の状態を保つ*/
	z-index: 1!important;
}
  
@keyframes tearUP {
    0% {
        opacity: 1;
		animation-timing-function: ease-out;
   }
    100% {
        opacity: 0;
 		transform: translateY(10%);
		animation-timing-function: ease-out;
    }
}


.fadeout { 
    animation: fadeOut 2s; /*keyframesで命名したものを使う。2秒間で消える*/
    animation-fill-mode: both; /*0%の時と100%の時の状態を保つ*/
}
  
@keyframes fadeOut {
    0% {
        opacity: 1; /*初めに存在する*/
    }
    100% {
        opacity: 0; /*最後に消える*/
    }
}



/*/////////////////////////////////////////////////////////////////////////////////////////////////////////
一覧表示
/////////////////////////////////////////////////////////////////////////////////////////////////////////*/
UL#sbs-list{
	
}

UL#sbs-list li {
	position: relative;
	padding: .5em .75em;
	background: #FCFCFC;
	border-radius: .5em;
	border-left: 3px solid;
	box-shadow: 3px 3px 9px rgba(0,0,0,.2);
	margin-bottom: 1em;
}

UL#sbs-list li section {
	width: 100%!important;
}

UL#sbs-list li.status-4,
UL#sbs-list li.status-5,
UL#sbs-list li.status-6,
UL#sbs-list li.status-4 a,
UL#sbs-list li.status-5 a,
UL#sbs-list li.status-6 a {
	color: rgba(0,0,0,.5);	
}

UL#sbs-list li.status-4 a:hover,
UL#sbs-list li.status-5 a:hover,
UL#sbs-list li.status-6 a:hover {
	color: rgba(0,0,0,.8);	
}

UL#sbs-list li.status-9{
	color: rgba(0,0,0,.3);
	background: #EEE;
}

UL#sbs-list li.status-9 a{
	color: rgba(0,0,0,.3);
}

UL#sbs-list li.status-8 #status{
	color: #FF0023;
}

UL#sbs-list li #status{
	position: absolute;
	top: .5em;
	right: .5em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
	text-align: right;
	max-width: 30%;
}

UL#sbs-list li #status .list{
	font-size: .9em;
}
UL#sbs-list li #status .list span{
	font-size: .5em;
}

UL#sbs-list li #status.lamp-0::after,
UL#sbs-list li #status.lamp-1::after,
UL#sbs-list li #status.lamp-2::after,
UL#sbs-list li #status.lamp-3::after,
UL#sbs-list li #status.lamp-4::after,
UL#sbs-list li #status.lamp-5::after,
UL#sbs-list li #status.lamp-6::after,
UL#sbs-list li #status.lamp-7::after,
UL#sbs-list li #status.lamp-8::after,
UL#sbs-list li #status.lamp-9::after{
	content:'●';
	opacity: 1!important;
	margin-left: .5em;
}
UL#sbs-list li #status.lamp-10 .booking::before,
UL#sbs-list li #status.lamp-10 .no-booking::before{
	font-family: 'LigatureSymbols';
	font-size: 1.25em;
	margin-right: .25em;
}
UL#sbs-list li #status.lamp-10 .no-booking { color: #CCC; }
UL#sbs-list li #status.lamp-10 .booking::before{ content:'\E137'; }
UL#sbs-list li #status.lamp-10 .no-booking::before{ content:'\E12d'; }


UL#sbs-list li #status.lamp-0::after,
UL#sbs-list li #status.lamp-1::after,
UL#sbs-list li #status.lamp-2::after,
UL#sbs-list li #status.lamp-3::after{
	color: rgba(107,255,0, 1);
	background: radial-gradient(farthest-corner at .65em .35em,#FFF 10%, rgba(107,255,0, 1) 30%, rgba(75,178,0, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 0 0 5px rgba(107,255,0,.75);
}

UL#sbs-list li #status.lamp-4::after,
UL#sbs-list li #status.lamp-5::after,
UL#sbs-list li #status.lamp-6::after{
	color: rgba(255,200,45,1)!important;
	background: radial-gradient(farthest-corner at .65em .35em,#FFF 10%, rgba(255,200,45,1) 30%, rgba(255,140,32, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 0 0 3px rgba(255,200,45,.5);
}

UL#sbs-list li #status.lamp-8::after{
	color: #FF0023;
	background: radial-gradient(farthest-corner at .65em .35em,#FFF 10%, #FF0023 30%, #FC0020 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 0 0 3px rgba(255,0,35,.75);
}

UL#sbs-list li #status.lamp-7::after,
UL#sbs-list li #status.lamp-9::after{
	color: #CCC;
}
UL#sbs-list li time {
	position: relative;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
}
UL#sbs-list li time span {
	font-size: .8em;
}
UL#sbs-list li time div{
	display: inline-block;
}

UL#sbs-list li h4 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	padding: 0;
	width: fit-content!important;
}

UL#sbs-list li h4 span {
	display: inline-block;
	font-size: .75em;
	border-radius: .5em;
	margin-right: .5em;
	background-color: #CCC;
	color: #FFF;
	padding: .25em .5em;
	line-height: 1em;
}

UL#sbs-list li #place {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
}

UL#sbs-list li #place span {
	font-family: "digitalism", Courier, "monospace";
	font-size: 1.5em;
	letter-spacing: .25em;
	border: 1px solid;
	border-radius: .125em;
	padding: .25em 0em .125em .25em;
	margin-left: .25em;
}

UL#sbs-list li aside {
	border-top: 1px dashed #CCC;
	padding-top: .5em;
	margin-top: .5em;
	width: 100%;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
	line-height: 1.5em;
}



/*/////////////////////////////////////////////////////////////////////////////////////////////////////////
今日のイベント
/////////////////////////////////////////////////////////////////////////////////////////////////////////*/

UL#sbs-list h2{
	text-align: center;
	margin-top: 2em;
	font-size: .8em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	line-height: 1em;
}

UL#sbs-list li .today time {
	font-weight: bold;
	font-size: 1em;
}


UL#sbs-list li .today h4 {
	width: 100%;
	font-size: 1.5em;
	margin: .5em 0;
} 

UL#sbs-list li .today h4 span {
	font-size: .65em;
}

UL#sbs-list li .today #place {
	font-size: .9em;
}

UL#sbs-list li #door-code {
	margin: 1em auto;
	width: 100%;
	text-align: center;
}
UL#sbs-list li #door-code h4 {
	display: block;
	margin: .25em auto;
}

UL#sbs-list li #door-code div {
	width: fit-content;
	margin: auto;
	background-color: #000;
	border-radius: .25em;
	padding: .25em;
}

UL#sbs-list li #door-code span {
	display: inline-block;
	font-family: "digitalism", Courier, "monospace";
	font-size: 2em;
	line-height: 100%;
	text-shadow: 0 0 3px rgba(255,0,0,.8);
	padding: .25em .25em 0 .25em;
	background-color: #222;
	border-radius: .1em;
	color: #FF0000;
	margin: 0 .05em;
}

UL#sbs-list li #door-code aside {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
	line-height: 1.75em;
	margin-top: 1em;
	border: none;
}

UL#sbs-list li #door-code aside span {
	font-size: 1em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	text-shadow: 0 0 3px rgba(255,0,0,.3);
	padding: .5em .5em .25em .5em;
	border-radius: .2em;
	vertical-align: .05em;
	background-color: #CCC;
}

/*/////////////////////////////////////////////////////////////////////////////////////////////////////////
チケット
/////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*ラップ*/
#sbs-tickets {
	width: 1200px;
	max-width: 90vw!important;
	margin: auto;
}

#sbs-tickets #wrapping {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row;
	grid-gap: 1em;
	width: 100%;
	height: fit-content!important;
}

#sbs-tickets div#title-block{
	width: 100%;
}

/*左カラム*/
#my-tickets {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	
	width: fit-content;
	max-width: 100%;
	padding: 15px;
	margin: 0 auto;
	box-sizing: border-box;
	background-color: #FAFAFA;
	border-radius: .5em;

}
#my-tickets::before {
	content: '所有チケット';
	position: absolute;
	top: -2em;
	left: 0;
	font-size: .8em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	color: #AAA;
	display: inline-block;
	padding: 0 .25em;
}

#my-tickets UL.ticket-wrap {
	width: fit-content;
	width: 100%;
}

.sbs_ticket {
	display: flex;
	justify-content: flex-start;
	height: 150px;
	width: fit-content;	
	padding: 0;
	margin-bottom: 1em;
	box-shadow: 2px 2px 5px rgba(0,0,0,.2);
	background-image: url("../img/paper.jpg");
}

.sbs_ticket.month .label{
	background-image:url("../img/sayagata.png");
	background-size: 20%;
	background-color: var(--sbs-color-ticket-month);
	mix-blend-mode: multiply;
}
.sbs_ticket.spot .label{
	background-image:url("../img/asanoha.png");
	background-size: 10%;
	background-color: var(--sbs-color-ticket-spot);
	mix-blend-mode: multiply;
}

.sbs_ticket .label {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: .5em;
	min-width: 375px!important;
	border: 5px solid rgba(255,255,255,.2);
	box-sizing: border-box;
}

.sbs_ticket.month .label h3 {
	font-size: 2.5em;
	margin: 0;
	padding: 0;
	color: #666;
	mix-blend-mode: multiply;
	border-bottom: 1px solid #EEE;
}

.sbs_ticket.month .label h3 span:first-child {
	font-size: .5em;
}
.sbs_ticket.month .label h3 span:last-child {
	font-size: .5em;
	margin-left: .5em;
}


.sbs_ticket.spot .label h3 {
	font-size: 1.5em;
	margin: 0;
	padding: 0;
	
}

.sbs_ticket .label aside {
	width: 100%;
	line-height: 1.2em;
}

.sbs_ticket .label aside small {
	display: block;
	margin-bottom: 1em;
}

.sbs_ticket .label aside small span {
	font-weight: bold;
	font-size: 1.2em;
}

.sbs_ticket .label aside div {
	font-size: .9em;
	text-align: right;
	text-decoration: underline;
	text-decoration-color: #333;
	text-underline-offset: .2em;
}

.sbs_ticket.month .label aside div {
	font-size: .9em;
}
.sbs_ticket.spot .label aside div {
	font-size: 1.2em;
}


.sbs_ticket ul.tickets {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	flex-direction: row;
}

.sbs_ticket li.ticket::before {
	content: '\E03b';
	position: absolute;
	left: -.35em;
	top: 40%;
	font-family: 'ligaturesymbols';
	color: #CCC;
	transform: rotate(-90deg);
	mix-blend-mode: multiply;
}

.sbs_ticket li.ticket {
	position: relative;
	display: inline-flex;
	flex-flow: column;
	justify-content: space-between;
	height: 100%;
	width: 75px;
	box-sizing: border-box;
	padding: .25em;
	margin: 0;
	border-left: 1px dashed #CCC;
	text-align: center;
	color: #999;
	mix-blend-mode: multiply;
}

.sbs_ticket li.ticket h4 {
	font-size: 1.2em;
	margin: .25em 0;
	padding: 0;
	line-height: .7em;
}
.sbs_ticket li.ticket h4 span:first-child {
	font-size: .5em;
}
.sbs_ticket li.ticket h4 span:last-child {
	display: block;
	font-size: .5em;
	margin-left: 0;
}
.sbs_ticket li.ticket div {
	font-size: 2em;
}
.sbs_ticket li.ticket aside {
	font-size: .5em;
}
.sbs_ticket li.ticket aside h5 {
	margin: 0;
	padding: 0;
	line-height: 100%;
}

/*右カラム*/
#ticket-shop {
	max-width: 100%;
}

#ticket-shop h2 {
	padding: 0;
	margin: 0;
	width: 100%;
	border-bottom: 1px solid #333;
}

#ticket-shop h2+P, #ticket-shop h2+P+P {
	margin-left: 1em;
}

#ticket-shop h2+P+div {
	text-align: right;
	font-size: .8em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
	
	
#ticket-shop h2:last-of-type {
	margin-top: 3em;
}

#ticket-shop P {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .9em;
}

#ticket-shop ul {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	column-gap: 1em;
}

#ticket-shop li {
	flex-grow: 1;
	position: relative;
	box-sizing: border-box;
	margin-bottom: 1.5em;
}
#ticket-shop li:last-child {
	width: 100%;
}

#ticket-shop li.unavailable {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 3em 0;
	color: #AAA;
	border: 1px dashed #AAA;
	text-align: center;
}

#ticket-shop li div {
	position: absolute;
	right: -1em;
	top: -1.2em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 5em;
	height: 5em;
	border-radius: 50%;
	box-sizing: border-box;
	box-shadow: 2px 2px 8px rgba(0,0,0,.1);
	color: #FFF;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
	line-height: 1.5em;
	transform: rotate(10deg);
	z-index: 500;
}

#ticket-shop li.month div{background-color: goldenrod;}
#ticket-shop li.next div{background-color: orange;}
#ticket-shop li.spot div{background-color: lightseagreen;}


#ticket-shop li a {
	display: block;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	padding: 3em 0;
	color: #333;
	text-align: center;
	opacity: 1;
	transition: .5s;
}

#ticket-shop li a::after{
	content: '';
	position: absolute;
	bottom: -1em;
	right: -1em;
	display: block;
	width: 5em;
	height: 5em;
	background-image: url("../img/chawan_bg.png");
	background-repeat: no-repeat;
	background-size: cover;
	opacity: .2;
}

/*チケットタイトル*/
#ticket-shop li a span{
	display: block;
	font-size: 1.5em;
	font-weight: bold;
}

#ticket-shop li a small {
	display: block;
	margin-top: 1em;
}

#ticket-shop li a strong{
	display: block;
	position: absolute;
	top: 10px;
	left: 10px;
	font-size: 4em;
	color: #FFF;
	opacity: .25;
}
#ticket-shop li.month a strong::after,
#ticket-shop li.next a strong::after{
	content: '月';
	font-size: .5em;
	margin-left: .1em;
}

#ticket-shop li.spot a strong::before{
	content: '〜';
	font-size: .8em;
}

#ticket-shop li.month a {background: var(--sbs-color-ticket-month); border: 1px solid #CCC;}
#ticket-shop li.next a {background: var(--sbs-color-ticket-month); border: 1px solid #CCC;}
#ticket-shop li.spot a {background: var(--sbs-color-ticket-spot); border: 1px solid #CCC;}

#ticket-shop li a:hover{
	opacity: .5;
	transition: .5s;
}

#ticket-shop aside {
	width: 100%;
	font-size: .8em;
	line-height: 1.5em;
	padding: 0 1.5em;
	text-indent: -1em;
	box-sizing: border-box;
} 

#scta figure {
	margin: 0!important;
}

#scta section#contents {
	box-sizing: border-box;
	width: 100%!important;
	max-width: 100vw!important;
	padding: 0!important;
}

#scta main section {
	width: 800px;
	max-width: 95vw;
	margin: auto;
}
#scta table, #scta h1 {
	width: 100%;
	box-sizing: border-box;
	margin: auto;
	
}

#scta table {
	margin-top: 3em;
	box-sizing: border-box;
	border-collapse:  collapse;
}

#scta table tr, #scta table td {
	box-sizing: border-box;
	padding: .5em;
	border: 1px solid #EEE;
}

#scta table td:first-child {
	background-color: #FAFAFA;
	width: 9em;
}

/* functions パーツ */

#recept-month-ticekt{
}

#recept-month-ticekt summary{
	cursor: pointer;
	transition: .5s;
}

#recept-month-ticekt UL {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	grid-gap: 2em;
}

#recept-month-ticekt li {
	flex-basis: 1;
}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
PC
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media screen and (min-width: 1201px) {
	

}
@media screen and (max-width: 1200px) {
	
	#ticket-shop li a span{ font-size: 1.35em;}
		
}
@media screen and (max-width: 1000px) {

	#sbs-tickets {
		flex-flow: column;
		justify-content: flex-start;
		width: 90vw;
	}
	
	#my-tickets {
		width: 100%;
	}
	
	.sbs_ticket {
		height: fit-content;
	}	
	.sbs_ticket .label {
	}
	
	.sbs_ticket {
		display: block;
	}
	.sbs_ticket.month .label h3,
	.sbs_ticket.spot .label h3{
		margin-bottom: .5em;
	}	
	.sbs_ticket ul.tickets {
		display: block;
		width: 100%!important;
		box-sizing: border-box;
	}
	.sbs_ticket li.ticket {
		display: flex;
		flex-flow: row;
		justify-content: space-between;
		align-items: center;
		height: 75px;
		width: 100%;
		padding: .25em 1em;
		margin: 0;
		border-top: 1px dashed #CCC;
		border-left: none;
		text-align: center;
		box-sizing: border-box;
	}
	.sbs_ticket li.ticket::before {
		left: 50%;
		top: -.8em;
		transform: rotate(0);
	}
	.sbs_ticket li.ticket h4 {
		display: flex;
		height: 100%;
		padding-top: 1em;
		box-sizing: border-box;		
	}
	.sbs_ticket li.ticket h4 span:first-child {
		font-size: .8em;
	}
	.sbs_ticket li.ticket h4 span:last-child {
		display: inline-block;
		font-size: .8em;
		margin-left: .25em;
	}	
	.sbs_ticket li.ticket aside {
		display: flex;
		height: 100%;
		flex-direction: column;
		justify-content: flex-end;
	}

}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
タブレット
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media screen and (max-width: 850px) {
		
	

	
}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
スマホ
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */


@media screen and (max-width: 743px) {
	
	#sbs-tickets #wrapping {
		display: block;
	}
	
	#my-tickets {
	}
	
	.sbs_ticket {
		height: fit-content;min-width: 100%!important;
	}	
	.sbs_ticket .label {
		min-width: 100%!important;
	}
	
	#ticket-shop {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 1em auto;
	}
	
}