

/* ===================================================================
  contents__block
=================================================================== */
.contents__block--qa {
	padding: 0;
}
* + .contents__block--qa {
	margin: .5rem 0 0 0;
}
.contents__block--qa::before {
	content: none;
}

/* ===================================================================
  qaselect
=================================================================== */
.l-qaselect {
	margin: 0;
	padding: 0;
}
.l-qaselect::before {
	font-family: fot-tsukuardgothic-std, Noto Sans JP, sans-serif;
	font-size: 1.125em;
	font-weight: 600;
	line-height: 1;
	top: 0;
	right: auto;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	margin: auto;
	margin-bottom: 1em;
	padding-bottom: 1em;
	content: "カテゴリを選ぶ";
	border-bottom: 1px dashed #CCCCCC;
}
.qaselect__item {
	display: inline-block;
	margin: .4em;
	padding: 0;
}
.qaselect__item > a {
	font-size: .875em;
	line-height: 1;
	display: block;
	padding: .55em 1.25em .65em 1.25em;
	transition: background-color .2s;
	color: #54483D;
	border: 1px solid #BBBBBB;
	border-radius: 3em;
}
#teacher .js-qaselect__item--active > a,
#teacher .qaselect__item > a:hover {
	color: #FFFFFF;
	border-color: #4BACD5;
	background-color: #4BACD5;
}
#student .js-qaselect__item--active > a,
#student .qaselect__item > a:hover {
	color: #FFFFFF;
	border-color: #FFFFFF;
	background-color: #91C02C;
}
@media screen and (min-width: 48em) {
	.l-qaselect {
		position: relative;
		padding-left: 13em;
	}
	.l-qaselect::before {
		font-size: 1.25em;
		position: absolute;
		align-items: center;
		margin-bottom: 0;
		padding-right: 2.75rem;
		padding-bottom: 0;
		padding-left: .75rem;
		border-right: 1px dashed #CCCCCC;
		border-bottom: none;
	}
	.qaselect__item > a {
		font-size: .938em;
	}
}

/* ===================================================================
heading--qacontents
=================================================================== */
.heading--qacontents {
	font-family: fot-tsukuardgothic-std, Noto Sans JP, sans-serif;
	font-size: 1.375em;
	font-weight: 600;
	position: relative;
	margin-top: 3rem;
	margin-bottom: .5rem;
	padding: 1rem;
	text-align: center;
	color: #FFFFFF;
	border-radius: .5em;
	background-color: #444444;
	background-image: url(/cloud/how-to-use/common/img/bg_dot-teacher.png);
}

#teacher .heading--qacontents {
	background-image: url(/cloud/how-to-use/common/img/bg_dot-teacher.png);
}
#teacher .heading--qacontents::after {
	border-color: #4BACD5 transparent transparent transparent;
}
#student .heading--qacontents {
	background-image: url(/cloud/how-to-use/common/img/bg_dot-student.png);
}
#student .heading--qacontents::after {
	border-color: #91C02C transparent transparent transparent;
}

@media screen and (min-width: 64em) {
	.heading--qacontents {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 20%;
		margin-top: 0;
		margin-bottom: 0;
		padding: 1.5rem 1rem;
	}
}

/* ===================================================================
  qa-contents
=================================================================== */
.l-contents--qa::after {
	position: absolute;
	z-index: -1;
	top: 30vw;
	right: -2vw;
	bottom: auto;
	left: auto;
	width: 50vw;
	height: 50vw;
	margin: auto;
	content: "";
	background-image: url("/cloud/how-to-use/common/img/qa/bg_accent_qa.png");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
}
.qacontents {
	display: none;
	margin: 3vw 0 0 0;
}
.js-qacontents--visible {
	display: block;
}
@media screen and (min-width: 35.5em) {
	.l-contents--qa::after {
		top: 8vw;
	}
}
@media screen and (min-width: 64em) {
	.js-qacontents--visible {
		display: flex;
		gap: 1rem;
		margin: 3rem 0 0 0;
	}
	.l-contents--qa::after {
		width: 410px;
		height: 270px;
	}
}

/* ===================================================================
  qacontents__list
=================================================================== */
.qacontents__listTitle {
	font-size: 1em;
	line-height: 1;
	margin-top: 0;
	margin-bottom: .5rem;
	padding: .75em 2em ;
	text-align: center;
	border-radius: .75rem;
}

* + .qacontents__listTitle {
	margin-top: 2rem;
}

#teacher .qacontents__listTitle {
	color: #4BACD5;
	border: 1px solid #4BACD5;
	background-color: #ECF5FA;
}

