@charset "utf-8";
/* normalize */
*,::after,::before,blockquote,body,dd,dl,dt,fieldset,figure,.logo,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{padding:0;margin:0}body,html{height:100%;-webkit-text-size-adjust:none}.logo,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}audio,embed,iframe,img,object,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0;text-align:left}i{font-style:normal}img{max-width:100%}::selection{background:#333;color:#e8e6df}::-moz-selection{background:#333;color:#e8e6df}*,::after,::before{box-sizing:border-box;outline:0;}

button,textarea,select,img ,input{ outline: none; }

/* clearfix */
.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}

/* base
============================== */
a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  text-decoration: underline;
  font-weight: bold;
  color: #946F1F;
}
img {max-width: 100%;}

/* layout
============================== */
body {
	height: 100%;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
	-webkit-text-size-adjust: none;
	word-break: break-word;
	text-rendering: optimizeLegibility;
	font-feature-settings : "palt";
	font-weight: 600;
    line-height: 1.7;
	background: #EEEBE9;
	color: #1c4e67;
	font-size: 14px;
}
.wrap {
	overflow: hidden;
	min-height: 100%;
	position: relative;
	padding: 0 2.5% 60px;
}
.section--base {
	padding: 10px;
	background: #85a4b3;
	box-shadow: 10px 10px 20px rgba(6, 33, 47, .2);
	position: relative;
}
.section--base::before {
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/bg_pattern.jpg);
    background-size: 100% auto;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    mix-blend-mode: overlay;
}
.section--base + .section--base {margin-top: 40px;}
.section__inner {
	padding: 10vw 5vw;
	background: #EEEBE9;
	position: relative;
}

/* components
============================== */
.center	{ text-align: center; }
.bold { font-weight: 600; }
.txt {margin: 0 0 1em;}
.txt--sub {
	font-size: .8em;
	line-height: 1.4;
	font-weight: normal;
}
.ph {line-height: 0; position: relative;}
.ph img {width: 100%;}
.btn { text-align: center; margin: 25px 0 0;}
.btn--base {
    line-height: 1.75;
    -webkit-appearance: none;
    text-decoration: none;
    display: inline-block;
    width: 90%;
    border-radius: 100px;
    padding: 14px 2em;
    border: 1px solid transparent;
    font-size: 16px;
}
.btn--main { background: #946f20; color: #FFFBF2;}
.btn + .txt--sub { margin-top: 15px; text-align: center;}
.link--external::after { content: "\f08e"; font-family: 'FontAwesome';}
.section-tit {
	font-size: 8vw;
	font-family: 'Rye', cursive;
	line-height: 1;
	margin: 0 0 30px;
	text-align: center;
	font-weight: normal;
}
.section-tit > span{
	display: block;
	font-size: .4em;
	margin-bottom: 1.3em;
	letter-spacing: .25em;
	font-weight: bold;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
	-webkit-text-size-adjust: none;
}
.list--attention{margin: .3em 0;}
.list--attention li{ font-size: .8em; font-weight: normal;line-height: 1.4;}
.list--attention li + li {margin-top: .5em;}
.list--links {margin-bottom: 30px;}
.list--links li + li{ margin-top: 1em;}
.list--links li a { text-decoration: none; position: relative;}
.list--links li a::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid ;
    border-top: 2px solid ;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: relative;
    top: -.1em;
    left: .25em;
}

/* image-shadow */
.bg--corner li img,
.section--top img {filter: drop-shadow(0px 0px 30px rgba(6, 33, 47, .2));}


