section h3 {
	font-family: 'Shin Go Light';
	line-height: 1.4;
}
section h3 small {
	display: block;
	font-size: 60%;
}

@media all and (max-width: 640px) {
	section {
		padding-bottom: 2em;
	}
	section h3 {
		font-size: 180%;
	}
	section#option h3 {
		font-size: 150%;
	}
}

@media all and (min-width: 641px) {
	section {
		padding-bottom: 2em;
	}
	section h3 {
		font-size: 220%;
	}
	section#option h3 {
		font-size: 180%;
	}
}

/*//////////////////////////////////////// 共通 ////////////////////////////////////////*/

.plans .cap {
	font-family: 'Shin Go Light';
}
.plans .cap small {
	display: block;
	margin-top: 0.25em;
}

.plans .price {
	font-family: 'Shin Go Regular';
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}
.plans .price strong {
	display: inline-block;
	margin-right: 0.1em;
	font-size: 150%;
	font-weight: normal;
}
.plans .price small {
	font-size: 60%;
}
.plans p.note {
	color: #999;
	text-align: left;
}
.plans h4 {
	font-family: "Shin Go Light";
	color: #999999;
}

.plans img[src*="price_40off.png"] {
	width: auto;
	height: 1.5em;
	display: block;
	margin: 0.5em auto 0;
}

@media all and (max-width: 640px) {
	.plans {
		margin: 3em 1rem 0;
	}
	.plans > div {
		border: solid #ccc;
		border-width: 1px 0;
		padding: 1.5em 0;
	}
	.plans > div:nth-of-type(n+2) {
		border-top: none;
	}
	.plans > div::after {
		content: "";
		display: block;
		clear: both;
	}
	#discount .plans > div {
		border-color: #a6c7de;
		font-size: 90%;
	}
	.plans .cap {
		margin: 0.5em 0 0;
		font-size: 110%;
	}
	.plans .cap,
	.plans p {
		float: right;
		width: 64%;
	}
	.plans h3 {
		float: left;
		width: 34%;
		margin: 0 1%;
	}
	.plans h3 img {
		vertical-align: top;
	}
	.plans p {
		margin: 0.5em 0 0;
	}
	.plans h4 {
		font-size: 140%;
	}
	.plans .price {
		font-size: 130%;
	}
	.plans + .notes {
		margin: 1.5rem 0 0;
		padding: 0 1rem;
	}
	.plans + .notes p {
		margin: 0;
		text-align: left;
	}
}

@media all and (min-width: 641px) {
	.plans {
		display: table;
		box-sizing: border-box;
		border-collapse: collapse;
		margin: 0 auto;
	}

	.plans[data-num="3"] > div {
		font-size: 95%;
	}
	.plans[data-num="4"] > div,
	#discount .plans > div {
		font-size: 75%;
	}
	.plans h4 {
		display: table-caption;
		font-size: 160%;
	}
	.plans > div {
		display: table-cell;
		vertical-align: top;
		width: 18em;
		border: solid #ccc;
		border-width: 0 1px;
		padding: 1em;
	}
	#discount .plans > div {
		border-color: #a6c7de;
	}
	#discount .plans[data-num="4"] > div:nth-of-type(1) {
		border-left: none;
	}
	#discount .plans[data-num="4"] > div:nth-last-of-type(1) {
		border-right: none;
	}
	.plans .cap {
		margin: 0;
		font-size: 120%;
		line-height: 1.3;
	}

	.plans .cap span {
		display: block;
	}
	.plans h3 {
		width: 60%;
		margin: 0.5em auto 0;
	}
	#discount .plans h3 {
		width: 65%;
	}
	.plans p {
		margin: 0.5em 0 0;
	}
	.plans .price {
		font-size: 140%;
	}
}

/*==================== サポート付き会員 ====================*/

