@charset "utf-8";

@media screen and (max-width:979px){

	html {
		font-size: 14px;
	}
	body {
		position: relative;
	}

/* ------------------------------------------------------------
    ヘッダー部分
------------------------------------------------------------ */
	header {
		background: rgba(255, 255, 255, 0.8);
		height: 40px;
		z-index: 99;
	}
	.header__logo {
		margin: 0 0 0 1rem;
	}
	.header__menu {
		display: block;
		margin: 0 0 0 auto;
	}
	/*.header__menu a {
		display: block;
		width: 40px;
		height: 40px;
		text-align: center;
		line-height: 40px;
	}*/
	.header__menu a {
		display: block;
		width: 40px;
		height: 40px;
		position: relative;
		-webkit-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
	}
	.p-hamburger__line {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		width: 18px;
		height: 2px;
		background-color: #1a1a1a;
		-webkit-transition: inherit;
		transition: inherit;
	}
	.p-hamburger__line::before,
	.p-hamburger__line::after {
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		background-color: inherit;
		content: '';
		-webkit-transition: inherit;
		transition: inherit;
	}
	.p-hamburger__line::before {
		top: -5px;
	}
	.p-hamburger__line::after {
		top: 5px;
	}
	.p-hamburger[aria-expanded="true"] .p-hamburger__line {
	  background-color: transparent;
	}
	
	.p-hamburger[aria-expanded="true"] .p-hamburger__line::before,
	.p-hamburger[aria-expanded="true"] .p-hamburger__line::after {
		top: 0;
		background-color: #1a1a1a;
	}
	
	.p-hamburger[aria-expanded="true"] .p-hamburger__line::before {
		transform: rotate(45deg);
	}
	
	.p-hamburger[aria-expanded="true"] .p-hamburger__line::after {
		transform: rotate(-45deg);
	}

	.u-visuallyHidden {
		position: absolute;
		white-space: nowrap;
		width: 1px;
		height: 1px;
		overflow: hidden;
		border: 0;
		padding: 0;
		clip: rect(0 0 0 0);
		clip-path: inset(50%); 
		margin: -1px;
	}

	.header__nav {
		background: rgba(0,0,0,0.4);
		position: fixed;
		width: 240px;
		margin: 0;
		top: 0;
		bottom: 0;
		right: -240px;
	}
	.header__nav__list {
		display: block;
	}
	.header__nav__list li + li {
		border-top: #ddd solid 1px;
	}
	.header__nav__list__item::before {
		content: none;
	}
	.header__nav__list__item a {
		background: #fff;
		height: 60px;
		padding: 0;
		line-height: 60px;
		text-indent: 1rem;
	}


/* ------------------------------------------------------------
    フッター部分
------------------------------------------------------------ */
	footer {
		display: block;
	}
	footer nav {
		margin: 0 0 1rem;
	}
	footer nav ul {
		justify-content: center;
	}


/* ------------------------------------------------------------
    共有部分
------------------------------------------------------------ */
	.common__heading {
		padding: 1rem;
		font-size: 1.6rem;
	}
	.common__section__heading {
		font-size: 1.2rem;
	}
	.common__section__subheading {
		font-size: 1.1rem;
	}

	.common__wrapper {
		padding: 1rem;
	}
	.common__wrapper__inner {
		display: block;
	}
	.common__wrapper__side {
		width: 100%;
		margin: 0;
	}
	.common__wrapper__contents {
		width: 100%;
	}

	.common__wrapper__nav__list {
		display: flex;
		overflow: auto;
	}
	.common__wrapper__nav__list li a {
		display: inline-block;
		padding: 0.5rem 1rem;
		white-space: nowrap;
	}
	.common__wrapper__nav__list__item__active {
		background: #4fd900;
		box-shadow: 0 0 5px #ddd;
		color: #fff;
		border-radius: 2rem;
	}
	.common__wrapper__nav__list__item__active::before {
		content: none;
	}

	.common__wrapper__contents__menu ul {
		display: block;
	}
	.common__wrapper__contents__menu ul li {
		text-align: right;
	}
	.common__wrapper__contents__menu ul li + li {
		margin: 0;
		padding: 0;
	}
	.common__wrapper__contents__menu ul li:not(:first-of-type) {
		border: none;
	}
	.common__wrapper__contents__menu ul li a {
		display: inline-block;
		line-height: 40px;
	}

	.common__wrapper__contents__list {
		margin: 1.5rem 0 0;
	}
	.common__wrapper__contents__list li + li {
		margin: 1.5rem 0 0;
	}
	.common__wrapper__contents__list li a {
		padding: 1.5rem;
	}
	.common__wrapper__contents__list__item__heading {
		font-size: 1.1rem;
		line-height: 1.3;
		white-space: wrap;
		overflow: initial;
		text-overflow: initial;
	}
.common__wrapper__contents__list__item__heading--clamp {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.3;
	overflow: hidden;
}
	.common__wrapper__contents__list__item__data {
		flex-wrap: wrap;
		margin: 1.5rem 0 0;
	}
	.common__wrapper__contents__list__item__data > span {
		width: 100%;
	}
	.examinationlist .common__wrapper__contents__list__item__data > span:nth-last-of-type(-n+2) {
		width: 35%;
	}
	.common__wrapper__contents__list__item__data > span + span {
		margin: 1rem 0 0;
	}
	.common__wrapper__contents__list__item__data > span + span.common__wrapper__contents__list__item__data__state {
		width: 65%;
		margin: 1rem 0 0;
	}

	.common__lead__data {
		flex-wrap: wrap;
		margin: 1.5rem 0 0;
	}
	.common__lead__data dt {
		width: 35%;
		margin: 0;
		font-weight: bold;
	}
	.common__lead__data dd {
		width: 65%;
	}
	.common__lead__data dt:nth-of-type(n+2),
	.common__lead__data dd:nth-of-type(n+2) {
		margin: 1rem 0 0;
	}


/* ------------------------------------------------------------
    パンくず部分
------------------------------------------------------------ */
	.common__pankuzu {
		padding: 1rem;
		overflow: auto;
	}
	.common__pankuzu ul li:last-of-type {
		overflow: initial;
		text-overflow: initial;
	}


/* ------------------------------------------------------------
    ページング部分
------------------------------------------------------------ */
	.common__paging {
		margin: 2rem 0 0;
	}
	.common__paging__list li + li {
		margin-left: 1rem;
	}


/* ------------------------------------------------------------
    フォーム部分
------------------------------------------------------------ */
	.common__form {
		display: block;
	}
	.common__form dt {
		width: 100%;
		padding: 1.5rem 0 1rem;
		font-weight: bold;
	}
	.common__form dd {
		width: 100%;
		padding: 0 0 1.5rem;
	}
	form dd .radiobtn {
		margin: 0 0 -0.5rem;
	}
	form dd .radiobtn li {
		margin: 0 1rem 0.5rem 0;
	}
	form dd .radiobtn li:not(:first-of-type) {
		margin-left: 0;
	}
/*form dd .radiobtn {
	display: flex;
	flex-wrap: wrap;
}
	form dd .radiobtn li input[type="radio"] {
		width: 30px;
		height: 30px;
	}
*/	.submitbtn {
		flex-wrap: wrap;
		margin: 1.5rem 0 0;
	}
	.submitbtn li {
		width: 90%;
	}
	.submitbtn li.wide {
		width: 90%;
	}
	.submitbtn li:nth-of-type(n+2) {
		margin: 0.5rem 0 0;
	}
	.submitbtn li input[type="submit"],
	.submitbtn li input[type="button"] {
		line-height: 40px;
		border-radius: 20px;
	}
	.submitbtn li a {
		line-height: 40px;
		border-radius: 20px;
	}


/* ------------------------------------------------------------
    ログイン部分
------------------------------------------------------------ */
	.login__formarea{
		margin: 0 0 2rem;
		padding: 1.5rem;
	}
	.login__formarea__comment {
		margin: 1.5rem 0 0;
	}
	.login__formarea form {
		margin: 1.5rem 0 0;
	}


/* ------------------------------------------------------------
    パスワード再発行、申込み部分
------------------------------------------------------------ */
	.entry__formarea {
		padding: 1.5rem;
	}
	.entry__formarea__comment {
		margin: 1rem 0 0;
	}
	.entry__formarea form {
		margin: 1.5rem 0 0;
	}
	.entry__formarea .privacy {
		margin: 1.5rem 0 0;
		padding: 1.5rem;
	}
	/*.entry__formarea .privacy__comment {
		margin: 1.5rem 0 0;
	}
	.entry__formarea .privacy__list {
		margin: 1.5rem 0 0;
	}

	.entry__formarea form .radiobtn li {
		min-width: 50%;
	}*/
	.entry__formarea .privacy ol {
		margin: 1.5rem 0 0;
	}

/* ------------------------------------------------------------
    科目一覧
------------------------------------------------------------ */
	.course__list {
		display: block;
		margin: 1rem 0 0;
	}
	.course__list li {
		width: 100%;
	}
	.course__list li:nth-of-type(n+2) {
		margin-top: 1.5rem;
	}
	.course__list li.passing::before {
		left: -0.5rem;
	}
	.course__list li.passing::after {
		left: -0.5rem;
	}
	.course__list li a {
		padding: 1.5rem;
	}
	.course__list li .full {
		padding: 1.5rem;
	}
	.course__list__heading {
		font-size: 1.1rem;
		line-height: 1.2;
		white-space: wrap;
		overflow: initial;
		text-overflow: initial;
	}
	.course__list__data {
		flex-wrap: wrap;
		margin: 1.5rem 0 0;
	}
	.course__list__data dt {
		width: 35%;
		margin: 0;
	}
	.course__list__data dd {
		width: 65%;
	}
	.course__list__data dd:not(:last-of-type) {
		margin: 0;
	}
	.course__list__data dt:nth-of-type(n+2),
	.course__list__data dd:nth-of-type(n+2) {
		margin-top: 1rem;
	}
	.course__list li .full p {
		line-height: 1.5;
	}


/* ------------------------------------------------------------
    科目
------------------------------------------------------------ */
	.course__note {
		padding: 1.5rem;
	}
	.course__note__data {
		flex-wrap: wrap;
		margin: 1.5rem 0 0;
	}
	.course__note__data dt {
		width: 35%;
		margin: 0;
	}
	.course__note__data dd {
		width: 65%;
	}
	.course__note__data dd:not(:last-of-type) {
		margin: 0;
	}
	.course__note__data dt:nth-of-type(n+2),
	.course__note__data dd:nth-of-type(n+2) {
		margin-top: 1rem;
	}
	.course__note__data + div {
		margin: 1.5rem 0 0;
		text-align: right;
	}
	.course__note__history {
		margin: 1.5rem 0 0;
	}
.course__note__history dl {
	display: flex;
	flex-wrap: wrap;
	margin: 1rem 0 0;
}
	.course__note__history dl dt {
		line-height: 1.2;
	}
	.course__note__history dl dt::before {
		height: 1rem;
		margin: auto;
		line-height: 1rem;
		top: 0;
		bottom: 0;
	}
	.course__note__history dl dd {
		line-height: 1.2;
	}

	.course__note__menu {
		width: 60%;
		margin: 1.5rem auto 0;
	}
	.course__note__menu__list {
		display: block;
	}
	.course__note__menu__list li {
		width: 100%;
	}
	.course__note__menu__list li:nth-of-type(2n) {
		margin-left: 0;
	}
	.course__note__menu__list li:nth-of-type(n+2) {
		margin-top: 1rem;
	}
	.course .common__wrapper__contents {
		margin: 1rem 0 0;
	}
	.chapter__list {
		padding: 1.5rem;
	}


/* ------------------------------------------------------------
    受講部分
------------------------------------------------------------ */
	.chapter .common__wrapper__side {
		margin: 1rem 0 0;
	}
.common__wrapper__side__tab {
}
.common__wrapper__side__tab ul {
    display: flex;
}
	.chapter__support {
		padding: 1.5rem 0 1.5rem 1.5rem;
	}
	.chapter__point {
		padding: 1.5rem 0 1.5rem 1.5rem;
	}
	.chapter__point__iframe {
		width: calc(100% - 1.5rem);
		height: calc(100vh - 40px - 1.5rem);
	}
	.chapter__point__txt {
		padding: 0 1.5rem 0 0;
	}
	.common__wrapper__side.wide .chapter__support {
		padding: 1.5rem 0 1.5rem 1.5rem;
	}
	.common__wrapper__side.wide .chapter__point {
		padding: 1.5rem 0 1.5rem 1.5rem;
	}
	.common__wrapper__side.wide .chapter__point__iframe {
		width: calc(100% - 1.5rem);
		height: calc(100vh - 40px);
	}
	.common__wrapper__side.wide .chapter__point__txt {
		padding: 0 1.5rem 0 0;
	}
	.chapter__memo {
		padding: 1.5rem;
	}
	.chapter__question {
		padding: 1.5rem;
	}
	.chapter__question .caution {
		margin: 0 0 1rem;
	}
	.common__wrapper__side__btn {
		margin: 1.5rem auto 0;
	}
	.common__wrapper__side__btn li {
		width: 60%;
	}
	.chapter__text {
		display: flex;
		justify-content: center;
		margin: 2rem 0 0;
	}
	.chapter__text li {
		width: 48%;
	}
	.chapter__text li + li {
		margin-left: 4%;
	}
	.chapter__text li a {
		line-height: 40px;
		border-radius: 20px;
	}


/* ------------------------------------------------------------
    受験部分
------------------------------------------------------------ */
	.examination__question {
		padding: 1.5rem;
	}
	.examination__question__comment {
		margin: 1.5rem 0 0;
	}
	.examination__question__list {
		margin: 1.5rem 0 0;
	}
	.examination__question__list dt {
		display: block;
	}
	.examination__question__list dt div {
		width: 100%;
	}
	.examination__question__list dt::before {
		margin: 0 0 0.5rem;
	}
	.examination__question__list dd {
		margin: 1rem 0 0;
	}
	.examination__question__list dd + dt {
		margin: 1.5rem 0 0;
		padding: 1.5rem 0 0;
	}
	.examination__question__score {
		margin: 1.5rem 0;
		padding: 1.5rem;
	}
	.examination__question__score__heading {
		font-size: 1.4rem;
	}
	.examination__question__score p {
		margin: 1.5rem 0 0;
	}
	.examination__question__score p strong {
		margin: 0 0.5rem;
	}
	.examination__question__score .common__wrapper__contents__menu {
		margin: 1.5rem 0 0;
	}


/* ------------------------------------------------------------
    受験履歴部分
------------------------------------------------------------ */
	.examinationlist .common__wrapper__contents__list li.passing::before {
		left: -0.5rem;
	}
	.examinationlist .common__wrapper__contents__list li.passing::after {
		left: -0.5rem;
	}

	.examinationresult__result {
		padding: 1.5rem;
	}
	.examinationresult__result__point {
		margin: 1.5rem 0 0;
	}
	.examinationresult__result__point dt {
		font-size: 1.1rem;
		margin: 0 1rem 0 0;
	}
	.examinationresult__table {
		margin: 1.5rem 0 0;
	}
	.examinationresult__table dl {
		display: block;
	}
	.examinationresult__table dl dt {
		width: 100%;
		padding: 1.5rem 0 0;
		border-right: none;
	}
	.examinationresult__table dl dt::before {
		display: block;
		margin: 0 0 0.5rem;
		position: initial;
	}
	.examinationresult__table dl dd {
		width: 100%;
		padding: 1rem 0 1.5rem;
	}


/* ------------------------------------------------------------
    質問履歴部分
------------------------------------------------------------ */
	.questionlist .common__wrapper__contents__list li.fin::before {
		left: -0.5rem;
	}
	.questionlist .common__wrapper__contents__list li.fin::after {
		left: -0.5rem;
	}
	.question__entries {
		margin: 0 0 1.5rem;
		padding: 1.5rem;
	}
	.question__entries__header {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding: 0;
	}
	.question__entries__icon {
		width: 45px;
		height: 45px;
		margin: 0 10px 0 0;
		font-size: 1.6rem;
		line-height: 45px;
		position: initial;
	}
	.question__entries__heading {
		width: calc(100% - 55px);
		padding: 1rem 0;
		font-size: 1rem;
	}
	.question__entries__header .common__lead__data {
		width: 100%;
		margin: 1.5rem 0 0;
	}
	.question__entries__comment {
		margin: 1.5rem 0 0;
	}
	.question__formarea {
		margin: 1.5rem 0 0;
		padding: 1.5rem;
	}
	.question__formarea form {
		display: block;
	}
	.question__formarea__inner {
		width: 100%;
	}
	.question__formarea__btn {
		width: 48%;
		margin: 1.5rem auto 0;
	}
	.question__formarea__btn input[type="submit"] {
		line-height: 40px;
		border-radius: 20px;
	}
	.question__list {
		margin: 1.5rem 0 0;
	}
	.question__list__item {
		display: flex;
		padding: 1.5rem;
	}


/* ------------------------------------------------------------
    交流板部分
------------------------------------------------------------ */
	.bbslist .common__wrapper__contents__list {
		margin: 1.5rem 0 0;
	}
	.bbslist__formarea {
		margin: 1.5rem 0 0;
		padding: 1.5rem;
	}
	.bbslist .common__wrapper__contents__list__item__delete {
		bottom: 1.5rem;
		right: 1.5rem;
	}

	.bbs__entries {
		margin: 0 0 1.5rem;
		padding: 1.5rem;
	}
	.bbs__entries__header {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding: 0;
	}
	.bbs__entries__icon {
		width: 45px;
		height: 45px;
		margin: 0 10px 0 0;
		font-size: 1.6rem;
		line-height: 45px;
		position: initial;
	}
	.bbs__entries__heading {
		width: calc(100% - 55px);
		padding: 1rem 0;
		font-size: 1rem;
	}
	.bbs__entries__header .common__lead__data {
		width: 100%;
		margin: 1.5rem 0 0;
	}
	.bbs__entries__comment {
		margin: 1.5rem 0 0;
	}
	.bbs__formarea {
		margin: 1.5rem 0 0;
		padding: 1.5rem;
	}
	.bbs__formarea form {
		display: block;
	}
	.bbs__formarea form textarea {
		width: 100%;
	}
	.bbs__formarea__btn {
		width: 48%;
		margin: 1.5rem auto 0;
	}
	.bbs__formarea__btn input[type="submit"] {
		line-height: 40px;
		border-radius: 20px;
	}
	.bbs__list__item {
		margin: 1.5rem 0 0;
	}
	.bbs__list__item {
		padding: 1.5rem;
	}


/* ------------------------------------------------------------
    認定証申請部分
------------------------------------------------------------ */
	.request__block{
		padding: 1.5rem;
	}
	.request__block__comment {
		margin: 1.5rem 0 0;
	}
	.request__block form {
		margin: 1.5rem 0 0;
	}


/* ------------------------------------------------------------
    プロフィール部分
------------------------------------------------------------ */
	.profile__block {
		padding: 1.5rem;
	}
	.common__wrapper__contents__menu + .profile__block {
		margin-top: 1.5rem;
	}
	.profile__block__comment {
		margin: 1rem 0 0;
	}
	.profile__block__comment + .common__form {
		margin: 1.5rem 0 0;
	}
	.profile__block form {
		margin-top: 1.5rem;
	}


/* ------------------------------------------------------------
    講座一覧部分
------------------------------------------------------------ */
	.products__list__list {
		display: block;
	}
	.products__list__list__item {
		width: 100%;
	}
	.products__list__list__item:not(:nth-of-type(3n)) {
		margin-right: 0;
	}
	.products__list__list__item:nth-of-type(n+2) {
		margin-top: 1.5rem;
	}
	.products__list__list__item__eyecatch {
		height: 60vw;
	}
	.products__list__list__item__inner {
		padding: 1.5rem;
	}
	.products__list__list__item__hedding {
		font-size: 1.2rem;
		margin: 0 0 1rem;
		padding: 0 0 1rem;
	}
.products__list__list__item__comment {
	margin: 0 0 1rem;
}
	.products__list__list__item__school {
		left: -0.5rem;
	}
	.products__list__list__item__date dt {
		width: 35%;
		padding: 1rem 0;
		font-weight: bold;
	}
	.products__list__list__item__date dd {
		width: 65%;
	}
	.products__list__list__item__btn {
		width: 100%;
		margin: 1.5rem 0 0;
		position: initial;
	}


/* ------------------------------------------------------------
    講座詳細部分
------------------------------------------------------------ */
	.products__detail__image {
		width: 80vw;
	}
	.products__detail__image ul li {
		width: 80vw;
	}
	.products__detail__guide {
		margin: 1.5rem 0 0;
		padding: 1.5rem;
	}
	.products__detail__comment {
		margin: 1.5rem auto 0;
	}
	.products__detail__guide__table {
		margin: 1.5rem auto 0;
	}
	.products__detail__guide__table dl {
		width: 100%;
	}
/*.products__detail__guide__table dl:not(.wide):nth-of-type(2n) {
	margin-left: auto;
}
*/
	.products__detail__guide__table dl.wide + dl +dl {
		margin-left: 0;
	}
	.products__detail__guide__table dl dt {
		width: 35%;
		padding: 1rem 0;
	}
	.products__detail__guide__table dl dd {
		width: 65%;
		padding: 1rem 0;
	}


/* ------------------------------------------------------------
    お知らせ部分
------------------------------------------------------------ */
	.news {
		display: block;
		padding: 1rem;
	}
	.news ul {
		margin: 0.5rem 0 0;
		padding: 0;
		border: none;
	}


	.agreement {
		padding: 1.5rem;
	}
	.agreement__heading {
		font-size: 1.2rem;
		line-height: 1.5;
	}
	.agreement__createdate {
		margin: 1.5rem 0 0;
	}
}