@charset "utf-8";
/* =============================================
	講座
============================================= */
.content-nav{
  margin: 0;
  padding: 25px;
  background-color: #fff;
}
.content-nav__course-name{
  border-bottom: 1px solid #ccc;
}
.content-nav__course-name a::before{
  content: none;
}
.content-nav .current a{
  color: var(--nikken-red);
}
main img{
  max-width: 100%;
  height: auto;
}
.content__wrap{
  padding-top: 15px;
  padding-bottom: 80px;
}
.content__wrap .course-cont + .course-cont{
  margin-top: 80px;
}
.btm_header{
  padding: 10px 15px;
  background-color: #ccc;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 4em;
}
.btm_header .main-ttl{
  color: #fff;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.6), -1px -1px 3px rgba(0,0,0,0.6);
  letter-spacing: 0.03em;
  vertical-align: middle;
  line-height: 1.0;
  display: inline-block;
  font-size: 1.9rem;
}
.btm_header .main-ttl a{
  color: #fff;
  text-decoration: none;
}
.btm_header .main-ttl a:hover{
  opacity: 0.8;
}
#content_header{
  margin-bottom: 25px;
  padding: 20px;
  position: relative;
}
.content_header_recommend{
  margin: 0;
  position: absolute;
  top: 15px;
  right: 10px;
  width: 78px;
  height: 78px;
  background: url(../img/content_header_recommend.svg) no-repeat left center;
  background-size: 100% auto;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.content-name{
  color: #fff;
  font-size: 2.0rem;
}
#content_header .list_target + .content-name{
  margin-top: 20px;
}
.content_header_recommend + .list_target + .content-name{
  padding-right: 70px;
}
.content-name span{
  display: block;
  font-size: 0.8em;
}
.lead-cont{
  margin: 0 0 20px;
}
/* コース内 ポイント */
.point__list li{
  border: 1px solid #ccc;
}
.point-ttl{
  margin: -15px 0 10px;
}
.point-ttl span{
  padding: 0 15px;
  display: inline-block;
  background-color: #fff;
}
.point-ttl--lv2{
  margin: 0 0 10px;
  font-size: 1.8rem;
}
/* ページ内リンク */
.anchor-cont__list{
  margin: 20px 0 40px;
  border-radius: 10px;
  background: var(--bg-color-light2);
  text-align: center;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  overflow: hidden;
}
.anchor-cont__list li{
  display: flex;
}
.anchor-cont__list a{
  margin: 0 0 -1px;
  padding: 10px 10px 10px 25px;
  display: block;
  position: relative;
  transition: all 0.2s ease;
  text-decoration: none;
  font-size: 1.45rem;
  border-bottom: 1px solid var(--line-light);
  border-right: 1px solid var(--line-light);
  width: 100%;
  line-height: 1.3;
  display: flex;
  align-items: center;
  text-align: left;
}
.anchor-cont__list a:hover{
  opacity: 0.5;
}
.anchor-cont__list li:nth-child(2n) a{
  border-right: none;
}
.anchor-cont__list a::before{
  content: ' ';
  margin: auto 0;
  position: absolute;
  top: -0.5em;
  bottom: 0;
  left: 8px;
  clip-path: polygon(50% 87%, 95% 46%, 100% 53%, 50% 100%, 0% 50%, 6% 43%);
  height: 0.6em;
  aspect-ratio: 1 / 1;
  background-color: #06c;
}

.anchor-cont{
  margin-top: 0;
  margin-bottom: 0;
}