#support .plans ul {
	display: inline-block;
	margin: 0;
	padding: 0;
	list-style-type: none;
	color: #666;
	text-align: left;
}
#support .plans li {
	position: relative;
	padding-left: 1.5em;
}
#support .plans li::before {
	content: 'check';
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translate(0, -55%);
	transform: translate(0, -55%);
	font-family: 'Material Icons';
	font-size: 140%;
}
#support .plans li:nth-of-type(n+2) {
	margin-top: 0.25em;
}
#support .plans > div:nth-of-type(1) li::before {
	color: #ffe666;
}
#support .plans > div:nth-of-type(2) li::before {
	color: #ffc300;
}
#support .plans > div:nth-of-type(3) li::before {
	color: #f59300;
}

@media all and (max-width: 640px) {
	#support .plans ul {
		margin-top: 0.5em;
		margin-top: 1em;
		text-align: left;
	}
}
@media all and (min-width: 641px) {
	#support .plans ul {
		margin-top: 1em;
		font-size: 80%;
	}
}

/*---------- 割引サービス ----------*/

#discount {
	box-sizing: border-box;
	background: #edf4f9;
	overflow: hidden;
}
#discount > p,
#discount h4,
#discount i {
	color: #5b8db0;
}
#discount > p {
	margin: 0;
	font-family: "Shin Go Regular";
}
#discount button {
	border: none;
	margin: 0;
	padding: 1em;
	background: none;
	cursor: pointer;
}
#discount.open button {
	transform: rotate(180deg);
}
#discount .body {
	opacity: 1;
	transition: opacity 0.4s ease;
}
#discount:not(.open) .body {
	opacity: 0;
	position: fixed;
}

@media all and (max-width: 640px) {
	#discount {
		margin: 2em 1rem 0;
		padding: 1em 0 0.5em;
	}
	#discount .body {
		margin-bottom: 1em;
	}
	#discount hr {
		display: none;
	}
	#discount button i {
		transform: scale(2);
	}
}
@media all and (min-width: 641px) {
	#discount hr {
		border: solid #a6c7de;
		border-width: 1px 0 0;
		margin: 2em 0;
	}
	#discount h4 {
		margin-top: 0;
	}
	#discount {
		width: 49rem;
		margin: 1em auto;
		padding: 1em 1em 0.5em;
	}
	#discount > p {
		font-size: 110%;
	}
	#discount > p br {
		display: none;
	}
	#discount button i {
		transform: scale(2.5);
	}
}

/*==================== フリー利用会員 ====================*/

@media all and (max-width: 641px) {
	#free hr {
		display: none;
	}
}
@media all and (min-width: 641px) {
	#free hr {
		width: 50rem;
		border: solid #ccc;
		border-width: 1px 0 0;
		margin-top: 2em;
	}
}

/*==================== 比較 ====================*/

#planTables {
	background: #edf4f9;
}
#planTables table {
	position: relative;
	width: 100%;
}
#planTables caption,
#planTables tbody th,
#planTables tbody td {
	background: white;
	font-weight: normal;
}
#planTables caption span {
	font-family: 'Shin Go Regular';
}
#planTables tbody th {
	text-align: left;
}
#planTables th small {
	display: block;
	font-size: 80%;
}
#planTables tbody td:nth-of-type(1) i {
	color: #ffb9be;
}
#planTables tbody td:nth-of-type(2) i {
	color: #ff929a;
}
#planTables tbody td:nth-of-type(3) i {
	color: #ff505d;
}

#planTables sup {
	position: absolute;
	color: #999;
}

