@charset "utf-8";

/*
	price.css
---------------------------------------------------------------------------------------------------------------------------------------------*/
/* main-visual
--------------------------------------------------------------------------------------------------------*/
#price-page #main-visual {
	background-image: url(../images/price/bg_main-visual.jpg);
}

/* flow
--------------------------------------------------------------------------------------------------------*/
#price-page #flow {
	padding: 5.0rem 0 0;
}
#price-page #flow .inner .field {
	padding: 3.5rem 0 0;
	width: 900px;
	margin: 0 auto;
	counter-reset: step;
}
#price-page #flow .inner .field dl,
#price-page #flow .inner .field dl dt {
	display: flex;
	display: -webkit-flex;
}
#price-page #flow .inner .field dl {
	counter-increment: step;
	position: relative;
	align-items: center;
	-webkit-align-items: center;
}
#price-page #flow .inner .field dl:not(:last-child) {
	padding-bottom: 6.0rem;
}
#price-page #flow .inner .field dl::after {
	content: '';
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 4.3rem;
	width: 5px;
	height: 100%;
	background-color: #fff001;
}
#price-page #flow .inner .field dl:last-child::after {
	content: none;
}
#price-page #flow .inner .field dl dt {
	position: relative;
	z-index: 2;
	width: 9.0rem;
	height: 9.0rem;
	font-size: 1.2rem;
	text-align: center;
	flex-direction: column;
	-webkit-flex-direction: column;
	justify-content: center;
	-webkit-justify-content: center;
	letter-spacing: 0.08em;
	background-color: #fff001;
	border-radius: 50%;
}
#price-page #flow .inner .field dl:first-child dt {
	margin-bottom: 8rem;
}
#price-page #flow .inner .field dl dt span {
	font-size: 3.0rem;
}
#price-page #flow .inner .field dl dt span::after {
	content: counter(step);
}
#price-page #flow .inner .field dl dd {
	width: calc(100% - 9.0rem);
	padding: 0 0 0 2.5rem;
}
#price-page #flow .inner .field dl dd h5 {
	font-size: 1.7rem;
	margin-bottom: 0.8rem;
}
#price-page #flow .inner .field dl dd p {
	font-size: 1.4rem;
	line-height: 1.5;
}
#price-page #flow .inner .field dl dd p small {
	display: block;
	font-size: 1.2rem;
}
/*#price-page #flow .inner .field dl dd a.ic-links {
	margin-top: 0.6rem;
	background: url(../images/price/ic-window.png) no-repeat right center;
	background-size: 15px auto;
	display: inline-block;
	position: relative;
	font-size: 1.6rem;
	padding-right: 1.8rem;
}
#price-page #flow .inner .field dl dd a.ic-links::after {
	content: '';
	position: absolute;
	width: calc(100% - 2.0rem);
	height: 1px;
	top: 125%;
	left: 0;
	background-color: #222;
}*/

/*#price-page #flow .inner .field dl dd p .black-btn {
    margin-top: 0.6rem;
}
#price-page #flow .inner .field dl dd p .btn-link {
    width: 180px;
    margin-top: 0.6rem;
}
#price-page #flow .inner .field dl dd p .btn-link span {
    display: block;
    padding: 0.7em 0;
    font-size: 1.3rem;
}*/

#price-page #flow .inner .field dl dd p.ic-skew {
	text-shadow: none;
	width: 690px;
    margin-left: 20px;
}
#price-page #flow .inner .field dl dd p.ic-skew a {
	padding: 1.0rem 2.0rem 1.5rem 2.0rem;
}
#price-page #flow .inner .field dl dd p.ic-skew a::after {
	content: none;
}
#price-page #flow .inner .field dl dd p.ic-skew a::before {
	content: '';
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(left, #111 50%, #fff001 50%);
	background: linear-gradient(to right, #111 50%, #fff001 50%);
	background-size: 202% 100%;
	background-position: right bottom;
	transform: skewX(-27deg);
	-webkit-transform: skewX(-27deg);
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}
#price-page #flow .inner .field dl dd p.ic-skew a:hover::before {
	background-position: left bottom;
}
#price-page #flow .inner .field dl dd p.ic-skew a span {
	position: relative;
	z-index: 2;
	/*color: #272936;*/
	color: #f00;
	font-weight: bold;
	/*font-size: 1.8rem;*/
	font-size: 2.5rem;
	/*vertical-align: text-bottom;*/
}
#price-page #flow .inner .field dl dd p.ic-skew a:hover span {
	color: #fff;
}

