@charset "utf-8";
/* CSS Document */


/* 下層ページ用 */


/*検索結果　カテゴリ名*/
.resultCat{
	display: flex;
	justify-content:flex-start;
	margin: 10px 0;
	flex-wrap: wrap;
}
.resultCat div{
	margin: 5px 0;
}

.resultCat .active{
	background-color: #f09709;
	border-radius: 50px;
	margin-right: 20px;
	padding: 3px 20px;
	color: #fff;
}

.resultCat .exists{
	background-color: #faf1e8;
	border-radius: 50px;
	margin-right: 20px;
	padding: 3px 20px;
	color: #615847;
}
@media screen and (max-width: 480px) {
	.resultCat{
	font-size: 0.9rem;
	}
	.resultCat .active{
		margin-right: 10px;
		padding: 3px 10px;
	}
	.resultCat .exists{
		margin-right: 10px;
		padding: 3px 10px;
	}
}

/*検索結果　講座ソートリンク*/
.kozaOrder{
	display: flex;
	justify-content:flex-start;
	margin: 50px 0 10px;
}
@media screen and (max-width: 480px) {
	.kozaOrder{
	justify-content:flex-end;
	font-size: 0.9rem;
	margin: 0 0 5px;
	}
}

.kozaOrder span{
	display: block;
	margin: 0 0.5rem;
}

.orangeLine{
	border-top: 1px solid #f09709;
}



/* 検索結果　講座一覧（一行につき3講座） */

.kozaResult {
	padding: 2rem 0;
}
@media screen and (max-width: 480px) {
	.kozaResult{
		padding: 20px 10px 0;
	}
}
.kozaResult .cst {
	display: flex;
	justify-content:space-between;
}
.kozaResult .cst::after {
	display: block;
	content:"";
	width: 31%;
}

.kozaResult .cst .cst_inner {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-basis: 31%;
	width: 31%;
	margin-bottom: 40px;
}

.kozaResult .ph{
	width:320px;
	height: 180px;
	border: solid 1px #ddd;
	background-color: #fff;
}
.kozaResult img {
	width:100%;
	height: 100%;
    object-fit: contain;
	font-family: "object-fit: contain;";
}

@media screen and (max-width: 1024px) {
    .kozaResult .cst {
        margin: 0 20px;
        padding: 0 20px 0 0;
    }
    .kozaResult .ph{
        width:288px;
        height: 162px;
    }
}
@media screen and (max-width: 920px) {
    .kozaResult .ph{
        width:256px;
        height: 144px;
    }
}
@media screen and (max-width: 767px) {
        .kozaResult .cst {
        margin: 0 10px;
        padding: 0 10px 0 0;
    }
    .kozaResult .cst .cst_inner {
        flex-basis: 46%;
        width: 46%;
        margin: 0 5px 40px 0;
    }
    .kozaResult .ph{
        width:280px;
    }
}
@media screen and (max-width: 620px) {
.kozaResult .ph{
	width:220px;
}
}
@media screen and (max-width: 480px) {
	.kozaResult .cst {
		width: 100%;
	}
	.kozaResult .cst::after {
		width: 100px;
	}
	.kozaResult .cst .cst_inner {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-basis: 100%;
		width: 100%;
		margin-bottom: 2rem;
	}
	.kozaResult .ph{
		width:100%;
		height: 180px;
	}
	.kozaResult img {
		max-height: 100%;
		max-width: 100%;
	}
}


/* マイページ　タブ */
.mypage_tab{
	border: 1px solid #222;
	width:300px;
	float: left;
	color: #111;
}
.mypage_tab li{
	padding: 20px;
}
.mypage_tab a li {
	color: #111;
}
.mypage_tab a li:hover{
	color: #f09709;
}
.mypage_tab .active{
	background-color: #f09709;
}
@media screen and (max-width: 1100px) {
	.mypage_tab {
		width: 100%;
		float: inherit;
		margin: 0 0 20px;
	}
	.mypage_tab ul{
		width:100%;
		display: table;
	}

	.mypage_tab li{
		display:table-cell;
		width:50%;
		font-size: 0.8rem;
		padding: 1rem 0.4rem;
		text-align: center;
	}
}



/* マイ講座リスト（一行につき3講座） */
.myKozaList{
	float: right;
}

.mycst {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	padding: 0 0 4rem;
	width: 700px;
}