.content_header_note{
  margin: -10px 0 25px;
  padding-bottom: 10px;
  text-align: left;
  border-bottom: 1px solid var(--line-light);
  font-size: 1.3rem;
}
.table_date{
	vertical-align: middle;
	text-align: center;
}
.table_date2{
	vertical-align: middle;
	text-align: center;
}
.table_date2 dl dd{
	padding: 3px;
	margin: 0 0 5px;
}
.table_price{
	vertical-align: middle;
	text-align: center;
}
.table_price ul li{
  margin: 5px 0 10px;
  line-height: 1.2;
  font-size: 1.65rem;
}
.table_price ul li:first-child{
  margin-top: 0;
}
.table_price ul li:nth-last-of-type(1){ margin-bottom: 0; }
.table_price span{
  font-size: 0.8em;
  line-height: 1.3;
}
.table_outline p{ line-height: 1.5; }
.course_list_table + .detail_link{ padding-top: 10px; }
/* ------------ スケジュール一覧表 ------------ */
p + #course_info_cont,
p + .course_info_cont{ margin-top: 30px; }
.schedule_ttl{
  margin: 25px 0 5px;
  padding: 0 0 2px 30px;
  font-size: 1.6rem;
  color: #4e4e4e;
  background: url(../img/ico-calender.svg) no-repeat left -3px;
  background-size: 25px auto;
}
.course_list_table__ttl{
  margin: 45px 0 5px;
  padding: 0 0 2px 30px;
  font-size: 1.6rem;
  color: #4e4e4e;
  background: url(../img/ico-course.svg) no-repeat left -3px;
  background-size: 26px auto;
}
.schedule_year ul{
  margin: 0 0 0 28%;
	position: relative;
	height: 1.5em;
}
.schedule_year ul li{
	width: 8.3%;
	padding-left: 3px;
	box-sizing: border-box;
	border-left: 1px dotted #ccc;
	position: absolute;
	top: 0;
	height: 1.5em;
}
.schedule_year ul li span{ font-size: 1.1rem; }
.year_01{left: 0;}
.year_02{left: 8.3%;}
.year_03{left: 16.6%;}
.year_04{left: 24.9%;}
.year_05{left: 33.2%;}
.year_06{left: 41.5%;}
.year_07{left: 49.8%;}
.year_08{left: 58.1%;}
.year_09{left: 66.4%;}
.year_10{left: 74.7%;}
.year_11{left: 83.8%;}
.year_12{left: 91.3%;}
.schedule_month{
  margin: 0 auto;
	background-color: #656565;
	color: #fff;
	font-weight: bold;
	overflow: hidden;
  width: 100%;
}
.schedule_month span{
  width: 28%;
	padding: 10px 10px;
	text-align: right;
	/*box-sizing: border-box;*/
	float: left;
	border-right: 1px solid #ccc;
	box-sizing: border-box;
  font-size: 1.0rem;
}
.schedule_month ol{
  width: 72%;
	float: right;
	background: url(../img/i_schedule_table_bg.png) repeat-y right top;
	background-size: 100% auto;
	box-sizing: border-box;
}
.schedule_month ol li{
	padding: 10px 0;
	width: 8.3%;
	float: left;
	text-align: center;
	box-sizing: border-box;
  font-size: 1.0rem;
}
.test_dt strong{ font-size: 1.5rem; }
.i_schedule_table_s{
	margin: 0 auto 15px;
  width: 100%;
	overflow: hidden;
	position: relative;
	background-color: #efefef;
	text-align: left;
	letter-spacing:-0.4em;/*隙間をなくすためのハック*/
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
}
.i_schedule_table_s:after{
	content: ' ';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/i_schedule_table_bg.png) repeat-y right top;
	z-index: 5;
	box-sizing: border-box;
	background-size: 72% auto;
}
.i_schedule_table_s dt{
  margin: 0;
  padding: 10px 10px 10px 0;
  width: 28%;
  text-align: left;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  background-color: #fff;
  letter-spacing: normal;/*隙間をなくすためのハック*/
  box-sizing: border-box;
  line-height: 1.3;
  font-size: 1.4rem;
}
.i_schedule_table_s dt:before{
	content: ' ';
	position: absolute;
	height: 1px;
  width: 500%;
	left: 0;
	top: 0;
	background-color: #ddd;
	box-sizing: border-box;
}
.i_schedule_table_s dt a{
	display: block;
	padding: 0 0 0 12px;
  position: relative;
	z-index: 10;
  transition: all 0.2s ease;
}
.i_schedule_table_s dt a:hover{
  opacity: 0.7;
}
.i_schedule_table_s dt a::before{
  content: ' ';
  margin: 0 5px 0 0;
  width: 5px;
  height: 5px;
  border-top: 1px solid #1b314f;
  border-left: 1px solid #1b314f;
  transform: rotate(135deg);
  display: block;
  position: absolute;
  left: 0;
  top: 0.6em;
}
.i_schedule_table_s dd{
	padding: 4px 0;
	display: inline-block;
	width: 72%;
	position: relative;
	text-align: left;
	letter-spacing: normal;/*隙間をなくすためのハック*/
	box-sizing: border-box;
}
.i_schedule_table_s dd span{
	display: block;
	position: relative;
	width: 100%;
	box-sizing: border-box;
}
.i_schedule_table_s dd .schedule_table_note{
	display: inline-block;
	position: absolute;
	top: -2px;
	left: 5px;
}
.i_schedule_table_s dd .schedule_table_note.table_over{
	padding: 0 5px;
	background-color: #efefef;
	display: inline-block;
	position: absolute;
	z-index: 10;
	width: auto;
	left: 0;
}
/* 試験日 */
.i_schedule_table_s .schedule_table_test{
	margin: auto 0;
	width: 10px;
  text-align: center;
	height: 22px;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 1;
}
.i_schedule_table_s .schedule_table_test.early_test{
	z-index: 3;
  width: 10px;
  text-align: center;
}
.i_schedule_table_s .schedule_table_test img{
	margin: 0 0 0 -5px ;
	z-index: 510;
	width: 100%;
	height: auto;
}
/* 試験日のコマ数 */
.i_schedule_table_s .schedule_table_test.test_01{ left: 3.2%; }
.i_schedule_table_s .schedule_table_test.test_02{ left: 11.55%; }
.i_schedule_table_s .schedule_table_test.test_03{ left: 19.9%; }
.i_schedule_table_s .schedule_table_test.test_04{ left: 28.26%; }
.i_schedule_table_s .schedule_table_test.test_05{ left: 36.6%; }
.i_schedule_table_s .schedule_table_test.test_06{ left: 44.97%; }
.i_schedule_table_s .schedule_table_test.test_07{ left: 53.32%; }
.i_schedule_table_s .schedule_table_test.test_08{ left: 61.68%; }
.i_schedule_table_s .schedule_table_test.test_09{ left: 70%; }
.i_schedule_table_s .schedule_table_test.test_10{ left: 78.39%; }
.i_schedule_table_s .schedule_table_test.test_11{ left: 86.74%; }
.i_schedule_table_s .schedule_table_test.test_12{ left: 95.1%; }
/* 試験日縦線 */
.i_schedule_table_s .schedule_table_test:after{
	content: ' ';
	/*position: absolute;*/
	height: 1000px;
	width: 6px;
	display: block;
	position: absolute;
	top: 22px;
	left: 1px;
	background-image: url(../img/test_bg.png);
	background-repeat: repeat-y;
	background-position: center top;
}
.i_schedule_table_s .schedule_table_test.related_test{
	z-index: 10;
}
.i_schedule_table_s .schedule_table_test.related_test:after{
	background-image: url(../img/test_bg2.png);
}
/* --- 開始日 --- */
/* 前年 */
.i_schedule_table_s .text_lastyear{
	left: 86%;
	top: -15px;
}
.i_schedule_table_s .start.lastyear_start{
	display: block;
	position: absolute;
	top: -3px;
	left: 0;
	/*overflow: hidden;*/
	background-color: transparent;
	background: url(../img/lastyear_start.png) no-repeat left center;
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
	height: 17px;
}
.i_schedule_table_s .lastyear_start.start_01{ left: 4%; width: 100%; }
.i_schedule_table_s .lastyear_start.start_02{ left: 12.4%; width: 97.4%; }
.i_schedule_table_s .lastyear_start.start_03{ left: 20.8%; width: 89%; }
.i_schedule_table_s .lastyear_start.start_04{ left: 29.2%; width: 80.6%; }
.i_schedule_table_s .lastyear_start.start_05{ left: 37.6%; width: 72.2%; }
.i_schedule_table_s .lastyear_start.start_06{ left: 46%; width: 63.8%; }
.i_schedule_table_s .lastyear_start.start_07{ left: 54.4%; width: 55.4%; }
.i_schedule_table_s .lastyear_start.start_08{ left: 62.8%; width: 47%; }
.i_schedule_table_s .lastyear_start.start_09{ left: 71.2%; width: 38.6%; }
.i_schedule_table_s .lastyear_start.start_10{ left: 79.6%; width: 30.2%; }
.i_schedule_table_s .lastyear_start.start_11{ left: 88%; width: 13.4%; }
.i_schedule_table_s .lastyear_start.start_12{ left: 96.4%; width: 5%; }
/* 当年 */
.i_schedule_table_s .start{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 10px;
	/*overflow: hidden;*/
	background-color: #efefef;
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 2;
}
.i_schedule_table_s .start:after{
	content: ' ';
	position: absolute;
	right: -7px;
	top: -2px;
	width: 15px;
	height: 15px;
	background: url(../img/start.png) no-repeat left center;
	z-index: 2;
}
.i_schedule_table_s .start.start_00{ width: 0%; }
.i_schedule_table_s .start.start_01{ width: 5%; }
.i_schedule_table_s .start.start_01.latter{ width: 8%; }
.i_schedule_table_s .start.start_02{ width: 13.4%; }
.i_schedule_table_s .start.start_03{ width: 21.8%; }
.i_schedule_table_s .start.start_04{ width: 30.2%; }
.i_schedule_table_s .start.start_05{ width: 38.6%; }
.i_schedule_table_s .start.start_06.first{ width: 44.4%; }
.i_schedule_table_s .start.start_06{ width: 47%; }
.i_schedule_table_s .start.start_07{ width: 55.8%; }
.i_schedule_table_s .start.start_08{ width: 63.8%; }
.i_schedule_table_s .start.start_09{ width: 72.2%; }
.i_schedule_table_s .start.start_10{ width: 80.6%; }
.i_schedule_table_s .start.start_11{ width: 89%; }
.i_schedule_table_s .start.start_12{ width: 97.4%; }
/* --- 終了日 --- */
.i_schedule_table_s .end{
	display: block;
	position: absolute;
	top: -3px;
	left: 0;
	height:  17px;
	/*overflow: hidden;*/
	background: url(../img/end.png) no-repeat right center;
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 1;
}
.i_schedule_table_s .end_01{ width: 4%; }
.i_schedule_table_s .end_02{ width: 12.4%; }
.i_schedule_table_s .end_03{ width: 20.8%; }
.i_schedule_table_s .end_04{ width: 29.2%; }
.i_schedule_table_s .end_05{ width: 37.6%; }
.i_schedule_table_s .end_06{ width: 46%; }
.i_schedule_table_s .end_07{ width: 53.8%; }
.i_schedule_table_s .end_08{ width: 62.8%; }
.i_schedule_table_s .end_09{ width: 70.8%; }
.i_schedule_table_s .end_10{ width: 79.0%; }
.i_schedule_table_s .end_11{ width: 88%; }
.i_schedule_table_s .end_12{ width: 95.9%; }
.schedule_dl{
	margin: 10px 0 0;
	padding: 15px;
	text-align: center;
	border: 1px solid #ccc;
}
.schedule_dl a{ font-size: 1.6rem; }
/*---------------------------------------------
	FAQ
---------------------------------------------*/
.faq_ttl_lv3{
	margin: 20px 0 10px;
	padding: 10px 0 10px 13px;
	font-size: 1.8rem;
	position: relative;
	vertical-align: middle;
}
.faq_ttl_lv3:before{
  content: ' ';
  width: 4px;
  height: 1.2em;
  background-color: var(--nikken-red);
  position: absolute;
  margin: auto 0;
  top: 0;
  bottom: 0;
  left: 0;
}
.faq_ttl_lv4{
	margin: 0 0 10px;
	padding: 10px;
	font-size: 1.5rem;
	background-color: #d5ebef;
}
.question_cont{ margin: 15px 0 0; }
#faq_cont section:first-child{ margin-top: 0; }
.answer_cont{
	padding: 15px;
	border: 1px solid var(--line-light);
	overflow: hidden;
}
.answer_cont dt{
  margin: 25px 0 20px;
  padding: 15px 0 10px 40px;
  font-weight: bold;
  color: #434343;
  font-size: 1.4rem;
  border-top: 1px dotted #333;
  position: relative;
  border-bottom: 1px dotted #333;
}
.answer_cont dt:first-child{
  margin: 0 0 20px;
}
.answer_cont dd{
	padding: 5px 0 15px 30px;
	font-size: 1.4rem;
	line-height: 1.5;
	position: relative;
}
.answer_cont dd a{
  margin: 3px 0;
  padding: 0 0 0 5px;
  display: inline-block;
  line-height: 1.3;
  position: relative;
}
.answer_cont dd a::before{
  content: ' ';
  margin: 0 0 0 5px;
  display: block;
  width: 5px;
  height: 5px;
  position: absolute;
  top: 0.45em;
  left: -10px;
  border-top: 1px solid #1b314f;
  border-left: 1px solid #1b314f;
  transform: rotate(135deg);
}
.answer_cont dd a[target="_blank"]::after{
  content: ' ';
  margin: 0 0 0 5px;
  display: inline-block;
  width: 12px;
  height: 11px;
  background: url(/nikken/img/ico-outsite.svg) no-repeat left top;
}
.answer_cont dd:nth-last-of-type(1){ padding-bottom: 0; }
.q_mark,
.a_mark{
  font-size: 2.0rem;
  font-weight: normal;
  font-family: 'Arial', sans-serif;
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  width: 2em;
  text-align: center;
}
.q_mark{
  padding-top: 5px;
  top: 0;
  color: var(--nikken-red);
}
.a_mark{
  color: #67899c;
}
.answer_cont dd p{
  line-height: 1.7;
}
.answer_cont dd p + p{
  margin: 10px 0 10px;
}
.answer_cont dd p.answer-link {
  margin: 10px 0 5px;
}
.answer_cont dd p.answer-link + p.answer-link{
  margin: 5px 0 5px;
}
.answer_cont dd p br:first-child{
  display: none;
}
.answer_cont dd p:empty{
  display: none;
}
.answer_cont dd p:empty + p{
  margin: 0;
}
.answer_box + .answer_box{
  margin-top: 20px;
}
.link_arrow a::before{
  vertical-align: top;
}
/* table */
.outline_table{
	margin: 10px 0 15px;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0px;
	background-color: #fff;
	border: 1px solid var(--line-light);
  border-top: none;
  font-size: 1.4rem;
}
.outline_table th{
	padding: 10px;
	width: 31%;
	font-size: 1em;
	background-color: var(--bg-color-light);
	border-top: 1px solid #bec8d1;
	color: #5c5c5c;
	text-align: left;
  display: block;
  width: 100%;
}
.outline_table td{
	padding: 10px;
  display: block;
  width: 100%;
}
.outline_table td p {
  margin-bottom: 5px;
}
.outline_table td p:last-child{
  margin-bottom: 0;
}
.outline_table tr:last-child th,
.outline_table tr:last-child td{ border-bottom: none; }
.outline_link{ margin: 5px 0 0; }
.outline_table .price{
	margin: 0 0 5px;
	text-align: left;
}
.outline_table .price li{
  margin: 0 0 3px;
  font-size: 1.6rem;
}
.outline_table .price li span{ font-size: 1.3rem; }
.outline_table .price li .price_type{
  margin-right: 5px;
  padding: 3px 5px;
  border: 1px solid #ccc;
  font-size: 1.2rem;
  vertical-align: middle;
}
.table_basic th{
  vertical-align: middle;
  text-align: center;
}
.basic-section p{
  margin: 0 0 15px;
}
.note__list li{
  margin: 0 0 3px;
  padding-left:1em;
	text-indent:-1em;
}
.em-text{
  text-align: left;
  font-size: 1.1em;
}
/* 申込み */
.main-apply__cont{
  margin: 50px 0 0;
  padding: 10px 0;
  border: 1px solid var(--line-dark);
  text-align: center;
}
.main-basic-section{
  margin: 50px 0 0;
  padding: 10px 0;
  border: 1px solid var(--line-dark);
  text-align: center;
}
.course__apply{
  margin: 0 0 30px;
  padding: 10px 5% 5px;
  border: 1px solid var(--line-dark);
}
.course__apply h3,
.apply-btn__cont h3{
  margin: 0 0 15px;
  font-size: 1.35rem;
  position: relative;
  text-align: center;
}
.course__apply h3::before,
.apply-btn__cont h3::before{
  content: ' ';
  margin: 0 auto;
  position: absolute;
  top: 1.2em;
  left: 0;
  right: 0;
  width: 90%;
  max-width: 400px;
  height: 1px;
  border-bottom: 2px dotted #ccc;
}
.course__apply h3::before{
  width: 100%;
}
.course__apply h3 span,
.apply-btn__cont h3 span{
  bottom: -0.6em;
  padding: 0 15px;
  background-color: #fff;
  display: inline-block;
  position: relative;
}
.main-apply__cont p.apply_btn{
  margin: 0 auto 15px;
  width: 90%;
  max-width: 400px;
}
.apply-btn__cont + .apply-btn__cont{
  margin-top: 15px;
  margin-bottom: 15px;
}
.marin-apply__note-cont{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}
.marin-apply__note-cont p{
  margin-bottom: 0;
}
.curriculum-box p.curriculum-term{
  margin: 0;
}
h4 + .curriculum-term{
  margin: 0 0 30px;
  text-align: center;
}
.curriculum-box{
  border: 1px solid var(--line-light);
}
.curriculum-box + .curriculum-box{
  border-top: none;
}
.curriculum-box__header{
  padding: 20px;
  background-color: var(--bg-color-light2);
  
  text-align: left;
}
.curriculum-box__header h5{
  font-size: 1.7rem;
}
.curriculum-box__main{
  padding: 10px;
}
.curriculum-box__main h6{
  margin: 30px 0 0;
  font-weight: bold;
  color: var(--nikken-red);
  font-size: 1.6rem;
}
.curriculum-box__main h6:first-child{
  margin-top: 0;
}
.curriculum-box__main p{
  margin: 0 0 10px;
  font-size: 1.4rem;
  line-height: 1.6;
}
.curriculum-box__main p:last-child{
  margin-bottom: 0;
}
.curriculum-box__main p.curriculum-box__outline{
  margin: 0 0 5px;
  font-size: 1.1em;
  line-height: 1.6;
}
p.step_arrow{
  margin: 20px 0;
  text-align: center;
}
.testday{
  margin: 0 0 30px;
  padding: 10px;
  font-weight: bold;
  text-align: center;
  border: 2px solid var(--nikken-red);
  font-size: 2.0rem;
}
/* ズバリ */
ol.zubari-flow,
ol.zubari_flow{
  margin: 20px 0;
  padding-left: 10px;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.zubari-flow.decimal li,
.zubari_flow.decimal li{
  margin: 0 0 25px;
  padding: 0;
  position: relative;
  text-align: center;
  display: inline-block;
}
.zubari-flow.decimal li img,
.zubari_flow.decimal li img{
  margin: 0 auto 5px;
  min-width: 220px;
  display: block;
}
.zubari-flow.decimal li:before,
.zubari_flow.decimal li:before{
  content: counter(li);
  margin: 0 5px 0 0;
  padding: 0;
  display: block;
  position: absolute;
  height: 26px;
  width: 26px;
  top: -4px;
  left: -5px;
  font-size: 1.6rem;
  background-color: #e04536;
  color: #fff;
  line-height: 26px;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #e04536;
  border-radius: 25px;
  font-weight: bold;
}
.zubari-flow.decimal li p,
.zubari_flow.decimal li p{
  font-size: 1.3rem;
}
/* ズバリ解説 24リニューアル版 */
.zubari-point{
  margin: 15px auto;
  padding: 20px;
  border: 1px solid var(--line-light);
  text-align: left;
}
.zubari-ttl{
  margin: 0 0 40px;
  text-align: center;
}
.zubari-ttl span{
  padding: 10px;
  display: block;
  border-radius: 30px;
  background-color: var(--bg-color-dark);
  color: #fff;
  font-size: 1.8rem;
}
.zubari-info__list li{
  margin: 0;
  padding-bottom: 20px;
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 20px;
  position: relative;
  text-align: left;
}
.zubari-info__list li::before{
  content: ' ';
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 34px;
  width: 2px;
  background-color: #b8b8b8;
}
.zubari-info__list li:last-child:before{
  content: none;
}
.zubari-info__ttl{
  margin: 0 0 10px;
  font-size: 1.9rem;
}
.zubari-info__step{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 10;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: var(--nikken-red);
  color: #fff;
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.zubari-info__step::before{
  content: ' ';
  margin: 0 auto;
  position: absolute;
  top: -16px;
  right: 0;
  left: 0;
  width: 25px;
  height: 17px;
  background: url(/nikken/features/img//zubari-info__arrow.svg) no-repeat left top;
}
.zubari-info__list li:first-child .zubari-info__step::before{
  content: none;
}
.zubari-info__step span{
  display: block;
  font-size: 1.5em;
  line-height: 1.0;
}
.zubari-info__list li > div{
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
.zubari-info__img{
  padding: 10px;
  border: 1px solid var(--line-light);
  text-align: center;
}
.zubari-info__img .note{
  font-size: 1.3rem;
}
.zubari-info__list li p{
  font-size: 1.4rem;
  line-height: 1.4;
}

.book__cont img{
margin: 0 auto 15px;
display: block;
}
.book__list{
  padding: 0;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  background-color: var(--bg-color-light2);
  border: 1px solid #ccc;
  border-right: none;
  border-bottom: none;
}
.book__list h4{
  margin-top: 20px;
  padding: 0 0 15px 0;
  font-size: 1.8rem;
  margin-bottom: 15px;
  position: relative;
  border: none;
  text-align: center;
}
.book__list h4:before{
  content: ' ';
  margin: 0 auto;
  width: 100px;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid var(--line-dark);
}
.book__list .basic_box{
  padding: 15px;
  text-align: center;
  background-color: #fff;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}
.book__list .basic_box > p,
.book__list .basic_box li,
.text_cont{
  text-align: left;
}
.text_cont p{
  margin-bottom: 0;
}
.text_info{
  flex: 1;
}
.text_img{
  margin: 0 auto;
  min-width: 100px;
  width: 50%;
  text-align: center;
}
.book_list{
	margin: 0 0 20px;
	overflow: hidden;
}
.book_list li{
	margin: 0 0 5px;
	padding-left: 1.0em;
	line-height: 1.3;
}
.book_list li:before{
	content: '■';
	margin: 0 3px 0 -1.0em;
}
p + .table_basic{
  margin-top: 15px;
}
/* ナビゲーション */
.content-nav2{
  display: none;
}
.related{
  position: static;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.related a{
  margin: 0;
  padding: 5px 35px 5px 15px;
  text-shadow: none;
  color: #333;
  font-weight: normal;
  border: none;
  box-shadow: none;
  background-image: none;
  font-size: 1.05rem;
  background: #fff url(../img/arrow-s2.svg) no-repeat right 7px center;
  background-size: 18px 11px;
  transition: all 0.1s ease;
  line-height: 1.0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4rem;
  vertical-align: middle;
}
.related a:hover{
  background: #fff url(../img/arrow-s2.svg) no-repeat right 5px center;
  background-size: 18px 11px;
  opacity: 0.8;
}
.related a span{
  margin-right: 7px;
  padding: 3px 7px 3px 0;
  display: inline-block;
  border-right: 1px solid #ccc;
  font-size: 1.2rem;
}
.btm_header .related{
  display: none;
}
 .content-nav2{
  background-color: #333;
  text-align: center;
  justify-content: center;
}
.content-nav2 ul{
  padding: 0;
}
.content-nav2 ul li{
  margin: 0;
  display: flex;
}
.content-nav2 ul li:first-child{
  display: flex;
}
.content-nav2 ul li a{
  padding: 5px 3px 5px;
  border-top: none;
  border-right: 1px solid rgba(204, 204, 204, 0.39);
  border-bottom: 1px solid rgba(204, 204, 204, 0.39);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.content-nav2.fixed ul li a{
  font-size: 1.4rem;
}
.content-nav2 ul li.current a{
  border-bottom: 3px solid var(--nikken-red);
}
 .passing .passing-box {
	display: block;
	text-align: center;
  overflow: hidden;
}
.passing .passing-bar{
	position: relative;
	display: inline-block;
	transform: translate3d(0, 0, 0);
}
.passing .passing-txt{
  transform: translate3d(0, 150px, 0);
  opacity: 10%;
}
.passing .passing-bar:before {
	content: '';
  margin: 0 auto;
	display: inline-block;
	width: 100%;
	height: 0;
	position: absolute;
	left: 0;
  right: 0;
  bottom: 0;
	z-index: 1;
	background: var(--nikken-red);
}
.passing.move .passing-bar:before {
  animation: passing-bar 1s ease 0s 1 normal forwards;
}
.passing.move .passing-txt {
  animation:passing-txt 0s ease .5s 1 normal forwards; 
}
.btm-content-nav__ttl--lv1{
  margin: 0;
}
/* パーツ */
/* three8 */
.three8-info,
.three7-info{
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
}
.three8-terms,
.three7-terms{
  margin-top: 40px;
  position: relative;
  z-index: 2;
}
.three8-privilege__wrap,
.three7-privilege__wrap{
  margin: -20px auto 30px;
  padding: 15px;
  background-color:#f8d5d6;
  border-radius: 10px;
}
.three7-privilege__wrap{
  background-color:#cfe2f7;
}
.basic-section .three8-privilege__wrap p,
.basic-section .three7-privilege__wrap p{
  margin: 0 10px;
}
.three8-privilege,
.three7-privilege{
  margin: 0 10px;
  font-size: 2.0rem;
  padding: 15px 25px 15px 20px;
  background-color: #fff;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.three8-privilege span:nth-child(1),
.three7-privilege span:nth-child(1){
  margin: 0 15px 0 0;
  background-color: var(--nikken-red);
  border-radius: 20px;
  display: inline-block;
  font-weight: bold;
  color: #fff;
  width: 1.8em;
  line-height: 1.8;
  vertical-align: middle;
}
.three7-privilege span:nth-child(1){
  background-color: var(--bg-color);
}
.three8-privilege span:nth-child(2),
.three8-privilege .three8_innertxt,
.three7-privilege span:nth-child(2),
.three7-privilege .three7_innertxt{
  padding: 0 0 5px;
  border-bottom: 1px solid var(--nikken-red);
  color: var(--nikken-red);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.3;
  width: 10em;
} 
.three7-privilege span:nth-child(2),
.three7-privilege .three7_innertxt{
  border-bottom: 1px solid var(--bg-color);
  color: var(--bg-color);
}


.img-box{
  margin-top: 15px;
  display: block;
}
.img-box img{
  margin-bottom: 15px;
}

/* 動画周り */
.movie_cont{
  margin-top: 50px;
  text-align: center;
}
.movie_cont h3{
  position: relative;
  display: flex;
  justify-content: center;
  font-size: 1.7rem;
}
.movie_cont h3::before{
  content: ' ';
  margin: auto 10px 0 0;
  display: inline-block;
  width: 26px;
  height: 28px;
  background: url(/nikken/img/ico-movie.svg) no-repeat left top;
  text-align: center;
}
.movie_cont h4{
  margin-bottom: 10px;
}
.movie_time{
  margin: 0 auto 10px;
  padding-left: 18px;
  display: inline-block;
  background: url(/nikken/img/ico-time.svg) no-repeat left center;
  background-size: 15px 15px;
}
.video__wrap{
  margin: 25px 0 0;
  width: 100%;
}
.video__cont{
  padding-bottom: 56.25%;
  overflow: hidden;
  position: relative;
  height: 0;
  background-color: #fff;
}
.video__cont img,
.video__cont iframe,
.video__cont object,
.video__cont embed{
  margin: auto;
  position: absolute;
  top: -0.5%;
  right: -0.5%;
  bottom: -0.5%;
  left: -0.5%;
  width: 101%;
  height: 101%;
}
/* 無料体験リンク */
.freetrial__cont a{
  margin: 20px auto;
  padding: 10px 38px 10px 15px;
  border: 1px solid var(--line-light);
  display: block;
  transition: all 0.1s ease;
  color: #333;
  position: relative;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}
.freetrial__cont a::before{
  content: ' ';
  margin: auto 0;
  position: absolute;
  top: 0;
  right: 5px;
  bottom: 0;
  width: 25px;
  height: 11px;
  background: url(/nikken/img/arrow-s.svg) no-repeat left top;
  background-size: 20px 11px;
  transition: all 0.1s ease;
}
.freetrial__cont a:hover{
  opacity: 0.7;
  text-decoration: none;
  border: 1px solid var(--nikken-red);
}
.freetrial__cont a:hover::before{
  background-position: 5px top;
}
.freetrial__ttl{
  margin: 0 0 5px;
  color: var(--nikken-red);
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  display: inline-block;
}
.freetrial__ttl img{
  margin-right: 10px;
  width: 43px;
}
.freetrial__cont p{
  margin: 0 0 3px;
  font-size: 1.3rem;
  line-height: 1.3;
}

.course-nav__list li{
  display: block;
}
.course-nav__list li > ul{
  display: none;
}
.course-nav__list li.current ul{
  margin: 10px 0 10px;
  display: block;
  margin-left: 2em;
}

.kaisoku_top_box{
	margin: 15px 15px 15px 0;
	padding: 15px;
	position: relative;
	z-index: 10;
	border: 1px solid #f29999;
	background-color: #fff;
	flex: 1;
  text-align: center;
}
.kaisoku_top_box p.pdf_btn a{
  font-size: 2.0rem;
  transition: all  0.2s ease;
  font-weight: bold;
  color: var(--nikken-red);
}
.kaisoku_top_box p.pdf_btn a span{
  font-weight: normal;
}
.kaisoku_top_box p.pdf_btn a:hover{
  opacity: 0.8;
}

/* キャンペーン価格 */
.table_price .campaign_price_cont{
	display: block;
	width: 100%;
}
.campaign_box{
	margin: 0 0 15px;
	padding: 5px;
	border: 2px solid #edaba5;
}

div.campaign_price_info{
	margin: 0;
	padding: 0;
}
.campaign_price_info p{
	text-align: left;
	font-size: 1.2rem;
	line-height: 1.3;
	display: block;
}
p.usual_price{
	margin: 5px 0;
	font-size: 1.25rem;
	text-decoration: line-through;
	color: #aaa;
	line-height: 20px;
	vertical-align: middle;
  line-height: 0.8;
}
p.usual_price:before{
	content: ' ';
	background: url(../img/price_down_arrow.png) no-repeat left top;
	width: 20px;
	height: 20px;
	display: inline-block;
	vertical-align: middle;
}
p.campaign_price_ttl{
	margin: 0 0 5px;
	padding: 5px;
	font-size: 1.2rem;
	line-height: 1.4;
	background-color: #ffe414;
  background-color: #fff570;
	color: #e04536;
}
p.campaign_price{
  margin: 8px 0;
  font-size: 2.4rem;
  color: #e04536;
  text-align: center;
  line-height: 0.8;
}
p.campaign_price span{
  font-size: 1.25rem;
  line-height: 0.5;
}
p.campaign_detail{
	padding: 0 3px 0 0;
	text-align: right;
}
p.campaign_detail a{
	margin: 3px 0 0;
	display: inline-block;
	font-size: 1.1rem;
	line-height: 1.3;
	text-align: right;
  position: relative;
}
p.campaign_detail a:before{
  content: ' ';
  margin: auto 0;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -10px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #1b314f;
  border-left: 1px solid #1b314f;
  transform: rotate(135deg);
}
.outline_table .campaign_price{
  margin: 10px 0;
}

.history_back a{
  margin: 25px 0 10px;
  padding: 5px 10px 5px 10px;
  display: inline-block;
  border: 2px solid #ddd;
  border-radius: 3px;
  position: relative;
}
.history_back a::before{
  content: ' ';
  margin: 0 5px 0 0;
  display: inline-block;
  width: 5px;
  height: 5px;
  border-top: 1px solid #1b314f;
  border-left: 1px solid #1b314f;
  transform: rotate(135deg);
  vertical-align: middle;
}
.history_back a:hover{
  text-decoration: none;
  opacity: 0.7;
}
.book__cont .float_right{
  float: none;
  margin: 0;
}

/* 給付金利用選択 */
.content__group-box{
  margin-top: 20px;
}
.content__group-box .simple_btn{
  margin-top: 10px;
}

/* 見出し調整 */
.ttl_lv2{
  margin-top: 30px;
}
.ttl_lv3{
  margin-top: 30px;
}

/* オプション */
.option_cont{
	margin: 5px 0 0;
	padding: 5px 0 0;
	border-top: 1px dotted #ccc;
}
.option_ttl{
	margin: 0 0 5px;
	padding: 3px 5px;
	display: block;
	float: left;
	width: 6em;
	text-align: center;
	background-color: #A0B4C8;
	color: #fff;
	font-size: 1.2rem;
}
.option_outline{ padding-left: 80px; }
.option_outline ul{ margin: 0 0 10px; }
.note_indent1 li{
  line-height: 1.4;
	vertical-align: middle;
}
.outline_table .kyufukin{ margin-right: 5px; }


.option_lead{ margin: 20px 0 15px; }
.option_nav li{
	margin: 0 5px 5px 0;
	width: 32.5%;
}
.option_nav li a{ padding: 10px 15px 10px 20px ; }
.option_nav li.oneline a{ padding-top: 1.5em; }
.option_nav li:nth-child(3n){ margin-right: 0; }
.option .lead{
	font-size: 1.6rem;
	font-weight: bold;
	color: #506571;
}

/* ===========================================
	MediaQueries
=========================================== */
/* スマホ----------------------------- */
@media screen and (max-width: 767px){
  .i_schedule_table_s .schedule_table_test:after{
    background-size: 3px auto;
    top: 19px;
    left: 0;
  }
  #index_course{ padding: 10px; }
  /* .campaign_table .table_price,
  .campaign_table .table_name{
    padding: 10px 0;
    display: block;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    text-align: left;
    border: none;
  } */
  
  /* 日程一覧 */
  .content__wrap .course-cont + .course-cont{
    margin-top: 100px;
  }
  /* 試験日 */
  .i_schedule_table_s .schedule_table_test{
    width: 10px;
    text-align: center;
  }
  /* --- 開始日 --- */
  /* 前年 */
  .i_schedule_table_s .start.lastyear_start{ background-size: auto 6px; }
  /* 当年 */
  .i_schedule_table_s .start:after{
    background-size: 6px auto;
    right: -9px;
  }
  /* --- 終了日 --- */
  .i_schedule_table_s .end{ background-size: auto 10px }
  .schedule_dl{
    margin: 10px auto 0;
    padding: 10px;
    font-size: 1.1rem;
    line-height: 1.3;
    width: 98%;
    box-sizing: border-box;
  }
  .schedule_dl a{ font-size: 1.3rem; }
  .i_schedule_table_s dd .schedule_table_note{
    top: -2px;
    left: 5px;
    font-size: 1.2rem;
  }
  /* 資格・試験ガイド */
  .img_wrap{
    padding: 0;
    background-color: #fff;
  }
  .simple_section section.movie_cont{
    margin: 20px 0 20px;
    padding: 15px;
    width: 100%;
    box-sizing: border-box;
  }
  .dl_data{
    overflow: hidden;
    background-color: #fff;
  }
  .dl_data dt{
    margin: 0;
    padding: 4px 0 4px 12px;
    float: none;
    display: block;
    width: 100%;
    border-top: none;
    position: relative;
    background-color: #fff;
    text-align: left;
    color: var(--font-dark);
    border-bottom: 1px solid var(--line-light);
  }
  .dl_data dt:before{
    content: ' ';
    position: absolute;
    margin: auto 0;
    top: 0;
    bottom: 0;
    left: 0;
    width: 10px;
    height: 10px;
    background-color: var(--font-dark);
  }
  .dl_data dd{
    margin: 0 0 3px;
    padding: 4px 0;
    border: none;
    width: 100%;
  }
  .dl_data dd:last-child{
    margin-bottom: 0;
    border: none;
  }
  .text_center:has(> img){
    display: flex;
  }
}
/* PC----------------------------- */
@media screen and (min-width: 768px){
  .content__wrap{
    padding-top: 50px;
  }
  .btm_header{
    padding: 20px 30px;
  }
  .btm_header .main-ttl{
    font-size: 3.0rem;
  }
  .content-name span{
    padding: 0 10px 0 0;
    display: inline-block;
  }
  .content-nav2{
    margin: 0;
    display: block;
  }
  #content_header{
    padding: 30px 20px;
  }
  #content_header .list_note{
    margin: -10px 0 20px;
  }
  #content_header .list_target{
    font-size: 1.4rem;
  }
  .content_header_recommend{
    margin: auto 0;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30px;
    width: 100px;
    height: 109px;
    background: url(../img/content_header_recommend.svg) no-repeat left center;
    background-size: 100% auto;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .content-nav2 ul li{
    margin: 0;
  }
  .content_header_note{
    margin: -10px 0 50px;
    padding-bottom: 15px;
    text-align: center;
    font-size: 1.5rem;
  }
  .content_lead{
    margin: 0 0 0;
    padding: 10px 0 10px;
  }
  .content_lead + .main-cont__header{
    margin-top: 20px;
  }
  .course__header{
    margin: 0 0 80px;
    display: flex;
  }
  .course__header .apply_btn{
    width: 100%;
    max-width: 500px;
  }
  .lead-cont p{
    margin: 0 0 10px;
  }
  .content-name{
    margin: 20px 0;
    font-size: 3.0rem;
    text-align: center;
    color: #fff;
  }
  .lead-cont{
    margin: 0 50px;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .course__header .lead-cont{
    flex: 1;
  }
  .course__apply{
    margin: -5px 0 0;
    padding: 0;
    border: none;
    width: 260px;
  }
  /* コース内 ポイント */
  .point__list{
    margin: 50px 0;
    width: 100%;
  }
  .point-ttl{
    margin: -45px 0 15px;
    text-align: center;
    font-size: 1.8rem;
    display: block;
  }
  .point-ttl--lv2{
    margin: 0 0 20px;
    font-size: 1.8rem;
    font-weight: 700;
  }
  /* ページ内リンク */
  .anchor-cont__list{
    margin: 30px 0 40px;
    padding: 15px 15px 10px;
    border-radius: 30px;
    display: block;
  }
  .anchor-cont__list li{
    display: inline;
    width: auto;
  }
  .anchor-cont__list a{
    margin: 0 5px 8px;
    padding: 0 8px 0 14px;
    font-size: 1.55rem;
    display: inline-block;
    border: none;
    text-align: center;
    width: auto;
    border-bottom: 1px solid transparent;
  }
  .anchor-cont__list a:hover{
    border-bottom: 1px solid #06c;
  }
  .anchor-cont__list a::before{
    left: 0;
  }
  /* 説明画像 */
  .img-box{
    margin-top: 15px;
    display: flex;
    justify-content: center;
    gap: 15px;
  }
  .img-box img{
    margin-bottom: 0;
  }
  .schedule_month span{
    font-size: 1.4rem;
  }
  .schedule_month ol li{
    font-size: 1.4rem;
  }
  /* 動画 */
  .movie-info{
    text-align: center;
  }
  /* 無料体験リンク */
  .freetrial__cont a{
    margin: 20px auto;
    padding: 15px 40px 15px 15px;
    width: 80%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 5%;
  }
  .freetrial__cont a::before{
    right: 15px;
    width: 33px;
    background-size: 27px 11px;
  }
  .freetrial__ttl{
    margin: 0;
    font-size: 2.5rem;
  }
  .freetrial__ttl img{
    width: 56px;
  }
  .freetrial__cont p{
    margin: 0;
    text-align: left;
    font-size: 1.5rem;
    line-height: 1.5;
  }


 /* 試験日 */
  .i_schedule_table_s .schedule_table_test{
    margin: auto 0;
    width: 22px;
    height: 22px;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
  } 
  .i_schedule_table_s .schedule_table_test.early_test{
    z-index: 3;
  }
  .i_schedule_table_s .schedule_table_test img{
    margin: 0 0 0 -14px ;
    z-index: 510;
    width: 100%;
    height: auto;
  }
  
  .curriculum-box__main p{
    font-size: 1.4rem;
  }
  .curriculum-box__main p.curriculum-box__outline{
    margin: 0 0 10px;
    line-height: 1.4;
  }
  .em-text{
    font-size: 1.2em;
  }
  .testday{
    margin: 0 0 30px;
    padding: 30px;
    font-size: 2.4rem;
  }
  /* ナビゲーション */
  .course-nav__wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 5%;
  }
  .course-nav__wrap > *{
    width: 30%;
  }
  /* 動画周り */
  .video__wrap{
    margin: 15px auto 0;
    width: 80%;
  }
  .movie_cont h3{
    font-size: 2.0rem;
  }
  /* ズバリ */
  .zubari-flow.decimal li{
    margin: 0 0 15px;
    padding: 0;
    position: relative;
    text-align: center;
  }
  /* ズバリ解説 24リニューアル版 */
  .zubari-point{
    margin: 15px auto;
    padding: 40px 70px;
  }
  .zubari-info__list li{
    grid-template-columns: 80px 1fr;
  }
  .zubari-info__list li::before{
    left: 39px;
  }
  .zubari-info__ttl{
    font-size: 2.0rem;
  }
  .zubari-info__step{
    width: 80px;
    height: 80px;
    background-color: var(--nikken-red);
  }
  .zubari-info__list li p{
    font-size: 1.5rem;
    line-height: 1.7;
  }
  /* three8 */
  .three8-privilege__wrap,
  .three7-privilege__wrap{
    margin: -15px auto 40px;
    padding: 25px 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
  
  .three8-privilege,
  .three7-privilege{
    padding: 15px 35px 15px 30px;
    display: block;
  }
  .three8-privilege span:nth-child(1),
  .three7-privilege span:nth-child(1){
    margin-right: 10px;
  }
  .three8-privilege span:nth-child(2),
  .three8-privilege .three8_innertxt,
  .three7-privilege span:nth-child(2),
  .three7-privilege .three7_innertxt{
    font-size: 2.2rem;
  }

/* キャンペーン価格 */
  .campaign_table tr > td.table_name{ width: 30%; }
  .campaign_table tr > td.table_price{ width: 22%; }

  .outline_table .campaign_price{
    margin: 10px 0;
    text-align: left;
  }

	/* オプション */
	.option_nav{ margin: 0 0 25px; }
	.option_nav li{
		margin: 0;
		width: 100%;
	}
	.history_back a{ margin: 0 10px 10px; }
	.option_nav li a,
	.option_nav li.oneline a{ padding: 10px 15px 10px 20px ; }

	/* table */
	.outline_table th,
	.outline_table td{
		padding: 8px;
		display: block;
		width: 100%;
		-moz-box-sizing: border-box; /* Firefox */
		box-sizing: border-box;
		overflow: hidden;
	}
	.outline_table th{
		border-right: none;
		border-bottom: none;
		text-align: left;
	}
	.option_ttl{ float: none; }
	.option_outline{ padding: 0; }


  /*---------------------------------------------
    FAQ
  ---------------------------------------------*/
  .answer_cont{
    padding: 35px 70px;
    border: 1px solid #ccc;
    overflow: hidden;
  }
  .answer_cont dt{
    margin: 25px 0 20px;
    padding: 15px 0 10px 60px;
    font-weight: bold;
    color: #434343;
    font-size: 1.6rem;
  }
  .answer_cont dd{
    padding: 5px 0 15px 60px;
  }
  .q_mark,
  .a_mark{
    font-size: 2.5rem;
  }


}
@media screen and (min-width: 1024px){
  .content-nav2 ul li{
    margin: 0 10px;
    height: 37px;
  }
  .content-nav2{
    transition: all  0.3s ease;
    height: 77px;
  }
  .content-nav2 ul{
    padding: 15px 0;
  }
  .content-nav2 ul li a{
    border: none;
  }
   .content-nav2.fixed{
    padding: 50px 0 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 150;
    width: 100%;
    background-color: #1b1b1b;
  }
  .related_link.fixed_ttl .passing-box{
    text-align: left;
  }
  .content-nav2.fixed .content_nav_box{
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #333;
    text-align: left;
  }
  .header.fixed_cont{
    z-index: 200;
    background-color: #ccc;
  }
  .logo.fixed_logo{
    margin: 0;
    position: fixed;
    top: 0px;
    left: 15px;
    width: 90px;
    min-width: 90px;
    z-index: 200;
  }
  #header-ttl{
    transition: all  0.3s ease;
  }
  .related_link.fixed_ttl{
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 160;
    text-align: left;
  }
  .related_link.fixed_ttl h1{
    color: #fff;
    margin: 14px 0 14px 124px;
    padding: 0;
    font-size: 1.7rem;
    text-shadow: none;
    z-index: 100;
    position: relative;
    border: none;
  }
  .related_link.fixed_ttl h1 br{
    display: none;
  }
  .related_link.fixed_ttl .main-lead{
    display: none;
  }
  .related_link.fixed_ttl .related{
    margin: 0;
    z-index: 200;
    position: fixed;
    font-size: 1.1rem;
    display: block;
    height: 30px;
    top: 9px;
    right: 10px;
    text-align: right;
  }
  .related_link.fixed_ttl .related a{
    right: 0;
    top: 0;
  }
  .related a{
    padding: 7px 35px 7px 15px;
    font-size: 1.5rem;
  }
  .related a span{
    margin-right: 10px;
    padding-right: 10px;
    font-size: 1.2rem;
  }
  .btm_header .related{
    display: inline-block;
  }
  /* table */
  .outline_table{
    border: 1px solid var(--line-light);
  }
  .outline_table th{
    padding: 20px 15px;
    width: 220px;
    font-size: 1.1em;
    display: table-cell;
    border-top: none;
    border-bottom: 1px solid #bec8d1;
  }
  .outline_table td{
    padding: 20px;
    display: table-cell;
    width: auto;
    border-bottom: 1px solid var(--line-light);
  }
  .apply-btn__wrap{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
   }
  .apply-btn__cont{
    min-width: 30em;
  }
 
  .main-basic-section{
    margin: 80px 0 0;
    padding: 20px 0 35px;
  }
  .apply-btn__cont h3{
    margin: 0 0 20px;
    font-size: 1.5rem;
  }
  .apply-btn__cont + .apply-btn__cont{
    margin-top: 0;
    margin-bottom: 0;
  }
  .curriculum-box{
    margin: 0;
    display: grid;
    grid-template-columns: 300px 1fr;
  }
  .curriculum-box__header{
    padding: 30px;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    background-color: var(--bg-color-light);
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    text-align: left;
  }
  .curriculum-box__header h5{
    font-size: 1.7rem;
  }
  .curriculum-box__main{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    padding: 30px;
  }
  ol.zubari-flow{
    margin: 20px 0;
    display: flex;
    justify-content: center;
    gap: 30px;
  }
  .zubari-flow.decimal li{
    margin: 0;
    padding: 0;
  }
  .zubari-flow.decimal li img{
    margin: 0 0 15px;
  }
  .zubari-flow.decimal li:before{
    top: -4px;
    left: -15px;
  }
  .book__list{
    grid-template-columns: repeat(2, 1fr);
  }
  .book__cont{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }
  .book__list .basic_box{
    padding: 30px;
  }

}
@media screen and (min-width: 1300px){
  #header-ttl.fixed_ttl .passing-box{
    margin: 10px 0 0 148px;
    text-align: left;
  }
  .content-nav2.fixed{
    left: 256px;
  }
  
  .content-nav2.fixed .content_nav_box{
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
  }
  .content-nav2.fixed .content_nav_box .content_nav{
    margin-left: -256px;
  }
  .related_link.fixed_ttl{
    left: 256px;
  }
  .related_link.fixed_ttl h1{
    margin: 17px 0 17px 17px;
  }
 /*  .content-nav2.fixed{
    position: fixed;
    top: 0;
    z-index: 1000;
    width: 100%;
  } */
  .header.fixed_cont{
    padding: 0;
    z-index: 10;
    background-color: #fff;
    width: 256px;
    height: 100%;
  }
  #logo.fixed_logo{
    margin: 40px 0 20px;
    width: 100%;
    text-align: center;
    position: static;
  }
}