#price-page #flow .inner .field dl dd p.current a::after {
	width: 100%;
}
#price-page #flow .inner .field dl dd p.ic-skew a.btn-skew {
    display: block;
    margin: 10px 0;
    /*width: 200px;*/
    border: none;
    letter-spacing: 0.03em;
    position: relative;
    text-align: center;
}
#price-page #flow .inner .field dl dd p.ic-skew a span em {
	font-size: 2rem;
	margin-left: 1em;
	/*vertical-align: middle;*/
}
#price-page #flow .inner .field dl dd p.ic-skew a span strong {
	/*vertical-align: middle;
	line-height: 1;*/
	vertical-align: bottom;
}

/* form-layout
--------------------------------------------------------------------------------------------------------*/
#price-page #form-layout {
	padding: 5.0rem 0 0;
}
#price-page #form-layout .inner {
	width: 900px;
	padding: 0 0 6.0rem;
}
#price-page #form-layout .inner .reserve-btn {
	width: 500px;
	margin: 0 auto 5.0rem;
}
#price-page #form-layout .inner .reserve-btn a,
#price-page #form-layout .inner .reserve-btn a p {
	display: flex;
	display: -webkit-flex;
}
#price-page #form-layout .inner .reserve-btn a {
	height: 14.0rem;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	position: relative;
	overflow: hidden;
}
#price-page #form-layout .inner .reserve-btn a::before,
#price-page #form-layout .inner .reserve-btn a::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#price-page #form-layout .inner .reserve-btn a::before {
	background: url(../images/price/bg_reserve.jpg) no-repeat center center;
	background-size: cover;
	z-index: 1;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
}
#price-page #form-layout .inner .reserve-btn a::after {
	opacity: 0.4;
	background: url(../images/commons/bg_link-contents.png) repeat;
	z-index: 2;
}
#price-page #form-layout .inner .reserve-btn a:hover::before {
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
}
#price-page #form-layout .inner .reserve-btn a p {
	position: relative;
	z-index: 3;
	color: #fff;
	width: 100%;
	font-size: 2.0rem;
	text-align: center;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	flex-direction: column;
	-webkit-flex-direction: column;
}
#price-page #form-layout .inner .reserve-btn a p::after {
	position: absolute;
	content: '';
	top: 50%;
	right: -2.0rem;
	width: 4.0rem;
	height: 1px;
	background-color: #fff;
	z-index: 4;
}
#price-page #form-layout .inner .reserve-btn a p span {
	display: block;
}
#price-page #form-layout .inner .reserve-btn a p span:nth-of-type(2) {
	background: url(../images/commons/ic-window.png) no-repeat right center;
	background-size: 14px auto;
	padding-right: 2.0rem;
	margin-top: 1.2rem;
}
#price-page #form-layout .inner .form-area {
	border: 1px solid #777;
	background-color: #fff;
	padding: 2.2rem 0 3.0rem;
}
#price-page #form-layout .inner .form-area p {
	font-size: 2.1rem;
	line-height: 1.47;
	text-align: center;
}
#price-page #form-layout .inner .form-area ul,
#price-page #form-layout .inner .form-area ul li a,
#price-page #form-layout .inner .form-area ul li a dl,
#price-page #form-layout .inner .form-area ul li:nth-of-type(1) a dl dd {
	display: flex;
	display: -webkit-flex;
}
#price-page #form-layout .inner .form-area ul {
	margin-top: 2.0rem;
	padding: 0 5.0rem;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}
