/* レスポンシブ対応　*/

.w100_sp { max-width:1020px; margin:0 auto; }

#contents_sp {
	max-width: 1020px;
	margin-left:auto;
	margin-right: auto;
	padding-left: 3%;
	padding-right: 3%;
}

#main_sp {
	max-width: 670px;
	float: left;
}

#side_sp {
	width:300px;
	float:right;
}


.youtube {
	position: relative;
  height: 0;
  padding: 20px 0 56.25%;
  overflow: hidden;
}

.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.only_sp { display: none; }
.p_def { font-size:14px; line-height:1.7em; }

.sp_header {
	background: url(./img/sp_topline.gif) no-repeat;
	background-size: 100% 5px;
}

.sp_logo {
	height: 39px;
	width: 227px;
	margin: 16px 0 0 10px;
}

.sp_menu {
	float: right;
	margin: 21px 12px 0;
	height: 30px;
	width: 32px;
}

.t_event_h2 {
	border-bottom: 3px solid #f90084;
	padding-bottom: 0px;
}
.t_event_h2 img { max-width: 100%;  width: 368px; height: auto; }

.t_taiken_h2 {
	border-bottom: 3px solid #339999;
	padding-bottom: 0px;
}
.t_taiken_h2 img { max-width: 100%; width: 468px; height: auto; }

.t_report_h2 {
	border-bottom: 3px solid #f90084;
	padding-bottom: 6px;
}
.t_report_h2 img { max-width: 100%; width: 312px; height: auto; }

.t_btn2 {
	text-align: center;
}
.t_btn2 a {
	padding: 16px 80px;
	background: #333 url(./img/btn_mark2.png) no-repeat;
	background-position: top 18px right 20px;
	background-size: 5px 9px;
	color: #fff;
	font-size:13px;
	border-radius: 3px;
}
.t_btn2 a:hover {
	background: #555 url(./img/btn_mark2.png) no-repeat;
	background-position: top 18px right 20px;
	background-size: 5px 9px;
}

.side_mail_t {
	background: #faecf2;
	width: 100%;
}

.sp_menu_close {
	position:fixed;
	top:0;
	right: 0;
}
.sp_menu_close img { width:44px; height: 44px; }

.sp_menu_title {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
	margin-bottom: 20px;
}


/* 絞り込み検索 アコーディオン */
.sp_menu_list {  }