@media all and (max-width: 640px) {
	#planTables {
		margin-top: 5rem;
		padding: 2.5rem 1rem 1rem;
	}
	#planTables table {
		border-spacing: 0.2rem;
		font-size: 95%;
	}
	#planTables caption {
		margin: 0.2rem 0.2rem 0;
		padding: 0.5em 0;
		font-size: 110%;
		font-weight: bold;
	}
	#planTables caption br {
		display: none;
	}
	#planTables thead {
		position: absolute;
	}
	#planTables tbody th {
		padding: 0.5em;
	}
	#planTables tbody td {
		padding: 0.5em 0.25em;
	}
	#planTables table:nth-of-type(1) thead {
		right: 0;
		top: 0;
		-webkit-transform: translate(0, -5rem);
		transform: translate(0, -5rem);
	}
	#planTables table:nth-of-type(2) thead {
		visibility: hidden;
	}
	#planTables thead img {
		width: 98%;
	}
	#planTables tr > *:first-child {
		width: 40%;
	}
	#planTables tr > *:not(:first-child) {
		width: 20%;
	}
	#planTables table:nth-of-type(2) tbody tr:nth-of-type(1) td {
		font-size: 80%;
	}
	#planTables i {
		/* for Android 4.4 */
		width: 1em;
		overflow: hidden;
	}
	#planTables + .notes {
		padding: 0 1rem;
		text-align: justify;
	}
	#planTables table:nth-of-type(2) tbody tr:nth-of-type(1) sup {
		transform: translate(-1em, -1em);
	}

}

@media all and (min-width: 641px) {
	#planTables {
		box-sizing: border-box;
		width: 49rem;
		margin: 6rem auto 0;
		padding: 3.5rem 1rem 1rem;
	}
	#planTables table {
		border-spacing: 0 0.2rem;
		padding-left: 25%;
		line-height: 1.3;
	}
	#planTables table:nth-of-type(2) {
		margin-top: -0.4rem;
	}
	#planTables caption {
		position: absolute;
		left: 0;
		top: 0.4rem;
		width: calc(25% - 0.2rem);
		height: calc(100% - 0.6rem);
		font-size: 120%;
	}
	#planTables caption span {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		white-space: nowrap;
	}
	#planTables tbody th,
	#planTables tbody td {
		padding: 0.75em;
	}
	#planTables table:nth-of-type(1) thead {
		position: absolute;
		transform: translate(0, -100%);
	}
	#planTables table:nth-of-type(2) thead {
		display: none;
	}
	#planTables tr > *:first-child {
		width: 30%;
	}
	#planTables thead img {
		width: 75%;
	}
	#planTables tbody i {
		font-size: 200%;
	}
	#planTables table:nth-of-type(2) tbody tr:nth-of-type(1) td {
		font-size: 90%;
	}

	#planTables + .notes {
		display: inline-block;
		text-align: left;
	}
}

/*==================== オプション ====================*/

#option .body {
	text-align: left;
}
#option dl {
	position: relative;
	margin: 0;
	padding-top: 3em;
	white-space: nowrap;
}
#option dt {
	position: absolute;
	top: 0;
	width: 50%;
	padding: 1em 0;
	background: #d1e3f0;
	color: #5b8db0;
	font-family: "Shin Go Regular";
	line-height: 1;
	text-align: center;
}
#option dt:nth-of-type(1) {
	left: 0;
}
#option dt:nth-of-type(2) {
	left: 50%;
}
#option dd {
	display: table-cell;
	vertical-align: middle;
	width: 50%;
	margin: 0;
}
#option dd:nth-of-type(2) {
	font-family: "Shin Go Regular";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	text-align: center;
}
#option dd:nth-of-type(2) strong {
	display: inline-block;
	font-size: 120%;
	margin-right: 0.1em;
}
#option dl h4 {
	margin: 0;
	font-size: 120%;
}
#option dl p {
	font-size: 90%;
	margin: 0.5em 0 0;
}
#option img[src*="allcan"] {
	display: block;
	margin: 0 auto 0.25em;
	width: auto;
	height: 1.75em;
}
#option img[src*="allcan"]:nth-child(n+2) {
	margin-top: 0.5em;
}

#option .beauty dd:nth-of-type(2) a {
	color: #933b2e;
}
#option .personal dd:nth-of-type(2) {
	font-size: 90%;
}
#option .park aside {
	font-size: 80%;
	margin-top: 0.5em;
}

