@charset 'utf-8';


.course {
	max-width: 900px;
	margin: 0 auto;
}

.course .courseitem {
	padding: 40px 0;
}

.course .courseitem:not(:last-child) {
	border-bottom: 1px solid #443b71;
}

.course .coursename {
	margin-bottom: .5em;
	color: #000;
	font-size: 2.4em;
	font-weight: 700;
	text-align: center;
}

.course .coursename span {
	display: inline-block;
}

.course .service {
	margin-bottom: 2em;
	font-size: 1.6em;
}

.course .service p:not(:last-child) {
	margin-bottom: 2em;
}

.course .media img {
	width: 100%;
	height: auto;
}

.course .condition {
	margin-bottom: 2em;
	color: #036eb7;
	font-size: 1.2em;
	font-weight: 700;
	text-align: center;
}

.course .condition span {
	display: inline-block;
}

.course .courseitem.parent {
}

.course .courseitem.parent .coursename span {
}

.course .courseitem.parent .benefits {
	max-width: 400px;
	margin: 0 auto;
	margin-bottom: 1em;
	padding: 0;
	font-size: 1.8em;
	text-align: center;
}

.course .courseitem.parent .benefits .item {
	margin-bottom: .4em;
	padding: .5em 1.5em;
	border-radius: 99px;
	background: rgba(223,82,142,.7);
	color: #fff;
	font-weight: 700;
	line-height: 1.2;
	box-shadow: 2px 2px 0px 0px rgba(0,0,0,0.1);
}

.course .courseitem.parent ul {
	color: #df528e;
}

.course .courseitem.parent li {
	font-size: 1.6em;
	font-weight: 700;
}


