@charset 'UTF-8';

@font-face {
	font-family: 'icon';
	src: url('fonts/icon.eot');
	src:
		url('fonts/icon.eot')  format('embedded-opentype'),
		url('fonts/icon.ttf')  format('truetype'),
		url('fonts/icon.woff') format('woff'),
		url('fonts/icon.svg')  format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^='i-'],
[class*=' i-'] {
	display: inline-block;
	position: relative;
	vertical-align: middle;
	font-family: 'icon' !important;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	bottom: .1em;
	font-size: 1.5em;
	margin-right: .2em;
	 -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.informationList [class^='i-'],
.informationList [class*=' i-'] {
	margin-right: .4em;
}

.i-practiceRoom:before,
.i-piano2:before   { content: '\e000'; }
.i-calendar:before { content: '\e001'; }
.i-keyboard:before { content: '\e002'; }
.i-kitchen:before  { content: '\e003'; }
.i-yen:before      { content: '\e004'; }
.i-phone:before    { content: '\e005'; }
.i-check:before    { content: '\e006'; }
.i-hall:before,
.i-piano1:before   { content: '\e007'; }
.i-mail:before,
.i-email:before    { content: '\e008'; }
.i-login:before    { content: '\e009'; }
.i-pencil:before,
.i-comment:before  { content: '\e00a'; }
.i-clock:before    { content: '\e00b'; }
.i-user:before,
.i-name:before     { content: '\e00c'; }
.i-logout:before   { content: '\e00d'; }
.i-next:before     { content: '\e00e'; }
.i-door:before     { content: '\e00f'; }
.i-search:before   { content: '\e100'; }
.i-card:before     { content: '\e101'; }
.i-cvv:before      { content: '\e102'; }

*,input,textarea {
	font-family: '游明朝', YuMincho, '游明朝体', Hiragino Mincho ProN, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-size: medium;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	list-style: none;
}
html,
body {
	width: 100%;
	height: 100%;
	position: relative;
	overflow-x: hidden;
}
a {
	transition: .3s;
	text-decoration: none;
	color: #000;
}
a:hover {
	opacity: .7;
}

.notice {
	color: #F00;
}

footer {
	border-top: 1px solid #C9C9C9;
	padding: 0;
}
header,
footer {
	position: relative;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header h1,
footer h1 {
	margin-left: 50px;
	font-size: 20px;
}
header h1 img,
footer h1 img {
	width: 200px;
	height: 45px;
	vertical-align: middle;
	margin-right: 20px;
}
h3.subtitle {
	margin-left: 60px;
	font-size: 1.2em;
}
/*
.privateInformation dl dt:before,
#sq-ccbox.form dl dt:before,
*/
h3.subtitle:before {
	display: inline-block;
	content: '■';
	color: #AB0000;
	font-size: 0.8em;
	margin-right: .5em;
}
.breadcrumb {
	display: flex;
	background: #485362;
	margin-bottom: 45px;
	padding: 14px 0 14px 50px;
	font-size: 12px;
	color: #FFF;
	overflow-x: scroll;
	white-space: nowrap;
}
.breadcrumb li + li:before {
	content: '>';
	margin: 0 .5em;
}
.breadcrumb li a {
	color: #FFF;
}
.loginMode {
	font-size: 0;
	margin-right: 63px;
}
.loginMode > span,
.loginMode a {
	display: inline-block;
	vertical-align: middle;
}
.loginMode > span {
	padding: 2px 10px;
	border: 1px solid #C70000;
	background: #9D0000;
	color: #FFF;
	font-size: 10px;
}
.loginMode a {
	position: relative;
	margin-left: 26px;
	padding: 4px 25px;
	border: 1px solid #000;
	font-size: 12px;
}
.loginMode a:before {
	content: '';
	border-top: 1px solid #000;
	height: 0;
	position: absolute;
	display: block;
	width: 23px;
	left: 0;
	top: 50%;
	transform: translateX(-50%);
}
.submit a,
input[type='submit'],
input[type='reset'],
button[type='submit'],
button[type='reset'],
.button-credit-card,
button.close {
	outline: none;
	appearance: none;
	border: 1px solid #000;
	padding: 0 50px;
	margin: 0 10px;
	line-height: 33px;
	background: #FFF;
	color: #000;
	transition: .5s;
	cursor: pointer;
	position: relative;
	display: inline-block;
}
.submit a:hover,
input[type='submit']:hover,
input[type='reset']:hover,
button[type='submit']:hover,
button[type='reset']:hover,
.button-credit-card:not(:disabled):hover,
button.close:hover {
	opacity: .5;
}
.container {
	position: relative;
	margin: 0 auto;
	padding: 164px 0 80px;
}
.wrapper {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
}
#title {
	position: absolute;
	top: 0;
	width: 100%;
}
#title h1 {
	text-align: center;
	background: #F5F6F8;
	padding: 32px 0;
	font-size: 24px;
}
#title h1 span {
	font-size: 1.3em;
}
.button {
	position: relative;
	display: block;
	width: 194px;
	line-height: 40px;
	text-align: center;
	color: #FFF !important;
	background: url(./img/button_bg.png) repeat-x;
	border: 1px solid #2C3039;
	border-radius: 4px;
	box-shadow: 1px 1px 2px rgba(0,0,0,.5);
	transition: .2s;
}
.button .icon,
.button .i-next {
	position: absolute;
	top: 50%;
	bottom: auto;
	transform: translateY(-50%);
}
.button .icon {
	left: 5%;
	font-size: 1.3em;
}
.button .i-next {
	right: 3%;
	font-size: .8em;
}

