@charset "utf-8";

* {
	box-sizing: border-box;
}

body {
	font-family: 'Oswald', 'Noto Serif Japanese', sans-serif;
	font-size: 17px;
	height: 100vh;
	line-height: 1.5em;
	opacity: 0;
	min-height: 100vh;
}

header {
	padding: 12px 20px 0 20px;
	display: flex;
	justify-content: space-between;
}

header::before  {
	content: '';
	position: absolute;
	display: block;
	height: 8px;
	width: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
}

header h1 {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: 34px;
	position: relative;
}

header h1::before {
	content: '';
	position: absolute;
	height: 12px;
	width: 73%;
	top: 10px;
	left: 28px;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	transform: rotate(-10deg);
	z-index: -1;
}

#div-bars {
	font-size: 30px;
	color: #b22222;
	font-weight: bold;
}

header img {
	width: 34px;
	height: 34px;
	margin: 0 6px;
}

header img:last-child  {
	margin-right: 0px;
}

#div-nav {
	position: fixed;
	width: 100%;
	top: 46px;
	height: calc(100vh - 46px);
	z-index: 100;
	background: rgba(0, 0, 0, 0.7);
	right: -100%;
}

#div-nav nav {
	height: 100%;
	margin-left: 20px;
	padding: 20px;
	background: rgba(255, 255, 255, 0.8);
}

#div-nav nav li {
	padding: 12px;
	color: #b22222;
}

#div-nav nav li i {
	padding-right: 4px;
}

article {
	width: 95%;
	margin: 12px auto;
	background:rgba(255, 255, 255, 0.5);
}

h3 {
	font-size: 21px;
	color: #b22222;
	font-weight: bold;
}

#p-caution {
	color: #b22222;
	text-decoration: underline;
}

#p-rank {
	color: #B67B03;
	margin-left: 20px;
}

#p-rank i {
	font-size: 30px;
}

#summary {
	display: flex;
	padding: 8px 0;
	font-size: 14px;
}

#summary div {
	width: 50%;
	text-align: center;
}

#summary img {
	width: 1.2em;
	margin-right: 12px;
}

#span-year-count, #span-month-count {
	font-size: 34px;
	color: #B67B03;
}

#pager, #pager2 {
	display: flex;
	justify-content: space-between;
	color: #b22222;
	padding: 6px;
}

i {
	font-family: 'Material Icons';
	display: inline-flex;
	vertical-align: middle;
	font-size: 28px;
}

#table-calendar {
	width: 100%;
}

#table-calendar tr, #table-calendar th, #table-calendar td {
	border: solid 1px #b22222;
}

#table-calendar th {
	background: #b22222;
	color: #fff;
}

#table-calendar td {
	width: calc(100% / 7);
	height: 10vh;
}

.td-sun {
	color: #ff6347;
}

.td-sat {
	color: #6495ed;
}

.td-today {
	border-width: 3px!important;
}

.p-day {
	font-size: 12px;
	margin-left: 4px;
}

.p-val {
	font-size: 24px;
    text-align: center;
    color: #b22222;
}

.p-val img {
	width: 14px;
	margin-right: 4px;
}

#sec-input {
	display: none;
	position: fixed;
	z-index: 2;
	width: 100%;
	padding: 8px;
	bottom: 0;
	background: #f2f2f2;
	border-top: 1px solid #ccc;
}

#sec-input select {
	padding: 8px;
	font-size: 24px;
}

#div-val {
	padding: 12px;
	display: flex;
	justify-content: space-between;
}

#i-plus, #i-minus {
	font-size: 36px;
	background-color: #b22222;
	color: #fff;
	font-weight: bold;
	border: solid 1px #b22222;
	border-radius: 8px;
	padding: 8px;
	margin: 0 20px;
}

#bg-container {

	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
    height: 100vh;
	overflow: hidden;
	z-index: -1;
}

#bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
    height: 100vh;
	background-image: url('../images/gold.png');
	background-position: center center;
	background-repeat: no-repeat;
	transform: rotate(30deg);
}

#overlay {
	display: none;
	position: fixed;
	z-index: 1;
	width: 100%;
	height: 100vh;
	bottom: 0;
	background: rgba(0, 0, 0, 0.7);
}

#div-info-overlay {
	position: fixed;
	z-index: 1;
	width: 100%;
	height: 100vh;
	bottom: 0;
	background: transparent;
}

#div-info-container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#div-info {
	background-color: #fff;
	padding: 12px;
	width: 90%;
	font-size: 12px;
	border: solid 4px #B67B03;
	border-radius: 8px;
}

#div-info p {
	color: #b22222;
	font-weight: bold;
	font-size: 17px;
}

#div-info p i {
	font-weight: normal;
	margin-right: 8px;
}

#div-info ul {
	width: 90%;
	margin: 8px auto;
	list-style: disc;
	line-height: 1.4em;
}

#div-info li {
	margin-left: 5%;
}

#btn-close-info {
	font-size: 15px;
}

.hide {
	display: none!important;
}

#div-join-member {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