.course .table {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.course .table .item {
	width: 100%;
	padding: 20px 10px;
	border-top: 1px solid #6eb5e6;
}

.course .table .item.spot {
	background: rgba(223,82,142,.05);
}

.course .table .item:last-child {
	border-bottom: 1px solid #6eb5e6;
}

.course .table h4 {
	display: inline-block;
	margin-bottom: .6em;
	padding: .24em 1.15em;
	border-radius: 99px;
	border: 1px solid #df528e;
	background: #df528e;
	color: #fff;
	font-size: 1.4em;
	white-space: nowrap;
}

.course .table .item.spot h4 {
	background: #fff;
	color: #df528e;
}

.course .table .price {
	padding: 0;
	margin-bottom: 1em;
	font-size: 1em;
}

.course .table .price > span {
}

.course .table .cells > div {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	font-size: 1.2em;
	line-height: 1.2;
}

.course .table .cells > div:not(:last-child) {
	margin-bottom: 1em;
}

.course .table .cells > div > span:first-child {
	width: 6em;
}

.course .table .cells > div > span:first-child span {
	display: inline-block;
	margin-top: -.4em;
	padding: .4em .8em;
	border-radius: 99px;
	background: #6eb5e6;
	color: #000;
}


.course .pricetable {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	margin: 0 auto;
}

.course .pricetable > div:not(:last-child) {
	margin-bottom: 3em;
}

.course .pricetable:not(:last-child) {
	margin-bottom: 2em;
}

.course .pricetable > div h3 {
	color: #7f7f7f;
}

.course .pricetable .price {
	padding: 0;
}

.course .pricetable .price .price {
	margin: 0;
	font-size: 1em;
}

.course .pricetable .price .priceitem {
	display: flex;
	flex-direction: column;
	margin-bottom: .7em;
	padding: 0;
	border-bottom: 1px solid #6eb5e6;
}

.course .pricetable .price .priceitem span.number {
	display: inline-block;
	width: 4.5em;
}

.course .pricetable .price .subitem {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: baseline;
	padding: 0;
}

.course .pricetable .price .subitem:not(:last-child) {
	border-bottom: 1px solid #6eb5e6;
}


.course .pricetable .price .price .priceitem {
	border-bottom-width: 1px;
}

.course .pricetable .price .head {
	display: block;
	padding: 0 .5em;
	text-align: left;
}

.course .pricetable .price .head strong {
	width: auto;
	margin: 0;
	font-size: 1.2em;
	font-weight: 700;
}

.course .pricetable .price .price .head strong {
	font-size: 1em;
	font-weight: normal;
}

.course .pricetable .price .priceitemcell {
	display: block;
	flex-grow: 2;
	padding: 0 .5em;
}

.course .pricetable .price .price .priceitemcell {
	padding: 0 .5em;
	white-space: nowrap;
}

.course .pricetable .pricecell > .price > .priceitem > .priceitemcell {
	padding: 0;
}

.course .pricetable .price .price .priceitemcell {
	padding: 0;
}

.course .pricetable .price .price .priceitemcell .priceitemcell {
	padding: 0 .5em;
}

.course .pricetable .price .price span.number {
	font-size: 1.4em;
}

.course .pricetable .price span.itemname {
	display: inline-block;
	margin-right: 1em;
	color: #000;
}

.course .pricetable .price span.number.free {
	display: inline-block;
	padding: .2em;
	padding-right: 2em;
	font-size: 1.6em;
}

.course .pricetable .price .pricenote {
	padding: .2em;
	font-size: .9em;
	text-align: right;
}

.course .pricetable .pricecell h4 {
	color: #003f6a;
	font-size: 2em;
	font-weight: 700;
}

.course .pricetable .pricecell h4 small {
	color: #666;
	font-size: .65em;
	font-weight: 400;
}

.course .pricetable .pricecell h5 {
	font-size: 1.6em;
	font-weight: 700;
}

.course .service:not(:last-child),
.course .flowsteps:not(:last-child) {
	margin-bottom: 2em;
}

.course .courseitem .price .priceitemcell .numbercell {
	display: inline-flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: baseline;
}

.course .courseitem .price .priceitemcell .numbercell .numberset.cancel .number span {
	background-image: linear-gradient(#000, #000);
	background-position: 0 50%;
	background-size: 100% 1px;
	background-repeat: repeat-x;
	font-size: .65em;
}

.course .courseitem .price .priceitemcell .numbercell .numberset.cancel .number span {
	background-image: linear-gradient(#000, #000);
	background-position: 0 50%;
	background-size: 100% 1px;
	background-repeat: repeat-x;
	font-size: .65em;
}

.course .courseitem .price .priceitemcell .numbercell .numberset.campaign span {
	color: #f00;
	position: relative;
}

.course .courseitem .price .priceitemcell .numbercell .numberset.campaign .number span {
	font-weight: 700;
}

.course .courseitem .price .priceitemcell .numbercell .numberset.campaign .number:before {
	content: 'キャンペーン価格';
	display: inline-block;
	padding: .3em 1em;
	background-color: #f00;
	color: #fff;
	font-size: 12px;
	transform: translate(-80%,40%);
	position: absolute;
	top: 0;
	left: 0;
}

@media only screen and (min-width: 481px) {

	.course .pricetable .price .priceitem {
		flex-direction: row;
		justify-content: space-between;
		align-items: baseline;
		margin: 0;
	}
}

@media only screen and (min-width: 541px) {

	.course .table .item {
		width: 50%;
		padding: 20px;
		border: none !important;
	}

	.course .table .item:nth-child(odd) {
		border-right: 1px solid #6eb5e6 !important;
	}

	.course .table .item:nth-child(-n+2) {
		border-bottom: 1px solid #6eb5e6 !important;
	}
}

@media only screen and (min-width: 769px) {

	.course .courseitem {
		padding: 50px 0;
	}

	.course .courseitem.parent {
	}

	.course .table .item {
		width: 25%;
		border: none !important;
	}

	.course .table .item:nth-child(-n+2) {
		border: none !important;
	}

	.course .table .item:not(:last-child) {
		border-right: 1px solid #6eb5e6 !important;
	}

	.course .table .cells > div {
		flex-direction: column;
	}

	.course .table .cells > div > span:first-child {
		margin-bottom: .5em;
	}

	.course .table .cells > div > span:first-child span {
		margin-top: 0;
	}


	.course .pricetable {
		/*flex-direction: row;*/
		max-width: none;
	}

	.course .pricetable > div {
		margin-bottom: 0 !important;
	}

	.course .pricetable .pricecell {
		/*width: 55%;*/
	}

	.course .pricetable .service {
		/*
		width: 45%;
		padding-left: 30px;
		*/
	}
}


.course .courseitem.option .price {
	display: block;
	padding-left: 0;
}

.course .courseitem.option .priceitem {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: baseline;
	padding: 0;
	border-bottom: 1px solid #6eb5e6;
}

.course .courseitem.option .price .head {
	display: block;
	padding: 0 .5em;
	text-align: left;
}

.course .courseitem.option .price .head strong {
	width: auto;
	margin: 0;
	font-size: 1.2em;
	font-weight: 700;
}

.course .courseitem.option .price .priceitemcell {
	display: block;
	flex-grow: 2;
	padding: 0;
	white-space: nowrap;
}

.course .courseitem.option .price .priceitemcell .subitem {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: baseline;
	padding: 0;
}

.course .courseitem.option .price .desc {
	display: block;
	margin: 0;
	margin-top: -.5em;
	padding: 1em .5em;
	padding-bottom: 0;
	border: none;
	font-size: 1em;
	line-height: 1.4;
	text-align: left;
}

.course .courseitem.optiontbl .price .head {
	font-size: 1.2em;
}

.course .courseitem.optiontbl .price .number {
	font-size: 1.4em;
}


.course .courseitem .service.option {
	display: flex;
	flex-direction: column;
}

.course .courseitem .service.option.colums figure {
	max-width: 300px;
	margin: 0 auto;
}

.course .courseitem .service.option .sentence:not(:last-child) {
	margin-bottom: 1em;
}

@media only screen and (min-width: 769px) {

	.course .courseitem .service.option.colums {
		flex-direction: row;
	}

	.course .courseitem .service.option.colums .sentence {
		width: 65%;
	}

	.course .courseitem .service.option.colums .media {
		width: 35%;
		padding-left: 3%;
	}

	.course .courseitem .service.option .sentence:not(:last-child) {
		margin-bottom: 0;
	}
}


.serviceitems {
	display: table;
	font-size: 1em;
	line-height: 1.2;
}

.serviceitems {
	margin-bottom: 1em;
}

.serviceitems > div {
	display: table-row;
}

.serviceitems > div:not(:last-child) {
}

.serviceitems > div > span {
	display: table-cell;
	vertical-align: middle;
}

.serviceitems .item {
	padding: 0 .8em;
}

.serviceitems .item strong {
	color: #000;
	font-size: 1.3em;
	font-variant: 700;
}

.serviceitems > div:not(:last-child) > span {
	padding-bottom: .7em;
}

.serviceitems .head > span {
	display: inline-block;
	padding: .4em .8em;
	background: #6eb5e6;
	color: #000;
	font-size: 1em;
}

.serviceitems .head .sup:after {
	color: #fff;
}

@media only screen and (min-width: 769px) {

	.serviceitems .head > span {
		font-size: 1em;
	}
}


.flowsteps {
	width: 100%;
}

.flowsteps .togglebtn,
.flowsteps .closebtn {
	width: 100%;
	max-width: 320px;
	margin: 0 auto;
	padding: 14px 20px;
	background: #ff8dac;
	color: #fff;
	font-size: 16px;
	text-align: center;
	transition: .2s;
	cursor: pointer;
}

.flowsteps .togglebtn.hover,
.flowsteps .closebtn.hover {
	background: #ffb0c6;
}

.flowsteps .togglebtn:after,
.flowsteps .closebtn:after {
	display: inline-block;
	content: '\f104';
	margin-left: .5em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	transform: rotate(90deg);
	transition: .2s;
}

.flowsteps .togglebtn.show:after,
.flowsteps .closebtn:after {
	transform: rotate(-90deg);
}

.flowsteps .toggleblock {
	display: none;
	margin-top: 20px;
}

.flowsteps .steps {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.flowsteps .step {
	width: 100%;
	font-size: .85rem;
	vertical-align: top;
	position: relative;
}

.flowsteps .step:not(:last-child) {
	margin-bottom: 1.5em;
}

.flowsteps .step > .cover {
	width: 100%;
	position: relative;
}

.flowsteps .step .brick {
	width: 100%;
	padding: 0;
	position: relative;
}

.flowsteps .step .sentence:not(:last-child) {
	margin-bottom: 1.5em;
}

.flowsteps .step .stepnumber {
	position: absolute;
	top: 0;
	left: 0;
}

.flowsteps .step .stepnumber span {
}

.flowsteps .step .stepnumber .badge {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	background: #003f6a;
}

.flowsteps .step .stepnumber .number {
	color: #fff;
	font-size: 20px;
}

.flowsteps .step h4 {
	margin-bottom: 1.5em;
	padding-left: 50px;
	color: #003f6a;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.4;
}

.flowsteps .step h4 span {
	display: inline-block;
}

.flowsteps .step .sentence > p {
	margin-bottom: 0;
	font-size: 1em;
	line-height: 1.6;
}

.flowsteps .caution p {
	font-size: .85em;
}

.flowsteps .step .sentence > p:not(:last-child) {
	margin-bottom: 1em;
}

.flowsteps .step .sentence > p strong {
	color: #443b71;
	font-weight: 700;
	border-bottom: 1px dotted #443b71;
}

.flowsteps .step h5 {
	margin-bottom: .5em;
	color: #000;
	font-size: 1.1em;
	line-height: 1.5;
}

.flowsteps .step ul,
.flowsteps .step ol {
	margin-left: 1.5em;
	font-size: 1em;
	line-height: 1.5;
}

.flowsteps .step ul:not(:last-child),
.flowsteps .step ol:not(:last-child) {
	margin-bottom: 1em;
}

.flowsteps .step li:not(:last-child) {
	margin-bottom: .5em;
}

.flowsteps .step li strong {
	color: #000;
	font-size: 700;
}

.flowsteps .caution ol {
	margin-left: 0;
}

.flowsteps .caution li {
	font-size: .85em;
}

.flowsteps .step figure {
	display: block;
	width: 100%;
	margin-bottom: 1em;
	text-align: center;
}

.flowsteps .step figure span {
}

.flowsteps .step img {
	width: 100%;
	height: auto;
}

@media only screen and (min-width: 481px) {

	.flowsteps {
	}

	.flowsteps .step {
		width: 50%;
		padding: 1em;
	}

	.flowsteps .step .cover {
	}
}

@media only screen and (min-width: 769px) {

	.flowsteps {
	}

	.flowsteps .step {
		width: 33.33%;
	}
}

@media only screen and (min-width: 1001px) {

	.flowsteps .step {
	}

	.flowsteps .step .brick {
	}
}




#announce {
	max-width: 800px;
	margin: 0 auto;
	font-size: 1.4em;
	line-height: 1.5;
}

#announce .brick {
	padding: 1em;
	border: 2px solid #996e6e;
	background: #fff;
}

#announce h3 {
	margin-bottom: .5em;
	color: #996e6e;
	font-size: 1.4em;
}

#announce ul {
	margin-left: 1.5em;
}

