@charset 'utf-8';


.pageheader {
	width: 100%;
	margin-bottom: 20px;
	padding: 30px 20px;
	background: rgba(204,204,204,1);
	font-size: 1rem;
	overflow: hidden;
	position: relative;
}

.pageheader .brick {
	display: inline-block;
	padding: 20px;
	background: rgba(255,255,255,1);
}

.pageheader .brick h1 {
	color: #4c4c4c;
	font-size: 1em;
	font-weight: 700;
	line-height: 1;
}


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

	.pageheader {
		padding: 50px;
	}

	.pageheader .brick {
		padding: 30px;
	}

	.pageheader .brick h1 {
		font-size: 1.4em;
	}
}


#contentblock .lead {
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px;
}

#contentblock .lead p {
	font-size: 16px;
	line-height: 1.8;
}

#contentblock .lead p span {
	display: inline-block;
}

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

	#contentblock .lead {
		padding: 40px;
	}

	#contentblock .lead p {
		font-size: 18px;
	}
}


.presentation {
	width: 100%;
	position: relative;
}

.presentation:not(:last-child) {
/* 	border-bottom: 1px solid #ccc; */
}

.presentation > .inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 10px;
	position: relative;
}

.presentation.narrow > .inner {
	max-width: 800px;
}

.presentation > .inner > .brick {
	width: 100%;
	font-size: .65rem;
	line-height: 1.8;
	position: relative;
	/*background: #fff;*/
}

.presentation .sentence {
	width: 100%;
}

.presentation .sentence:not(:last-child) {
	width: 100%;
	padding-bottom: 3em;
}

.presentation .sentence.maxwidth {
	margin-left: auto;
	margin-right: auto;
}

.presentation .sentence.maxwidth.mw600 {
	max-width: 600px;
}

.presentation .sentence.maxwidth.mw700 {
	max-width: 700px;
}

.presentation .sentence.maxwidth.mw800 {
	max-width: 800px;
}

.presentation .sentence.frame {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1em;
}

.presentation .sentence.frame .btnarea {
	margin-top: auto;
	margin-bottom: 0;
}

.presentation .sentence.background {
	background: #f2f2f2;
}

.presentation .sect:not(:last-child) {
	margin-bottom: 2em;
}

.presentation header {
	margin-bottom: 0;
}

.presentation header:not(:last-child) {
	margin-bottom: 1em;
}

.presentation h1:not(.blocktitle) {
	margin-bottom: .7em;
	font-size: 2.8em;
	font-weight: 700;
	line-height: 1.3;
}

.presentation h2 {
	margin-bottom: .7em;
	font-size: 2.4em;
	font-weight: 700;
	line-height: 1.3;
}

.presentation h3 {
	margin-bottom: 1em;
	font-size: 2em;
	font-weight: 700;
	line-height: 1.4;
}

.presentation h4 {
	margin-bottom: 1em;
	font-size: 1.6em;
	font-weight: 700;
	line-height: 1.4;
}

.presentation h5 {
	margin-bottom: 1em;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.4;
}

.presentation h1 span,
.presentation h2 span,
.presentation h3 span {
	display: inline-block;
}

.presentation p {
	font-size: 1.4em;
	line-height: 1.8;
}

.presentation p:not(:last-child) {
	margin-bottom: 1.5em;
}

.presentation p strong {
	color: #000;
}

.presentation blockquote {
	padding: 1.5em;
	border: 5px solid #ccc;
	background: #fff;
	color: #000;
	font-size: .95em;
}

.presentation blockquote:not(:last-child) {
	margin-bottom: 1.5em;
}

.presentation .deflist {
	display: table;
}

.presentation .deflist:not(:last-child) {
	margin-bottom: 3em;
}

.presentation .deflist .row {
	display: table-row;
}

.presentation .deflist .cell {
	display: table-cell;
	padding: 1em;
}

.presentation figure {
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}

.presentation figure:not(:last-child) {
	margin-bottom: 1.5em;
}