#student .qacontents__listTitle {
	color: #8FBF29;
}


@media screen and (min-width: 64em) {
	.qacontents__listTitle {
		font-size: 1.125em;
	}
	.qacontents__list {
		width: calc(100% - 20% - 1rem);
	}
}

/* ===================================================================
  qa-box
=================================================================== */
.l-qa-box {
	position: relative;
}
.l-qa-box::before {
	left: 0;
	width: 40px;
	height: 40px;
}
.l-qa-box--q {
	padding-right: 4.25rem;
}
.l-qa-box--a.l-qa-box--a--open {
	padding-top: 2.5rem;
}
.l-qa-box::before {
	position: absolute;
	top: 0;
	right: auto;
	bottom: auto;
	left: 1rem;
	width: 20px;
	height: 20px;
	margin: auto;
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
}
.l-qa-box > *:last-child {
	margin-bottom: 0;
}
.l-qa-box--q {
	padding: 1rem 3rem;
	cursor: pointer;
	transition: opacity .3s ease;
}
.l-qa-box--q:hover {
	opacity: .4;
}
#teacher .l-qa-box--q::before {
	bottom: 0;
	background-image: url(/cloud/how-to-use/common/img/qa/Q_teacher.png);
}
#student .l-qa-box--q::before {
	bottom: 0;
	background-image: url(/cloud/how-to-use/common/img/qa/Q_student.png);
}
.l-qa-box--a {
	display: none;
	padding: 1rem 3rem;
	opacity: 0;
}
.l-qa-box--a.l-qa-box--a--open {
	display: block;
	padding-top: 1.25rem;
	-webkit-animation-name: qa-fade-in;
	   -moz-animation-name: qa-fade-in;
	        animation-name: qa-fade-in;
	-webkit-animation-duration: .5s;
	   -moz-animation-duration: .5s;
	        animation-duration: .5s;
	opacity: 1;
}
.l-qa-box--a.l-qa-box--a--open::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: auto;
	left: 0;
	display: inline-block;
	width: calc(100% - 2rem);
	height: 1px;
	margin: auto;
	content: "";
	background-image: linear-gradient(to right, #BBBBBB, #BBBBBB 2px, transparent 2px, transparent 4px);
	background-repeat: repeat-x;
	background-position: top;
	background-size: 4px 1px;
}
@keyframes qa-fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-moz-keyframes qa-fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-webkit-keyframes qa-fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.l-qa-box--a::before {
	top: 1.5rem;
	background-image: url(/cloud/how-to-use/common/img/qa/A.png);
}
.l-qa-box--a > p > .img-inline {
	height: 2em;
}
.button-qa {
	position: absolute;
	top: 0;
	right: -2rem;
	bottom: 0;
	left: auto;
	display: inline-block;
	width: 26px;
	height: 26px;
	margin: auto;
	cursor: pointer;
	border-radius: 50%;
	background: #EEEEEE;
}
.button-qa::after {
	position: absolute;
	top: -2px;
	right: 0;
	bottom: 0;
	left: 0;
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: auto;
	content: "";
	transition: transform .3s ease, top .3s ease;
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	border-right: 1px solid #777777;
	border-bottom: 1px solid #777777;
}
.button-qa.button-qa--open::after {
	top: 6px;
	-webkit-transform: rotate(-135deg);
	    -ms-transform: rotate(-135deg);
	        transform: rotate(-135deg);
}

@media screen and (min-width: 48em) {
	.l-qa-box::before {
		left: 1.25rem;
		width: 24px;
		height: 24px;
	}
	.l-qa-box--q {
		padding: 1.5rem 4rem;
	}
	.l-qa-box--a::before {
		top: 1.75rem;
	}
	.l-qa-box--a.l-qa-box--a--open {
		display: block;
		padding: 1.5rem 4rem;
	}
	.l-qa-box--a.l-qa-box--a--open::after {
		width: calc(100% - 3rem);
	}
	.button-qa {
		right: -2.5rem;
		width: 32px;
		height: 32px;
	}
	.button-qa::after {
		top: -2px;
		width: 8px;
		height: 8px;
	}
}

/* ===================================================================
  qa-img
=================================================================== */
.heading--howtouse-qa {
	font-size: 1rem;
	position: relative;
	margin-top: 0;
}
@media screen and (min-width: 48em) {
	.heading--howtouse-qa {
		font-size: 1.375em;
		margin-bottom: .6em;
	}
}

/* ===================================================================
  qa-img
=================================================================== */
.img-qa {
	width: 30px;
	height: 30px;
	margin-right: .5em;
}