#announce ul:not(:last-child) {
	margin-bottom: 1.5em;
}

#announce .sentence > p {
	font-size: 1.2em;
}

#announce .sentence > p:not(:last-child) {
	margin-bottom: 1.5em;
}



#skin-trouble-menu {
	max-width: 800px;
	margin: 0 auto;
}

#skin-trouble-menu .serviceitems {
	display: block;
	width: 100%;
	font-size: 1.4em;
}

#skin-trouble-menu .serviceitems > div,
#skin-trouble-menu .serviceitems > div > span {
	display: block;
}

#skin-trouble-menu .serviceitems > div > span {
	padding-bottom: .7em;
}

#skin-trouble-menu .anchor ul {
	list-style: none;
	margin-left: 0;
}

#skin-trouble-menu .anchor li {
	list-style: none;
	font-size: 1em;
}

#skin-trouble-menu .anchor a {
	display: flex;
	color: #000;
	text-decoration: none;
}

#skin-trouble-menu .anchor a:hover,
#skin-trouble-menu .anchor a.hover {
	transform: translateX(10px);
}

#skin-trouble-menu .anchor a span {
	display: block;
	width: calc(100% - 1em);
}

#skin-trouble-menu .anchor a:before {
	content: '\f104';
	display: block;
	width: 1.25em;
	padding-top: .35em;
	font-size: .65em;
	font-family: 'uiicon';
	font-weight: normal !important;
}

@media only screen and (min-width: 769px) {

	#skin-trouble-menu .serviceitems {
		display: table;
	}

	#skin-trouble-menu .serviceitems > div {
		display: table-row;
	}

	#skin-trouble-menu .serviceitems > div > span {
		display: table-cell;
		padding-bottom: 0;
		vertical-align: top;
	}

	#skin-trouble-menu .serviceitems > div:not(:last-child) > span {
		padding-bottom: 1em;
	}
}



.caution.emphasis p {
	color: #996e6e;
	font-weight: 700;
}



.presentation .brick {
	padding-left: 0;
	padding-right: 0;
}



#lead .brick {
	padding: 0;
}

#lead .badge {
	font-size: 1rem;
	text-align: center;
}

#lead .badge > div {
	display: inline-block;
	padding: .5em 1em;
	border-radius: 99px;
	background: #f8c00c;
	color: #fff;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1;
	vertical-align: middle;
}

#lead .badge > div strong {
	display: inline-block;
	padding-left: .2em;
	font-size: 1.6em;
}

#lead .badge > div small {
	font-size: .65em;
	font-weight: 400;
}


.presentation.course .media figure {
	max-width: none;
	margin-bottom: 2em;
}