#price-page #form-layout .inner .form-area ul li {
	flex: 0 0 390px;
	-webkit-flex: 0 0 390px;
	width: 390px;
}
#price-page #form-layout .inner .form-area ul li a,
#price-page #form-layout .inner .form-area ul li:nth-of-type(1) a dl dd {
	justify-content: center;
	-webkit-justify-content: center;
}
#price-page #form-layout .inner .form-area ul li a,
#price-page #form-layout .inner .form-area ul li a dl {
	align-items: center;
	-webkit-align-items: center;
}
#price-page #form-layout .inner .form-area ul li a {
	color: #fff;
	background-color: #232323;
	height: 8.0rem;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
}
#price-page #form-layout .inner .form-area ul li a:hover {
	opacity: 0.7;
}
#price-page #form-layout .inner .form-area ul li a dl {
	flex-direction: column;
	-webkit-flex-direction: column;
}
#price-page #form-layout .inner .form-area ul li a dl dt {
	font-size: 1.3rem;
	margin-bottom: 0.5rem;
}
#price-page #form-layout .inner .form-area ul li a dl dd small {
	font-size: 1.2rem;
	padding-left: 0.5rem;
	letter-spacing: 0.08em;
}
#price-page #form-layout .inner .form-area ul li:nth-of-type(1) a dl dd {
	background: url(../images/price/ic-phone.png) no-repeat left center;
	background-size: 20px auto;
	padding: 0.5rem 0 0.5rem 2.5rem;
	font-size: 2.3rem;
	align-items: center;
	-webkit-align-items: center;
}
#price-page #form-layout .inner .form-area ul li:nth-of-type(2) a dl dt {
	margin-bottom: 1.0rem;
}
#price-page #form-layout .inner .form-area ul li:nth-of-type(2) a dl dd {
	font-size: 2.0rem;
}


/* price-layout
--------------------------------------------------------------------------------------------------------*/
#price-page .price-layout .inner .field > p {
	text-align: center;
	margin-bottom: 2.5rem;
}
#price-page .price-layout .inner .field .box:not(:last-child) {
	margin-bottom: 2.5rem;
}
#price-page .price-layout .inner .field .box h5 {
	font-size: 1.7rem;
	margin-bottom: 1.5rem;
	border-left: 4px solid #222;
}
#price-page .price-layout .inner .field .box h5 span {
	padding: 0.2rem 0 0.5rem 0.5em;
	display: inline-block;
}
#price-page .price-layout .inner .field .box h5 small {
	font-size: 1.2rem;
	padding-left: 0.4rem;
}
#price-page .price-layout .inner .field .box .item {
	display: flex;
	display: -webkit-flex;
}
#price-page .price-layout .inner .field .box .item table {
	width: 50%;
	flex: 0 0 auto;
	-webkit-flex: 0 0 auto;
	table-layout: fixed;
}
#price-page .price-layout .inner .field .box .item table th,
#price-page .price-layout .inner .field .box .item table td {
	font-size: 1.4rem;
	text-align: center;
	padding: 1.25em 0;
	border: 1px solid #8f8f8f;
}
#price-page .price-layout .inner .field .box .item table td {
	background-color: #fff;
}
#price-page .price-layout .inner .field .box .item table.weekdays thead th {
	background-color: #c8c8c8;
}
#price-page .price-layout .inner .field .box .item table.weekdays tbody th {
	background-color: #f2f2f2;
}
#price-page .price-layout .inner .field .box .item table.holidays thead th,
#price-page .price-layout .inner .field .box .item table.holidays tbody th:first-child,
#price-page .price-layout .inner .field .box .item table.holidays tbody td:first-child {
	border-left: none;
}
#price-page .price-layout .inner .field .box .item table.holidays thead th {
	background-color: #2d2d2d;
	color: #fff;
	border-color: #2d2d2d;
}
#price-page .price-layout .inner .field .box .item table.holidays tbody th {
	background-color: #dadada;
}
#price-page .price-layout .inner .field .box .item + p {
	margin-top: 0.5rem;
}
#price-page .price-layout .inner .field .box .item + p small {
	font-size: 1.2rem;
}