.presentation figure span {
	display: inline-block;
	width: 100%;
	vertical-align: top;
	position: relative;
}

.presentation figure img {
	width: 100%;
	height: auto;
}

.presentation figcaption {
	padding-top: .5em;
	color: #808080;
	font-size: 1.1em;
	line-height: 1.6;
	text-align: right;
}

.presentation .media:not(:last-child) {
	margin-bottom: 2em;
}

.presentation .media.maxwidth {
	margin-left: auto;
	margin-right: auto;
}

.presentation .media.maxwidth.mw600 {
	max-width: 600px;
}

.presentation .media.maxwidth.mw700 {
	max-width: 700px;
}

.presentation .media.maxwidth.mw800 {
	max-width: 800px;
}

.presentation .media figure {
	width: 100%;
	max-width: none;
	overflow: hidden;
	position: relative;
}

.presentation .media:not(.noclip) figure {
	padding-top: 56.25%;
}

.presentation .media:not(.noclip) figure > span {
	display: block;
	width: 100%;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: 0;
}

.presentation ul,
.presentation ol {
	margin-left: 2em;
}

.presentation ul:not(:last-child),
.presentation ol:not(:last-child) {
	margin-bottom: 2em;
}

.presentation li {
	font-size: 1.4em;
	line-height: 1.6;
}

.presentation .center ul,
.presentation .center ol {
	list-style: none;
	margin-left: 0;
}

.presentation .caution:not(:last-child) {
	margin-bottom: 3em;
}

.presentation .caution p {
	margin-bottom: 0;
	font-size: .85em;
	line-height: 1.5;
}

.presentation .caution.large p {
	font-size: 1.1em;
}

.presentation .caution ul {
	margin-left: 3em;
	margin-bottom: 0;
}

.presentation .caution ol {
	margin-left: 0;
	margin-bottom: 0;
}

.presentation .caution li {
	color: #808080;
	font-size: 1.2em;
}

.presentation .caution h5 {
	margin-bottom: .5em;
	color: #808080;
	font-size: 1.3em;
	font-weight: normal;
	line-height: 1.5;
	position: relative;
}

.presentation .btnarea:not(:last-child) {
	margin-bottom: 2em;
}

.presentation table {
	width: 100%;
}

.presentation table:not(:last-child) {
	margin-bottom: 2em;
}

.presentation table th,
.presentation table td {
	padding: .8em 1em;
	border-bottom: 1px solid #ccc;
	font-size: 1.3em;
	line-height: 1.6;
	vertical-align: top;
}

.presentation table th {
/* 	white-space: nowrap; */
}

.presentation table td.right {
	text-align: right;
}

.presentation table h3 {
	margin-bottom: 0;
	font-size: 1.2em;
}

.presentation table h4 {
	margin-bottom: 0;
	font-size: 1em;
}

.presentation table p {
	font-size: 1em;
}

.presentation table p:not(:last-child) {
	margin-bottom: 1em;
}

.presentation table .list {
}

.presentation table .list:not(:last-child) {
	margin-bottom: 1em;
}

.presentation table .line {
/* 	background-color: #fafafa; */
}

.presentation table .list > .line:not(:last-child) {
	margin-bottom: 1em;
}

.presentation table .line span {
	display: block;
	width: 100%;
	vertical-align: top;
	padding: .2em .3em;
}

.presentation table .line span:not(.head) {
/* 
	padding-left: 1em;
	text-align: right;
	white-space: nowrap;
 */
}

.presentation .signature {
	text-align: right;
}

.presentation .signature .title {
	font-size: .85em;
}

.presentation .signature strong {
	font-size: 1.2em;
}

.presentation .center:not(.columns) {
	text-align: center;
}

.presentation .left:not(.columns) {
	text-align: left;
}

.presentation .right:not(.columns) {
	text-align: right;
}