/*
body:not(.mitaka) #option .personal dd small:nth-of-type(n+2)::before {
	content: "〜";
	visibility: hidden;
}
*/

@media all and (max-width: 640px) {
	#option {
		padding: 0 1rem;
	}
	#option dl {
		display: table;
		width: 100%;
		border-bottom: 1px solid #ccc;
		margin: 0;
		font-size: 90%;
	}
	#option dl:nth-of-type(n+2) {
		padding-top: 0;
	}
	#option dl:nth-of-type(n+2) dt {
		display: none;
	}
	#option dd {
		padding: 1.5em 0.5em;
	}
}

@media all and (min-width: 641px) {
	#option .body {
		width: 50rem;
		margin: 0 auto;
	}
	#option dl {
		display: inline-table;
		vertical-align: top;
		width: 50%;
		height: 8em;
	}
	#option dl::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: #ccc;
	}
	#option dl:nth-of-type(n+3) {
		padding-top: 0;
	}
	#option dl:nth-of-type(n+3) dt {
		display: none;
	}
	#option dd {
		padding: 1em;
	}
}

/* その他サービス */

#other {
	border: 1px solid #d1e3f0;
	margin-top: 3em;
}
#other h4 {
	color: #5b8db0;
	background: #d1e3f0;
	font-family: "Shin Go Regular";
	text-align: center;
}

@media all and (max-width: 640px) {
	#other h4 {
		font-size: 110%;
		line-height: 1;
		padding: 1em;
		margin: 0;
	}
	#other p {
		margin: 0;
		padding: 1em;
	}
}

@media all and (min-width: 641px) {
	#other {
		display: table;
		width: 100%;
	}
	#other > * {
		display :table-cell;
		vertical-align: middle;
	}
	#other h4 {
		font-size: 120%;
		padding: 1em;
	}
	#other p {
		padding: 1em;
		font-size: 95%;
		text-align: center;
	}
}
/*---------- schoolList ----------*/

#schoolList a {
	color: inherit;
	text-decoration: none;
}

#schoolList .circuit .head {background-color: rgba(189,79,255,0.2);}
#schoolList .condition .head {background-color: rgba(255,91,92,0.2);}
#schoolList .eatdiet .head {background-color: rgba(255,137,197,0.2);}
#schoolList .exercise .head {background-color: rgba(255,134,17,0.2);}
#schoolList .swimming .head {background-color: rgba(16,139,255,0.2);}
#schoolList .running .head {background-color: rgba(22,177,0,0.2);}
#schoolList .culture .head {background-color: rgba(91,141,176,0.2);}
#schoolList .arke .head {background-color: rgba(0,186,199,0.2);}
#schoolList .vipr .head {background-color: rgba(232,97,0,0.2);}

#schoolList .head {
	line-height: 1;
}
#schoolList h5,
#schoolList .head h6 {
	font-family: 'Shin Go Regular';
	line-height: 1;
}

#schoolList h5 {
	color: white;
}
#schoolList h5 small {
	font-size: 70%;
	display: inline-block;
	vertical-align: middle;
}
#schoolList .circuit h5 {background-color: rgba(189,79,255,1);}
#schoolList .condition h5 {background-color: rgba(255,91,92,1);}
#schoolList .eatdiet h5 {background-color: rgba(255,137,197,1);}
#schoolList .exercise h5 {background-color: rgba(255,134,17,1);}
#schoolList .swimming h5 {background-color: rgba(16,139,255,1);}
#schoolList .running h5 {background-color: rgba(22,177,0,1);}
#schoolList .culture h5 {background-color: rgba(91,141,176,1);}
#schoolList .arke h5 {background-color: rgba(0,186,199,1);}
#schoolList .vipr h5 {background-color: rgba(232,97,0,1);}