#login ul {
	width: 480px;
	margin: 0 auto;
}
#login ul input[type='radio'],
#login ul label {
	cursor: pointer;
	line-height: 36px;
}
#login ul input[type='radio'] {
	margin-right: 10px;
}
#login ul input[type='text'] {
	display: none;
	width: 300px;
	padding: 0 10px;
}
#login ul li {
	position: relative;
}
#login ul span,
.submit a span,
button[type='submit'] span,
.button-credit-card span,
#complete .submit span {
	position: static;
	font-size: 1.3em;
}
#login ul span:before,
.submit a span:before,
button[type='submit'] span:before,
.button-credit-card span:before,
#complete .submit span:before {
	position: absolute;
	right: 3%;
	top: 50%;
	transform: translateY(-50%);
}
#login ul li > span {
	position: absolute;
	right: 0;
}
#login ul input[type='radio']:checked ~ span input[type='text'] {
	display: inline;
	vertical-align: top;
}
#login ul li.submit {
	margin: 42px auto 0;
	text-align: center;
}

.roomList ul {
	display: flex;
	justify-content: center;
}
.roomList ul li + li {
	padding-left: 10px;
}

.calendar {
	font-family: 'メイリオ','Osaka',monospace;
	width: 581px;
	margin: 0 auto;
}
.calendar .header,
.calendar .dayOfWeek,
.calendar .dayList {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.calendar .dayList {
	height: 432px;
}
.calendar .header {
	justify-content: space-between;
	margin-bottom: 65px;
}
.calendar .header span,
.calendar .header a {
	width: 83px;
	text-align: center;
}
.calendar .header span {
	color: #A7ACAF;
}
.calendar .header a {
	color: #AD0000;
}
.calendar .header h3,
.calendar .header span,
.calendar .header a {
	font-size: 26px;
}
.calendar_inner {
	position: relative;
	opacity: 0;
}
.calendar .dayOfWeek div,
.calendar .dayList a,
.calendar .dayList span {
	position: relative;
	display: -webkit-box;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	width: 83px;
	height: 72px;
	color: #61676B;
	font-size: 20px;
}
.calendar .dayList a:before {
	width: 50px;
	height: 50px;
	content: '';
	position: absolute;
	opacity: .5;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	border-radius: 50%;
	z-index: -1;
	opacity: 0;
	transition: .3s;
}
.calendar .dayList a:hover {
	opacity: 1;
}
.calendar .dayList a:hover:before {
	opacity: .1;
}
.calendar .dayList a:before {
	background: #000;
}
.calendar .dayList a.h:before {
	background: #AD0000;
}
.calendar .dayList a.s:before {
	background: #0172B6;
}
.calendar .dayOfWeek div {
/* 	color: #000; */
	font-size: 26px;
}
.calendar .dayOfWeek > div:nth-of-type(7n+1),
.calendar .dayList > .h {
	color: #AD0000;
}
.calendar .dayOfWeek > div:nth-of-type(7n),
.calendar .dayList > .s {
	color: #0172B6;
}
.calendar .dayList > span {
	opacity: .3;
}
/*
.period,
.confirm {
	width: 940px;
	margin: 0 auto;
}
*/
.periodList .periodList_inner {
	width: 490px;
	margin: 0 auto;
}
.periodList .periodList_inner ul {
	margin: 25px auto;
	border: 1px solid #C9C9C9;
	border-radius: 5px;
}
.periodList .periodList_inner ul li input {
	display: none;
}
.periodList .periodList_inner ul li label {
	display: block;
	padding: 20px 23px;
}
.periodList .periodList_inner ul li input.disabled:not(:checked) + label,
.periodList .periodList_inner ul li input.reserved + label,
.periodList .periodList_inner .option input:disabled + label,
button:disabled {
	cursor: default;
	color: #CCC;
}
button:disabled {
	border: 1px solid #CCC;
}
.periodList .periodList_inner ul li input + label,
.periodList .periodList_inner .option input + label {
	cursor: pointer;
	transition: color .5s, background .5s;
}
.periodList .periodList_inner ul li input:not(:checked):not(.disabled):not(.reserved) + label:hover {
	background: #F3F3F3;
}
.periodList .periodList_inner ul li input:checked + label {
	background: #DDD;
}

.periodList .periodList_inner .select {
	overflow: hidden;
	width: 200px;
	display: inline-block;
	line-height: 38px;
	border: 1px solid #C9C9C9;
	border-radius: 4px;
	vertical-align: middle;
	position: relative;
}
.periodList .periodList_inner .select select {
	width: 100%;
	padding: 0 1em 0 .5em;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.periodList .periodList_inner .select select:not(:disabled) {
	cursor: pointer;
}
.periodList .periodList_inner .select select:-ms-expand {
	display: none;
}
.periodList .periodList_inner .select:before {
	position: absolute;
	top: 14px;
	right: 15px;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 12px solid #666;
	pointer-events: none;
}
.periodList .periodList_inner .select:after {
	position: absolute;
	top: 0;
	right: 42px;
	bottom: 0;
	width: 1px;
	content: '';
	border-left: 1px solid #C9C9C9;
	border-radius: 4px;
}
.periodList .periodList_inner .option {
	margin: 25px auto;
}
.periodList .periodList_inner .option input,
#sq-ccbox .submit input {
	margin-right: .5em;
}
.periodList .totalPrice_box {
	margin: 25px auto;
	text-align: right;
}
.periodList .totalPrice_box > span {
	display: inline;
	background: #C9C9C9;
	padding: 18px 30px 14px;
}
.periodList .totalPrice_box > span .totalPrice {
	display: inline-block;
	padding: 0 5px;
	width: 100px;
	text-align: right;
	font-size: 1.5em;
	color: #AD0000;
}
.submit {
	margin: 25px auto;
	text-align: center;
}

.privateInformation,
#sq-ccbox.form {
	width: 640px;
	margin: 0 auto;
}
.privateInformation dl,
#sq-ccbox.form dl {
	display: flex;
	flex-wrap: wrap;
}
#sq-ccbox.form dl {
	margin: 25px auto;
}
.privateInformation dl dt,
.privateInformation dl dd,
#sq-ccbox.form dl dt,
#sq-ccbox.form dl dd {
	line-height: 35px;
	min-height: 35px;
}
.privateInformation dl dt:nth-of-type(n+2),
.privateInformation dl dd:nth-of-type(n+2),
#sq-ccbox.form dl dt:nth-of-type(n+2),
#sq-ccbox.form dl dd:nth-of-type(n+2) {
	margin-top: 20px;
}
.privateInformation dl dt,
#sq-ccbox.form dl dt {
	width: 190px;
}
.privateInformation dl dd,
#sq-ccbox.form dl dd {
	width: 450px;
}
.privateInformation dl dd input,
.privateInformation dl dd textarea {
	width: 100%;
	padding: 0 10px;
	border: 1px solid #C9C9C9;
}
.privateInformation dl dd input {
	line-height: 35px;
}
.privateInformation dl dd textarea {
	height: 10em;
}
.confirm h3 {
	font-size: 1.2em;
}
.confirm h3 span {
	color: #AB0000;
}
.confirm dl {
	display: flex;
	flex-wrap: wrap;
	width: 730px;
	margin: 25px auto;
}
.confirm dl dt,
.confirm dl dd {
	border: 1px solid #A0A0A0;
}
.confirm dl dt {
	width: 260px;
	background: #F3F3F3;
	padding: 8px 0 8px 20px;
}
.confirm dl dt:nth-of-type(n+2),
.confirm dl dd:nth-of-type(n+2) {
	border-top: 0;
}
.confirm dl dd {
	width: 470px;
	padding: 8px 28px;
	border-left: 0;
}