/*
.presentation .sup {
	display: inline-block;
	margin-top: -.5em;
	font-size: .4em;
	vertical-align: top;
}
*/

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

	.presentation table .list {
		display: table;
	}

	.presentation table .line {
		display: table-row;
	}

	.presentation table .line span {
		display: table-cell;
		width: auto;
	}
}

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

	.presentation > .inner {
		padding: 50px 20px;
	}

	.presentation.half:before {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
	}

	.presentation.right:before {
		left: 0;
	}

	.presentation.left:before {
		right: 0;
	}

	.presentation .brick {
	}

	.presentation.half .brick {
		width: 60%;
		padding: 50px;
	}

	.presentation.right .brick {
		margin-left: 40%;
	}

	.presentation.left .brick {
		margin-right: 40%;
	}

	.presentation header:not(:last-child) {
		margin-bottom: 2em;
	}

	.presentation h1:not(.blocktitle) {
		margin-bottom: 1em;
	}

	.presentation h2 {
		margin-bottom: 1em;
	}

	.presentation h3 {
		margin-bottom: 1.3em;
	}

	.presentation h4 {
		margin-bottom: 1.3em;
	}

	.presentation h5 {
		margin-bottom: 1.3em;
	}

	.presentation .sentence:not(:last-child) {
		padding-bottom: 5em;
	}

	.presentation .sentence.frame {
		padding: 2.5em;
	}
}



.outlinetbl {
	font-size: 1.4em;
	line-height: 1.5;
}

.outlinetbl table {
	display: block;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.outlinetbl table th,
.outlinetbl table td {
	padding: 0;
	text-align: left;
	vertical-align: top;
}

.outlinetbl table th {
	display: inline-block;
	padding: 0 .5em;
	padding-bottom: .5em;
	border-bottom: 1px solid #4d4d4d;
	font-size: 1em;
	font-weight: 700;
	white-space: nowrap;
	line-height: 1.5;
}

.outlinetbl table td {
	display: block;
	padding-top: 1em;
	padding-left: 2em;
	border: none;
	font-size: 1em;
	line-height: 1.5;
}

.outlinetbl table tr {
	display: block;
	width: 100%;
	padding: 1em 0;
	border-bottom: 1px solid #4d4d4d;
}

.outlinetbl table tbody {
	display: block;
	width: 100%;
}

.outlinetbl table td ul,
.outlinetbl table td ol {
	margin-left: 1.5em;
}

.outlinetbl table td ul:not(:last-child),
.outlinetbl table td ol:not(:last-child) {
	margin-bottom: .3em;
}

.outlinetbl table td li {
	font-size: 1em;
}

.outlinetbl table td li:not(:last-child) {
	margin-bottom: .3em;
}

.outlinetbl table td .caution {
	margin-top: .5em;
	padding-left: 1em;
	color: #808080;
	font-size: .8em;
	line-height: 1.5;
	position: relative;
}

.outlinetbl table td .caution::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

.outlinetbl table td .addrgrid {
	display: table;
}

.outlinetbl table td .addr {
	display: table-row;
}

.outlinetbl table td .addr span {
	display: table-cell;
	width: auto;
	vertical-align: top;
}

.outlinetbl table td .addr span.head {
	font-weight: 700;
}

.outlinetbl table td .addr:not(:last-child) span {
	padding-bottom: .5em;
}

.outlinetbl .btnarea {
	margin-top: 1em;
	text-align: left;
}

.outlinetbl .btnarea a {
	text-align: center;
	margin: 1px;
}

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

	.outlinetbl {
		padding: 0;
/* 		font-size: 1.8em; */
	}

	.outlinetbl table {
		display: table;
	}

	.outlinetbl table th,
	.outlinetbl table td {
		display: table-cell;
		padding: .8em 2em;
		border: none;
	}

	.outlinetbl table th {
		width: 10em;
		padding-bottom: .8em;
	}

	.outlinetbl table tr {
		display: table-row;
		padding: 0;
	}

	.outlinetbl table tbody {
		display: table-row-group;
	}
}