.sp_menu_list dt {
	padding: 20px 10px 8px 14px;
	background: #fff;
	font-size:14px;
	color:#fff;
	font-weight: bold;
}
.sp_menu_list dt {
	display:block;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.sp_menu_list dt:hover { cursor: pointer; }
.sp_menu_list dt .sp_menu_list_t { float: left; font-weight: bold; }
.sp_menu_list dd { display: none; margin-top:-10px; }

.sp_menu_list dt a { padding: 0 0 12px; color:#fff; font-size: 14px; font-weight: bold; }

.sp_menu_list_icon,
.sp_menu_list_icon span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.sp_menu_list_icon {
	position: relative;
	width: 30px;
	height: 30px;
	float: right;
	margin-right: 5px;
}

.sp_menu_list_icon span {
	position: absolute;
    left: 6px;
    width: 50%;
	height: 1px;
    background-color: #fff;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
}
.sp_menu_list_icon span:nth-of-type(1) {
    top: 5px;
	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}
.sp_menu_list_icon span:nth-of-type(2) {
    top: 5px;
	transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}

/*＋、－切り替え*/
.sp_menu_list_icon.active span:nth-of-type(1) {
	display:none;
}
.sp_menu_list_icon.active span:nth-of-type(2) {
	top: 5px;
	transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

.sp_menu_list2 li {
	border-bottom: 1px dotted #ccc;
}
.sp_menu_list2 li a {
	color: #333;
	font-size:13px;
	font-weight: bold;
	line-height: 1.5em;
	padding: 16px;
}
.sp_menu_list2 li a:hover { color:#666; }
.sp_menu_list2 li.border_b_none { border-bottom: none; }

.sp_menu_list .sp_menu01 { background: #f90084; }
.sp_menu_list .sp_menu02 { background: #0056a8; }
.sp_menu_list .sp_menu03 { background: #f90000; }
.sp_menu_list .sp_menu04 { background: #ff92c2; }
.sp_menu_list .sp_menu05 { background: #eaf000; }
.sp_menu_list .sp_menu06 { background: #00aa50; }
.sp_menu_list .sp_menu07 { background: #9545a3; }
.sp_menu_list .sp_menu08 { background: #aaaaaa; }



/* 講師の紹介　サブメニュー　2021/06/30 リニューアル */
.sp_menu03_list {
	background-color: #F90100;
	padding: 5px 16px 20px 16px;
}
.sp_menu_list_t2 {
	border: 2px solid #FFFFFF;
	border-radius: 5px;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 53px;
	color: #FFFFFF;
	margin-bottom: 7px;
}
.sp_menu_list3:not(:last-child) {
	margin-bottom: 20px;
}
.sp_menu_list3 a {
  position: relative;
  display: block;
  background-color: #FFFFFF;
  border-radius: 5px;
  font-size: 13px !important;
  line-height: 1.5em;
  color: #000000 !important;
  padding: 10px 35px 10px 16px !important;
  transition: all 0.5s ease;
}
.sp_menu_list3 a:not(:last-child) {
  margin-bottom: 4px;
}
.sp_menu_list3 a::after {
  content: '';
  display: inline-block;
  position: absolute;
	top: 13px;
  right: 12px;
  background-image: url(./img/gmenu_arrow.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 13px;
  height: 13px;
}
.sp_menu_list_t3 {
	text-align: center;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3em;
	color: #FFFFFF;
	margin: 16px 0 7px 0;
}

.koushi_p a {
	word-break: break-all;
}


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

.only_pc { display: none; }
.only_sp { display: inherit; }

.wp-embedded-content {max-width: 100%; }

#main_sp {
	width: 100%;
	max-width: 100%;
	float: none;
}
#h_search { display: none; }

#side_sp {
	float:none;
	width:100%;
}


#footer { margin-top:100px; }

#footer_in {
	width:100%;
	margin:0 auto;
	padding:50px 4%;
	box-sizing: border-box;
}

#footer ul {
	float:none;
	border-left:1px solid #999;
	height: auto;
	margin-bottom: 30px;
}

#footer_left {
	width:100%;
	float:none;
}

#footer_right {
	display: none;
}

#footer_cr {
	background:#222;
	text-align:center;
	width:100%;
	color:#999;
	font-size:11px;
	padding:18px 4% 20px;
	box-sizing: border-box;
}

.f_logo {
	display: block;
	margin:50px auto 0;
}

.t_event_ico {
	width:100%;
	float: none;
}
.t_event_title {
	width:100%;
	float: none;
}

.list_box li {
	width: 100%;
	margin-bottom: 0;
}
.list_box li img {
	width: 30%;
	height: auto;
	float:left;
	margin: 0 16px 10px 0;
}
.t_repo_title {
	font-size:14px;
	font-weight: bold;
	border-bottom: none;
	line-height: 1.5em;
}
.t_repo_day {
	font-size:13px;
	margin-bottom: 10px;
}

.w100 { padding:0 4%; }

#main_img {
	box-sizing: border-box;
	}

#main_img h1,
#main_img p {
	font-size:30px;
	font-weight:normal;
	line-height:1.2em;
	letter-spacing:2px;
	padding-top:110px;
	text-shadow: black 0 0 2px;
}

#main_img h1 span,
#main_img p span {
	color:#fff;
	font-size:22px;
	font-weight: bold;
	line-height:1.5em;
}

#repo h1 {
	font-size:24px;
	font-weight:bold;
}

#repo h2 { font-size:18px; }
#repo h3 { font-size:18px; }
#repo, #repo p { font-size:14px; }
p#repo_info { font-size:12px; color:#666; }
p#repo_info span { font-size:11px; color:#ccc; }



/* 記事投稿 ライター紹介 */

.post_writer {
	padding:4%;
	margin-bottom : 14px;
}
.post_writer_l {
	float: none;
	text-align: center;
	margin-bottom:0;
}
.post_writer_l img {
	width:120px;
	height:120px;
}
.post_writer_r {
	float:none;
	width:100%;
}
.post_writer_t {
}
.post_writer_p p {
	font-size:12px!important;
	line-height:1.5em!important;
}
a.post_writer_b1 {
	float:none;
	margin-bottom: 6px;
}
a.post_writer_b2 {
	float:none;
}

.repo_search { text-align: left;  margin-top: 50px; }

.side_ba { max-width: 300px;
	margin-left: auto;
	margin-right: auto;
}

.f_table th,
.f_table td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}
.f_table th { background: #fafafa; }


.con_title1 {
	font-size:20px;
	line-height: 1.3em;
	margin-bottom: 30px;
	margin-top: 50px;
}

.ab_title1 {
	font-size:20px;
	line-height: 1.3em;
	margin-bottom: 30px;
	margin-top: -40px;
}

.alignleft {
	float:none;
	display: block;
	margin:0 auto 30px;
	max-width: 100%;
	height: auto;
}

.alignright {
	float:none;
	display: block;
	margin:0 auto 30px;
	max-width: 100%;
	height: auto;
}

.aligncenter {
	display: block;
	margin:0 auto 40px;
	max-width: 100%;
	height: auto;
}

.ab_title3 {
	font-size:20px;
}


.cou_t_box {
	width:100%;
	margin-bottom:50px;
}

.cou_t_box:nth-child(2n+1) { float:none; clear:both; }
.cou_t_box:nth-child(2n) { float:none; }

.cou_title1 {
	font-size:20px;
	line-height: 1.3em;
	margin-bottom: 30px;
	margin-top: -40px;
}

.cou_t_box img {
	float:left;
	max-width: 30%;
	margin: 0 20px 20px 0;
}

.cou_t_boxr {
	width: auto;
	float: none;
}

.lec_title1 {
	font-size:20px;
	line-height: 1.3em;
	margin-bottom: 30px;
	margin-top: 50px;
}

.lec_sbox input[type="text"] {
	width: 100%;
	margin-left:0;
	font-size:15px;
	padding:14px;
	margin-bottom: 6px;
	}
.lec_sbox select {
	width: 100%;
	box-sizing: border-box;
	margin-left:0;
	padding:14px;
	font-size:15px;
	margin-bottom: 4px;
	background-position: top 16px right 6px;
	}
.lec_sbox input[type="submit"] {
	width: 100%;
	box-sizing: border-box;
	margin-left: 0;
	padding: 16px 0;
	}

	.voice_ul2 { margin-top: 30px; }

p.voice_ul_gaiyo2 {
	font-size:13px!important;
	font-weight:bold;
	line-height: 1.3em;
	margin-bottom:6px!important;
}

.voice_ul2 li { margin-bottom: 20px; }
.voice_ul2 li:nth-child(2n) { float:none; padding-bottom: 20px; }

.modalwindow .modal_content { padding: 4%; }

.vo_box {
	margin-bottom:0px;
}

#voice h2 {
	font-size:20px;
	padding-bottom:6px;
	margin-bottom:20px;
}

#voice h3 {
	font-size:16px;
	margin-bottom:12px;
}