.mycst::after {
	display: block;
	content:"";
	width: 100%;
}
.mycst .cst_inner {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-basis: 48%;
	width: 48%;
	margin-bottom: 40px;
}
.mycst .cst_inner a {
	display: block;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
}

.mycst .cst_inner a:hover {
	opacity: 0.8;
}

.mycst .ph{
	width:320px;
	height: 180px;
	border: solid 1px #ddd;
	background-color: #fff;
}
.mycst img {
	width:100%;
	height: 100%;
    object-fit: contain;
	font-family: "object-fit: contain;";
}

.mycst .nomovie {
    font-size: 1.1rem;
}

@media screen and (max-width: 1024px) {
    .myKozaList{
	float: inherit;
    }
	.mycst {
		width: 100%;
	}
    .mycst .nomovie {
    font-size: 1.1rem;
    display: block;
    padding: 0;
    margin: 3rem auto;
    text-align: center;
    width:100%;
    }
}

@media screen and (max-width: 920px) {
	.mycst {
		width: 100%;
	}
	.mycst::after {
		width: 100px;
	}
	.mycst .cst_inner {
		display:-webkit-box;
		display:-ms-flexbox;
		display:block;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-basis: 48%;
		width: 48%;
		margin-bottom: 2rem;
	}
	.mycst .ph{
		width:100%;
		height: 180px;
	}
	.mycst img {
		max-height: 100%;
		max-width: 100%;
	}

}
@media screen and (max-width: 480px) {
	.mycst {
		width: 100%;
	}
	.mycst::after {
		width: 100px;
	}
	.mycst .cst_inner {
		display:-webkit-box;
		display:-ms-flexbox;
		display:block;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-basis: 100%;
		width: 100%;
		margin-bottom: 2rem;
	}
	.mycst .nomovie {
		font-size: 1.2rem;
		margin-top: 2rem;
	}
	.mycst .ph{
		width:100%;
		height: 180px;
	}
	.mycst img {
		width:100%;
        height: 100%;
		max-height: 100%;
		max-width: 100%;
	}
.mycst .nomovie {
    font-size: 1rem;
}
}



/*-- 視聴ページ --*/
.detail .inner {
	margin: 1em auto 2em;
	position: relative;
}

.detail h3 {
	margin: 2rem 0  0.5em ;
	border-bottom: 4px solid #F09709;
	overflow: hidden;
	padding-bottom: 0.5rem;
	height: auto;
	position:relative;
}

.detail h3 .title{
	font-size: 2.2rem;
	float:left;
	text-align: left;
	width: 80%;
	display: block;
	line-height: 115%;
}
.detail h3 .file{
	font-size: 1rem;
	float:right;
	position:absolute;
	bottom:0;
	right: 0;
	margin-bottom: 0.7em;
}
.detail h3 .file a{
	border-radius: 5px;
    padding: 0.6em 1em;
    font-size: 1.1em;
	background-color: #03498f;
	color: white;
}
@media screen and (max-width: 480px) {
	.detail h3 {
		margin: 1rem 0  0.5em ;
	}
	.detail h3 .title{
		font-size: 1.4rem;
		float:none;
		width: 100%;
	}
	.detail h3 .file{
		font-size: 1rem;
		float:none;
		position:relative;
		bottom:0;
		right: inherit;
		margin: 0.5rem 0 0.2em;
	}
	.detail h3 .file a{
		border-radius: 5px;
		padding: 0.5em 1em;
		font-size: 1.1em;
		background-color: #03498f;
		color: white;
	}
}



.detail .inner dl {
  width: 100%;
  margin: 0 0 0.5em;
  text-align: left;
  font-size: 1.15em;
}

.detail .inner dt {
  clear: left;
  float: left;
  width: 4em;
  display: block;
  background: #EBDFCC;
  padding: 0.2em 0.5em;
  text-align: center;
  font-size: 1rem;
}

.detail .inner dd {
  padding: 0.1em 0;
  margin-left: 5rem;
	display: flex;
}

.detail .inner dd p {
  display: inline-block;
  padding-right: 2em;
}

.detail .inner dd p span{
  font-size: 1rem;
	margin-right: 1rem;
}

.detail .inner dd p:last-child {
  padding-right: 0;
}
@media screen and (max-width: 480px) {
.detail .inner dt {
  width: 4em;
  padding: 0.2em 0.4em;
  font-size: 0.8rem;
}

.detail .inner dd {
  margin-left: 4rem;
}

.detail .inner dd p {
  padding-right: 1em;
}
.detail .inner dd p span{
  font-size: 0.9rem;
	display: block;
	margin-right: 0;
}
}