.girdblock {
	width: 100%;
	font-size: 1.1em;
	position: relative;
}

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

	.girdblock {
		font-size: 1.2em;
	}
}


.girdblock .columns {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.girdblock .columns:not(:last-child) {
	margin-bottom: 3em;
}

.girdblock .column {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 1em;
}

.girdblock .column > .inner {
	display: flex;
	justify-content: flex-start;
}

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

	.girdblock .columns:not(:last-child) {
		margin-bottom: 5em;
	}

	.girdblock .column {
		padding: 2em;
	}

	.girdblock .column .column {
		padding: 1em;
	}

	.girdblock .columns.column2 > .column {
		width: 50%;
	}

	.girdblock .columns.column2.right > .column:first-child {
		order: 2;
	}

	.girdblock .columns.column2.right > .column:last-child {
		order: 1;
	}

	.girdblock .columns.column2.columnhalf46 > .column:first-child {
		width: 60%;
	}

	.girdblock .columns.column2.columnhalf46 > .column:last-child {
		width: 40%;
	}

	.girdblock .columns.column2.columnhalf37.right > .column:first-child {
		width: 30%;
	}

	.girdblock .columns.column2.columnhalf37.right > .column:last-child {
		width: 70%;
	}

	.girdblock .columns.column2.columnhalf37 > .column:first-child {
		width: 70%;
	}

	.girdblock .columns.column2.columnhalf37 > .column:last-child {
		width: 30%;
	}

	.girdblock .columns.column2.columnhalf28.right > .column:first-child {
		width: 20%;
	}

	.girdblock .columns.column2.columnhalf28.right > .column:last-child {
		width: 80%;
	}

	.girdblock .columns.column2.columnhalf28 > .column:first-child {
		width: 80%;
	}

	.girdblock .columns.column2.columnhalf28 > .column:last-child {
		width: 20%;
	}
}





.cardlist {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 1rem;
	text-align: center;
}

.cardlist .item {
	width: 100%;
	padding: 2%;
	padding-bottom: 10%;
	font-size: .65em;
	line-height: 1.6;
}

.cardlist .item a {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	text-decoration: none;
	vertical-align: top;
}

.cardlist .item a:hover,
.cardlist .item a.hover {
	background: #f2f2f2;
}

.cardlist .item .enclosed {
	padding: 5%;
}

.cardlist figure {
	width: 100%;
	text-align: center;
	overflow: hidden;
	position: relative;
}

.cardlist:not(.noclip) figure {
	padding-top: 56.25%;
}

.cardlist:not(.noclip) figure > span {
	display: block;
	width: 100%;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: 0;
}

.cardlist figure img {
	width: 100%;
	height: auto;
	transition: .5s;
}

.cardlist a:hover figure img,
.cardlist a.hover figure img {
	transform: scale(1.2, 1.2);
}

.cardlist h2 {
	font-size: 2em;
	font-weight: 700;
}

.cardlist h2:not(:last-child) {
	margin-bottom: 1em;
}

.cardlist p {
	color: #666;
	font-size: 1.4em;
	text-align: left;
}

.cardlist.textcenter p {
	text-align: center;
}

.cardlist .media {
	width: 100%;
	position: relative;
}

.cardlist .media > span {
	display: block;
	padding-top: 56.25%;
	overflow: hidden;
	position: relative;
}

.cardlist .media > span iframe {
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	top: 0;
	left: 0;
}

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

	.cardlist .item {
		width: 50%;
	}

	.cardlist.calum4 .item {
		width: 33.333%;
	}

	.cardlist.calum5 .item {
		width: 33.333%;
	}
}

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

	.cardlist.calum3 .item {
		width: 33.333%;
	}

	.cardlist.calum4 .item {
		width: 25%;
	}

	.cardlist.calum5 .item {
		width: 25%;
	}
}

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

	.cardlist .item {
		padding: 1%;
		padding-bottom: 3%;
	}

	.cardlist.calum5 .item {
		width: 20%;
	}
}