#voice h4 {
	font-size:16px;
	margin-bottom:10px;
}

#voice p {
	font-size:14px;
	margin-bottom:20px;
	padding:0 20px;
}

a.koushi_list_btn_sp {
	display: block;
	background: #f5077a;
	color: #fff;
	padding: 16px 0;
	text-align: center;
	text-decoration: none;
	margin-top: 20px;
	border-radius: 4px;
}
a.koushi_list_btn_sp:hover { background: #f9419a; }



.course_sbox input[type="text"] {
	width: 100%;
	margin-left:0;
	font-size:15px;
	padding:14px;
	margin-bottom: 6px;
	}
.course_sbox select {
	width: 100%;
	box-sizing: border-box;
	margin-left:0;
	padding:14px;
	font-size:15px;
	margin-bottom: 4px;
	background-position: top 16px right 6px;
	}
.course_sbox input[type="submit"] {
	width: 100%;
	box-sizing: border-box;
	margin-left: 0;
	padding: 16px 0;
}

.course_list_table {
	width: auto;
	overflow: auto;
	white-space: nowrap;
	display: block;
}
.course_list_table::-webkit-scrollbar { height: 5px; }
.course_list_table::-webkit-scrollbar-track { background: #f1f1f1; }
.course_list_table::-webkit-scrollbar-thumb { background: #bcbcbc; }


.kiji h1 {
	font-size:20px;
	margin-bottom:20px;
}

.kiji h2,
.h2_course {
	font-size:18px;
	padding-bottom:14px;
	margin-bottom:20px;
}

.kiji h3 {
	font-size:18px;
	margin-bottom:16px;
}

.kiji p {
	font-size:14px;
}

.kiji table {
	font-size:14px;
}

.kiji th {
	padding: 12px;
	text-align:center;
	font-size: 14px!important;
}

.kiji td {
	font-size: 14px!important;
	padding:12px;
}

	.kiji img { max-width: 100%; height: auto; }

.cou_btn2 input[type="submit"],
.cou_btn2 button {
	-webkit-appearance: none;
	border:none;
	border-radius:4px;
	background:#e6292e;
	color:#FFF;
	width:100%;
	max-width:1020px;
	box-sizing: border-box;
	padding:20px 4%;
	text-align:center;
	font-size:16px;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);/*影を小さく*/
}
.cou_btn2 input[type="submit"]:hover,
.cou_btn2 button:hover {
	background:#f14f54; cursor: pointer;
}

.post_writer_t {
	padding: 25px 0;
}
.koushi_list_name {
	margin:12px 0;
}

}/* end @ media */



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

#t_pun_p { font-size:10px; margin-top:2px; width:100%; box-sizing: border-box; }

.voice_ul2 li {
	width:100%;
}
.voice_ul2 li:nth-child(2n) { float:none;  }

.voice_ul_right { width:100%; float:none;; }

.modalwindow .modal_content {
  width: 90%;
  margin-left: -45%;
  margin-top: 80px;
	box-sizing: border-box;
}

.vo_box_r {
	width: 100%;
	float:none;
	background:#e0f0e6;
	padding:20px 26px;
	border-radius:10px;
		box-sizing: border-box;
	}

	.vo_pic { display: none; }

.lec_cc {
	font-size:16px;
	margin-bottom:30px;
}

.koushi_list_l {
	float:left;
	width:30%;
	margin-right: 50px;
	text-align: center;
}
.koushi_list_r {
	float:none;
	width: auto;
	position: relative;
}

.lmc_rank1,
.lmc_rank2,
.lmc_rank3	{
	background-position: right 10px top 0;
	}

.koushi_list2 {
	width: 48%;
	}
	.koushi_list2 img { max-width: 100%; height: auto; }

	.koushi img {
		width: 50%;
		margin: 0 16px 16px 0;
	}
	.koushi_r {
		float: none;
		width: 100%;
	}
	
}/* end @media */