/* 動画 */
.detail .movie {
  width: auto;
  background: #ecebdd;
  padding: 2em 0;
}

.detail .movie_in {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0 10px;
}

.detail .movie_in embed {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*　動画の下のボタン */
.detail form {
  text-align: center;
}

.detail form input {
  width: auto;
  background: #03498f;
  border-radius: 5px;
  border: 0;
  box-sizing: border-box;
  padding: 0.6em 1em;
  margin: 4rem 0  8rem;
  color: #fff;
  font-size: 1.15em;
  cursor: pointer;
	-webkit-appearance: none;
	-webkit-text-size-adjust: 100%;
	z-index: 0;
}

@media screen and (max-width: 480px) {
	.detail form input {
	  -webkit-appearance: none;
	  -webkit-text-size-adjust: 100%;
	  margin: 2rem 0  4rem;
	  font-size: 1rem;
	  z-index: 0;
	}
}



/*-- ログイン　フォーム --*/
.cont-box {
  margin: 2rem 0 6rem;
}

.cont-box p {
  text-align: center;
}

.cont-box .cap {
  padding: 0.3em 0 0;
  font-size: 1.3em;
  font-weight: bold;
}

.cont-box .txt {
  padding-top: 1em;
  margin-bottom: 1em;
}
@media screen and (max-width: 480px) {
	.cont-box {
	  margin: 0 0 6rem;
	}
	.cont-box p {
	  text-align: left;
	}
	.cont-box .txt {
	  margin-bottom: 0.2rem;
	}
}


.cont-box .error {
  padding-top: 1em;
  color: #c00;
  font-size: 0.9em;
  font-weight: bold;
}

.cont-box form {
  width: 40%;
  padding-top: 0.5em;
  margin: 0 auto;
}

.cont-box input {
  display: block;
  width: 100%;
  background: #f0e9df;
  border: 1px solid #f2dbb9;
  box-sizing: border-box;
  padding: 0.5em 1em;
  margin-top: 1em;
  font-size: 1em;
	-webkit-appearance: none;
	-webkit-text-size-adjust: 100%;
	z-index: 0;
}

.cont-box form p {
  text-align: left;
  padding-bottom: 0.5em;
  margin: 0.5em 0 0 1em;
  text-indent: -1em;
  line-height: 1.5;
  font-size: 0.8em;
  letter-spacing: -0.01em;
}

.cont-box form p::before {
  content: "\02191";
}

.cont-box .send {
  width: 100%;
  background: #03498f;
  border-radius: 5px;
  border: 0;
  box-sizing: border-box;
  padding: 0.6em 1em;
  margin-top: 2em;
  color: #fff;
  font-size: 1em;
  cursor: pointer;
}

.cont-box .login_form input:nth-child(2) {
  margin: 1.8em 0 1em;
}

.cont-box .txt_link {
  width: 40%;
  padding-top: 2em;
  margin: 0 auto;
  font-size: 0.9em;
}

.cont-box .txt_link li{
 padding: 0.3rem 0;
}

.cont-box .txt_link a {
  text-decoration: none;
}

.cont-box .txt_link a:hover {
  text-decoration: underline;
}

.cont-box.logout .txt {
  padding-top: 4em;
}

.cont-box.logout .bnr {
  margin-top: 6em;
}
@media screen and (max-width: 480px) {
	  .cont-box form, .cont-box .txt_link {
		width: 90%;
	  }
	.cont-box form input {
	-webkit-appearance: none;
	-webkit-text-size-adjust: 100%;
	z-index: 0;
	}
}


/*-- ご利用ガイド --*/
.guide h4{
	padding: .5em .75em;
	font-size: 1.4rem;
	font-weight: bold;
	background-color: #FCF3EA;
	border-bottom: 2px solid #D3BFA2;
	border-top: 2px solid #D3BFA2;
	margin: 2rem 0 1rem;
}
@media screen and (max-width: 480px) {
.guide h4{
	padding: .3em .45em;
	font-size: 1.2rem;
	margin: 2rem 0 1rem;
}
}

.guide p{display: block; padding:1rem ; margin: 1rem 0;}
.guide strong{font-weight: bold;background:linear-gradient(transparent 60%, #F7E7D8 60%);}
.guide a{font-weight: bold;	margin: auto 0.2rem;}
.guide a:hover{
	font-weight: bold;
	background:linear-gradient(transparent 60%, #F7E7D8 60%);
	opacity: 1;
}

.flow {
	margin: 1em auto;
	padding: 0 1.5em;
	text-align: left;
	font-size: 1em;
	line-height: 1.3;
	float: left;
	clear: both;
	width: 60%;
}
@media screen and (max-width: 480px) {
.flow {
	padding: 0 ;
	float: inherit;
	clear: both;
	width: 100%;
}
}

.guide li{border-bottom: 1px solid #D3BFA2; padding: 0.5rem 0 ; display: block; overflow: hidden;}

.guide .flow dl {padding: 0.5em 0;line-height: 160%; display: flex;}
.guide .flow dt {padding-bottom: 0; font-size: 2rem; color: #D3BFA2; width:2rem; display: block;}
.guide .flow dd {display: block; width: 80%;}
.guide .flowPh{float:right;  width:40%;}
.guide .flowPh img{ width:100%; height:auto;float:right;}
@media screen and (max-width: 480px) {
	.guide .flow dl {padding: 0;}
	.guide .flow dt {font-size: 1.6rem; width:1.2rem; display: block; }
	.guide .flow dd {padding-left: 0.5rem; width:100%; margin: 0;}
	.guide .flow dd p {padding:0 ; margin: 1rem 0 0;}
	.guide .flowPh {float:left;  width:100%;}
	.guide .flowPh img{ width:100%; height:auto;float:inherit;}
}

/* ガイドページキャプチャ画像　pc sp表示切替 */
.guide .pcimg { display: block !important; }
.guide .spimg { display: none !important; }
@media only screen and (max-width: 560px) {
	.guide .pcimg  { display: none !important; }
	.guide .spimg { display: block !important; }
}



.suggest{margin:2rem 0 8rem 2rem;}
.suggest p { padding:0;margin:1rem;}
@media screen and (max-width: 480px) {
	.suggest{margin:1rem 0 6rem 0;}
}
.suggest dl{ padding: 0; margin: 0;}
.suggest dt{ font-size: 1.2rem; font-weight: bold; margin: 1rem 0 0;color: #f09709;}
.suggest dd{ margin: 0 0 2rem 0;}
.suggest dd span{ font-weight: bold; color: #4F4C4C; padding-right: 1rem;}



/*-- Q&A --*/
.faq{
  padding: 1em;
}
.faq dt{
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px dotted #666;
  font-weight: bold;
}
.faq dt:before{
  content: "Q";
  font-weight: bold;
  background: #F09709;
  color: #fff;
  width: 2em;
  height: 2em;
  line-height:2;
  text-align: center;
  display: inline-block;
  border-radius: 1em;
  margin-right: .5em;
}
.faq dd{
  margin-bottom: 3em;
	padding:0 2.5rem;
}
.faq dd:last-child{
  margin-bottom: 0;
}

.faq a{
	font-weight: bold;
	background:linear-gradient(transparent 60%, #F7E7D8 60%);
	margin: auto 0.2rem;
}

.faqInfo{
	width:55%;
	margin: 6rem auto 8rem;
	padding: 1rem;
	background: #F6F6F6;
}
.faqInfo p{
	display: block;
	padding: 0.3rem;
	margin: 0 1rem;
}
.faqInfo .title {
	display: block;
	font-weight: bold;
	border-bottom: 1px solid #ccc;
	margin-bottom: 1rem;
	font-size: 1.1rem;
}

@media screen and (max-width: 480px) {
	.faq dd{
		padding:0 ;
	}
	.faqInfo{
		width:100%;
		margin: 2rem 0;
		padding: 1rem 0.5rem;

	}
	.faqInfo .title {
		margin-bottom: 0.6rem;
		font-size: 1rem;
	}
	.faqInfo p{
		margin: 0 0.5rem;
	}
}


/*-- 動作確認・テスト視聴 --*/
.btnBlue {
	background: #03498f;
	color: #fff;
	padding: 0.8em 1em;
	border-radius: 5px;
	border: 0;
	box-sizing: border-box;
	display: block;
	width:14rem;
	margin: 30px auto 70px;
	text-align: center;
}
.btnBlue a{
	color: #fff;
}
