/* ページ専用のスタイルシート */
/*----------------------------------------*/
/*--------------------*/
/* 中身全体 */
#contents{
  margin: 0 auto;
}
.contents_wrapper{
  background-color: transparent;
}
/* ●■>設定 */
.head_rect,.head_circle{
  display: inline-block;
  margin-top:0;
  vertical-align: middle;
}
.icon_arrow{
  width: 20px;
  height: 20px;
}
.icon_arrow:after{
  height: 20px;
  width: 8px;
  margin:0 7px;
}
/*----------------------------------------*/
/*--------------------*/
/* パンくずリスト */
.breadcrumb{
  position: relative;
  width: 100%;
}
.breadcrumb a{
  color: #000000;
  text-decoration: underline;
}
.breadcrumb a.button_back_to_top,
.title_application a{
  color: #ffffff;
  text-decoration: none;
}
.title_application a:hover{
  background:#2B54AA
}
.breadcrumb h1{
  font-weight: 700;
}
.contents_wrapper .breadcrumb h1{
  border-left:8px solid #002063;
}
.breadcrumb>p{
  margin-top: 0.5rem !important;
}
.button_back_to_top{
display:block;
background:#3366CC;
padding:1em;
text-decoration:none;
color:#ffffff;
}
.button_back_to_top:hover{
opacity:0.75;
text-decoration:none;
}