#schoolList .circuit .head h6 {color: rgba(189,79,255,1);}
#schoolList .condition .head h6 {color: rgba(255,91,92,1);}
#schoolList .eatdiet .head h6 {color: rgba(255,137,197,1);}
#schoolList .exercise .head h6 {color: rgba(255,134,17,1);}
#schoolList .swimming .head h6 {color: rgba(16,139,255,1);}
#schoolList .running .head h6 {color: rgba(22,177,0,1);}
#schoolList .culture .head h6 {color: rgba(91,141,176,1);}
#schoolList .arke .head h6 {color: rgba(0,186,199,1);}
#schoolList .vipr .head h6 {color: rgba(232,97,0,1);}

#schoolList .time i {
	font-size: 110%;
	margin-right: 0.2em;
	-webkit-transform: translate(0, -10%);
	transform: translate(0, -10%);
}

#schoolList .circuit .time i {color: rgba(189,79,255,1);}
#schoolList .condition .time i {color: rgba(255,91,92,1);}
#schoolList .eatdiet .time i {color: rgba(255,137,197,1);}
#schoolList .exercise .time i {color: rgba(255,134,17,1);}
#schoolList .swimming .time i {color: rgba(16,139,255,1);}
#schoolList .running .time i {color: rgba(22,177,0,1);}
#schoolList .culture .time i {color: rgba(91,141,176,1);}
#schoolList .arke .time i {color: rgba(0,186,199,1);}
#schoolList .vipr .time i {color: rgba(232,97,0,1);}

#schoolList .text {
	text-align: justify;
}
#schoolList .category dl {
	position: relative;
	display: table;
	width: 100%;
	border-collapse: collapse;
	text-align: center;
}
#schoolList .category dt,
#schoolList .category dd {
	display: table-cell;
	width: calc(100% / 6);
}
#schoolList .category dt {
	position: absolute;
	top: 0;
	padding: 0.5em 0 0;
	font-family: 'Shin Go Regular';
}
#schoolList .category dt[data-id="0"] {
	color: #999;
	font-family: 'Shin Go Light';
}
#schoolList .category dd {
	border: solid #ccc;
	border-width: 0 1px;
}
#schoolList .category dd:nth-of-type(n+2) {
	border-left: none;
}
#schoolList .category dd img {
	width: 1em;
	vertical-align: middle;
}
@media all and (min-width: 641px) {
	#schoolList > div {
		position: relative;
		margin-top: 0;
	}
	#schoolList .head {
		position: relative;
		text-align: left;
	}
	#schoolList h5,
	#schoolList .head h6 {
		display: inline-block;
		vertical-align: middle;
	}

	#schoolList h5 {
		position: relative;
		margin: 0;
		padding: 0.6em 1em;
		font-size: 150%;
	}
	#schoolList h5::before {
		content: '';
		display: block;
		position: absolute;
		left: 100%;
		top: 0;
		width: 1em;
		height: 100%;
		background: inherit;
		transform-origin: 0 0;
		transform: skewX(-20deg);
	}
	#schoolList .head h6 {
		margin: 0 0 0 1.5em;
		font-size: 115%;
	}
	#schoolList .time {
		position: absolute;
		right: 1em;
		top: 50%;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
		font-size: 120%;
	}
	#schoolList .body {
		margin-top: 0;
	}
	#schoolList .pic {
		float: left;
		width: 18rem;
	}
	#schoolList .pic_b {
		margin: 0 auto;
		width: 40rem;
		text-align: left;
	}
	#schoolList .text {
		float: right;
		width: 66%;	
	}
	#schoolList .text_b {
		margin: 0 auto;
		width: 40rem;
		text-align: left;
	}
	#schoolList .body::after {
		content: '';
		clear: both;
		display: block;
	}
	#schoolList .body h6 {
		margin: 0.5em 0;
		font-size: 105%;
	}
	#schoolList .body h6 br {
		display: none;
	}
	#schoolList .category {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 29.5rem;
	}
	#schoolList .category dt {
		font-size: 80%;
	}
	#schoolList .category dd {
		padding: 2em 0 0.5em;
	}
	#personal .pics img {
		display: inline-block;
		margin: 2%;
		width: 28%;
	}
}