.flowsteps {
	width: 100%;
	margin: 0 auto;
	font-size: .65rem;
	position: relative;
}

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

.flowsteps .step {
	width: 100%;
	padding: 10px 0;
	font-size: 1.4em;
	vertical-align: top;
	position: relative;
	counter-increment: stepnum;
}

.flowsteps .step:not(:last-child):after {
	display: block;
	content: '';
	width: 0;
	height: 0;
	margin: 0 auto;
	border-style: solid;
	border-width: 15px 32px 0 32px;
	border-color: #dadada transparent transparent transparent;
}

/* 
.flowsteps .step:nth-child(n + 6):not(:last-child):after {
	border-top-color: #1c378a
}
 */

.flowsteps .step > .cover {
	width: 100%;
	padding-left: 50px;
	padding-right: 10px;
	padding-bottom: 20px;
	border: 2px solid #dadada;
	background: #f2f2f2;
	position: relative;
}

.flowsteps .step .brick {
	width: 100%;
	min-height: 46px;
	padding: 10px;
	position: relative;
}

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

.flowsteps .step .stepnumber {
	width: 46px;
	height: 46px;
	padding: 0;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}

.flowsteps .step .stepnumber span {
	display: block;
	width: 100%;
	color: #fff;
	line-height: 1;
}

.flowsteps .step .stepnumber .badge {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 7px;
	background: #808080;
}

.flowsteps .step .stepnumber .badge:after {
	content: counter(stepnum);
	font-size: 24px;
	font-weight: 700;
}


.flowsteps .step .stepnumber .marker {
	font-size: 10px;
	font-weight: 700;
}

.flowsteps .step .stephead {
	margin-bottom: 0;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.4;
}

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

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

.flowsteps .step .sentence {
	width: calc(100% + 40px);
	margin-left: -40px;
	padding: 20px 10px;
	padding-bottom: 0;
}

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

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

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

.flowsteps .step h3 {
	margin-bottom: .5em;
	font-size: 1.1em;
	line-height: 1.5;
}

.flowsteps .step h4 {
	margin-bottom: .5em;
	font-size: 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 {
	font-size: 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: 10px;
	font-size: 0;
	text-align: center;
}

.flowsteps .step figure .foto {
	display: inline-block;
	width: 100px;
	height: 100px;
	margin: 5px;
	overflow: hidden;
}

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

.flowsteps .contactinfo {
	border: none;
}

.flowsteps .contactinfo:not(:last-child) {
	margin-bottom: 20px;
}

.flowsteps .contactinfo > .inner {
	padding: 0;
}

.flowsteps .contactinfo header {
	font-size: 1em;
	margin-bottom: .5em;
}

.flowsteps .contactinfo header h1 {
	font-size: 1.2em !important;
}

.flowsteps .contactinfo h2 {
	margin-bottom: .5em !important;
	font-size: 1.4em;
}

.flowsteps .contactinfo .foncall .call a {
	padding-left: 0;
	padding-left: 0;
}

.flowsteps .contactinfo .foncall .call span.label {
	font-size: 24px;
}

.flowsteps .contactinfo .foncall .call i {
	width: 20px;
	height: 20px;
	margin-right: .3em;
}

.flowsteps .contactinfo .foncall .fax {
	font-size: 1.1rem;
	font-weight: 400;
}

.flowsteps .contactinfo .caution {
	max-width: 300px;
	margin: 0 auto;
}

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

	.flowsteps .step .sentence {
		width: 100%;
		margin: 0;
		padding: 0;
	}
}

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

	.flowsteps {
	}

	.flowsteps .step {
		font-size: 1.6em;
	}

	.flowsteps .step .cover {
	}

	.flowsteps .contactinfo .foncall .call span.label {
		font-size: 30px;
	}

	.flowsteps .contactinfo .foncall .call i {
		width: 24px;
		height: 24px;
		margin-right: .3em;
	}
}

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

	.flowsteps .step {
	}
}

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

	.flowsteps .step {
	}

	.flowsteps .step .brick {
	}
}

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

	.flowsteps {
	}
}