/*--------------------*/
/* タイトル */
.title{
  background-color: #3366CC;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4em 0 0.4em 1rem;
  font-size:14px;
  font-weight:bold;
  color: #fff;
}
.title_in{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.title_in>span{
  background-color: #fff;
  margin-left: 0.5rem;
  width: 16px;
  height: 16px;
}
.title_in>h2{
  display: flex;
  align-items: center;
  font-size: inherit;
  font-weight: inherit;
}
.title_in>h2 img{
  margin-right:0.5rem;
}
.title>img{
  width: auto;
  height: auto;
}
/*----------------------------------------*/
/*--------------------*/
/* 各項目見出し */
.contents_wrapper h3{
  margin-top: 0;
}
.contents_wrapper h3 + p{
  margin-top: 0.5rem;
}
h3{
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}
.join h3,.about h3,.individual_guide h3{
  margin-top: 1rem;
  padding: 5px;
  padding-left: 10px;
  background-color: #99ccff;
}
/*----------------------------------------*/
/*--------------------*/
/* セミナー詳細 */
.up_lr{
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 0.5rem;
}
/*--------------------*/
/* セミナー詳細左側 */
.up_left{
  width: 50%;
}
.up_left>p{
  font-weight: 700;
  margin-top: 1rem;
}
.seminar_overview{
  padding: 10px 0;
  margin: 0 0 10px;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
}
.seminar_overview>dl>dt{
  font-weight: 700;
  line-height: 1.3;
}
.seminar_overview>dl>dt::before{
  content: "・";
}
.seminar_overview>dl dd{
  line-height: 1.3;
}
.overview_inner{
line-height:1.4;
}
.overview_inner>.link{
margin-top:0.5rem;
}
/* エンジニア認定試験 */
.test_cm{
  margin-top:0.5rem;
}
.test_cm p:not(span){
  font-weight: 700;
  line-height: 1.5;
}
.test_cm + p{
  margin-top:1rem;
}
.test_cm .bold{
  font-weight: 700;
}
.test_cm>p>.black{
  background-color: #000;
}
.test_cm>ul>li{
  line-height: 1.3;
}
.test_cm>ul>li:first-child{
  padding-left: 0.5rem;
}
.test_cm>ul>li:first-child::before{
  content: "・";
}
.test_cm>ul>li:not(:first-child){
  padding-left: 1rem;
}
.test_cm>ul>li ul,.test_cm>ul>li ul li{
  display: inline;
}
.test_cm>ul>li ul li::before{
  content: "・";
}
.test_cm>ul>li>ul>li+li{
  display: block;
  padding-left: 85px;
}
/*--------------------*/
/* セミナー詳細右側 */
.up_right{
  width: 48%;
}
.ul_table_border > ul:first-child{
  border-bottom:1px solid #cccccc;
}
/* 開催日表設定 */
/*
.location_ul_table>ul:first-child>li{
  font-weight: 700;
}
.location_ul_table > ul:not(:first-child) > li:nth-child(1){
  font-weight: 700;
}
.location_ul_table > ul:not(:first-child) > li:nth-child(3){
  text-align: left;
}
.location_ul_table > ul > li:first-child{
    min-width: 10em;
    width: 25%;
}
.location_ul_table > ul > li:nth-child(2){
    width: 20%;
}
.location_ul_table > ul > li:nth-child(3){
    width: 30%;
}
.location_ul_table > ul > li:last-child{
    width: 25%;
    text-align: center !important;
}
.location_ul_table>ul:not(:first-child)>li:nth-child(3){
    text-align: start !important;
}
.location_ul_table>ul:not(:first-child)>li:last-child{
    text-align: center !important;
}
*/
/*----------------------------------------*/
/*--------------------*/
/* 参加申込 */
.join>.join_in{
  margin-top:1rem;
  line-height:1.4;
}
.join>.join_in>a{
  text-decoration: underline;
}
.join>.join_in>a+span{
  display: inline-block;
  text-decoration: underline;
  color: #0066cc;
  padding-left: 3rem;
}
/*----------------------------------------*/
/*--------------------*/
/* セミナー概要/スケジュール */
.about{
  line-height: 1.3;
}
.about_lr{
  margin-top: 0.5rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
/*--------------------*/
/* セミナー概要左側 */
.about_left{
  width: 50%;
  position: relative;
  padding-bottom: 50px;
}
/* セミナー概要左側余白設定 */
.about_left_up>ul>li:not(:first-child){
  margin-top: 1rem;
}
.about_left_up>ul>li>p span{
  font-weight: 700;
}
/* セミナー概要左側箇条書き */
.about_left_up>ul>li>p+ul>li::before{
  content: "・";
}
.about_left_up>ul>li>ul:last-child>li::before{
  content: "・";
}
.about_left_up>ul>li span.bold + *{
margin-top:0.5rem;
}
/* セミナー概要左側リンクボタン */
.about_left_dw{
  display:flex;
  align-items:center;
  margin-top:1rem;
  margin-left:1rem;
}
.join_btn{
  display: inline-block;
  color: #0066cc;
  text-align: center;
  border-radius: 5px;
  white-space:nowrap;
  font-weight: 700;
  font-size: 15px;
}
.btn:hover{
  text-decoration: none;
}
/*--------------------*/
/* セミナー概要右側 */
.about_right{
  width: 48%;
}
/* セミナー概要右側スケジュール表設定 */
.about dl{
  display: flex;
}
.about_right_in>p>span+span{
  font-weight: 700;
  display: inline-block;
  margin-right: 0.5rem;
}
.about_right_in>.schedule{
  margin-top: 0.5rem;
}
.schedule dl{
  display: flex;
  line-height: 1.5;
  border-top: 1px solid #666;
  border-left: 1px solid #666;
  border-right: 1px solid #666;
  box-sizing: border-box;
}
.schedule dl:last-child{
  border-bottom: 1px solid #666;
}
.schedule dt{
  width: 25%;
  min-width:90px;
  padding: 0.5em;
  box-sizing: border-box;
  background-color: #99ccff;
  font-weight: 700;
  border-right: 1px solid #666;
}
.schedule dd{
  flex:1;
  padding: 0.5em;
  white-space: normal;
  word-break: break-all;
}
.schedule dd>ol{
  list-style: decimal inside;
}
.schedule dd>ol:not(.dd_ol_2),
.schedule dd>.ol_pad{
  padding-left: 1rem;
}
.dd_ol_2 li>ul{
  padding-left: 1rem;
}
.dd_ol_2 li>ul>li{
  display: inline-block;
  padding-right: 1rem;
}
.dd_ol_2 li>ul>li::before{
  content: "・";
}
/*----------------------------------------*/
/*--------------------*/
/* 個別講習のご案内 */
.individual{
  box-sizing: border-box;
  margin-top:0.5rem;
  line-height: 1.4;
}
.individual > *:nth-child(n + 2){
  margin-top:0.5em;
}
.individual dl{
  margin-bottom: 1rem;
}
.individual dl:last-child{
  margin-bottom:0;
}
.individual dl a{
  font-weight: 700;
}
.individual dt{
  width: 100%;
}
.individual dd{
  width: 95%;
  margin: 0 auto;
}

.individual_guide>ul>li{
line-height:1.4;
}
/*----------------------------------------*/
/*--------------------*/
/* JuniorNews */
.junior_news dl{
  display: flex;
  padding-bottom: 1em;
  line-height: 1.3;
}
.junior_news dt{
  min-width:4em;
}
.junior_news dd{
  padding-left: 1em;
}
/* model_ol */
.model_ol{
  list-style: decimal inside;
}
.model_ol li{
  padding-bottom: 1em;
}
/* Counter */
body{
  counter-reset: section;
}
.serial::before{
  counter-increment: section;
  content: counters(section,"-")". ";
}
/* Foreign */
.foreign_l{
  width: 60%;
}
.foreign_r{
  width: 40%;
}
.foreign_r img{
  max-width: 100%;
  margin: 2px;
}
.r_justified{
  text-align: right;
}

/* img_right */
.img_right{
  text-align: right;
  max-width: 700px;
}