/* price
--------------------------------------------------------------------------------------------------------*/
#price-page #price {
	padding: 5.0rem 0 0;
}
#price-page #price .inner {
	padding: 0 0 5.0rem;
}
#price-page #price .inner .field {
	padding: 3.5rem 0 0;
}

/* price-other
--------------------------------------------------------------------------------------------------------*/
#price-page #price-other {
	padding: 4.5rem 0 0;
	background-color: #e5e5e5;
}
#price-page #price-other .inner {
	padding: 0 0 5.5rem;
}

/* price-cancel
--------------------------------------------------------------------------------------------------------*/
#price-page #price-cancel {
	padding: 4.5rem 0 0;
}
#price-page #price-cancel .inner {
	padding: 0 0 5.5rem;
}
#price-page #price-cancel .inner .field .box .item {
	display: block;
}
#price-page #price-cancel .inner .field .box .item table {
	width: 100%;
	table-layout: auto;
}
#price-page #price-cancel .inner .field .box .item table tr:first-child > th:first-child {
	width: 25%;
	vertical-align: middle;
}
#price-page #price-cancel .inner .field .box .item table td {
	width: 25%;
}
#price-page #price-cancel .inner .field .box .item .cancel tr:first-child > th:first-child {
	background-color: #c8c8c8;
}
#price-page #price-cancel .inner .field .box .item .cancel td:last-child {
	width: 50%;
}
#price-page #price-cancel .inner .field .box .item .change tr:first-child > th:first-child {
	color: #fff;
	background-color: #2d2d2d;
	border-color: #2d2d2d;
	border-top: none;
}
#price-page #price-cancel .inner .field .box .item .change th {
	background-color: #dadada;
	border-top: none;
}
#price-page #price-cancel ul {
	margin-top: 0.5rem;
}
#price-page #price-cancel ul,
#price-page #price-cancel p small {
	font-size: 1.2rem;
}

/*
	less than 767px;
---------------------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 767px) {

/* flow
--------------------------------------------------------------------------------------------------------*/
	#price-page #flow {
		padding: calc(50 / 750 * 100vw) 0 0;
	}
	#price-page #flow .inner .field {
		padding: calc(50 / 750 * 100vw) calc(25 / 750 * 100vw) 0;
		width: 100%;
	}
	#price-page #flow .inner .field dl {
		align-items: stretch;
		-webkit-align-items: stretch;
	}
	#price-page #flow .inner .field dl:not(:last-child) {
		padding-bottom: calc(60 / 750 * 100vw);
	}
	#price-page #flow .inner .field dl::after {
		left: calc(45 / 750 * 100vw);
	}
	#price-page #flow .inner .field dl dt {
		width: calc(100 / 750 * 100vw);
		height: calc(100 / 750 * 100vw);
		font-size: calc(20 / 750 * 100vw);
	}
	#price-page #flow .inner .field dl dt span {
		font-size: calc(42 / 750 * 100vw);
	}
	#price-page #flow .inner .field dl dd {
		width: calc(100% - calc(90 / 750 * 100vw));
		padding: 0 0 0 calc(25 / 750 * 100vw);
	}
	#price-page #flow .inner .field dl dd h5 {
		font-size: calc(28 / 750 * 100vw);
		margin-bottom: 0.5em;
	}
	#price-page #flow .inner .field dl dd p {
		font-size: calc(24 / 750 * 100vw);
	}
	#price-page #flow .inner .field dl dd p small {
		margin-top: 0.25em;
		font-size: calc(22 / 750 * 100vw);
	}
	#price-page #flow .inner .field dl dd a.ic-links {
		margin-top: 1em;
		background-size: calc(24 / 750 * 100vw) auto;
		font-size: calc(28 / 750 * 100vw);
		padding-right: calc(30 / 750 * 100vw);
		text-decoration: underline;
	}
	#price-page #flow .inner .field dl dd a.ic-links::after {
		content: none;
	}