.div-more {
	position: absolute;
	top: 0;
	left: -1000px;
	z-index: 2;
	background: #f0f8ff;
	display: inline-block;
	margin: 0;
}

.div-more:before {
	content: '';
	position: absolute;
	top: 0;
	left: 20%;
	margin-left: -20px;
	margin-top: -16px;
	border: 8px solid transparent;
	border-bottom: 8px solid #f0f8ff;
}

#div-more-r:before {
	left: 90%;
}

.p-more {
	font-size: 15px;
	padding: 4px 8px;
}

.div-ranking-list {
	display: flex;
	justify-content: space-between;
	margin: 6px;
	border-bottom: solid #c0c0c0 1px;
}

.div-ranking-list .p-ranking {
	width: 3em;
	text-align: center;
}

.div-ranking-list .p-total {
	width: 4em;
	text-align: center;
}

.div-bold {
	font-weight: bold;
}

#sec-account p {
	margin: 8px;
}

#sec-account #btn-account {
	font-size: 17px;
}


.i-cancel-save-member {
	margin-left: 8px;
}

.p-join-member {
	padding: 4px;
	margin: 8px;
	border: solid 1px #ccc;
	border-radius: 4px;
}

.input-container {
	display: flex;
	padding: 4px 0;
}

.input-member, .p-member {
	padding: 4px;
	width: 70%;
}

#input-member {
	padding: 8px;
}

.i-member {
	background-color: #b22222;
	color: #fff;
	font-weight: bold;
	border: solid 1px #b22222;
	border-radius: 2px;
	padding: 6px;
	margin: 0 12px;
	align-items: center;
	font-size: 30px;
}

.btn-container {
	text-align: center;
	padding: 8px;
}

.btn-container button {
	background-color: #b22222;
	color: #fff;
	font-weight: bold;
	border: solid 1px #b22222;
	border-radius: 8px;
	padding: 8px 16px;
	font-size: 30px;
}

.btn-container button:disabled {
	background-color: #ccc;
	border: solid 1px #ccc;
}


#sec-slot {
	width: 100%;
	margin-top: 12px;
}

#div-mode {
	margin : 12px auto;
	width : 100%;
	font-size : 21px;
	text-align : center;
	overflow : hidden;
	background-color: #ff8c00;
}

#div-mode p::before, #div-mode p::after {
	font-family: 'Material Icons';
	content: 'auto_awesome';
	margin: 0 12px;
}

#div-mode p {
	margin:0;
	display : inline-block;
	padding-left: 100%;
	color: #fff;
	white-space : nowrap;
	line-height : 1em;
	animation : modeScroll 4s linear infinite;
}
@keyframes modeScroll {
	0% { transform: translateX(0)}
	100% { transform: translateX(-100%)}
}

#div-mode-cut-in {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 10;
	overflow : hidden;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}


#div-cut-in-container{
	width: 100%;
	overflow: hidden;
	position: absolute;
	left: 0;
	height: 120px;
}

#div-cut-in-maracas, #div-cut-in-bottle, #div-cut-in-gyogun, #div-cut-in-text {
	width: 100%;
	height: 120px;
	overflow: hidden;
	position: relative;
}

#div-cut-in-maracas img {
	width: 15vw;
	position: absolute;
	top: 120px;
}

#div-cut-in-maracas img:nth-child(1) {
	left: 0vw;
}

#div-cut-in-maracas img:nth-child(2) {
	left: 18vw;
}

#div-cut-in-maracas img:nth-child(3) {
	left: 36vw;
}

#div-cut-in-maracas img:nth-child(4) {
	left: 54vw;
}

#div-cut-in-maracas img:nth-child(5) {
	left: 72vw;
}

#div-cut-in-bottle {
	text-align: center;
}

#div-cut-in-bottle img {
	height: 120px;
	display: none;
}

#div-cut-in-gyogun {
	margin-left: 100vw;
}

#div-cut-in-gyogun img {
	position: absolute;
	height: 20px;
}

#div-cut-in-gyogun img:nth-child(1) {
	top: 10px;
	left: 0;
}

#div-cut-in-gyogun img:nth-child(2) {
	top: 10px;
	left: 80px;
}

#div-cut-in-gyogun img:nth-child(3) {
	top: 10px;
	left: 160px;
}

#div-cut-in-gyogun img:nth-child(4) {
	top: 10px;
	left: 240px;
}

#div-cut-in-gyogun img:nth-child(5) {
	top: 35px;
	left: 40px;
}

#div-cut-in-gyogun img:nth-child(6) {
	top: 35px;
	left: 120px;
}

#div-cut-in-gyogun img:nth-child(7) {
	top: 35px;
	left: 200px;
}

#div-cut-in-gyogun img:nth-child(8) {
	top: 35px;
	left: 280px;
}

#div-cut-in-gyogun img:nth-child(9) {
	top: 60px;
	left: 0px;
}

#div-cut-in-gyogun img:nth-child(10) {
	top: 60px;
	left: 80px;
}

#div-cut-in-gyogun img:nth-child(11) {
	top: 60px;
	left: 160px;
}


#div-cut-in-gyogun img:nth-child(12) {
	top: 60px;
	left: 240px;
}