#step5 p {
	text-align: center;
}

.modal {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}
.modalBg {
	background: rgba(0, 0, 0, 0.6);
	height: 100vh;
	width: 100%;
}
.modalContent {
	background: #FFF;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	border-radius: 5px;
	width: 70%;
	height: 70%;
	padding: 1em 2em;
}
.modalContent_inner {
	position: relative;
	height: 100%;
	overflow: auto;
}
.openModal,
.closeModal.text {
	cursor: pointer;
	color: #F00;
	text-decoration: underline;
	transition: .5s;
}
.closeModal.text {
	margin-top: 2em;
	text-align: center;
}
.openModal:hover,
.closeModal.text:hover {
	color: #00F;
}
.modalBg.closeModal {
	position: absolute;
}
@media screen and (max-width: 1000px) {
	header,
	footer {
		height: 10vw;
	}
	header h1,
	footer h1 {
		margin-left: 5vw;
		font-size: 2vw;
	}
	header h1 img,
	footer h1 img {
		width: 20vw;
		height: 4.5vw;
		margin-right: 2vw;
	}
	h3.subtitle {
		margin-left: 6vw;
	}
	.breadcrumb {
		margin-bottom: 4.5vw;
		padding: 1.4vw 0 1.4vw 5vw;
	}
	.loginMode {
		margin-right: 6.3vw;
	}
	.loginMode a {
		margin-left: 2.6vw;
	}
	.submit a,
	input[type='submit'],
	input[type='reset'],
	button[type='submit'],
	button[type='reset'],
	.button-credit-card,
	button.close {
		padding: 0 5vw;
		margin: 0 1vw;
	}
	.container {
		padding: 16.4vw 0 8vw;
	}
	#title h1 {
		padding: 3.2vw 0;
	}
	#login ul li.submit {
		margin-top: 4.2vw;
	}
	.calendar .header {
		margin-bottom: 6.5vw;
	}
	.periodList .periodList_inner ul {
		margin: 2.5vw auto;
	}
	.periodList .periodList_inner ul li label {
		padding: 2vw 2.3vw;
	}
	.periodList .totalPrice_box {
		margin: 2.5vw 1vw 2.5vw auto;
	}
	.submit {
		margin: 2.5vw auto;
	}
	#sq-ccbox.form dl {
		margin: 2.5vw auto;
	}
	.privateInformation dl dt:nth-of-type(n+2),
	.privateInformation dl dd:nth-of-type(n+2),
	#sq-ccbox.form dl dt:nth-of-type(n+2),
	#sq-ccbox.form dl dd:nth-of-type(n+2) {
		margin-top: 2vw;
	}
	.confirm dl {
		width: 73vw;
		margin: 2.5vw auto;
	}
	.confirm dl dt {
		width: 26vw;
		padding: .8vw 0 .8vw 2vw;
	}
	.confirm dl dd {
		width: 47vw;
		padding: .8vw 2.8vw;
	}
}