/*	#price-page #flow .inner .field dl dd p .btn-link {
	    margin-left: 0;
	    margin-right: 0;
	}*/
#price-page #flow .inner .field dl dd p.ic-skew {
	text-shadow: none;
	width: 90%;
}
#price-page #flow .inner .field dl dd p.ic-skew a.btn-skew {
    width: 95%;
}
#price-page #flow .inner .field dl dd p.ic-skew a span {
	font-size: 1.6rem;
}
#price-page #flow .inner .field dl dd p.ic-skew a span em {
	font-size: 1.5rem;
	margin-left: 0;
}
#price-page #flow .inner .field dl dd p.ic-skew a span strong {
	font-size: 2rem;
}



/* form-layout
--------------------------------------------------------------------------------------------------------*/
	#price-page #form-layout {
		padding: calc(50 / 750 * 100vw) 0 0;
	}
	#price-page #form-layout .inner {
		width: 100%;
		padding: 0 calc(25 / 750 * 100vw) calc(60 / 750 * 100vw);
	}
	#price-page #form-layout .inner .reserve-btn {
		width: 100%;
		padding: 0 calc(25 / 750 * 100vw);
		margin-bottom: calc(50 / 750 * 100vw);
	}
	#price-page #form-layout .inner .reserve-btn a {
		height: auto;
		padding: calc(50 / 750 * 100vw) 0;
	}
	#price-page #form-layout .inner .reserve-btn a p {
		font-size: calc(26 / 750 * 100vw);
	}
	#price-page #form-layout .inner .reserve-btn a p::after {
		right: calc(20 / 750 * -100vw);
		width: calc(40 / 750 * 100vw);
	}
	#price-page #form-layout .inner .reserve-btn a p span:nth-of-type(2) {
		background-size: calc(20 / 750 * 100vw) auto;
		padding-right: calc(30 / 750 * 100vw);
		margin-top: calc(14 / 750 * 100vw);
	}
	#price-page #form-layout .inner .form-area {
		padding: calc(30 / 750 * 100vw) calc(25 / 750 * 100vw);
	}
	#price-page #form-layout .inner .form-area p {
		font-size: calc(26 / 750 * 100vw);
		text-align: left;
		text-indent: -1.0em;
		padding-left: 1.0em;
	}
	#price-page #form-layout .inner .form-area p br {
		display: none;
	}
	#price-page #form-layout .inner .form-area ul {
		margin-top: calc(20 / 750 * 100vw);
		padding: 0 calc(25 / 750 * 100vw);
		flex-direction: column;
		-webkit-flex-direction: column;
	}
	#price-page #form-layout .inner .form-area ul li {
		flex: 0 0 auto;
		-webkit-flex: 0 0 auto;
		width: 100%;
	}
	#price-page #form-layout .inner .form-area ul li:first-child {
		margin-bottom: calc(15 / 750 * 100vw);
	}
	#price-page #form-layout .inner .form-area ul li a {
		height: auto;
		padding: calc(30 / 750 * 100vw) 0;
	}
	#price-page #form-layout .inner .form-area ul li a dl dt {
		font-size: calc(26 / 750 * 100vw);
		margin-bottom: 0.25em;
	}
	#price-page #form-layout .inner .form-area ul li a dl dd small {
		font-size: calc(22 / 750 * 100vw);
		padding-left: calc(10 / 750 * 100vw);
	}
	#price-page #form-layout .inner .form-area ul li:nth-of-type(1) a {
		padding: calc(25 / 750 * 100vw) 0 calc(20 / 750 * 100vw);
	}
	#price-page #form-layout .inner .form-area ul li:nth-of-type(1) a dl dd {
		background-size: calc(30 / 750 * 100vw) auto;
		padding: 0.25em 0 0.25em calc(40 / 750 * 100vw);
		font-size: calc(34 / 750 * 100vw);
	}
	#price-page #form-layout .inner .form-area ul li:nth-of-type(2) a dl dt {
		margin-bottom: 0.5em;
	}
	#price-page #form-layout .inner .form-area ul li:nth-of-type(2) a dl dd {
		font-size: calc(28 / 750 * 100vw);
	}