#div-cut-in-gyogun img:nth-child(13) {
	top: 85px;
	left: 40px;
}

#div-cut-in-gyogun img:nth-child(14) {
	top: 85px;
	left: 120px;
}

#div-cut-in-gyogun img:nth-child(15) {
	top: 85px;
	left: 200px;
}

#div-cut-in-gyogun img:nth-child(16) {
	top: 85px;
	left: 280px;
}

.cut-in-slideup {
	animation: wave 1s linear infinite, slideUp 0.7s linear;
	animation-fill-mode:forwards;
}

@keyframes wave {
	0% { transform: rotate(10deg); }
	50%{ transform: rotate(-10deg); }
	100% { transform: rotate(10deg); }
}

@keyframes slideUp {
	0% { top: 120px; }
	100% { top: 30px; }
}

.cut-in-chira {
	animation: chira 1s linear;
}

@keyframes chira {
	0% { transform: translateX(0%); }
	10% { transform: translateX(-30%); }
	90% { transform: translateX(-30%); }
	100% { transform: translateX(0%) }
}


.cut-in-gyogun {
	animation:gyogun 2s linear;
}

@keyframes gyogun {
	0% { transform: translateX(0%); }
	5% { transform: translateX(-30%); }
	45% { transform: translateX(-30%); }
	100% { transform: translateX(-200%);}
}

#div-cut-in-text {
	transform: translateX(100%);
	font-size: 48px;
	color: #b22222;
	display: flex!important;
	justify-content: center;
	align-items: center;
	white-space : nowrap;
}


.cut-in-text {
	animation:cutInText 2s linear;
}

@keyframes cutInText {
	0% { transform: translateX(100%); }
	20% { transform: translateX(100%); }
	25% { transform: translateX(0%); }
	95% { transform: translateX(10%); }
	100% { transform: translateX(-100%); }
}

#div-slot, #div-slot-action {
	width: 100%;
	height: 60px;
	border: solid 1px #000;
	overflow: hidden;
	position: relative;
	margin: 12px 0;
}

.p-member-slot, .p-action-slot {
	width: 100%;
	height: 60px;
	line-height: 60px;
	font-size: 48px;
	text-align: center;
	position: absolute;
	left: 0;
	whiteSpace: nowrap;
}


#art-setting {
	position: relative;
}

.div-close {
	text-align:right;
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	font-size: 40px;
	font-weight: bold;
	color: #b22222;
}

#sec-mode {
	padding-bottom: 20px;
}

.div-mode-explain {
	font-size: 15px;
	line-height: 1.4em;
	padding: 4px;
}

.range-weight-container {
	padding-left: 8px;
}

.range-weight-container p {
	margin: 12px 0;
}

.mode-wrapper {
	padding: 8px;
	border-bottom: solid 1px #ccc;
}

.mode-container {
	display: flex;
	align-items: center;
	padding: 4px;
}

.switchArea {
	line-height: 20px;
	letter-spacing: 0;
	text-align: center;
	font-size: 12px;
	position: relative;
	width: 72px;
	margin-right: 12px;
}

.switchArea input[type="checkbox"] {
	display: none;
}

.switchArea label {
	display: block;
	box-sizing: border-box;
	height: 24px;
	border: 2px solid #999999;
	border-radius: 12px;
	background: #fff;
}

.switchArea input[type="checkbox"]:checked +label {
	border-color: #b22222;
}

.switchArea label span:after{
	content: "OFF";
	padding: 0 0 0 14px;
	color: #999999;
}

.switchArea input[type="checkbox"]:checked + label span:after{
	content: 'ON';
	padding: 0 14px 0 0;
	color: #b22222;
}

.switchArea .swImg {
	position: absolute;
	width: 16px;
	height: 16px;
	background: #999999;
	top: 4px;
	left: 4px;
	border-radius: 8px;
	transition: .2s;
}

.switchArea input[type="checkbox"]:checked ~ .swImg {
	transform: translateX(48px);
	background: #b22222;
}

.p-mode {
	color: #b22222;
	font-weight: bold;
}

.select-member, #select-action {
	width: 80%;
	padding: 6px;
}

.p-caution {
	margin-left: 4px;
	font-size: 14px;
}

#sec-app {
	width: 90%;
	margin: 12px auto;
	text-align: center;
}

#sec-app img {
	width: 128px;
}

#div-caution {
	text-align: left;
	color: #b22222;
	font-size: 15px;
}

.p-small {
	font-size: 15px;
}

.sec-normal {
	width: 95%;
	margin: 12px auto;
	font-size: 14px;
}

#art-history p {
	padding: 12px 0;
}

#recomend-container {
	margin: 12px 0;
}

.tequila-container {
	display: flex;
	padding-bottom: 20px;
	line-height: 1.2em;
	align-items: flex-start;
}

.tequila-container img {
	width: 20%;
	margin: 0 12px 12px 0;
}

.span-title {
	font-size: 24px;
	font-weight: bold;
	color: #B67B03;
	margin-bottom: 8px;
	display: block;
	line-height: 1.2em;
}


footer {
	text-align: center;
	font-size: 15px;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
}