.pageindex {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	margin-bottom: 30px;
	padding: 20px;
	padding-top: 0;
	padding-bottom: 30px;
	border-bottom: 1px solid;
	font-size: .65rem;
	position: relative;
}

.pageindex .indexcat {
	width: 100%;
	text-align: center;
}

.pageindex .indexhead {
	margin-bottom: .5em;
	padding-bottom: .5em;
	border-bottom: 1px solid #ccc;
	font-size: 1.6em;
}

.pageindex ul {
	display: inline-block;
	list-style: none;
	padding: .5em;
	text-align: left;
}

.pageindex li {
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.4;
}

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

.pageindex li a {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: auto;
	margin: 0;
	padding: 0;
	border: none;
	text-align: left;
}

.pageindex li a:before {
	content: '\f104';
	margin-right: .5em;
	font-size: .65em;
	font-family: 'uiicon';
	font-weight: normal !important;
	line-height: 2.4;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}



.toggleblock > .sentence {
	padding-bottom: 0 !important;
}

.toggleblock .toggleelem {
	padding-bottom: 50px !important;
}



.togglehead {
	display: flex;
	align-items: center;
/* 
	padding: .5em 1em;
	border: 1px solid;
	background: #f2f2f2;
	font-size: 1.6em !important;
 */
	cursor: pointer;
}

.togglehead > span {
	display: block;
	width: calc(100% - (18px + .5em));
}

.togglehead i {
	display: block;
	width: 18px;
	height: 18px;
	margin-left: .5em;
}

.togglehead i:before {
	content: '\f104';
	display: block;
	width: 18px;
	height: 18px;
	margin: 0;
	font-size: 18px;
	font-family: 'uiicon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	text-indent: 0;
	line-height: 18px;
	transform: rotate(90deg);
	transition: .2s;
}

.togglehead.show i:before {
	transform: rotate(-90deg);
}

.toggleelem {
	display: none;
}

.toggleelem.show {
	display: block;
}


.girdblock .sentence .togglebtn {
	width: auto;
	max-width: 400px;
	margin: 0 auto;
	margin-top: auto;
	background: #b3b3b3;
	color: #fff;
	font-size: .85rem;
	line-height: 1.4;
	transition: .2s;
	position: relative;
	cursor: pointer;
}

.girdblock .sentence .togglebtn.show,
.girdblock .sentence .togglebtn.hover {
	background: #d8d8d8;
}

.girdblock .sentence .togglebtn .label {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding: 1em;
	padding-left: 2em;
	padding-right: 2em;
}

.girdblock .sentence .togglebtn .label span {
	display: inline-block;
}

.girdblock .sentence .togglebtn .arrow {
	display: block;
	width: 20px;
	height: 20px;
	line-height: 1;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	right: 1em;
}

.girdblock .sentence .togglebtn .arrow span {
	display: block;
	width: 100%;
	height: 100%;
}

.girdblock .sentence .togglebtn .arrow span:before {
	display: block;
	width: 100%;
	height: 100%;
	content: '\f104';
	font-size: 20px;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	line-height: 20px;
	transition: .2s;
	transform: rotate(90deg);
}

.girdblock .sentence .togglebtn.show .arrow span:before {
	transform: rotate(-90deg);
}

.girdblock .sentence .continuation .togglebtn .arrow span:before {
	transform: rotate(-90deg);
}

.girdblock .sentence .continuation .togglebtn .arrow span:before {
	transform: rotate(-90deg);
}

.girdblock .sentence .continuation {
	display: none;
	color: #333;
/* 	font-size: .85em; */
}



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

.presentation .courseitem:not(:last-child) {
	border-bottom: 1px solid #cbd1d8;
}

.presentation .coursename {
/* 	text-align: center; */
}