/* footer
============================== */
footer {
    text-align: center;
    padding: 40px 5vw;
    position: relative;
	background: #334b54;
	color: #EEEBE9;
	font-family: 'PT Sans Narrow', sans-serif;
	letter-spacing: .075em;
	box-shadow: 0px -10px 20px rgba(6, 33, 47, .2);
}
footer::before {
	content: '';
	width: 100%;
	height: 100%;
	background: url(../images/bg_pattern.jpg);
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .5;
	mix-blend-mode: overlay;
}
footer svg > * {fill: #EEEBE9; }
.list--social {
    position: relative;
	padding: 0 0 20px;
	text-align: center;
}
.list--social::before {
	content: 'SHARE : ';
	display: inline-block;
	margin-right: 1em;
	position: relative;
	top: -.3em;
	opacity: .5;
}
.list--social li {
    display: inline-block;
    margin: 0 .6em;
    font-size: 1.7rem;
}
.list--social li a{color: #EEEBE9;}
.list--social li svg {fill: #EEEBE9; }
footer .list--links li a {color: #EEEBE9;}
footer .list--links li a::after {border-width: 1px;}
.copyright {font-size: 12px; opacity: .3;}

/* contents
==============================*/
.loading li{
	content: '';
	width: 50%;
	height: 100%;
	position: fixed;
	top: 0;
	z-index: 11;
	overflow: hidden;
	background: #0c3d56;
	transition: all 1s ease-in-out;
}
.loading--left {left: 0;}
.loading--right {right: 0;}
.loading img {
	width: 70%;
	position: absolute;
	top: 50%;
	opacity: 0;
	transition: all 1s ease-in-out;
}
.loading--left img{ left: 100%; transform: translate(-50%, -50%) rotate(180deg);}
.loading--right img{ right: 100%; transform: translate(50%, -50%) rotate(180deg);}
.load-ready .loading--left img { transform: translate(-50%, -50%) rotate(0deg); opacity: 1;}
.load-ready .loading--right img { transform: translate(50%, -50%) rotate(0deg); opacity: 1;}
.load-finish .loading--left{ transform: translateX(-100%);}
.load-finish .loading--right { transform: translateX(100%);}
.bg--screw {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 0;
	top: 0;
	left: 0;
	display: flex;
	display: webkit-flex;
	justify-content: center;
	align-items: center;
}
.bg--screw img{
	height: 120%;
	width: auto;
	max-width: unset;
	animation: rotation 20s linear infinite;
}
@keyframes rotation {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.bg--screw::before {
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/bg_pattern.jpg);
    background-size: cover;
    position: fixed;
    top: 0;
    left: 0;
    opacity: .1;
}
.bg--corner li{
	position: fixed;
	width: 20vw;
	z-index: 10;
	line-height: 0;
}
.bg--corner li:nth-child(1) {
	top: -1px;
	left: -1px;
	transform: rotate(180deg);
}
.bg--corner li:nth-child(2) {
	top: -1px;
	right: -1px;
	transform: rotate(-90deg);
}
.bg--corner li:nth-child(3) {
	bottom: -1px;
	right: -1px;
}
.bg--corner li:nth-child(4) {
	bottom: -1px;
	left: -1px;
	transform: rotate(90deg);
}
.section--top { padding: 20vw 5% 0; position: relative;}
.ph--title { margin: 0 0 7vw;}
.ph--man {
	width: 90%;
	margin: 0 auto -15.5vw;
	position: relative;
	left: -3%;
}
.section--about .lead {
	text-align: center;
	font-family: 'PT Sans Narrow', sans-serif;
	letter-spacing: .05em;
	margin: -8px 0 25px;
	padding: 1px 1em 2px;
	background: #1c4e67;
	color: #EEEBE9;
}
.list--about { width: 100%; font-size: 13px;}
.list--about .venue span { margin-right: 1em;}
.list--about td.time,
.list--about td.seat,
.list--about td.info {font-weight: normal; font-size: 12px;}
.list--about td.guest {
	font-size: 1.2em;
	font-family: 'PT Sans Narrow', sans-serif;
	font-family: 'Rye', cursive;
	letter-spacing: .25em;
}
.list--about tr.oneman .icon--oneman {
    display: block;
    position: absolute;
    left: -5vw;
    top: -28px;
    background: #1c4e67;
    color: #eeebe8;
    padding: 1px 5vw 2px 5vw;
    font-family: 'PT Sans Narrow', sans-serif;
    letter-spacing: .05em;
}
.table--em {
	border: 1px solid;
	border-bottom: none;
	font-size: 12px;
	background: #fff;
	font-weight: normal;
}
.table--em th, .table--em td{ border-bottom: 1px solid;}
.table--em th {
	padding: 12px 12px 4px;
	border-bottom: none;
	font-weight: bold;
}
.table--em td {
	font-size: 14px;
	padding: 0 12px 12px;
	border-bottom: 1px solid;
}
.section--ticket .table--em td .txt--sub {margin-left: .5em;}
.section--ticket .table--em em {
    margin-right: 1em;
    font-style: unset;
    background: #ddd;
    font-size: 12px;
    display: inline-block;
    padding: 0 4px;
    margin: 0 10px 5px 0;
}
.section--ticket .table--em .list--attention { margin-top: .5em;}
.section--reception .section__inner {padding-bottom: 0;}
.list--reception > li{
    padding: 30px 5vw;
    border-top: 1px solid;
    margin: 0 -5vw;
}
.list--reception > li > .tit {
	font-size: 18px;
	margin-bottom: 1em;
	text-align: center;
}
.list--reception .list--links { margin: 20px 0 0; text-align: center;}

/* scroll-animation */
body:not(.ua--ie) section.delighter{
	transition: .4s all ease-out;
	transform: translateY(10vh);
}
body:not(.ua--ie) section.delighter.started { transform: translateY(0);}



/* sp
============================== */
@media screen and (max-width: 900px){
	.pc { display: none!important; }

	/* contents */
	.list--about { padding-top: 10px; border-top: 1px solid;}
	.list--about,
	.list--about tbody,
	.list--about tr,
	.list--about td {
		display: block;
	}
	.list--about td {
		width: 100%;
		padding: 5px 0 0 60px;
		position: relative;
	}
	.list--about td:last-of-type {
		border-bottom: 1px solid;
		padding-bottom: 15px;
		margin: 0 0 8px;
	}
	.list--about td::after {
		display: inline-block;
		width: 50px;
		color: #aaa;
		position: absolute;
		top: 5px;
		left: 0;
		font-family: 'PT Sans Narrow', sans-serif;
		letter-spacing: .05em;
		font-size: 13px;
	}
	.list--about .date::after {content: 'DATE';}
	.list--about .venue::after {content: 'VENUE';}
	.list--about .guest::after {content: 'GUEST';}
	.list--about .time::after {content: 'OP/ST';}
	.list--about .seat::after {content: 'SEAT';}
	.list--about .info::after {content: 'INFO';}
	.table--em,
	.table--em tbody,
	.table--em tr,
	.table--em th,
	.table--em td {
		display: block;
	}
	.list--about tr.oneman { margin-top: 35px; display: block;}
}


/* pc
============================== */
@media screen and (min-width: 900px){
	.sp { display: none!important; }
	body {
		min-height: 100%;
		min-width: 1000px;
		font-size: 16px;
	}
	a, svg > *{transition: all .3s ease-out;}
	a:hover {text-decoration: none; color:#c58e18;}

	/* layout */
	.wrap { padding: 0 11vw 120px;}
	.section--base {min-width: 940px;}
	.section--base+.section--base { margin-top: 80px;}

	/* components */
	.btn {margin-top: 30px;}
	.btn--base { width: auto; min-width: 320px; padding: 16px 2em;}
	.btn--main:hover {
		transform: translateY(5px);
		background: #c58e18;
		color: #FFFBF2
	}
	.section__inner {padding: 60px 5vw;}
	.section-tit {
		font-size: 60px;
		font-size: 4.25vw;
		margin: 0 0 45px;
	}
	.section-tit>span { font-size: .25em;}
	.list--links li a::after { top: -.15em;}

	/* footer */
	footer{
		padding: 30px 18vw;
		text-align: left;
		font-size: 12px;
		position: relative;
	}
	footer a:hover,
	footer .list--links li a:hover {color: #c58e18;}
	.list--social li a:hover svg > *{fill: #c58e18;}
	.list--social{text-align: left; }
	.list--social li {font-size: 1.8em;}
	.list--social li svg {position: relative; top: 2px;}
	footer .list--links {margin: 0;}
	footer .list--links li a::after { top: 0;}
	.copyright {
		position: absolute;
		bottom: 30px;
		right: 18vw;
	}

	/* contents */
	.loading img { width: 40%;}
	.bg--screw {width: 120%; left: -10%;}
	.bg--screw img { height: auto; width: 120%;}
	.bg--corner li {width: 16vw;}
	.section--top {padding: 6vh 0 0;}
	.ph--title {
		position: absolute;
		width: 61%;
		right: 2%;
		top: 20vw;
	}
	.ph--man { width: 40%; margin: 0 0 -6vw; left: 0;}
	.section--about .lead { font-size: 20px; padding: 2px 1em 0;}
	.list--about td,
	.list--about th { padding: 15px 20px 15px 0;border-bottom: 2px solid ;}
	.list--about th {
		font-size: 13px;
		font-weight: normal;
		font-family: 'PT Sans Narrow', sans-serif;
		letter-spacing: .05em;
	}
	.list--about .date {min-width: 12em; position: relative;}
	.list--about .venue {min-width: 16em;}
	.list--about .guest {min-width: 4em; text-align: center; font-weight: normal;}
	.list--about .time {min-width: 8em;}
	.list--about .seat {min-width: 11em;}
	.list--about td.info {line-height: 1.4;}
	.list--about tr.oneman .icon--oneman {
		top: 13px;
		left: -7.5vw;
		padding: 6px 2px 6px 5px;
		width: 5.5vw;
		text-align: center;
		line-height: 1.25;
	}
	.list--about tr.oneman .icon--oneman::before {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 22px 0 22px 14px;
		border-color: transparent transparent transparent #1c4e67;
		position: absolute;
		bottom: 0;
		right: 0;
		transform: translateX(100%);
	}
	.table--em {min-width: 70%; margin: 0 auto; font-size: inherit;border-width: 2px;}
	.table--em th,
	.table--em td {
		padding: 20px 30px;
		border-bottom: 2px solid;
		font-weight: bold;
	}
	.table--em th { border-right: 2px solid; background: #ddd;}
	.table--em td {font-size: inherit;}
	.list--reception>li { 
		padding-top: 45px;
		padding-bottom: 45px;
		border-width: 2px;
	}
	.list--reception>li>.tit {font-size: 28px;}
	.section--ticket .table--em em {position: relative; top: -2px;}
}

/* tablet
=================================== */
@media screen and (min-width: 768px) and (max-width: 900px) {
	body {font-size: 16px;}
	.wrap {padding: 0 5% 80px;}
	.section__inner {padding-top: 5vw; padding-bottom: 5vw;}
	.btn--base { width: auto; min-width: 320px; padding: 20px 2em;}
	.section-tit {font-size: 6vw;}
	/* contents */
	.section--top { padding: 13vw 11% 0;}
	.ph--man {
		width: 60%;
		margin: 0 auto -10.5vw;
	}
	.ph--title {
		margin: 0 0 5vw;
	}
	.list--about td.info br {display: none;}

}
/* フォールバック
=================================== */
.ua--ie footer,
.ua--edge footer{ background: #093d50;}
.ua--ie .section--base,
.ua--edge .section--base { background: #5ab3de;}
.ua--ie .section--base::before,
.ua--edge .section--base::before { opacity: .5;}
.ua--android .section--base { background: #3f6c85;}
.ua--android .section--base::before {display: none;}