/* price
--------------------------------------------------------------------------------------------------------*/
	#price-page #price {
		padding: calc(50 / 750 * 100vw) 0 0;
	}
	#price-page #price .inner {
		padding: 0 0 calc(50 / 750 * 100vw);
	}
	#price-page #price .inner .field {
		padding: calc(35 / 750 * 100vw) calc(25 / 750 * 100vw) 0;
	}

/* price-other
--------------------------------------------------------------------------------------------------------*/
	#price-page #price-other {
		padding: calc(45 / 750 * 100vw) 0 0;
	}
	#price-page #price-other .inner {
		padding: 0 0 calc(55 / 750 * 100vw);
	}
	#price-page #price-other .inner .field {
		padding: 0 calc(25 / 750 * 100vw);
	}

/* price-cancel
--------------------------------------------------------------------------------------------------------*/
	#price-page #price-cancel {
		padding: calc(45 / 750 * 100vw) 0 0;
	}
	#price-page #price-cancel .inner {
		padding: 0 0 calc(55 / 750 * 100vw);
	}
	#price-page #price-cancel .inner .field {
		padding: 0 calc(25 / 750 * 100vw);
	}
	#price-page #price-cancel .inner .field .box .item table tr:first-child > th:first-child {
		width: 20%;
	}


/* price-layout
--------------------------------------------------------------------------------------------------------*/
	#price-page .price-layout .inner .field > p {
		font-size: calc(24 / 750 * 100vw);
		line-height: 1.6;
		text-align: left;
		margin-bottom: calc(25 / 750 * 100vw);
	}
	#price-page .price-layout .inner .field .box:not(:last-child) {
		margin-bottom: calc(75 / 750 * 100vw);
	}
	#price-page .price-layout .inner .field .box h5 {
		font-size: calc(30 / 750 * 100vw);
		margin-bottom: calc(25 / 750 * 100vw);
	}
	#price-page .price-layout .inner .field .box h5 span {
		padding: 0.25em 0 0.25em 0.5em;
	}
	#price-page .price-layout .inner .field .box h5 small {
		font-size: calc(24 / 750 * 100vw);
		padding-left: 0.25em;
	}
	#price-page .price-layout .inner .field .box .item {
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
	}
	#price-page .price-layout .inner .field .box .item table {
		flex-direction: column;
		-webkit-flex-direction: column;
		width: 100%;
	}
	#price-page .price-layout .inner .field .box .item table th,
	#price-page .price-layout .inner .field .box .item table td {
		font-size: calc(28 / 750 * 100vw);
	}
	#price-page .price-layout .inner .field .box .item table.holidays thead th,
	#price-page .price-layout .inner .field .box .item table.holidays tbody th:first-child,
	#price-page .price-layout .inner .field .box .item table.holidays tbody td:first-child {
		border-left: 1px solid #8f8f8f;
	}
	#price-page .price-layout .inner .field .box .item:nth-of-type(1) table tbody th {
		font-size: calc(25 / 750 * 100vw);
	}
	
	#price-page .price-layout .inner .field .box .item + p {
		margin-top: 0.25em;
	}
	#price-page .price-layout .inner .field .box .item + p small {
		font-size: calc(22 / 750 * 100vw);
	}


/*
	price.css End
---------------------------------------------------------------------------------------------------------------------------------------------*/
}