.presentation .coursename span {
	display: inline-block;
	line-height: 1;
}

.presentation .courseitem.parent {
}

.presentation.courseitem.parent .coursename span {
}

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

.presentation .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);
}

.presentation .courseitem.parent ul {
}

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

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

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

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

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

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

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

.presentation .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;
}

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

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


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

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

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

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

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

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

.presentation .pricetable .price .priceitem {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: baseline;
	padding: 0;
	border-bottom: 1px solid #d9d9d9;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	.presentation .courseitem.parent {
	}
}

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

	.presentation .pricetable {
		flex-direction: row;
		max-width: none;
	}

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

	.presentation .pricetable .pricecell {
		width: 55%;
	}

	.presentation .pricetable .service {
		width: 45%;
		padding-left: 30px;
	}

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



.presentation .price {
	padding-left: 2em;
	font-size: 1.2em;
	line-height: 1.6;
	text-align: right;
}

.presentation .price:not(:last-child) {
	margin-bottom: 1.5em;
}

.presentation .price > span {
	display: inline-block;
	padding-left: 1em;
	border-bottom: 2px solid #d4aebe;
}

.presentation .price span span {
	color: #000;
}

.presentation .price span span.number {
	font-size: 2em;
}

.presentation .price span strong {
	display: inline-block;
	width: 4.5em;
	margin-right: .5em;
	font-weight: normal;
}

.presentation .price span small {
	font-size: .75em;
}

.presentation .caution:not(:last-child) {
	margin-bottom: 3em;
}




.voicelist {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 1rem;
	position: relative;
}

.voicelist .voiceitem {
	display: flex;
	width: 100%;
	padding: 20px;
	vertical-align: top;
	position: relative;
}

.voicelist .voiceitem > .cover {
	width: 100%;
	padding: 0;
	border: 2px solid #ccc;
	background: #fff;
	text-align: center;
	position: relative;
}

.voicelist .voiceitem.person > .cover {
	padding: 30px;
}

.voicelist .voiceitem .customer {
	margin-bottom: 1em;
}

.voicelist .voiceitem:not(.person) .customerinfo {
	padding-left: 30px;
	padding-right: 30px;
}

.voicelist .voiceitem figure {
	width: 100%;
	margin-bottom: 1em;
	overflow: hidden;
	position: relative;
}

.voicelist .voiceitem:not(.person) .customer:not(.noclip) figure {
	padding-top: 56.25%;
}

.voicelist .voiceitem:not(.person) .customer:not(.noclip) figure > span {
	display: block;
	width: 100%;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: 0;
}

.voicelist .voiceitem.person figure > span {
	display: inline-block;
	width: 100px;
	height: 100px;
	border-radius: 99px;
	overflow: hidden;
}

.voicelist .voiceitem figure img {
	width: 100%;
	height: auto;
}

.voicelist .voiceitem .name {
	margin-bottom: .5em;
	font-size: 16px;
}

.voicelist .voiceitem .prof {
	font-size: .85em;
}

.voicelist .voiceitem .prof span {
	display: block;
}

.voicelist .voiceitem .head {
	margin-bottom: .5em;
	color: #2d2d2d;
	font-size: .85em;
	line-height: 1;
}

.voicelist .voiceitem .head span {
	border-bottom: 1px solid #f0afb4;
}

.voicelist .voiceitem .data {
	margin-bottom: 1em;
	text-align: left;
}

.voicelist .voiceitem .data p {
	margin-bottom: .7em;
	padding-left: 1em;
	font-size: 1em;
	line-height: 1.5;
}

.voicelist .voiceitem .comment {
	text-align: left;
}

.voicelist .voiceitem:not(.person) .comment {
	padding: 30px;
	padding-top: 0;
}

.voicelist .voiceitem .comment p {
	font-size: 1em;
	line-height: 1.6;
}

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

	.voicelist .voiceitem {
		width: 50%;
	}
}

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

	.voicelist .voiceitem {
		width: 33.33%;
	}
}
