@charset "utf-8";

/* =========================================================
 講座専用のスタイル
========================================================= */
img {
  image-rendering: -webkit-optimize-contrast;
}

@media print {
  .foot_support {
    display: none;
  }
  .showtalk-widget-banner {
    display: none;
  }
}

#about_mokuji {
  font-size: 15px;
  margin: 30px 0;
  max-height: 400px;
  overflow-y: scroll;
  border: #ddd solid 2px;
  clear: both;
}

#about_mokuji div {
  background: #f2f2f2;
  padding: 3px;
  font-size: 85%;
  font-weight: normal;
  text-align: center;
  margin-top: 0;
}

#about_mokuji > ul {
  border-bottom: #ddd solid 1px;
}

#about_mokuji li {
  border-top: #ddd solid 1px;
  font-size: small;
  line-height: 1.4;
}

#about_mokuji li ul {
  margin-left: 1.5rem;
}

#about_mokuji a {
  display: block;
  padding: 10px;
}

.about_mokuji_tsuika {
  font-size: 15px;
  margin: 30px 0;
  max-height: 400px;
  overflow-y: scroll;
  border: #ddd solid 2px;
  clear: both;
}

.about_mokuji_tsuika div {
  background: #f2f2f2;
  padding: 3px;
  font-size: 85%;
  font-weight: normal;
  text-align: center;
  margin-top: 0;
}

.about_mokuji_tsuika > ul {
  border-bottom: #ddd solid 1px;
}

.about_mokuji_tsuika li {
  border-top: #ddd solid 1px;
  font-size: small;
  line-height: 1.4;
}

.about_mokuji_tsuika li ul {
  margin-left: 1.5rem;
}

.about_mokuji_tsuika a {
  display: block;
  padding: 10px;
}


/*--- お買い物ガイド -----------------------------------------------------------------*/

.shoppingGuide {
  letter-spacing: 1px;
  padding: 10px 40px 30px 40px;
  background-color: #fff;
  overflow: hidden;
  font-size: 100%;
  color: #333;
}

.sg_inner {
  overflow: hidden;
  border-top: 1px solid #ccc;
  padding-top: 20px;
}

.shoppingGuide .open_next {
  display: none;
}

.shoppingGuide p {
  margin: 10px 0;
}

.shoppingGuide .leftBox, .shoppingGuide .rightBox {
  width: 46%;
}

.shoppingGuide .leftBox {
  float: left;
}

.shoppingGuide .rightBox {
  float: right;
}

.shoppingGuide .box p.title {
  display: block;
  border-bottom: 3px solid #999;
  font-size: 110%;
  color: #000;
  font-weight: bold;
  margin: 30px 0 15px;
}

.shoppingGuide h4 {
  background-color: #eee;
  padding: 2px 0 2px 8px;
  margin: 20px 0 15px 0;
}

.shoppingGuide .att {
  font-size: 85%;
  clear: both;
  line-height: 160%;
  color: #666;
}

.shoppingGuide a.linkBot {
  background-color: #666;
  color: #fff;
  padding: 2px 6px;
  font-size: 80%;
  text-decoration: none;
  margin: 0 10px;
}

.shoppingGuide img.yamato {
  width: 40%;
  float: left;
  margin-right: 10px;
}

.shoppingGuide .payIcon img {
  width: 23.5%;
}

.shoppingGuide table {
  margin: 15px 0;
  width: 100%;
  border-collapse: collapse;
}

.shoppingGuide table th, .shoppingGuide table td {
  border: 1px solid #ccc;
  border-right: none;
  border-left: none;
  padding: 3px 0;
  font-size: 12px;
  text-align: center;
}

.shoppingGuide table th {
  background-color: #eee;
}


.shoppingGuide .box_soryo {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  padding: 3px;
  font-size: 90%;
  overflow: hidden;
  padding: 10px;
  position: relative;
}

.shoppingGuide .box_soryo .soryo_bot {
  background-color: #d00;
  color: #fff;
  padding: 1px 6px 0px 6px;
  font-size: 70%;
  position: absolute;
  right: 10px;
}

.shoppingGuide .box_soryo table {
  background-color: #fff;
}

.shoppingGuide .box_soryo table th {
  text-align: center;
}

.shoppingGuide .box02 {
  border: 1px solid #eee;
  background-color: #f5f5f5;
  text-align: center;
  margin: 30px 0 0 0;
}

.shoppingGuide .borderBox {
  border: 1px solid #ccc;
  padding: 3%;
  margin: 15px 0;
  font-size: 90%;
}

.shoppingGuide .borderBox .title {
  background: #c00;
  color: #FFF;
  text-align: center;
  margin-bottom: 5px;
  padding: 5px;
}

.shoppingGuide .borderBox .lead {
  text-align: center;
  color: #000;
  font-weight: bold;
}

.shoppingGuide .borderBox .calculation {
  overflow: hidden;
  margin: 6px 0 0 0;
}

.shoppingGuide .borderBox .pay {
  font-weight: bold;
  float: left;
  width: 52%;
  font-size: 120%;
  padding: 8px 10px 6px 10px;
  background: rgba(223, 0, 3, 0.60);
  color: #FFF;
  box-sizing: border-box;
  text-align: center;
  line-height: 150%;
}

.shoppingGuide .borderBox .pay b {
  font-size: 150%;
}

.shoppingGuide .borderBox .pay_right {
  text-align: right;
  float: right;
  width: 44%;
  padding-top: 5px;
}

.shoppingGuide .borderBox .pay_right p {
  border-bottom: 1px dotted #ccc;
  margin: 0 0 6px 0;
  display: block;
  padding: 0 0 3px 0;
  text-align: center;
}

.shoppingGuide hr {
  margin: 20px 0;
  border: none;
  border-bottom: 1px solid #ccc;
}


/*--- 受講料ページ共通パーツ ---------------------------------------------------------*/

/*--- SP　---*/
.cp_catch {
  background-color: #d00;
}

.cp_catch p {
  color: #fff;
  font-weight: bold;
  font-size: 1em;
  display: flex;
  justify-content: center;
  line-height: 1 !important;
}

.cp_flowline {
  background-color: #d00;
  padding-bottom: 0.5rem;
}

.cp_flowline--mankan .cp_flowline_button_text_r_yen {
  font-size: 0.6em;
  font-weight: normal;
}

.cp_flowline--mankan .cp_flowline_button_text_r_yen span {
  font-size: inherit;
}

.cp_flowline_button {
  background-color: #fff;
  border-radius: 5px;
  transition: all 0.1s ease-out;
}

.cp_flowline_button:hover {
  cursor: pointer;
  text-decoration: none;
  transform: translateY(-2px);
}

.cp_flowline_button:active {
transform: translateY(2px);
  -webkit-filter: drop-shadow(0px 4px rgba(0,0,0,0.2));
  filter: drop-shadow(0px 4px rgba(0,0,0,0.2));
  transform: scale(0.97, 0.97);
}

.cp_flowline_button a {
  display: block;
}

.cp_flowline_button a:hover {
  text-decoration: none;
}

.cp_flowline_button_text {
  display: flex;
  justify-content: space-between;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 30%);
}

.cp_flowline_button_text:after {
  content: "\E040";
    font-family: 'LigatureSymbols';
    display: flex;
    flex: 0 0 26px;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    color: #d00;
    border-radius: 0 5px 5px 0;
    background-color: #ffc8c8;
}

.cp_flowline_button_text_l {
  color: #333;
  line-height: 170%;
  width: 48%;
  padding: .5rem 0 .5rem .5rem;
  display: flex;
  align-items: center;  
}

.cp_flowline_button_text_l_catch {
  font-size: .8em;
}

.cp_flowline_button_text_l_product {
  font-size: 16px;
  font-weight: bold;
}

.cp_flowline_button_text_l_pay {
  font-size: 1em;
  font-weight: bold;
  color: #d00;
}

.cp_flowline_button_text_r {
  text-align: center;
  display: flex;
  align-items: center;
  width: 40%;
  font-size: 1.7em;
  color: #d00;
  font-weight: bold;
  font-size: 1.2rem;
  text-align: right;
  letter-spacing: -1px;
  line-height: 1;
  justify-content: flex-end;
  padding: 4px 8px 8px 1rem;
}

.cp_flowline_button_text_r span {
  font-size: .6em;
}

.cp_flowline_button_text_l_catch_product {
}




/*--- PC　---*/
@media screen and (min-width: 599px) {
  .cp_catch {
    font-size:  1.6em;
  }

  .cp_flowline {
    padding-bottom: 0.7rem;
  }

  .cp_flowline_button_text_l {
    width: 100%;
    display: flex;
    padding: 8px 0 8px 1rem;
  }

  .cp_flowline_button_text_l_catch {
    font-size: 14px;
  }

  .cp_flowline_button_text_l_catch_pc {
    color: #5c5c5c;
    padding-bottom: 4px;
    line-height: 1;
  }

  .cp_flowline_button_text_l_product {
    font-size: 1.2rem;
  }

  .cp_flowline_button_text_l_catch_product {
    width: 65%;
  }

  .cp_flowline_button_text_l_pay {
    width: 35%;
    text-align: left;
    display: flex;
    align-items: flex-end;
    font-size: 1.3em;
  }

  .cp_flowline_button_text_r,
  .cp_flowline--ryokou .cp_flowline_button_text_r,
  .cp_flowline--tsukanshi .cp_flowline_button_text_r {
    font-size: 1.8rem;
  }

  .cp_flowline--mankan .basic .cp_flowline_button_text_l_product,
  .cp_flowline--mankan .basic2 .cp_flowline_button_text_l_product,
  .cp_flowline--tsukanshi .cp_flowline_button_text_l_product,
  .cp_flowline--ryokou .cp_flowline_button_text_l_product,
  .cp_flowline--iryo .cp_flowline_button_text_l_product {
    font-size: 1.2em;
    line-height: 160%;
  }
}


/*--- 講座トップページ共通パーツ ---------------------------------------------------------*/

/*--- SP　---*/
#main-contents_kozatopcp {
  background-color: #E8E8E8;
}

#main-contents_kozatopcp .main-block {
  background-color: #fff;
  padding: 1rem 1rem;
}

.cp_catch_kozatop {
  background-color: #fff;
}

.cp_catch_kozatop p {
  color: #d00;
  font-size: 1.2em;
}

/*--- PC　---*/
@media screen and (min-width: 599px) {
  .cp_catch span {
    font-size: 1.6em;
  }
  .cp_catch_noimprovement {
    padding: 2rem 1.5rem;
    margin-bottom: 16px;
    background-color: #fff;
  }
  .cp_catch_noimprovement span {
    font-size: .9em;
  }
}


/*--- テキスト・メディア情報一覧表リンク　---*/

.duration {
  margin: 10px 0 10px 0;
  display: block;
  border: #ccc solid 1px;
  background: #fff;
  padding: 10px;
  text-align: center;
}

.sp .duration {
  font-size: 70%;
}


/*--- 受講料ページのギフトコードプレゼント　---*/

.gift_present_box {
  text-align: center;
  letter-spacing: 1px;
  position: relative;
  color: #666;
  background: #FFFFFF;
  box-shadow: 0 0 50px #C7B47D inset;
  -moz-box-shadow: 0 0 50px #C7B47D inset;
  -webkit-box-shadow: 0 0 50px #C7B47D inset;
  overflow: hidden;
  margin: 20px 0;
  font-size: 100%;
  line-height: 140%;
  padding: 20px 0;
}

.gift_present_box:before {
  content: " ";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-width: 16px 16px 0 0;
  border-style: solid;
  border-color: #FFF;
  border-top-color: #B5A164;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}

.gift_present_box b {
  font-size: 150%;
  font-weight: normal;
  line-height: 140%;
  color: #990000;
}

.gift_present_box b span {
  text-align: center;
  display: block;
  color: #FFFFFF;
  background: #DD0000;
  padding: 10px 5px 5px;
  margin: 6px 0 15px 0;
  border: 1px dotted #eee;
  box-shadow: 0px 0px 1px 3px rgba(221, 0, 0, 1);
}

.gift_present_box img {
  float: left;
  margin-right: 12px;
  width: 18%;
}

.gift_present_box p {
  text-align: left;
  margin: 0 20px;
}

.sp .gift_present_box {
  font-size: 80%;
}

.sp .gift_present_box b {
  font-size: 120%;
}

@media screen and (min-width: 600px) {
  /*PC*/
  .gift_present_box b span {
    font-size: 130%;
    line-height: 100%;
  }
}

@media screen and (max-width: 599px) {
  /*SP*/
  .gift_present_box b span {
    font-size: 120%;
    line-height: 120%;
  }
}


/*--- 受講料ページの合格グッズプレゼント　---*/

.goods_present_box {
  text-align: center;
  letter-spacing: 1px;
  position: relative;
  padding: 20px;
  color: #fff;
  background: #DD0000;
  box-shadow: 0 0 50px #990000 inset;
  -moz-box-shadow: 0 0 50px #990000 inset;
  -webkit-box-shadow: 0 0 50px #990000 inset;
  overflow: hidden;
  margin: 20px 0;
  font-size: 100%;
  line-height: 140%;
}

.goods_present_box:before {
  content: " ";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-width: 16px 16px 0 0;
  border-style: solid;
  border-color: #fff;
  border-top-color: #550000;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}

.goods_present_box .goods_ttl {
  text-align: center;
  display: block;
  font-size: 210%;
  line-height: 1.4;
}

.goods_present_box ul {
  display: flex;
  width: 100%;
  border-bottom: 1px solid #D85759;
  border-top: 1px solid #D85759;
}

.goods_present_box ul li {
  width: 20%;
  padding: 10px 0;
}

.goods_present_box ul li:first-child {
  margin-left: auto;
}

.goods_present_box ul li:last-child {
  margin-right: auto;
}

.goods_present_box ul li img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  padding-left: 2%;
  padding-right: 2%;
}

.sp .goods_present_box {
  font-size: 80%;
  padding: 10px;
}

.sp .goods_present_box span {
  font-size: 120%;
}

.goods_manga {
  margin-top: 10px;
  line-height: 1.8;
}

.goods_manga .content01 {
  text-align: left;
  float: left;
  max-width: 80%;
}

.goods_manga .content02 {
  float: right;
  max-width: 20%;
}

.goods_manga .goods_ttl {
  text-align: left;
}

.goods_manga b {
  font-size: 160%;
  margin-bottom: 10px;
}

.goods_manga .pcOnly {
  font-size: 100%;
}

.goods_manga img {
  width: 100%;
}

@media screen and (min-width: 600px) {
  /*PC*/
}

@media screen and (max-width: 599px) {
  /*SP*/
  .goods_manga img {
    max-width: 120px;
  }
  .goods_manga b {
    font-size: 130%;
  }
}


/*発送スケジュール
*/

#main table.table_default thead th {
  background: #ddd;
  text-align: center;
}

#main .box_schedule table.table_default tbody th {
  background: #f5f5f5;
}


/*--- 受講生アンケート ---------------------------------------------------------*/

.ank_body table {
  width: 100%;
  border: none;
  border-collapse: collapse;
  margin-bottom: 40px;
  border-bottom: #BBB solid 1px;
  word-break: initial;
}

.ank_body table th, .ank_body table td {
  box-sizing: border-box;
  padding: 5px;
}

.ank_body table th {
  color: #999;
  border-bottom: #BBB solid 1px;
}

.ank_body table td {
  border: none;
  background: #fff;
}

.ank_body table tr:nth-child(even) td {
  background: #f6f6f6;
}

.ank_body table th:nth-child(1) {
  width: 55%;
}

.ank_body table th:nth-child(2), .ank_body table td:nth-child(2) {
  width: 10%;
  text-align: right;
}

.ank_body table th:nth-child(3) {
  width: 35%;
}

.graph {
  background: #FCC;
  padding: 3px 1px;
  box-sizing: border-box;
}

.sp .ank_body table {
  font-size: small;
}

.passerarea {
  background: #fee;
  margin: -20px 0 40px;
}

.passerarea h5 {
  text-align: center;
  background: #d00;
  padding: 10px;
  color: #fff;
}

.passerarea h5 span {
  font-size: x-large;
  color: #ff0;
}

.passerarea > div {
  padding: 0 20px 1px;
}

.ank_body .passerarea table {
  margin-bottom: 19px;
}


/*-----------メディアなし講座用--------------*/

.nomedia .sampleimg {
  float: left;
  margin-top: 10px;
  margin-right: 10px;
  margin-bottom: 30px;
  margin-left: 10px;
}

.nomedia .box_iframe_m {
  float: left;
  margin-top: 10px;
  margin-bottom: 30px;
}

.nomedia .sampleimg img {
  width: 225px;
  height: 158px;
  border: 2px solid #CCC;
}

.waku_gre {
  background-color: #E0E0E0;
  color: #666;
  padding: 10px;
  text-align: center;
}

.nomedia .button, .nomedia .h4_new, .clr {
  clear: both;
}


/*-----------ボタン--------------*/

.red_btn a:link, .red_btn a:visited {
  font-size: large;
  font-weight: bold;
  text-align: center;
  display: block;
  padding: 15px 5px;
  text-decoration: none;
  background: #eb3b5a;
  /*ボタン色*/
  color: #FFF;
  border-bottom: solid 2px #b33939;
  border-radius: 4px;
  margin: 20px auto;
  max-width: 600px;
}

.red_btn:active {
  /*ボタンを押したとき*/
  -ms-transform: translateY(2px);
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
  /*下に動く*/
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
  /*影を小さく*/
  border-bottom: none;
}

.gre_btn a:link, .gre_btn a:visited {
  font-size: large;
  font-weight: bold;
  text-align: center;
  display: block;
  padding: 15px 5px;
  text-decoration: none;
  background: #1abc9c;
  /*ボタン色*/
  color: #FFF;
  border-bottom: solid 2px #16a085;
  border-radius: 4px;
  margin: 20px auto;
  max-width: 600px;
}

.gre_btn:active {
  /*ボタンを押したとき*/
  -ms-transform: translateY(2px);
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
  /*下に動く*/
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
  /*影を小さく*/
  border-bottom: none;
}


/*-----------特典表示（講座トップ、プライスページ対応）--------------*/

.specialgift {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  letter-spacing: 1px;
  position: relative;
  padding: 10px;
  color: #fff;
  background: #DD0000;
  box-shadow: 0 0 50px #990000 inset;
  -moz-box-shadow: 0 0 50px #990000 inset;
  -webkit-box-shadow: 0 0 50px #990000 inset;
  overflow: hidden;
  margin: 20px 0;
  font-size: 100%;
  line-height: 140%;
}

.specialgift_inline {
  border: 3px solid #b8860b;
  padding: 10px;
}


/* 年アド用画像 */

.specialgift_bg.nenkin {
  width: 200px;
  background-image: url(/images/kyozai/nenkin_all.png?update=20190122);
  height: 60px;
  background-position: -310px -10px;
  background-size: 760px;
}

@media screen and (min-width: 600px) {
  /*PC*/
  .specialgift .ttl {
    font-weight: bold;
    font-size: 180%;
    background: #fff;
    color: #d00;
    padding: 8px 0;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    margin-bottom: 10px;
  }
  .specialgift .inner {
    font-size: 16px;
  }
  .specialgift .inner p {
    width: 400px;
    text-align: left;
    line-height: 1.4;
    background: #DD0000;
    float: left;
  }
  .specialgift_bg.nenkin {
    float: left;
  }
}

@media screen and (max-width: 599px) {
  /*SP*/
  .specialgift .ttl {
    font-weight: bold;
    font-size: 100%;
    background: #fff;
    color: #d00;
    padding: 4px 0;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin-bottom: 10px;
  }
  .specialgift .inner {
    font-size: 100%;
  }
  .specialgift .inner p {
    text-align: left;
    line-height: 1.4;
    background: #DD0000;
  }
  /* 年アド用 */
  .specialgift_bg.nenkin {
    margin: auto;
  }
}



/*-----------共通のスタイル--------------*/

.common_hr_01 {
  width: 60%;
  height: 1px;
  margin-top: 40px;
  margin-bottom: 40px;
  margin-right: auto;
  margin-left: auto;
  border: 0;
  background-color: #ccc;
}

@media screen and (min-width: 568px) {
  .common_hr_01 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}


/*elearning manabun*/


/* common tab */

.common-tab-contents_body {
  display: none;
}

.common-tab-contents_body.tab--active {
  display: block !important;
  animation: fade 1s ease 0.1s;
  animation-fill-mode: both;
}

.common-tab-nav {
  display: flex;
  border-bottom: 2px solid #d00;
  margin: 15px 10px 0 10px;
  list-style: none;
  padding: 0;
}

.common-tab-nav_item {
  flex: 1;
  margin-bottom: -2px;
  border-top: 2px solid #d00;
  border-right: 2px solid #d00;
  border-left: 2px solid #d00;
}

.common-tab-nav_item + .common-tab-nav_item {
  margin-left: 10px;
}

.common-tab-nav_item a {
  display: block;
  padding: 20px 10px;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  color: #fff !important;
  background-color: #d00;
}

.common-tab-nav_item.tab--active {
  background-color: #fff;
}

.common-tab-nav_item.tab--active a {
  color: #d00 !important;
  background-color: inherit;
}

@media screen and (min-width: 768px) {
  .common-tab-nav {
    display: flex;
    justify-content: space-evenly;
    border-bottom: 2px solid #d00;
    margin: 15px 10px;
  }
}

.target-koza-name {
  text-align: center;
  border: 2px solid #d00;
  color: #d00;
  font-weight: bold;
  padding: 10px;
  font-size: 1.2rem;
}

.target-koza-name .koza {
  display: block;
  background-color: #d00;
  color: #fff;
  line-height: 1;
  padding: 4px 5px;
  font-size: 1rem;
  max-width: 300px;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .target-koza-name {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    padding: 15px 10px;
  }
  .target-koza-name .koza {
    margin: 0 5px 0 0;
  }
}

.elearning-intro_head-img {
  width: 100%;
}

.elearning-intro_head-img img {
  max-width: 100%;
}

.elearning-intro_video {
  margin: 25px 0;
}

.in-contents-nav_title {
  background-color: #efefef;
  text-align: center;
  font-weight: bold;
  padding: 10px;
}

.in-contents-nav_link {
  border-bottom: 2px solid #efefef;
  margin-right: 15px;
  margin-left: 15px;
  list-style: none;
}

.in-contents-nav_link .link-list {
  margin-bottom: 15px;
}

.in-contents-nav_link .link-list_head {
  margin-bottom: 5px;
}

.in-contents-nav_link .link-list_item {
  margin-left: 25px;
  list-style: none;
}

.in-contents-nav_link .link-list .link-txt {
  color: #295FB3;
}

.in-contents-nav_link .link-list .link-txt:before {
  font-family: "LigatureSymbols";
  content: "\E08f";
  font-size: 0.6rem;
  margin-right: 5px;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .in-contents-nav_title {
    font-size: 1.4rem;
    padding: 15px 10px;
    margin-bottom: 20px;
  }
  .in-contents-nav_link {
    display: flex;
    flex-wrap: wrap;
    margin-right: 20px;
    margin-left: 20px;
  }
  .in-contents-nav_link .link-list {
    width: 50%;
    margin: 0 0 15px 0;
  }
  .in-contents-nav_link .link-list_head {
    font-size: 1.2rem;
    margin-bottom: 1em;
  }
  .in-contents-nav_link .link-list_item {
    font-size: 1rem;
    margin-bottom: 10px;
  }
  .in-contents-nav_link .link-list_item .item-wrap {
    margin-bottom: 10px;
  }
}

.elearning-detail {
  font-size: 1rem;
  line-height: 1.7;
}

.elearning-detail .pcOnly {
  display: none;
}

.elearning-detail img {
  max-width: 100%;
}

.elearning-detail .box_schedule {
  background: #eeeeee;
  border-top: #ccc solid 1px;
  border-bottom: #ccc solid 1px;
  padding: 10px !important;
}

.elearning-detail .box_schedule .table_default tr {
  border-bottom: #999 solid 1px;
}

.elearning-detail .box_schedule .table_default th {
  background: #f5f5f5;
}

.elearning-detail .box_schedule h3 {
  padding: 10px !important;
  margin: 0 !important;
  border-left: none !important;
}

.elearning-detail .box_schedule h3 {
  margin: 0;
  border-left: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.elearning-detail .box_schedule h3 .schedule_bot {
  padding: 3px 8px;
  background-color: #DB0003;
  border-radius: 25px;
  color: #FFFFFF;
  float: right;
  font-size: 70%;
  line-height: 130%;
  cursor: pointer;
  letter-spacing: 0;
}

.elearning-detail .box_schedule h3 .schedule_bot:after {
  content: "詳しく見る▼";
}

.elearning-detail .box_schedule .activ .schedule_bot:after {
  content: "閉じる×";
}

.elearning-detail .box_schedule .active .schedule_bot:after {
  content: "閉じる×";
}

.elearning-detail .open_next table th {
  text-align: left;
}

.elearning-detail .open_next table td {
  text-align: center;
}

.elearning-detail .open_next table th.koza_th {
  width: 8%;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .elearning-detail .pcOnly {
    display: block;
  }
  .elearning-detail .open_next table th.koza_th {
    width: 13%;
    text-align: center;
  }
}

.about-elerning {
  padding: 25px 0;
}

.about-elerning_title {
  font-weight: bold;
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 0.5em;
}

.about-elerning_title .stg-red {
  font-size: 2rem;
  margin-right: -0.5em;
  margin-left: -0.5em;
  color: #d00;
  vertical-align: middle;
}

.about-elerning_point {
  position: relative;
  margin: 10px 10px 2em 10px;
}

.about-elerning_point .img {
  max-width: 660px;
  margin: auto;
  position: relative;
}

.about-elerning_point .img-txt {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
}

.about-elerning_point .img-txt--l {
  left: 0;
}

.about-elerning_point .img-txt--r {
  right: 0;
}

.about-elerning_point .img-txt .stg {
  color: #d00;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .about-elerning_title {
    font-size: 1.8rem;
  }
  .about-elerning_title .stg-red {
    font-size: 2.5rem;
  }
  .about-elerning_point {
    margin: 15px 0 3.5em 0;
  }
  .about-elerning_point .img-txt {
    font-size: 1.2rem;
  }
  .about-elerning_point .img-txt .stg {
    font-size: 2rem;
  }
  .about-elerning .txt {
    text-align: center;
    margin: 15px 0 0 0;
  }
}

.elearning-features .feature-title {
  border-left: none !important;
  margin: 0 0 5px 0 !important;
  font-weight: normal !important;
}

.elearning-features .feature-title .stg {
  font-size: 1.5rem;
  margin-right: -0.2em;
  margin-left: -0.5em;
  vertical-align: middle;
}

.elearning-features .feature-title:before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 2px;
  background-color: #d00;
  margin-right: 0.5em;
  margin-bottom: 5px;
}

.elearning-features .title-top {
  border-top: none !important;
  border-bottom: none !important;
  border-left: 4px solid #d00;
  padding: 0px !important;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}

.elearning-features .title-sub {
  font-size: 1.2rem;
  font-weight: bold;
}

.elearning-features_body {
  padding-top: 1em;
  padding-bottom: 1em;
  margin-bottom: 2em;
}

.elearning-features .feature-checkpoint {
  position: relative;
  border-bottom: 3px solid #d00;
  border-top: 3px solid #d00;
  padding-top: 2em;
  padding-bottom: 1.5em;
  padding-right: 10px;
  padding-left: 10px;
  margin-top: 80px;
  margin-right: 10px;
  margin-left: 10px;
  background-color: #fff;
}

.elearning-features .feature-checkpoint:before {
  content: "";
  position: absolute;
  width: 70px;
  height: 70px;
  left: 50%;
  margin-left: -32px;
  top: -40px;
  background-image: url(/images/koza/courseGuide/manabun/feature-checkpoint_icon-manabun.svg);
  background-size: 50px;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #fff;
}

.elearning-features .feature-checkpoint_name {
  font-weight: bold;
  font-size: 1.2rem;
  color: #d00;
  margin-bottom: 10px;
}

.elearning-features .feature-checkpoint_list {
  list-style: none;
  padding: 0;
}

.elearning-features .feature-checkpoint_list .list-item {
  font-weight: bold;
}

.elearning-features .feature-checkpoint_list .list-item:before {
  font-family: "LigatureSymbols";
  content: "\E029";
  color: #d00;
  margin-right: 0.5em;
  font-size: 1.2rem;
}

.elearning-features .check-sample_txt {
  text-align: center;
  font-size: 1.2rem;
}

.elearning-features .check-sample_txt .lsf-icon {
  color: #d00;
  margin-left: 0.5em;
}

.elearning-features .check-sample_color-text .img {
  display: block;
  line-height: 0;
}

.elearning-features .check-sample_color-text .link-btn {
  margin: auto;
  max-width: 300px;
  display: block;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  background-color: #d00;
  border-radius: 4px;
}

.elearning-features .item-body--flex {
  display: flex;
  align-items: center;
}

.elearning-features .item-r2 {
  width: 50%;
}

.elearning-features .connect-btn {
  margin: auto;
  max-width: 300px;
  display: block;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  background-color: #d00;
  border-radius: 4px;
}

.elearning-features .connect-btn.wd100 {
  max-width: 100%;
}

.elearning-features .connect-btn .stg {
  font-size: 1.2rem;
  margin-right: -0.5em;
  margin-left: -0.5em;
}

@media screen and (min-width: 768px) {
  .elearning-features .common_hr_01 {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .elearning-features .feature-title {
    font-size: 1.6rem;
  }
  .elearning-features .feature-title .stg {
    font-size: 2rem;
  }
  .elearning-features .feature-title:before {
    content: "";
    width: 40px;
    margin-bottom: 6px;
  }
  .elearning-features .title-top {
    font-size: 1.8rem;
    margin-bottom: 0.5em;
  }
  .elearning-features .title-sub {
    font-size: 1.4rem;
  }
  .elearning-features .feature-checkpoint {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 50px;
  }
  .elearning-features .feature-checkpoint:before {
    width: 100px;
    height: 100px;
    top: -50px;
    margin-left: -50px;
    background-size: 70px;
  }
  .elearning-features .feature-checkpoint_name {
    width: 50%;
    text-align: center;
  }
  .elearning-features .feature-checkpoint_list {
    width: 50%;
  }
  .elearning-features .check-sample {
    text-align: center;
    font-size: 1.2rem;
  }
  .elearning-features .check-sample .lsf-icon {
    color: #d00;
    margin-left: 0.5em;
  }
  .elearning-features .item-body--flex_pc {
    display: flex;
    align-items: center;
    flex: 1;
  }
  .elearning-features .item-body--flex--f_start_pc {
    align-items: flex-start;
  }
  .elearning-features .item-body--flex--order-re_pc {
    flex-direction: row-reverse;
  }
  .elearning-features .item-r2_pc {
    width: 50%;
  }
  .elearning-features .connect-btn {
    margin: auto;
    max-width: 300px;
    display: block;
    text-align: center;
    padding-top: 15px;
    padding-bottom: 15px;
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    background-color: #d00;
    border-radius: 4px;
  }
  .elearning-features .connect-btn.wd100 {
    max-width: 80%;
  }
  .elearning-features .connect-btn .stg {
    font-size: 1.2rem;
    margin-right: -0.5em;
    margin-left: -0.5em;
  }
}

.feature-past-exercises_target-koza {
  background-color: #d00;
  color: #fff;
  line-height: 1.4;
  text-align: center;
  padding: 10px;
}

.feature-past-exercises_target-koza .stg {
  font-size: 1.4rem;
}

.feature-past-exercises_item {
  max-width: 660px;
  margin-right: auto;
  margin-left: auto;
}

.feature-past-exercises_item .item-title {
  display: flex;
  align-items: center;
  color: #d00;
  font-weight: bold;
  font-size: 1.2rem;
  margin-bottom: 1em;
}

.feature-past-exercises_item .item-title .num {
  text-align: center;
  display: inline-block;
  background-color: #d00;
  color: #fff;
  line-height: 1.1;
  font-size: 0.8rem;
  padding: 5px 8px 2px 8px;
  font-weight: normal;
}

.feature-past-exercises_item .item-title .num span {
  font-size: 1.8rem;
  display: block;
  font-weight: bold;
  letter-spacing: -2px;
}

.feature-past-exercises_item--l .num {
  margin-right: 0.5em;
}

.feature-past-exercises_item--r {
  flex-direction: row-reverse;
}

.feature-past-exercises_item--r .num {
  margin-left: 0.5em;
}

.feature-past-exercises_item--r .item-body {
  flex-direction: row-reverse;
}

.feature-past-exercises_item--r .item-title {
  flex-direction: row-reverse;
}

.feature-past-exercises_item .item-body .txt {
  text-align: left;
}

.feature-past-exercises_head .head-txt_lead {
  font-weight: bold;
  text-align: center;
  margin-bottom: 1em;
}

.feature-past-exercises_head .head-txt_lead .stg {
  font-size: 1.6rem;
  line-height: 1.4;
  color: #d00;
}

.feature-past-exercises_head .head-img {
  text-align: center;
}

.feature-past-exercises_head .head-img img {
  width: 300px;
}

@media screen and (min-width: 768px) {
  .feature-past-exercises_target-koza .stg {
    font-weight: bold;
    margin: 0 5px;
  }
  .feature-past-exercises_item .item-title {
    font-size: 1.6rem;
  }
  .feature-past-exercises_item .item-title .num {
    padding: 10px 8px 4px 8px;
  }
  .feature-past-exercises_item .item-title .num span {
    font-size: 2rem;
    display: block;
    font-weight: bold;
    letter-spacing: -2px;
  }
  .feature-past-exercises_item--l .num {
    margin-right: 1em;
  }
  .feature-past-exercises_item--r .num {
    margin-left: 1em;
  }
  .feature-past-exercises_item .item-body .txt {
    padding: 10px;
    text-align: left;
  }
  .feature-past-exercises_head {
    flex-direction: row-reverse;
  }
  .feature-past-exercises_head .head-img {
    text-align: center;
  }
  .feature-past-exercises_head .head-img img {
    width: 300px;
  }
}

.feature-pass-card_item .head {
  background: #efefef;
  padding: 10px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 1em;
}

.feature-pass-card_item .img {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .feature-pass-card_item {
    margin: 0 10px;
  }
}

.elearning-relese-notice {
  margin: 20px 10px;
  border: 3px solid #efefef;
  padding: 30px 10px;
}

.elearning-relese-notice_head {
  text-align: center;
  padding: 0 20px;
}

.elearning-relese-notice_point {
  margin: 10px;
}

.elearning-relese-notice .notice-checkpoint {
  position: relative;
  border-bottom: 2px solid #d00;
  border-top: 2px solid #d00;
  padding-top: 1em;
  padding-bottom: 1em;
}

.elearning-relese-notice .notice-checkpoint_name {
  font-weight: bold;
  font-size: 1.2rem;
  color: #d00;
  margin-bottom: 10px;
  text-align: center;
}

.elearning-relese-notice .notice-checkpoint_name img {
  width: 60px;
}

.elearning-relese-notice .notice-checkpoint_list {
  list-style: none;
}

.elearning-relese-notice .notice-checkpoint_list .list-item {
  font-weight: bold;
}

.elearning-relese-notice .notice-checkpoint_list .list-item:before {
  font-family: "LigatureSymbols";
  content: "\E029";
  color: #d00;
  margin-right: 0.5em;
  font-size: 1.2rem;
}

.elearning-relese-notice_foottxt {
  margin-right: 1em;
  margin-left: 1em;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .elearning-relese-notice {
    margin: 20px 0;
    padding: 50px 20px;
  }
  .elearning-relese-notice_point {
    margin: 15px 0;
  }
  .elearning-relese-notice .notice-checkpoint {
    padding-top: 2em;
    padding-bottom: 2em;
    display: flex;
    align-items: center;
    flex: 1;
  }
  .elearning-relese-notice .notice-checkpoint_name {
    width: 170px;
    margin-bottom: 0;
  }
  .elearning-relese-notice .notice-checkpoint_list .list-item {
    margin-bottom: 1em;
    font-size: 1rem;
  }
  .elearning-relese-notice .notice-checkpoint_list .list-item:last-child {
    margin-bottom: 0;
  }
  .elearning-relese-notice .notice-checkpoint_list .list-item:before {
    font-size: 1.4rem;
  }
  .elearning-relese-notice_foottxt {
    font-size: 1rem;
    text-align: center;
    margin: 0;
  }
}


/************** commn parts ***********/

.box-img {
  line-height: 0;
}

.box-gray {
  background: #efefef;
  padding: 1em;
}

.warning-info {
  margin: 10px;
  border: 2px solid #d00;
  padding: 10px;
  color: #d00;
  font-weight: bold;
  display: flex;
  align-items: center;
}

.warning-info_icon {
  width: 20px;
  margin-right: 0.5em;
}

.warning-info_txt {
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .warning-info {
    justify-content: center;
    padding: 12px 10px;
    margin: 0;
  }
  .warning-info_icon {
    width: 20px;
    margin-right: 0.5em;
  }
  .warning-info_txt {
    line-height: 1.2;
  }
}



/* media_virtual
--------------------------------------------------------- */

.media_virtual {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-right: 10px;
  margin-left: 10px;
}

@media screen and (min-width: 568px) {
  .media_virtual {
    padding-top: 60px;
    padding-bottom: 60px;
    margin-right: 0;
    margin-left: 0;
  }
}

.media_virtual__title {
  font-size: 0.8rem;
  line-height: 1.8;
  text-align: center;
}

@media screen and (min-width: 568px) {
  .media_virtual__title {
    font-size: 1.2rem;
  }
}

.media_virtual__title_icon {
  margin-right: 5px;
  padding-right: 5px;
  padding-left: 5px;
  color: #fff;
  font-size: 0.8em;
  background-color: #dd0000;
}

.media_virtual__title_strong {
  color: #dd0000;
  font-size: 1.3em;
}

.media_virtual__img {
  margin-bottom: 10px;
}


/* media_virtual__about
--------------------------------------------------------- */

.media_virtual__about {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #b3b3b3;
}

@media screen and (min-width: 568px) {
  .media_virtual__about {
    margin-bottom: 40px;
  }
}

.media_virtual__about_title {
  margin-top: 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
}

@media screen and (min-width: 568px) {
  .media_virtual__about_title {
    margin-top: 40px;
  }
}

.media_virtual__about_title:before, .media_virtual__about_title:after {
  content: '';
  display: inline;
  flex-grow: 1;
  border-top: 1px solid #b3b3b3;
}

.media_virtual__about_title:before {
  margin-right: 0.5em;
}

@media screen and (min-width: 568px) {
  .media_virtual__about_title:before {
    margin-right: 1em;
  }
}

.media_virtual__about_title:after {
  margin-left: 0.5em;
}

@media screen and (min-width: 568px) {
  .media_virtual__about_title:after {
    margin-left: 1em;
  }
}


/* media_virtual__about_checklist
--------------------------------------------------------- */

.media_virtual__about_checklist {
  padding-left: 0;
  margin-bottom: 30px;
  list-style: none;
}

@media screen and (min-width: 568px) {
  .media_virtual__about_checklist {
    width: 85%;
    margin-right: auto;
    margin-left: auto;
  }
}

.media_virtual__about_checklist li {
  line-height: 1.4;
}

.media_virtual__about_checklist li + li {
  margin-top: 20px;
}

.media_virtual__about_check_01 {
  display: flex;
  align-items: center;
  color: #1a1a1a;
  font-size: 0.9rem;
}

.media_virtual__about_check_01 .lsf-icon {
  color: #d00;
  font-size: 1.4rem;
}

.media_virtual__about_check_01 strong {
  color: #d00;
  font-size: 1.2rem;
}

.media_virtual__about_check_02 {
  display: flex;
  align-items: center;
  margin-top: 0.5em;
  color: #4d4d4d;
  font-size: 0.8rem;
}

.media_virtual__about_check_02:before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 1px;
  margin-right: 1em;
  background-color: #4d4d4d;
}


/* media_virtual__about_target
--------------------------------------------------------- */

.media_virtual__about_target {
  font-size: 0.8rem;
}

@media screen and (min-width: 568px) {
  .media_virtual__about_target {
    width: 85%;
    margin-right: auto;
    margin-left: auto;
    display: flex;
  }
}

.media_virtual__about_target dt, .media_virtual__about_target dd {
  padding: 5px;
}

@media screen and (min-width: 568px) {
  .media_virtual__about_target dt, .media_virtual__about_target dd {
    padding: 10px;
  }
}

.media_virtual__about_target dt {
  font-size: 0.8rem;
  color: #fff;
  text-align: center;
  background-color: #333;
}

@media screen and (min-width: 568px) {
  .media_virtual__about_target dt {
    width: 200px;
    font-size: 0.75rem;
  }
}

.media_virtual__about_target dd {
  margin: 0;
  font-size: 0.75rem;
  background-color: #e6e6e6;
}

@media screen and (min-width: 568px) {
  .media_virtual__about_target dd {
    flex: 1;
    font-size: 0.7rem;
  }
}


/* media_virtual__sample
--------------------------------------------------------- */

.media_virtual__sample {
  margin-bottom: 30px;
}

.media_virtual__sample_title {
  margin-bottom: 10px;
  font-size: 1rem;
  text-align: center;
}

@media screen and (min-width: 568px) {
  .media_virtual__sample_title {
    margin-bottom: 20px;
  }
}

.media_virtual__sample_mov {
  position: relative;
  width: 100%;
  padding-top: 56.2%;
}

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


/* media_virtual__more
--------------------------------------------------------- */

.media_virtual__more_title {
  margin-bottom: 10px;
  font-size: 1rem;
  text-align: center;
}

.media_virtual__more_btn {
  position: relative;
  display: block;
  width: 80%;
  max-width: 320px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #fff;
  font-size: 1rem;
  line-height: 1.4;
  text-align: center;
  background-color: #d00;
  border-radius: 6px;
}

.media_virtual__more_btn:hover {
  text-decoration: none;
  opacity: 0.7;
}

.media_virtual__more_btn:link, .media_virtual__more_btn:visited {
  color: #fff;
}

.media_virtual__more_btn .lsf-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}


/*----　common faq　　--------------------------------*/

.common-faq .content01 p {
  margin: 0 0 10px 0;
}

.common-faq .content01 ul.set01 {
  overflow: hidden;
}

.common-faq .content01 ul.set01 li {
  display: block;
  margin: 0 0 5px 0;
  padding: 0.5% 1%;
}

.common-faq .form {
  border: 1px solid #aaa;
  overflow: hidden;
  margin: 20px 0;
}

.common-faq .faq-box {
  margin: 20px 0;
}

.common-faq .faq-box h4 {
  font-size: 100%;
  border: none;
  margin-bottom: 0px;
}

.common-faq .faq-box .ask {
  border: 1px solid #aaa;
  padding: 3%;
  overflow: hidden;
}

.common-faq .ankQ {
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  margin-bottom: 15px;
  font-size: 140%;
  color: #aa0000;
  line-height: 160%;
}

.common-faq .faq-box .ask .ankA {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.common-faq .faq-box .ask .icon {
  color: rgba(255, 255, 255, 1.00);
  line-height: 100%;
  display: block;
  float: left;
  margin: 0 0px 4px 0;
  text-align: center;
  box-sizing: content-box;
}

.common-faq .faq-box .ask .ankQ .icon {
  background-color: rgba(221, 0, 0, 1.00);
}

.common-faq .faq-box .ask .ankA .icon {
  background-color: rgba(221, 0, 0, 0.60);
}

.common-faq .faq-box .ask .text {
  display: block;
}

.common-faq ul.list_paging {
  text-align: center;
  margin: 40px 00 10px 0;
}

.common-faq ul.list_paging li:first-child {
  border-left: 1px solid #ccc;
}

.common-faq ul.list_paging li {
  display: inline-block;
  border-right: 1px solid #ccc;
  padding: 0.5% 1%;
}

.common-faq .notfound {
  text-align: center;
  margin: 60px 0 0;
  font-size: 130%;
}

@media screen and (min-width: 600px) {
  /*PC*/
  .common-faq .content01 ul.set01 li:first-child {
    border-left: 1px solid #ccc;
  }
  .common-faq .content01 ul.set01 li {
    text-align: center;
    border-right: 1px solid #ccc;
  }
  .common-faq .form {
    padding: 2% 2% 0.5% 2%;
  }
  /*.common-faq .faq-box .ask p.ankQ{font-size:140%; }*/
  .common-faq .faq-box .ask .icon {
    padding: 6px 1%;
    font-size: 35px;
    width: 5%;
  }
  .common-faq .faq-box .ask .text {
    width: 90%;
  }
  .common-faq .notfound {
    margin: 60px 0 0;
  }
}

@media screen and (max-width: 599px) {
  /*SP*/
  .common-faq .content01 p {
    text-align: center;
  }
  .common-faq .content01 .open_sp {
    background-color: #727272;
    margin: 10px auto;
    padding: 1%;
    color: #FFFFFF;
  }
  .common-faq .content01 ul.set01 li {
    border-bottom: 1px solid #ccc;
  }
  .common-faq .form {
    padding: 7% 5% 1% 5%;
  }
  .common-faq .faq-box .ask p.ankQ {
    font-size: 110%;
  }
  .common-faq .faq-box .ask .icon {
    padding: 6px 1%;
    font-size: 20px;
    width: 6%;
  }
  .common-faq .faq-box .ask .text {
    width: 90%;
  }
  .common-faq .notfound {
    margin: 30px 0 0;
  }
}




/* ---------------------------------------------------------
 foundation
--------------------------------------------------------- */

a {
  outline: none;
  text-decoration: none;
  color: #1946ad;
}

figure {
  margin: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}


/* ---------------------------------------------------------
layout
--------------------------------------------------------- */

.main * {
  box-sizing: border-box;
}

.main img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.main-wrap {
  margin-right: 10px;
  margin-left: 10px;
}

@media screen and (min-width: 568px) {
  .main-wrap {
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (min-width: 568px) {
  .main-row {
    display: flex;
    justify-content: space-between;
  }
  .main-col-01 {
    width: 60%;
  }
  .main-col-02 {
    width: 35%;
  }
}


/* ---------------------------------------------------------
project
--------------------------------------------------------- */


/* table
--------------------------------------------------------- */

.common-table {
  border-bottom: 1px solid #ccc;
}

.common-table th, .common-table td {
  padding: 10px;
  border-top: 1px solid #ccc;
}

.common-table th {
  background-color: #efefef;
}


/* ul ol
--------------------------------------------------------- */

.common-ul, .common-ol {
  padding-left: 30px;
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 1em;
}

@media screen and (min-width: 568px) {
  .common-ul, .common-ol {
    margin-right: 0;
    margin-left: 0;
  }
}

.common-ul li + li, .common-ol li + li {
  margin-top: 0.5em;
}

.common-ul > li {
  list-style-type: disc;
}

.common-ol > li {
  list-style-type: decimal;
}


/* movie
--------------------------------------------------------- */

.common-movie {
  position: relative;
  width: 100%;
  padding-top: 56.2%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.common-movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.common-movie-link {
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
}


/* btn
--------------------------------------------------------- */

.common-btn {
  position: relative;
  display: block;
  padding: 1em 0.5em;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  border-radius: 6px;
  /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.15);*/
  transition: all 0.25s ease;
  background-color: #efefef;
}

@media screen and (min-width: 568px) {
  .common-btn {
    padding: 1em 30px;
  }
}

.common-btn:hover {
  opacity: 0.7;
  text-decoration: none;
}

.common-btn:active {
  box-shadow: none;
  transform: translate3d(0, 4px, 0);
}

.common-btn-cta {
  color: #fff;
  background-color: #00b980;
}

.common-btn-primary {
  border: none !important;
  color: #fff;
  background-color: #d00;
}

.common-btn-secondary {
  color: #fff;
  background-color: #333;
}

.common-btn-arrow-01 {
  padding: 1em 30px;
}

.common-btn-arrow-01:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translateY(-80%);
}

.common-btn-width-01 {
  width: 100%;
  max-width: 320px;
}
.common-btn-width-midium {
  width: 100%;
  max-width: 320px;
}
.common-btn-width-large {
  width: 100%;
  max-width: 520px;
}


/* textlink
--------------------------------------------------------- */

.common-textlink{
  text-decoration: underline;
}

.common-textlink-01 {
  position: relative;
  padding-left: 20px;
}

.common-textlink-01:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid #d00;
  border-right: 2px solid #d00;
  transform: rotate(45deg) translateY(-80%);
}


/* box
--------------------------------------------------------- */

.common-box-01 {
  padding: 30px;
  margin-bottom: 20px;
  background-color: #efefef;
}

.common-box-img-01 {
  display: block;
  margin-bottom: 20px;
}


/* title-sub
--------------------------------------------------------- */

.common-title-sub {
  margin-right: 10px;
  margin-bottom: 1em;
  margin-left: 10px;
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: bold;
}

@media screen and (min-width: 568px) {
  .common-title-sub {
    margin-right: 0;
    margin-left: 0;
  }
}


/* checklist
--------------------------------------------------------- */

.common-checklist {
  padding-left: 0;
  margin-right: 10px;
  margin-bottom: 30px;
  margin-left: 10px;
  list-style: none;
}

@media screen and (min-width: 568px) {
  .common-checklist {
    margin-right: auto;
    margin-left: auto;
  }
}

.common-checklist li {
  line-height: 1.4;
}

.common-checklist li + li {
  margin-top: 20px;
}

.common-checklist--check-01 {
  display: flex;
  align-items: center;
  color: #1a1a1a;
  font-size: 1.1rem;
}

.common-checklist--check-01:before {
  content: '\E029';
  color: #dd0000;
  font-family: 'LigatureSymbols';
  margin-right: 0.3em;
  font-size: 2rem;
}

.common-checklist--check-01 .lsf-icon {
  color: #d00;
  font-size: 1.4rem;
}

.common-checklist--check-01 strong {
  color: #d00;
  font-size: 1.2rem;
}

.common-checklist--check-02 {
  display: flex;
  align-items: center;
  margin-top: 0.5em;
  color: #4d4d4d;
  font-size: 0.9rem;
}

.common-checklist--check-02:before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 1px;
  margin-right: 1em;
  background-color: #4d4d4d;
}


/* pagelinks
--------------------------------------------------------- */

.common-pagelinks {
  margin-top: 20px;
  margin-bottom: 20px;
  border-top: 1px solid #ccc;
}

.common-pagelinks li {
  border-bottom: 1px solid #ccc;
}

.common-pagelinks a {
  position: relative;
  display: block;
  padding: 25px;
}

.common-pagelinks a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid #d00;
  border-right: 2px solid #d00;
  transform: rotate(45deg) translateY(-80%);
}


/* ---------------------------------------------------------
utility
--------------------------------------------------------- */

.m_inner {
  margin-right: 10px;
  margin-left: 10px;
}

.m_trbl {
  margin: 10px;
}

.m_b {
  margin-bottom: 1em;
}

.m_b--l {
  margin-bottom: 2em;
}

.m_b--s {
  margin-bottom: 0.5em;
}

.u-mx-auto {
  margin-right: auto;
  margin-left: auto;
}


/*font*/

.txt-center {
  text-align: center;
}

.txt-right {
  text-align: right;
}


/* ---------------------------------------------------------
page
--------------------------------------------------------- */


/* feature
--------------------------------------------------------- */

.feature-anxiety-img{
  width: 100%;
  background: #F2F2F2;
  text-align: center;
  padding-top: 15px;
}
.feature-anxiety-ttl {
  position: relative;
  display: inline-block;
  border-bottom: 1px solid #222;
  background: #fff;
  color: #000;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 17px 0 5px;
  margin: 0 auto;
}
.feature-anxiety-ttl span{
  font-size: 1.3em;
  color: #d00;
}
.feature-anxiety-ttl:before{
  content: "";
  position: absolute;
  bottom: -42px;
  left: 50%;
  transform: translateX(-11px);
  margin-left: -2px;
  border: 23px solid transparent;
  border-top: 22px solid #fff;
  z-index: 2;
}
.feature-anxiety-ttl:after {
  position: absolute;
  border: 20px solid transparent;
  border-top-color: #222;
  border-bottom-width: 0;
  bottom: -21px;
  content: "";
  left: 50%;
  transform: translateX(-10px);
  z-index: 1;
}

/* media
--------------------------------------------------------- */

.media-ol-01 {
  font-size: 1.2rem;
}

.media-images-01 {
  margin-right: 10px;
  margin-left: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (min-width: 568px) {
  .media-images-01 {
    margin-right: 0;
    margin-left: 0;
  }
}

.media-images-01 li {
  width: 48%;
  margin-bottom: 10px;
}

@media screen and (min-width: 568px) {
  .media-images-01 li {
    margin-bottom: 30px;
  }
}

.media-images-01 figcaption {
  margin-top: 5px;
  font-size: 0.75rem;
  line-height: 1.4;
  text-align: center;
}


/* successful
--------------------------------------------------------- */

.successful .story_formtab {
  position: relative;
  padding: 10px;
  color: #fff;
  background-color: #1a1a1a;
  display: flex;
  align-items: center;
}

.successful .story_formtab b {
  flex: 1;
  margin-right: 40px;
  margin-left: 20px;
  font-size: 20px;
}

.successful .story_formtab img {
  width: 40px;
}

.successful #listsearch {
  padding: 10px;
  display: block;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  background-color: #333;
}


/* story
--------------------------------------------------------- */

.story .story_formtab {
  position: relative;
  padding: 10px;
  color: #fff;
  background-color: #1a1a1a;
  display: flex;
  align-items: center;
}

.story .story_formtab b {
  flex: 1;
  margin-right: 40px;
  margin-left: 20px;
  font-size: 20px;
}

.story .story_formtab img {
  width: 40px;
}

.story #listsearch {
  padding: 10px;
  display: block;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  background-color: #333;
}


/* follow
--------------------------------------------------------- */

.follow-staff {
  margin-bottom: 20px;
}

@media screen and (min-width: 568px) {
  .follow-staff {
    display: flex;
    justify-content: space-between;
  }
}

.follow-staff--col-01 {
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (min-width: 568px) {
  .follow-staff--col-01 {
    width: 200px;
    margin-right: 20px;
  }
}

.follow-staff--col-01 img {
  width: 200px;
}

@media screen and (min-width: 568px) {
  .follow-staff--col-02 {
    flex: 1;
  }
}

.follow-staff--title {
  margin-bottom: 10px;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.4;
  color: #d00;
}

.follow-staff--name {
  margin-bottom: 5px;
  font-size: 1.1rem;
  text-align: center;
}

@media screen and (min-width: 568px) {
  .follow-staff--name {
    text-align: left;
  }
}

.follow-staff--name small {
  margin-right: 10px;
}

.follow-staff--message {
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
}

.follow-sns-box {
  margin-right: 10px;
  margin-bottom: 30px;
  margin-left: 10px;
}

@media screen and (min-width: 568px) {
  .follow-sns-box {
    display: flex;
    justify-content: space-between;
    margin-right: 0;
    margin-left: 0;
  }
}

.follow-sns-box--col-01 {
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (min-width: 568px) {
  .follow-sns-box--col-01 {
    width: 200px;
    margin-right: 20px;
    margin-bottom: 0;
    text-align: left;
  }
}

@media screen and (min-width: 568px) {
  .follow-sns-box--col-02 {
    flex: 1;
  }
}

.follow-sns-box--dl {
  margin-top: 0;
}

.follow-sns-box--dl dt {
  font-weight: bold;
}

.follow-sns-box--dl dd {
  margin: 0;
}

/* 講座TOP_おすすめコンテンツ
--------------------------------------------------------- */

.p-blog {
  margin: 20px 0;
}

@media screen and (min-width: 568px) {
  .p-blog {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 10px;
    justify-content: space-between;
  }
}

@media screen and (min-width: 568px) {
  .p-blog .p-blog_box:not(:only-child) {
    width: calc(100% / 2 - 10px);
  }
}

@media screen and (min-width: 568px) {
  .p-blog .p-blog_box:only-child .p-box_contents{
    display: flex;
  }
}

.p-box_contents img {
  width: 100%;
}

@media screen and (min-width: 568px) {
  .p-box_contents img {
    max-width: 356px;
    width: 100%;
    margin-right: 16px;
  }
}

.p-blog_box a {
  color: #333;
}

@media screen and (min-width: 568px) {
  .p-blog_box a{
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}

.p-contents_col {
  margin: 16px 0 20px 0;
}

.p-contents_dl {
  margin-top: 0;
}

.p-contents_tag {
  display: inline-block;
  background-color: #d00;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  padding: 0 4px;
}

.p-contents_dl dd {
  margin: 0;
  line-height: 1.6;
  margin-top: 4px;
}


/* teacher
--------------------------------------------------------- */


/* teacher-virtual-target
--------------------------------------------------------- */

.teacher-virtual-target {
  margin-top: 20px;
  font-size: 0.8rem;
}

@media screen and (min-width: 568px) {
  .teacher-virtual-target {
    margin-right: auto;
    margin-left: auto;
    display: flex;
  }
}

.teacher-virtual-target dt, .teacher-virtual-target dd {
  padding: 5px;
}

@media screen and (min-width: 568px) {
  .teacher-virtual-target dt, .teacher-virtual-target dd {
    padding: 10px;
  }
}

.teacher-virtual-target dt {
  font-size: 0.8rem;
  color: #fff;
  text-align: center;
  background-color: #333;
}

@media screen and (min-width: 568px) {
  .teacher-virtual-target dt {
    width: 200px;
    font-size: 0.75rem;
  }
}

.teacher-virtual-target dd {
  margin: 0;
  font-size: 0.75rem;
  background-color: #e6e6e6;
}

@media screen and (min-width: 568px) {
  .teacher-virtual-target dd {
    flex: 1;
    font-size: 0.7rem;
  }
}

.teacher-profile-data {
  width: 100%;
  margin-bottom: 20px;
}

@media screen and (min-width: 568px) {
  .teacher-profile-data th {
    width: 20%;
  }
}

.teacher-profile-data th, .teacher-profile-data td {
  display: block;
}

@media screen and (min-width: 568px) {
  .teacher-profile-data th, .teacher-profile-data td {
    display: table-cell;
    padding: 15px;
  }
}

@media screen and (min-width: 568px) {
  .teacher-profile-data--book {
    display: flex;
    justify-content: space-between;
  }
}

.teacher-profile-data--book-img {
  margin-bottom: 10px;
  text-align: center;
}

@media screen and (min-width: 568px) {
  .teacher-profile-data--book-img {
    width: 100px;
    text-align: left;
  }
}

@media screen and (min-width: 568px) {
  .teacher-profile-data--book-text {
    flex: 1;
    margin-left: 20px;
  }
}


.teacher-blog-links li {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #ccc;
}

.teacher-blog-links--date {
  display: block;
  margin-bottom: 5px;
  color: #666;
  font-size: 0.8rem;
}


/* curriculum
--------------------------------------------------------- */

.curriculum-schedule {
  margin-top: 40px;
}

.curriculum-schedule--col-01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.curriculum-schedule--blocks-01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

.curriculum-schedule--block-01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 66%;
}

.curriculum-schedule--block-01--type-01 {
  width: 100%;
}

.curriculum-schedule--block-02 {
  width: 32%;
}

.curriculum-schedule--blocks-03 {
  width: 100%;
}

.curriculum-schedule--block-01 .curriculum-schedule--date {
  width: 100%;
}

.curriculum-schedule--block-01 .curriculum-schedule--koza-type-01 {
  width: 48%;
}

.curriculum-schedule--block-01 .curriculum-schedule--koza-type-02 {
  width: 100%;
}

.curriculum-schedule--col-02 {
  margin-top: 10px;
}

@media screen and (min-width: 568px) {
  .curriculum-schedule--cols-01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .curriculum-schedule--col-01 {
    width: 79%;
  }
  .curriculum-schedule--col-02 {
    margin-top: 0;
    width: 19%;
  }
}

.curriculum-schedule--koza-04 {
  margin-top: 2%;
}

.curriculum-schedule--koza--name, .curriculum-schedule--koza--text {
  text-align: center;
  line-height: 1.4;
  font-weight: bold;
}

.curriculum-schedule--koza--name {
  padding: 3px;
  color: #fff;
  font-size: 14px;
}

@media screen and (min-width: 568px) {
  .curriculum-schedule--koza--name {
    padding: 6px;
  }
}

.curriculum-schedule--koza--text {
  padding: 6px 3px;
  font-size: 13px;
}

@media screen and (min-width: 568px) {
  .curriculum-schedule--koza--text {
    padding: 24px 6px;
  }
}

.curriculum-schedule--koza-01 .curriculum-schedule--koza--name {
  background-color: #db4d4d;
}

.curriculum-schedule--koza-02 .curriculum-schedule--koza--name {
  background-color: #4e8dd8;
}

.curriculum-schedule--koza-03 .curriculum-schedule--koza--name {
  background-color: #bfb322;
}

.curriculum-schedule--koza-04 .curriculum-schedule--koza--name {
  background-color: #e08b4b;
}

.curriculum-schedule--koza-01 .curriculum-schedule--koza--text {
  color: #db4d4d;
}

.curriculum-schedule--koza-02 .curriculum-schedule--koza--text {
  color: #4e8dd8;
}

.curriculum-schedule--koza-03 .curriculum-schedule--koza--text {
  color: #bfb322;
}

.curriculum-schedule--koza-04 .curriculum-schedule--koza--text {
  color: #e08b4b;
}

.curriculum-schedule--koza-type-01,
.curriculum-schedule--koza-type-02 {
  height: 100%;
  background-color: #f2f2f2;
}

.curriculum-schedule--exam {
  padding: 6px 3px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  background-color: #f2f2f2;
  border: 3px solid #e6e6e6;
}

@media screen and (min-width: 568px) {
  .curriculum-schedule--exam {
    padding: 24px 6px;
  }
}

.curriculum-schedule--date {
  position: relative;
  margin-bottom: 10px;
  font-size: 13px;
  text-align: center;
}

@media screen and (min-width: 568px) {
  .curriculum-schedule--date {
    margin-bottom: 20px;
  }
}

.curriculum-schedule--date-type-01 {
  display: flex;
  align-items: center;
}

.curriculum-schedule--date-type-01:before, .curriculum-schedule--date-type-01:after {
  content: '';
  display: block;
  flex: 1;
  height: 2px;
  background-color: #808080;
}

.curriculum-schedule--date-type-01:before {
  margin-right: 10px;
}

.curriculum-schedule--date-type-01:after {
  margin-left: 10px;
}

.curriculum-schedule--date-type-02 {
  margin-bottom: 15px;
}

.curriculum-schedule--date-type-02:after {
  content: '';
  position: absolute;
  bottom: -10px;
  right: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 6px 0 6px;
  border-color: #808080 transparent transparent transparent;
  transform: translateX(50%);
}

.curriculum-schedule--pconly {
  display: none;
}

@media screen and (min-width: 568px) {
  .curriculum-schedule--pconly {
    display: block;
  }
  .curriculum-schedule--sponly {
    display: none;
  }
}


/* curriculum-overall
--------------------------------------------------------- */

.curriculum-overall {
  padding-top: 60px;
  margin-top: 40px;
  border-left: 4px solid #d00;
}

.curriculum-overall--section {
  padding-bottom: 60px;
}

@media screen and (min-width: 568px) {
  .curriculum-overall--section {
    display: flex;
    justify-content: space-between;
    padding-bottom: 100px;
  }
}

@media screen and (min-width: 568px) {
  .curriculum-overall--section-body {
    flex: 1;
  }
}

.curriculum-overall--section-title {
  position: relative;
  padding-left: 40px;
  margin-bottom: 10px;
  color: #d00;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
}

.curriculum-overall--section-title:before {
  position: absolute;
  top: 50%;
  left: 0;
  content: '';
  width: 30px;
  margin-right: 10px;
  border-bottom: 2px solid #d00;
  transform: translateY(-50%);
}

@media screen and (min-width: 568px) {
  .curriculum-overall--section-textarea {
    padding-left: 40px;
  }
}

.curriculum-overall--section-imgarea {
  padding: 30px;
  margin-left: 10px;
  background-color: #f2f2f2;
}

@media screen and (min-width: 568px) {
  .curriculum-overall--section-imgarea {
    width: 240px;
    margin-left: 30px;
  }
}

.curriculum-overall--section-img {
  width: 180px;
  margin-right: auto;
  margin-left: auto;
}


/* feature
--------------------------------------------------------- */

.feature-price-data {
  width: 100%;
  margin-bottom: 10px;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.75rem;
  line-height: 1.6;
}

.feature-price-data th, .feature-price-data td {
  padding: 5px;
  border: 1px solid #ccc;
}

@media screen and (min-width: 568px) {
  .feature-price-data th, .feature-price-data td {
    padding: 10px;
  }
}

.feature-price-data th {
  background-color: #efefef;
}

.feature-price-data td {
  text-align: center;
}

.feature-price-data .feature-price-data--width_01 {
  width: 25%;
}

.feature-price-data .feature-price-data--head {
  text-align: center;
  font-size: 1.1em;
  font-weight: bold;
  background-color: #efefef;
}

.feature-price-data .feature-price-data--foresight {
  font-weight: bold;
  background-color: #ffe2e2;
}


/* sokuhou
--------------------------------------------------------- */

.sokuhou .archive {
  border-top: 1px dotted #ccc;
}

.sokuhou .archive li {
  padding: 10px;
  border-bottom: 1px dotted #ccc;
}


/* 個別商品フッターリンク
--------------------------------------------------------- */

.product-guide_title{
  padding: 0.5em;
  /*margin-top: 30px;*/
  margin-bottom: 20px;
  font-size: 1.2rem;
  font-weight: bold;
  background-color: #ececec;
  line-height: 1.4;
  text-align: center;
}
.product-guide_cp{
  background: #003E87;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 5px;
}

.product-list_title{
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
  line-height: 1.4;
}

.product-list_course li{
  border-radius: 4px;
  padding: 1.5px 26px 1.5px 1.5px;
  background-color: #003E87;
  margin: 10px auto 0;
  position: relative;
}
.product-list_course li:after{
  content: '\E112';
  font-family: 'LigatureSymbols';
  font-size: 18px;
  color: white;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

.product-list_course .course-item{
  position: relative;
  display: flex;
  background-color: #fff;
  justify-content: space-between;
  align-items: center;
  border-radius: 4px 0 0 4px;
  padding: 6px 10px;
  background-color: #fff;
  color: #003E87;
}

.product-list_course .course-item:hover {
  text-decoration: none;
  opacity: 0.9;
}

@media (min-width: 768px) {
  .product-list_course .course-item_price {
    font-size: 1.1rem;
  }
}

.product-list .course-item_price {
  min-width: 90px;
  text-align: right;
}

.product-list .course-item_detail-name {
  font-weight: bold;

}
@media (min-width: 768px) {
  .product-list .course-item_detail-name {
    font-size: 18px;
  }
}

.product-list .course-item_detail-setkoza {
  font-size: 0.7rem;
  line-height: 1.4;
}


/*アイコンの色はpriceに合わせる*/
.product-list_course .course-item .icon-kyufu {
  display: inline-block;
  background-color: #e74c3c;
  color: #fff;
  padding: 2px 5px;
  font-size: 0.7rem;
  margin: 2px 0;
  line-height: 1.2;
}

.product-list_course .course-item .icon-refund {
  display: inline-block;
  background-color: #21b732;
  color: #fff;
  padding: 2px 5px;
  font-size: 0.7rem;
  margin: 2px 0;
  line-height: 1.2;
}

/* 個別商品ページ
--------------------------------------------------------- */

@media (min-width: 768px) {
  .page-course .price_cp_ban{
    margin-bottom: 0 !important;
  }
}
.course-page-heading{
  font-size: 1.5rem;
  margin: 20px 0;
  border-left: #DD0000 solid 5px;
  padding-left: 10px;
  line-height: 1.1;
  font-weight: bold;
  font-family: 'Folk Medium';
}
.course-page-heading span{
  font-size: .9rem;
  font-weight: lighter;
  color: #666;
}
@media (min-width: 768px) {
  .course-page-heading{
    font-size: 2.2rem;
    line-height: 1.1;
    padding-left: 16px;
    margin-bottom: 30px !important;
  }
}
.course-page-title{
  margin: 0 0 20px !important;
  line-height: 1.2 !important;
  font-size: 1.2rem !important;
  font-weight: bold;
  border-top: #d00 solid 3px !important;
  border-bottom: #ccc dotted 1px !important;
  padding: 20px 10px !important;
  border-left: none !important;
  text-align: center;
}
@media (min-width: 768px) {
  .course-page-title{
    font-size: 1.6rem !important;
    padding: 20px 15px !important;
    margin-bottom: 30px !important;
  }
}
.course-caption{
  color: #666;
  font-size: .8rem;
}

.course-description {
  padding: 15px 20px;
  font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
  font-size: 1rem;
  line-height: 1.6;
  background-color: #eee;
  letter-spacing: 1px;
}
@media (min-width: 768px) {
  .course-description {
    padding: 25px 40px;
    letter-spacing: 2px;
  }
}

.course-likethis_title {
  max-width: 600px;
  text-align: center;
  padding-bottom: 10px;
  font-size: 1.4rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 15px;
  border-bottom: 2px solid #d00;
  font-family: 'Folk Medium',"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media (max-width: 767px) {
  .course-likethis_title-text span{
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .course-likethis_title {
    font-size: 1.6rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.course-likethis_title:after{
  content: "/";
  display: block;
  margin-left: 5px;
  line-height: 1.2;
}
.course-likethis_title:before{
  content: "/";
  transform: scale(-1, 1);
  display: block;
  margin-right: 5px;
}

.course-likethis_list {
  display: flex;
  justify-content: center;
  padding: 0 20px;
}
.course-likethis_list ul li {
  font-size: 1rem;
  margin-bottom: 10px;
  line-height: 1.2;
  font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.course-likethis_list ul li:last-child{
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .course-likethis_list ul li {
    font-size: 1.2rem;
  }
}
.course-likethis_list .lsf-icon {
  color: #d00;
}

.productdetail .price_select__btn {
  min-height: 40px;
  background-color: #fff;
  border: 2px solid #d00;
  color: #d00;
  padding: 10px 0;
}

.productdetail .price_select__btn span {
  color: #d00;
}

.productdetail .price_tanka_title {
  margin-top: 25px;
}

.productdetail .price_select__title {
  text-align: center;
}

.course-price-heading{
  background: #666666;
  color: #fff !important;
  font-weight: bold;
  padding: 10px 15px;
  text-align: center;
  font-size: 1.4rem;
  border-top:none !important;
  border-bottom: 1px solid #fff !important;
}

.course-price-bg{
  background-color: #F3F3F3;
}
.course-price-kyozai{
  background-color: #F3F3F3;
  padding-top: 20px;
  padding-bottom: 20px;
}
.course-price-kyozai_title{
  background: #666666;
  color: #fff !important;
  text-align: center;
  padding: 10px;
  font-size: 1rem;
}
.course-price-kyozai_list{
  padding-left: 20px;
}
.course-price-kyozai_list li{
  list-style-type: disc;
  font-weight: bold;
}

.course-kyozaiimg {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
  margin-top: 15px;
}
.course-kyozaiimg_item{
  margin: 0 .25rem;
}
.course-kyozaiimg_item img {
  max-height: 200px;
  box-shadow: 1px 1px 1px #ccc;
}
@media (min-width: 768px) {
  .course-kyozaiimg_item{
    margin: 0 .5rem;
  }
}

.course-icon_refund {
  background-color: #21b732;
  color: #FFF;
  padding: 5px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 768px) {
  .course-icon_refund {
    font-size: .9rem;
    font-weight: lighter;
    line-height: 1.8;
  }
}
#main-contents .refund_box {
  margin-top: 0;
}
.course-schedule_btn{
  width: 80% !important;
  margin: auto !important;
  background-color: #d00 !important;
  color: #fff;
  border-radius: 4px !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 10px;
}

.course-schedule .table_default th,
.course-schedule .table_default td {
  padding: 8px !important;
}
.course-schedule table .kozaname {
  padding: 10px 5px !important;
  background-color: #222 !important;
  color: #fff;
  font-size: 1rem !important;
}

.course-page-links_title{
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  margin-bottom:20px;
}
@media (min-width: 768px) {
  .course-page-links_title{
    font-size: 1.8rem;
  }
}
.course-page-links_product_title{
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  font-size: 1.1rem;
  font-weight: bold;
}
.course-page-links_product_title:before,
.course-page-links_product_title:after {
  content: '';
  flex: 1;
  height: 2px;
  background-color: #ccc;
}
.course-page-links_product_title:before {
  margin-right: 1em;
}
.course-page-links_product_title:after {
  margin-left: 1em;
}
.course-page-links_product_list{
  padding: 15px;
  background-color: #f2f2f2;
}

.course-page-links_product_list li{
  margin-top: 8px;
  margin-bottom: 8px;
}

.course-page-links_product_list li a{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9rem;
  font-weight: bold;
  line-height: 1.4;
  border-radius: 4px;
  max-width: 300px;
  min-height: 40px;
  background-color: #fff;
  border: 2px solid #d00;
  color: #d00;
  padding: 10px 18px 10px 10px;
  margin-right: auto;
  margin-left: auto;
}
.course-page-links_product_list li .item-price{
  font-size: 90%;
  color: #ccc;
}
.course-page-links_product_list li a:after{
  position: absolute;
  right: 5px;
  font-family: 'LigatureSymbols';
  content: '\E112';
}
.course-page-links_product_list li a:hover{
  text-decoration: none;
}

@media (min-width: 768px) {
  .course-page-links_product_list{
    display: flex;
    flex-wrap: wrap;
  }
  .course-page-links_product_list li{
    width: 50%;
  }
  .course-page-links_product_list li a{
    margin:auto;
    font-size: 1rem;
  }

  .course-price-table{
  margin:0;
  }

}

@media (max-width: 767px) {
  .course-price-table .text_price{
    font-size: 2.4rem !important;
  }
  .course-price-table .but_order{
    max-width: 320px !important;
    font-size:1.2rem !important;
  }
  .course-price-table--chokutai .text_price{
    font-size: 2rem !important;
  }
  .course-price-table--chokutai .but_order{
    font-size:.9rem !important;
  }
  .course-price-table--chokutai .align_right{
    padding:10px 0 !important;
  }
  .course-price-table--chokutai tr > td{
    padding:15px 10px !important;
  }
}
@media (max-width: 350px) {
  .course-price-table--chokutai .text_price{
    font-size: 1.6rem !important;
  }
}




/* sticky table */
.sticky_table thead th {
  /* 縦スクロール時に固定する */
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  /* tbody内のセルより手前に表示する */
  z-index: 1;
  width: 60px;
  line-height: 1.3;
  text-align: left;
}
.sticky_table thead th:first-child {
  /* 行内の他のセルより手前に表示する */
  z-index: 2;
  font-size: 12px;
}
.sticky_table th:first-child {
  /* 横スクロール時に固定する */
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  width: 80px;
  font-size: 12px;
  line-height: 1.3;
  text-align: left;
}


.sticky_table {
  border-collapse: collapse;
}
.sticky_table {
  table-layout:fixed;
  width: 100%;
}

.sticky_table th, .sticky_table td {
  text-align: center;
  padding: 0.2rem 0.5rem;
  font-weight: normal;
  width: 60px;
  font-size: 28px;
  line-height: 1;
}
.sticky_table thead th {
  background: #424242;
  color: #E0E0E0;
  font-size: 10px;
  line-height: 1.3;
}
.sticky_table tbody td:nth-child {
  position: sticky;
  left: 0;
}
.sticky_table tbody tr:nth-child(even) th {
  background: #dccdc7;
}
.sticky_table tbody tr:nth-child(even) td {
  background: #f0f0f0;
}
.sticky_table tbody tr:nth-child(odd) th {
  background: #E4D8D4;
}
.sticky_table tbody tr:nth-child(odd) td {
  background: #FAFAFA;
}



.table-parent {
  width: 100vw;
  max-width: 100%;
  margin: 1em auto;
  border: 1px solid silver;
  max-height: 100vh;
  overflow: scroll;
}

td.this-koza{
  background-color: #edf4f8 !important;
  color: #4b93bc;
  position: sticky;
  left: 80px;
  z-index: 3;
}

td.this-koza:before{
  content : "" ;
  position : absolute ;
  top : 0 ;
  left : 0 ;
  width : 100% ;
  height : 100% ;
  border-bottom : 1px solid  ;
  border-right : 1px solid  ;
  border-left : 1px solid  ;
  border-color: #4e8dd8;
  box-sizing: border-box;
}
td.this-koza + td.this-koza{
  left: 140px;
}
td.this-koza + td.this-koza:before{
  border-left: none;
}
th.this-koza{
  background-color: #4b93bc !important;
  color: #fff;
  position: sticky;
  left: 80px;
  z-index: 4 !important;
}
th.this-koza + th.this-koza{
  left: 140px;
}
th.this-koza:before{
  content : "" ;
  position : absolute ;
  top : 0 ;
  left : 0 ;
  width : 100% ;
  height : 100% ;
  border : 1px solid #4b93bc ;
  box-sizing: border-box;

}

.course-voice-heading{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto !important;
  line-height: 1.2 !important;
  font-size: 1.2rem !important;
  padding-bottom: 10px !important;
  font-weight: bold;
  text-align: center;
  border-bottom: #ccc dotted 1px !important;
}
.course-voice-heading:after,
.course-voice-heading:before{
  content: "";
  display: block;
  width: 20px;
  height: 40px;
  background-image: url(/images/common/ico_award.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0 10px;
}
.course-voice-heading:before{
  transform: scale(-1, 1);
}

@media (min-width: 768px) {
  .course-voice-heading{
    font-size: 1.4rem !important;
  }
  .course-voice-heading:after,
  .course-voice-heading:before{
    width: 16px;
    height: 40px;
    margin: 0 10px;
  }
}
.course-voice-item{
  border: 1px solid #ccc;
  background: #eee;
  border-radius: 4px;
}
.course-voice-item:hover{
  text-decoration: none;
}
.course-voice-item_photo{
  width: 80px;
  height: 80px;
  overflow: hidden;
  border: 3px solid #eee;
  flex: 0 0 80px;

}
.course-voice-item_text p{
  line-height: 1.3;
  font-size: 14px;
}
@media (min-width: 768px) {
  .course-voice-item{
    width: 180px;
  }
  .course-voice-item_photo{
    position: relative;
    width: 120px;
    height: 110px;
    margin:0 auto 15px;
  }
  .course-voice-item_photo img{
    position: relative;
    top: -10px;
  }
}

.course-subsidy{
  background-color: #F2F2F2;
  padding: 1rem;
}
.course-subsidy_title{
  color:#dd0000;
  border-bottom: 1px solid;
  display: inline;
  padding-bottom: 4px;
  font-size: 1rem;
  line-height: 1.4;
}
.course-subsidy_subtitle{
  color:#F4595B;
}
.course-subsidy_price{
  max-width: 500px;
  margin:auto;
  background-color:#F4595B;
  color: #fff;
  text-align: center;
  padding: 15px 10px;
  font-size: 1.2rem;
}
.course-subsidy_price .price-display{
  line-height: 1;
}
.course-subsidy_price .price-arrow:after{
  display: block;
  font-family: "LigatureSymbols";
  content:"\E040";
  font-size: 30px;
  line-height: 1;
  margin: 5px 0;
}
.course-subsidy_price .price-real{
  line-height: 1.1;
}

@media (min-width: 768px) {
  .course-subsidy{
    padding: 2rem 1.5rem;
  }
  .course-subsidy_title{
    font-size: 1.4rem;
  }
  .course-subsidy_subtitle{
    font-size: 1.2rem;
  }
  .course-subsidy_price .price-display{
    font-size: 1.4rem;
  }
  .course-subsidy_price .price-arrow:after{
    content: "\E096";
    margin: 15px;
  }
}


.common-faq_q_text,
.common-faq_a_text{
  width: 100%;
  margin: 0 !important;
}
.common-faq_a_text small{
  font-size: .7rem;
  line-height: 1.6;
  display: inline-block;
}
@media (min-width: 768px) {
  .common-faq_q_text,
  .common-faq_a_text{
    font-size: 1.1rem;
  }
}

.common-faq_q{
  color: #d00;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid;
  padding: 1rem 0;
}
.common-faq_a{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 0;
}

.common-faq_q:before{
  content:"Q";
  background: #d00;
  color: #fff;
}
.common-faq_q:after{
  font-family: "LigatureSymbols";
  content:"\E108";
  display: inline-block;
  width: 20px;
}
@media (min-width: 768px) {
  .common-faq_q:after{
    font-size: 1.2rem;

  }
}
.common_accordion_01--active.common-faq_q:after{
  content:"\E08f";
}
.common-faq_a:before{
  content:"A";
  background: rgb(63, 82, 255);
  color: #fff;
}
.common-faq_q:before,
.common-faq_a:before{
  display: inline-block;
  margin-right: 10px;
  width: 40px;
  text-align: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}

.common-textlink{
  color: rgb(63, 82, 255);
  text-decoration: underline !important;
}
.common-textlink:hover{
  text-decoration: none;
}


/* プライス
--------------------------------------------------------- */

.price_kyozaiimg {
   margin: 10px;
}

.price_kyozaiimg__cap {
  margin-top: 10px;
  color: #666;
  font-size: 0.8rem;
}

.price_comparison td {
  text-align: center;
}

.price_comparison .price_comparison_th_01 {
  width: 15%;
  text-align: center;
}

.caption_box{
  margin:0 10px;
}

#main .price_title_01 {
  background-color: #fff;
  font-weight: bold;
  margin-bottom: 20px;
  margin: 20px 10px;
  position: relative;
  padding-bottom: 0.5em;
  border-bottom: 2px solid #ccc;
  letter-spacing: 1px;
  padding-left: 0px;
  padding-right: 0px;
  line-height: 1.6;
  border-top:none;
}

#main .price_title_01::after{
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 30%;
  border-bottom: 2px solid #d00;
}

.kyufu_box{
  margin: 0 10px;
}

.kyufu_box .ico_kyufu {
  display: block;
  line-height: 120%;
  color: #ffffff;
  text-align: center;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  padding-top: 8px;
  padding-right: 0;
  padding-bottom: 8px;
  padding-left: 0;
  background-color: #ff5231;
  font-size: 0.9rem;
  font-weight: normal;
  letter-spacing: 0.05em
}

.refund_box {
  display: block;
  background-color:#00b980;
  font-weight: normal;
  padding: 5px 0;
  text-align: center;
  color: #ffffff;
  font-size: 0.9rem;
  margin-top: 20px;
  margin-left: 10px;
  margin-right: 10px;
  letter-spacing: 0.05em
}


.price .price_body {
  padding-bottom: 20px;
  background-color: #efefef;
  margin: 0 10px;
}

.price .price_items {
  padding-top: 10px;
  margin-bottom: 10px;
  text-align: center;
  color: #666666;
  line-height: 1.4;
}

.price .price_item {
  padding: 4px 10px;
  color: #666666;
  font-size: 0.75rem;
  background-color: #efefef;
  border:1px solid #666666;
}

input[type="submit"] {
  -webkit-appearance: none;
}

.price .price_table {
  border-collapse: collapse;
  width: 100%;
  border-bottom: 2px solid #fff;
}

.price .price_table th, .price .price_table td {
  padding: 5px;
  border-left: 2px solid #fff;
}

.price .price_table th {
  color: #fff;
  font-size: 0.8rem;
  line-height: 1.4;
  background-color: #666666;
  font-weight: normal;
  width: 50%;
}

.price .price_table th:first-child, .price .price_table td:first-child {
  border-left: none;
}

.price .price_body__contents {
  width: 90%;
  margin: 20px auto 0;
}

.price .price_note {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  margin-bottom: 10px;
  color: #d00;
  font-size: 0.9rem;
  line-height: 1.4;
  border: 3px solid #d00;
}

.price .price_note__img {
  width: 30px;
  height: 30px;
  margin-right: 10px;
}

.price .price_note__text {
  flex: 1;
}

.price .price_title_tanka {
  display: flex;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 1.1rem;
  font-weight: bold;
}

.price .price_title_tanka:before, .price .price_title_tanka:after {
  content: '';
  flex: 1;
  height: 2px;
  background-color: #ccc;
}

.price .price_title_tanka:before {
  margin-right: 1em;
}

.price .price_title_tanka:after {
  margin-left: 1em;
}

.price_text_list_btn_01 {
  display: block;
  padding: 20px;
  margin: 10px;
  font-size: 0.9rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  border: 3px solid #ccc;
}

#main .but_order{
  margin: 10px auto;
  cursor: pointer;
  background-color: #d00;
  border-radius: 4px;
  color: #FFFFFF;
  box-shadow: 0 4px 0 0 rgb(0 0 0 / 15%);
  text-indent: 0;
  font-size: 1rem;
  border: none;
  width: 90%;
  max-width: 335px;
  letter-spacing: 0.05em
}


.box_schedule {
  padding: 10px 8px;
  margin: 10px;
  border: 1px solid #ccc;
  background: #eee;
}

.box_schedule .box_schedule__title {
  overflow: hidden;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.1;
  cursor: pointer;
}


.box_schedule .box_schedule__title .schedule_bot {
  padding: 3px 8px;
  background-color: #666;
  color: #fff;
  float: right;
  font-size: 70%;
  line-height: 130%;
  cursor: pointer;
  font-weight: normal;
}

.box_schedule .box_schedule__title .schedule_bot:hover {
  opacity: 0.7;
}

.box_schedule .open {
  margin-top: 0;
  margin-bottom: 0;
}

.box_schedule .open_next {
  width: 100%;
}

.box_schedule table {
  margin-top: 15px;
  word-break: normal;
  line-height: 1.4;
  background-color: #fff;
}

.box_schedule table {
  margin-top: 15px;
  word-break: normal;
  line-height: 1.4;
  background-color: #fff;
}

.box_schedule .schedule_att {
  margin-top: 10px;
  line-height: 1.4;
}

.price_product * {
  box-sizing: border-box;
}

.price_product .price_name{
  background-color: #fff;
  font-weight: bold;
  position: relative;
  padding-bottom: 1em;
  margin-bottom: 20px;
  border-bottom: 2px solid #ccc;
  letter-spacing: 1px;
  border-top: none;
  color: #333;
  padding-left: 0px;
  padding-right: 0px;
  line-height: 1.4;
}

.price_product .price_name::after{
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 30%;
  border-bottom: 2px solid #d00;
}

.price_product .price_name__main {
  flex: 1;
  color: #333;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: bold;
}

.price_tanka_title {
  display: flex;
  align-items: center;
  margin-top: 60px;
  margin-bottom: 20px;
  font-size: 1.2rem;
  font-weight: bold;
}

.price_tanka_contents .kyufu_box{
  margin: 0;
}

.price_tanka_title:before, .price_tanka_title:after {
  content: '';
  flex: 1;
  height: 2px;
  background-color: #ccc;
}

.price_tanka_title:before {
  margin-right: 1em;
}

.price_tanka_title:after {
  margin-left: 1em;
}


.price_tanka_contents > .price_tanka_product {
  margin-bottom: 0;
  border-top: 1px solid #666;
}

 .price_tanka_contents > .price_tanka_product:last-child {
      border-bottom: 1px solid #666;
}

.common_accordion_01 .price_tanka_product_title {
  cursor: pointer;
}

.price_tanka_product_title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
}

.price_tanka_product_title__main {
  font-size: 0.9rem;
  font-weight: bold;
  line-height: 1.4;
}

.price_tanka_product_title__ico {
  color: #333;
  margin-left: 10px;
}

.price_tanka_product__body {
  margin-bottom: 20px;
}

.common_accordion_01--active .lsf-icon.plus:before,
.common_accordion_02--active .lsf-icon.plus:before {
  content: '\E08f';
}

.price_tanka_product__cap {
  font-size: 0.8rem;
  margin-right: 10px;
  margin-bottom: 10px;
  margin-left: 10px;
}

.price_tanka_product__data {
  border-collapse: collapse;
  width: 100%;
  border-bottom: 2px solid #fff;
}

.price_tanka_product__data th, .price_tanka_product__data td {
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.price_tanka_product__data th {
  padding: 10px;
  color: #fff;
  font-size: 0.8rem;
  text-align: center;
  background-color: #666;
  font-weight: normal;
  width: 50%;
}

.price_tanka_product__data td {
  padding: 10px;
  font-size: 0.8rem;
  background-color: #efefef;
  width: 50%;
}

.price_tanka_product__data th:first-child, .price_tanka_product__data td:first-child {
  border-left: none;
}

.price_tanka_product__schedule {
  padding: 1em;
  margin-top: 10px;
  font-size: 0.85em;
  background-color: #fff;
}

.price_kyozai_title {
  position: relative;
  max-width: 335px;
  padding: 15px 20px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  font-size: 0.85rem;
  font-weight: bold;
  background-color: #666;
  border-radius: 4px;
  box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: normal;
}

.price_kyozai_title:hover {
  opacity: 0.7;
}

.price_kyozai_title:active {
  box-shadow: none;
  transform: translate3d(0, 4px, 0);
}

.price_kyozai_title__ico {
  position: absolute;
  bottom: 50%;
  right: 0;
  transform: translateY(50%);
  font-weight: normal;
}

.price_kyozai {
  margin-top: 20px;
}

.price_kyozai__heading {
  padding: 0.3em;
  margin-bottom: 10px;
  color: #333;
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
}

.price_kyozai__list {
  margin-bottom: 20px;
  font-size: 0.8rem;
  line-height: 1.6;
}


.price_kyozai__list ul {
  padding-left: 20px;
}

.price_kyozai__list li {
  list-style-type: disc;
  margin-top: 10px;
}

.price_kyozai__list__title {
  padding-bottom: 0.5em;
  margin-bottom: 10px;
  color: #333;
  font-size: 1.1em;
  font-weight: bold;
  border-bottom: 2px solid #ccc;
}

.price_kyozai__note {
  color: #666;
  font-size: 0.75rem;
  line-height: 1.8;
  margin:0 10px;
}

.price_tanka_product__submit_area {
  padding: 20px 0;
  background-color: #efefef;
}

.price_tanka_product__submit {
  -webkit-appearance: none;
  box-sizing: border-box;
  display: block;
  width: 90%;
  max-width: 150px;
  height: 62px;
  box-sizing: border-box;
  margin: 0 auto;
  border: none;
  padding: 15px 5px;
  text-align: center;
  color: #fff;
  font-size: 0.9rem;
  box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.15);
  cursor: pointer;
  background: #d00;
  border-radius: 4px;
  transition: all 0.2s ease;
  letter-spacing: 0.05em
}

.price_tanka_product__submit.btn--disabled {
  cursor: auto;
  background: #adadad;
}

.price_product_note {
  margin: 1em 1em 0;
  color: #666;
  font-size: 0.75rem;
  line-height: 1.8;
}

.price_basic_select input[type=checkbox] {
  width: 20px;
  height: 20px;
}
.common_note_01{
  margin:0 10px;
}

@media (min-width: 768px) {
  .price_kyozaiimg {
    margin: 20px 0;
  }

  .box_schedule {
    margin: 30px 0;
  }

  .box_schedule .box_schedule__title {
    font-size: 20px;
  }

  .price_comparison .price_comparison_th_01 {
    width: 20%;
  }

  #main .price_title_01{
    margin-left: 0;
    margin-right: 0;
  }

  #main .caption_box {
    margin: 0 0 10px;
  }

  .kyufu_box {
    margin-left: 0;
    margin-right: 0;
  }

  .kyufu_box .ico_kyufu {
    line-height: 110%;
    color: #ffffff;
    text-align: center;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-top: 8px;
    padding-right: 0;
    padding-bottom: 8px;
    padding-left: 0;
    background-color: #ff5231;
    letter-spacing: 0.05em
  }

  .price .price_body {
    margin-left: 0;
    margin-right: 0;
  }

  .price .price_table th{
  width: auto;
  }

  .price_product .price_name__main{
    color: #333;
    font-weight: bold;
    font-size: 20px;
  }

  #main.price .refund_box{
    margin-left: 0px;
    margin-right: 0px;
  }

  .price_tanka_product__cap {
    margin-right: 0;
    margin-left: 0;
  }

  .price_tanka_product__data td {
    padding: 15px 20px;
  }

  .price_kyozai {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

 .price_kyozai__list {
    width: 48%;
  }

  .price_tanka_product__submit {
    font-size: 1rem;
  }

  #main .but_order{
      margin: 10px auto;
      cursor: pointer;
      background-color: #d00;
      border-radius: 4px;
      color: #FFFFFF;
      box-shadow: 0 4px 0 0 rgb(0 0 0 / 15%);
      text-indent: 0;
      height: 62px;
      width: 150px;
      font-size: 1rem;
      border: none;
    }
    .price_product_note{
      margin-left: 0;
      margin-right: 0;
    }

    #main .caption_box{
    border-bottom:0;
    }

    .price_product {
      margin-bottom: 50px;
    }

}

/* プライス 単科
--------------------------------------------------------- */

.price_product .price_caption,
.price_product_tanka .price_caption {
  font-size: 0.9rem;
  line-height: 1.8;
  margin-right: 10px;
  margin-bottom: 1em;
  margin-left: 10px;
}
.price_product .price_caption p,
.price_product_tanka .price_caption p{
  font-size: 0.9rem;
  line-height: 1.8 !important;
  margin-right: 10px;
  margin-bottom: 1em;
  margin-left: 10px;
}

.price_tanka_table {
  border-collapse: collapse;
  width: 100%;
  border-bottom: 2px solid #fff;
}

.price_tanka_table th, .price_tanka_table td {
  border-left: 1px solid #fff;
}

.price_tanka_table th {
  padding: 10px;
  color: #f1f1f1;
  font-size: 0.8rem;
  text-align: center;
  background-color: #666;
  font-weight: normal;
}

.price_tanka_table td {
  padding: 15px 20px;
  background-color: #efefef;
}

.price_tanka_table th:first-child, .price_tanka_table td:first-child {
  border-left: none;
  width: 50%;
}

.price_tanka_table__kyozai {
  padding-left: 20px;
}

.price_tanka_table__kyozai li {
  list-style-type: disc;
  margin-bottom: 10px;
  line-height: 1.4;
}

.price_tanka_table__kyozai li:last-child {
  margin-bottom: 0;
}


.table_f_size__m .price_tanka_table__kyozai li {
  font-size: 1rem;
}

.price_tanka_table__viewprice {
  text-align: center;
}

.price_tanka_table__schedule {
  padding: 10px;
  margin-top: 10px;
  font-size: 0.8em;
  background-color: #fff;
}

@media (min-width: 768px) {

  .price_product .price_caption,
  .price_product_tanka .price_caption {
    margin-right: 0;
    margin-left: 0;
  }

  .price_tanka_table__kyozai {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 430px;
    margin-top: 5px;
  }

  .price_tanka_table__kyozai li {
    width: 46%;
  }

  .price_tanka_table__schedule {
    font-size: 0.9em;
  }

}


/* プライス 再受講
--------------------------------------------------------- */

.price_retry_limit {
  padding: 20px;
  font-weight: bold;
  text-align: center;
  background: #f6f6f6;
}

.price_retry_limit__label {
  padding: 5px;
  color: #fff;
  font-size: 13px;
  background: #d00;
}

.price_retry_limit__date {
  color: #d00;
  font-size: 16px;
  padding-top: 10px;
}


@media (min-width: 768px) {
  .price_retry_limit__label {
    font-size: 16px;
  }

  .price_retry_limit__date {
    font-size: 24px;
  }
}


.price_retry_timer {
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: center;
}

.price_retry_timer__label {
  margin-bottom: 5px;
  font-size: 14px;
}

.price_retry_timer__num {
  color: #f00;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
}


@media (min-width: 768px) {

  .price_retry_timer {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .price_retry_timer__label {
    margin-bottom: 10px;
  }

  .price_retry_timer__num {
    font-size: 40px;
  }
}

.price_retry_note {
  padding: 0 10px;
  font-size: 13px;
  text-align: center;
}



/* 解答速報・試験講評
--------------------------------------------------------- */
.table_sokuhou {
  width: 100%;
  border-bottom: #ccc solid 1px;
  border-collapse: collapse;
}

.table_sokuhou th,
.table_sokuhou td {
  width: 20%;
  padding: 10px 5px;
  border-top: #CCC solid 1px;
  text-align: center;
}

.table_sokuhou th {
  background: #efefef;
  font-weight: bold;
}

.sokuhou_pagelink_list {
  margin: 0 10px;
}

.sokuhou_pagelink_list li {
  padding: 5px;
  margin-bottom: 10px;
  border-bottom: 1px solid #ccc;
}

.sokuhou_pagelink_list a {
  display: block;
}

@media (min-width: 768px) {

  .sokuhou_pagelink_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
  }

  .sokuhou_pagelink_list li {
    width: 48%;
    padding: 10px;
  }
}

/*------------------------------------------------------- */
/*  * #main-contents ▼ creat@202110
--------------------------------------------------------- */
/*  heading
--------------------------------------------------------- */
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap);
[data-ruby] {
  position: relative;
}

[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 18px;
  line-height: 1;
}

.koza-feature-heading {
  background-color: #fff;
  color: #dd0000;
  position: relative;
  font-weight: bold;
  font-size: 1.4rem;
  padding: 10px 0;
  letter-spacing: 2px;
  line-height: 1.6;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica', Arial, Noto, 'Hiragino Kaku Gothic ProN', sans-serif;
}
@media (min-width: 768px) {
  .koza-feature-heading {
    font-size: 1.6rem;
    padding: 20px 0 10px;
  }
}
.koza-feature-heading:after {
  content: "";
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  position: absolute;
  border-top: 15px solid #fff;
  border-right: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid transparent;
  z-index: 2;
}

/*spのセレクタにcssがあるため#main-contentsで強制上書き*/
#main-contents .koza-feature-mv {
  text-align: center;
  padding: 20px 10px;
  position: relative;
}
@media (min-width: 768px) {
  #main-contents .koza-feature-mv {
    padding: 30px 0 50px;
  }
}
#main-contents .koza-feature-mv:before {
  content: "";
  display: block;
  width: 100%;
  height: 60%;
  position: absolute;
  top: 0;
  left: 0;
  background: #F2F2F2;
  z-index: 1;
}

#main-contents .koza-feature-mv_img {
  position: relative;
  z-index: 1;
}
#main-contents .koza-feature-mv_title {
  background-color: inherit;
  /*reset*/
  position: relative;
  z-index: 1;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 1px;
  padding: 0;
  /*reset*/
  margin: 0;
  /*reset*/
  margin-bottom: 15px;
}
@media (min-width: 350px) {
  #main-contents .koza-feature-mv_title {
    font-size: 2rem;
  }
}
@media (min-width: 768px) {
  #main-contents .koza-feature-mv_title {
    letter-spacing: 6px;
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
}
#main-contents .koza-feature-mv_title .title-accent {
  display: flex;
  justify-content: center;
  align-items: center;
}
#main-contents .koza-feature-mv_title .title-accent::after, #main-contents .koza-feature-mv_title .title-accent:before {
  content: "";
  display: block;
  height: 30px;
  width: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/images/koza/common/title-accent_01.svg");
}
@media (min-width: 768px) {
  #main-contents .koza-feature-mv_title .title-accent::after, #main-contents .koza-feature-mv_title .title-accent:before {
    height: 44px;
    width: 30px;
  }
}
#main-contents .koza-feature-mv_title .title-accent:before {
  margin-right: 10px;
}
@media (min-width: 768px) {
  #main-contents .koza-feature-mv_title .title-accent:before {
    margin-right: 15px;
  }
}
#main-contents .koza-feature-mv_title .title-accent:after {
  transform: scale(-1, 1);
  margin-left: 10px;
}
@media (min-width: 768px) {
  #main-contents .koza-feature-mv_title .title-accent:after {
    margin-left: 15px;
  }
}

mark {
  color: inherit;
  /*reset*/
}

.mark-yellow {
  background: linear-gradient(#FFEF7B 60%, #FFEF7B 30%);
}

.mark-pink {
  background: linear-gradient(rgba(255, 255, 255, 0) 65%, #ffdff1 35%);
}

.mark-blue {
  background: linear-gradient(rgba(255, 255, 255, 0) 65%, #94d4ff 35%);
}

/*side nav*/
.list-navigation_icon:before {
  font-family: 'LigatureSymbols';
  margin-right: 5px;
  font-size: 20px;
}

.list-navigation_icon--feature:before {
  content: "\E04a";
}

.list-navigation_icon--koza:before {
  content: "\E174";
}

.list-navigation_icon--successful:before {
  content: "\E035";
}

.list-navigation_icon--info:before {
  content: "\E030";
}

.list-navigation_icon--service:before {
  content: "\E11f";
}

/*既存反映*/
/* koza_sp.cssが残ってしまうので強制上書き */
/*fonts*/
#main-contents {
  width: 100%;
  background-color: #fff;
}
#main-contents.main-contents_gray {
  background-color: #E8E8E8;
}
@media (min-width: 768px) {
  #main-contents {
    max-width: 708px;
    /*mx1.5remで660pxにするための対応、今後デザインする際に横幅は検討する*/
    margin: auto;
  }
}
#main-contents p {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0;
  line-height: 1.8;
  letter-spacing: 1px;
  font-family: 'Noto Sans JP', sans-serif;
}
#main-contents p:not(:last-of-type) {
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  #main-contents p {
    font-size: 15px;
    letter-spacing: 0.1em;
    line-height: 2;
  }
}
#main-contents .main-block {
  background-color: #fff;
  padding: 32px 1rem;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  #main-contents .main-block {
    padding: 2rem 1.5rem;
  }
}
#main-contents .main-section {
  padding: 1rem 1rem;
  margin-bottom: 50px;
}
@media (min-width: 768px) {
  #main-contents .main-section {
    padding: 2rem 1.5rem;
  }
}
#main-contents .main-heading-h2 {
  position: relative;
  padding-bottom: 0.5em;
  margin-bottom: 30px;
  font-size: 1.3rem;
  font-weight: normal;
  border-bottom: 2px solid #ccc;
  letter-spacing: 1px;
  border-top: none;
  /*reset*/
  font-weight: bold;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media (min-width: 768px) {
  #main-contents .main-heading-h2 {
    letter-spacing: 2px;
    padding-left: 5px;
    font-size: 1.5rem;
    padding-right: 5px;
  }
}
#main-contents .main-heading-h2:after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 40%;
  border-bottom: 2px solid #d00;
}
@media (min-width: 768px) {
  #main-contents .main-heading-h2:after {
    width: 30%;
  }
}
#main-contents .main-heading-h3 {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 20px;
  margin-bottom: 20px;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.4;
  border-left: 2px solid #d00;
  letter-spacing: 1px;
}
@media (min-width: 768px) {
  #main-contents .main-heading-h3 {
    letter-spacing: 2px;
    margin-bottom: 30px;
  }
}
#main-contents .main-heading-h4 {
  padding: 0.5em 1em;
  margin-bottom: 20px;
  font-size: 1.2rem;
  font-weight: bold;
  border-left: 2px solid #d00;
  background-color: #ececec;
  letter-spacing: 1px;
}
@media (min-width: 768px) {
  #main-contents .main-heading-h4 {
    letter-spacing: 2px;
  }
}
#main-contents .main-heading-h5 {
  padding-bottom: 0.5em;
  margin-bottom: 20px;
  font-size: 1.2rem;
  font-weight: normal;
  border-bottom: 2px solid #ccc;
  letter-spacing: 1px;
}
@media (min-width: 768px) {
  #main-contents .main-heading-h5 {
    letter-spacing: 2px;
  }
}
#main-contents .main-heading-h6 {
  margin-bottom: 10px;
  font-size: 1.1rem;
}
#main-contents .main-heading-center {
  text-align: center;
  position: relative;
  padding-bottom: 0.5em;
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: normal;
  border-bottom: 2px solid #ccc;
  letter-spacing: 1px;
  border-top: none;
  /*reset*/
  font-weight: bold;
  margin-left: 0;
  margin-right: 0;
}
@media (min-width: 768px) {
  #main-contents .main-heading-center {
    letter-spacing: 2px;
    padding-left: 5px;
    font-size: 1.5rem;
    padding-right: 5px;
  }
}
#main-contents .main-heading-center span{
  display: inline-block;
}
#main-contents .main-heading-center:after {
  content: '';
  position: absolute;
  bottom: -2px;
  width: 40%;
  border-bottom: 2px solid #d00;
  position: absolute;
  left: 50%;
  transform:  translateX(-50%);
}
@media (min-width: 768px) {
  #main-contents .main-heading-center:after {
    width: 30%;
  }
}

.successful-section {
  background-color: #FFF9E1 !important;
}
.successful-section_heading {
  position: relative;
  padding-bottom: 0.5em;
  margin-top: 0px;
  margin-bottom: 30px;
  font-size: 1.5rem;
  border-bottom: 2px solid #dd0000;
  letter-spacing: 1px;
  text-align: center;
}

.successful-link {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 20px;
}
.successful-link_item {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 15px 15px;
}
@media (min-width: 768px) {
  .successful-link_item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 320px;
    margin-bottom: 15px;
  }
}
.successful-link_item a {
  display: block;
  color: initial;
}
.successful-link_item a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.successful-link_item .item-profile {
  color: #777;
}
.successful-link_item .item-catch {
  border-left: 2px solid #dd0000;
  padding-left: 6px;
  line-height: 1.6;
  font-weight: bold;
  font-size: 1.2rem;
}
.successful-link_item .item-text {
  font-size: .9rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .successful-link_item .item-text {
    font-size: 1rem;
  }
}
.successful-link_item .item-link {
  display: block;
  width: 100%;
  max-width: 320px;
  border-radius: 8px;
  position: relative;
  border: 1px solid;
  text-align: center;
  color: #fff;
  background-color: #dd0000;
  font-size: .9rem;
  margin: auto auto 0;
  padding: 10px 5px;
  line-height: 1;
}
.successful-link_item .item-link:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg) translateY(-80%);
}

.koza-student-voice {
  background-color: #FFF9E1;
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 0px;
}
.koza-student-voice_title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: bold;
}
@media (min-width: 768px) {
  .koza-student-voice_title {
    font-size: 1.8rem;
    letter-spacing: 2px;
  }
}
.koza-student-voice_title:before {
  content: "";
  display: block;
  height: 52px;
  width: 50px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/images/koza/common/ico_megaphone.svg");
}
@media (min-width: 768px) {
  .koza-student-voice_title:before {
    height: 58px;
    width: 56px;
    margin-right: 5px;
  }
}
.koza-student-voice_title:after {
  content: "";
  display: block;
  height: 52px;
  width: 56px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/images/koza/common/student-voice_title-right.svg");
}
@media (min-width: 768px) {
  .koza-student-voice_title:after {
    height: 58px;
    width: 62px;
  }
}
@media (min-width: 768px) {
  .koza-student-voice_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.koza-student-voice .voice-item {
  position: relative;
  padding-bottom: 50px;
}
@media (max-width: 767.98px) {
  .koza-student-voice .voice-item:not(:last-child) {
    margin-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .koza-student-voice .voice-item {
    flex: 0 0 48%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 25px;
  }
}
.koza-student-voice .voice-item_comment {
  position: relative;
  background: #FFFFFF;
  padding: 10px 15px;
  border: 2px solid #DFDFDF;
  border-radius: 10px;
}
@media (min-width: 768px) {
  .koza-student-voice .voice-item_comment {
    padding: 18px 20px;
    width: 100%;
  }
}
.koza-student-voice .voice-item_comment:before, .koza-student-voice .voice-item_comment:after {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  right: 110px;
}
.koza-student-voice .voice-item_comment:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-width: 15px;
  border-bottom-width: 20px;
  border-left-width: 37px;
  border-right-width: 0px;
  margin-right: 2px;
  border-top-color: #FFFFFF;
}
.koza-student-voice .voice-item_comment:before {
  border-color: rgba(30, 144, 255, 0);
  border-top-width: 16px;
  border-bottom-width: 24px;
  border-left-width: 40px;
  border-right-width: 0px;
  margin-top: 2px;
  border-top-color: #DFDFDF;
}
.koza-student-voice .voice-item_comment .person-info {
  color: #858585;
}
.koza-student-voice .voice-item_img {
  position: absolute;
  right: 20px;
  bottom: 0px;
}

.under_triangle-below {
  position: relative;
  padding-bottom: 34px;
  margin: 15px 0;
}
@media (min-width: 768px) {
  .under_triangle-below {
    margin: 20px 0;
  }
}
.under_triangle-below:before, .under_triangle-below:after {
  content: "";
  left: 50%;
  transform: translate(-50%, 0);
  position: absolute;
  border-top: 15px solid #ececec;
  border-right: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid transparent;
  z-index: 1;
}
.under_triangle-below:before {
  top: 0;
}
.under_triangle-below:after {
  top: 19px;
}

.common-sns{
  gap: 10px;
  flex-wrap: wrap;
}

.common-sns-link {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid;
  width: 170px;
  padding: 3px 10px;
  border-radius: 50px;
}
.common-sns-link:hover {
  text-decoration: none;
}
.common-sns-link:before {
  margin-right: 6px;
}
.common-sns-link.sns-yt {
  color: #FF0000;
}
.common-sns-link.sns-yt:before {
  width: 16px;
  content: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2029%2021%22%20style%3D%22enable-background%3Anew%200%200%2029%2021%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23FFFFFF%3B%7D%20.st1%7Bfill%3A%23FF0000%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2211.3%2C13.7%2019%2C9.7%2011.3%2C5.7%20%22%2F%3E%20%3Cpath%20class%3D%22st1%22%20d%3D%22M28.2%2C4.3c-0.1-1-0.5-2-1.1-2.8c-0.8-0.8-1.8-1.2-2.8-1.2c-4-0.3-10-0.3-10-0.3s-6%2C0-10%2C0.3%20c-1.1%2C0-2.1%2C0.4-2.8%2C1.2c-0.6%2C0.8-1%2C1.8-1.1%2C2.8C0.1%2C5.9%2C0%2C7.4%2C0%2C9v2.2c0%2C1.5%2C0.1%2C3.1%2C0.3%2C4.6c0.1%2C1%2C0.5%2C2%2C1.1%2C2.8%20c0.9%2C0.8%2C2%2C1.2%2C3.2%2C1.2c2.3%2C0.2%2C9.7%2C0.3%2C9.7%2C0.3s6%2C0%2C10-0.3c1.1%2C0%2C2.1-0.4%2C2.8-1.2c0.6-0.8%2C1-1.8%2C1.1-2.8c0.2-1.5%2C0.3-3.1%2C0.3-4.6%20V9C28.5%2C7.4%2C28.4%2C5.9%2C28.2%2C4.3z%20M11.3%2C13.7v-8l7.7%2C4L11.3%2C13.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.common-sns-link.sns-twitter {
  color: #0f1419;
  position: relative;
}
.common-sns-link.sns-twitter:before {
  content: url(/images/sogo/top/icon-x.svg);
  height: 18px;
  width: 17px;
}

.common-sns-link.sns-blog {
  color: #08319f;
  position: relative;
}
.common-sns-link.sns-blog:before {
  content: url(/images/sogo/top/icon-blog.svg);
  height: 22px;
  width: 23px;
}

.common-title-flow {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .common-title-flow {
    font-size: 1.4rem;
  }
}
.common-title-flow_num {
  flex-shrink: 0;
  background: red;
  color: #fff;
  padding: 10px 8px;
  border-radius: 10px;
  line-height: 1;
  margin-right: 1rem;
}
.common-title-flow_text {
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 2px;
}

.common-title-accent {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .common-title-accent {
    font-size: 1.6rem;
  }
}
.common-title-accent::after, .common-title-accent:before {
  content: "";
  display: block;
  height: 26px;
  width: 12px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/images/koza/common/title-accent_01.svg");
}
@media (min-width: 768px) {
  .common-title-accent::after, .common-title-accent:before {
    height: 40px;
    width: 26px;
  }
}
.common-title-accent:before {
  margin-right: 10px;
}
@media (min-width: 768px) {
  .common-title-accent:before {
    margin-right: 15px;
  }
}
.common-title-accent:after {
  transform: scale(-1, 1);
  margin-left: 10px;
}
@media (min-width: 768px) {
  .common-title-accent:after {
    margin-left: 15px;
  }
}

.common-point-accent {
  position: relative;
}
.common-point-accent:after {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  right: -9px;
  height: 12px;
  width: 12px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/images/koza/common/title-accent_02.svg");
}

.text-system-flow {
  max-width: 600px;
  margin: auto;
}
.text-system-flow_item {
  display: flex;
  align-items: center;
  position: relative;
  padding: 20px 15px;
}
.text-system-flow_item .item-text {
  color: #fff;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .text-system-flow_item .item-text {
    font-size: 1.2rem;
  }
}
.text-system-flow_item .item-num {
  font-family: 'LigatureSymbols';
  background-color: #fff;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-right: 10px;
  flex-shrink: 0;
  font-size: 1.6rem;
  padding-top: 2px;
  letter-spacing: -1px;
}
@media (min-width: 768px) {
  .text-system-flow_item .item-num {
    width: 40px;
    height: 40px;
  }
}
.text-system-flow_item:nth-child(1) {
  background-color: #E87988;
  border-color: #E87988;
}
.text-system-flow_item:nth-child(1) .item-num {
  color: #E87988;
}
.text-system-flow_item:nth-child(2) {
  background-color: #E87979;
  border-color: #E87979;
}
.text-system-flow_item:nth-child(2) .item-num {
  color: #E87979;
}
.text-system-flow_item:nth-child(3) {
  background-color: #E88879;
  border-color: #E88879;
}
.text-system-flow_item:nth-child(3) .item-num {
  color: #E88879;
}
.text-system-flow_item:nth-child(4) {
  background-color: #E89779;
  border-color: #E89779;
}
.text-system-flow_item:nth-child(4) .item-num {
  color: #E89779;
}
.text-system-flow_item:not(:last-child) {
  border-bottom: 2px solid #fff;
}
.text-system-flow_item:not(:last-child):before, .text-system-flow_item:not(:last-child):after {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, 0);
}
.text-system-flow_item:not(:last-child):after {
  border-color: rgba(255, 255, 255, 0);
  border-top-width: 15px;
  border-bottom-width: 8px;
  border-left-width: 15px;
  border-right-width: 15px;
  border-top-color: inherit;
}
.text-system-flow_item:not(:last-child):before {
  border-color: rgba(30, 144, 255, 0);
  border-top-width: 16px;
  border-bottom-width: 8px;
  border-left-width: 15px;
  border-right-width: 15px;
  margin-top: 2px;
  border-top-color: #fff;
}


.top-passrate-reason,
.top-support {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .top-passrate-reason,
  .top-support {
    justify-content: space-between;
  }
}
.top-support_img {
  width: 48%;
  max-width: 214px;
}
.top-support_img:nth-child(3) {
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
.top-support_img:nth-child(3){
  margin-top: 0;
  }
}

.top-passrate-reason_link {
  width: 48%;
  max-width: 214px;
  display: block;
  border: 1px solid #dd0000;
}
@media (max-width: 767.98px) {
  .top-passrate-reason_link {
    margin-bottom: 10px;
  }
}
.top-passrate-reason_link a {
  display: block;
  color: #333;
  border: 2px solid #fff;
}
.top-passrate-reason_link a:hover {
  text-decoration: none;
}
.top-passrate-reason_link .link-img {
  text-align: center;
}
.top-passrate-reason_link .link-text {
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 8px 10px;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .top-passrate-reason_link .link-text {
    font-size: 15px;
  }
}
.top-passrate-reason_link .link-text:after {
  content: "\E112";
  font-family: 'LigatureSymbols';
  display: flex;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  align-items: center;
  justify-content: center;
  margin-left: 5px;
  text-align: center;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  border-radius: 50%;
  background-color: #dd0000;
}
@media (min-width: 768px) {
  .top-passrate-reason_link .link-text:after {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
  }
}

/* 中小 スペシャルページ 20220526
--------------------------------------------------------- */
.special{
  font-size: 100%;
  color:#333;
}

.special_reed{
    color: #333;
}

.special_reed p:first-child{
   font-size: 1.5rem;
   line-height: 1.4;
   font-weight: bold;
}

.special_reed_text{
   font-size: 1rem;
  text-align: left;
  line-height: 1.7;
}

.special_reed_text span{
    color: #EE3B2C;
    font-weight: bold;
}


.special_product .heading{
    background-color: #f5f5f5;
    color: #333;
    font-weight: bold;
    font-size: 1.8rem;
    padding: 16px 10px;
    text-align: center;
    letter-spacing: 1.4px;
    line-height: 1.4;
}

.product_box .catch{
    font-size: 1rem;
    color: #EE3B2C;
    font-weight: bold;
    padding: 0 10px;
}

.product_box .catch span{
    background-color: #EE3B2C;
    color: #fff;
    padding: 4px 8px;
    border-radius: 3px;
    margin-right:10px;
}

.product_box .product_name{
    font-weight: bold;
    font-size: 2rem;
    padding: 0 10px 0 18px;
    border-left: 4px solid #EE3B2C;
    margin-left: 10px;
}

.product_box .product_name span{
    font-size: 1rem;
    color: #707070;
    font-weight: normal;

}

.product_box p{
    font-size: 1rem;
}

.product_price{
    background-color: #f5f5f5;
}

.product_price .price_popup{
    position: relative;
    color: #fff;
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.0;
    font-weight: bold;
    width: 50%;
    padding: 8px 0;
    background: #EE3B2C;
    border-radius: 3px;
    margin: 0 auto;
    bottom: 10px;
}

.product_price .price_popup::after{
    position: absolute;
    content: "";
    border-top: 10px solid #EE3B2C;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
}

.product_price .price_box_left p{
    text-align: center;
    margin-bottom:0;
    color: #707070;
}

.text_border {
    position: relative;
}

.text_border::after {
    content: "";
    transform: rotate(7deg);
    width: 100%;
    border-top: 1px solid #707070;
    position: absolute;
    top: 50%;
    left: 0;
}

.product_price .price_box_left span:nth-child(2),
.product_price .price_box_right span
{
font-size: 1rem;
padding-left: 2px;
}

.product_price .price_box_left p:nth-child(2)
{
    font-weight: bold;
    font-size: 1.5rem;
     line-height: 1;
}

.product_price .price_box_right p{
    text-align: center;
    margin-bottom:0;
    color: #EE3B2C;
}

.product_price .price_box_right p:nth-child(2)
{
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 1;
}


.product_price .price_arrow{
    position: relative;
    display: block;
    padding-left: 20px;
    color: #707070;
    text-decoration: none;
}

.product_price .price_arrow::before{
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    border: 0;
    border-bottom: solid 2px #707070;
    border-right: solid 2px #707070;
    position: absolute;
    left: 50%;
    margin-top: -6px;
    transform: rotate(45deg);
}

.product_detail{
border: 3px solid #f5f5f5;

}

.product_detail .detail_txt{
    background-color: #f5f5f5;
    padding: 16px;
    font-size: 0.9rem;
}

.product_detail .detail_txt ul li:nth-child(odd){
    font-weight: bold;
    padding-bottom:4px
}

.product_detail .detail_txt ul li:nth-child(even){
    padding-bottom:16px;
    line-height: 1.6;
}

.detail_btn{
    background-color: #EE3B2C;
    width: 100%;
    max-width: 320px;
    font-weight: bold;
    cursor: pointer;
}

.detail_btn_text{
  color: #333;
  font-size: 0.75rem;
  text-align: center;
  margin-top: 40px;
  margin-bottom: 16px;
}

.special_chusho_btn {
    background-color: #333;
}

.special input[type="submit"]{
    background-color: #EE3B2C;
    border-style: none;
    border-color: none;
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
}

.special_overview{
    background-color: #f5f5f5;
}

.special_overview p{
    font-size: 0.75rem;
}
.special_overview p:nth-child(odd){
    font-weight: bold;
}

.special_overview p:nth-child(2){
    border-bottom: 1px solid #ccc;
    padding-bottom: 32px;
}

@media screen and (min-width: 599px) {
  .special_reed p:first-child,
  .special_reed_text{
  text-align: center;
  }

  .product_box .catch{
    padding: 0px;
  }

  .product_box .product_name{
      margin-left: 0;
  }

  .product_price .price_popup{
      width: 20%;
  }

  .price_box_frame{
      display: flex;
      justify-content: center;
      align-items: center;
      max-width: 600px;
      margin: 0 auto;
  }

   .product_price .price_box_left p{
     line-height: 1.4;

   }

   .product_price .price_box_left p:nth-child(2){
     line-height: 1.2;
    }

    .product_price .price_box_left{
      flex:1 0 30%;
    }

   .product_price .price_arrow{
      flex:2 0 10%;
    }

   .product_price .price_box_right{
      flex:1 0 30%;
   }


  .product_price .price_box_left p:nth-child(3),
    .product_price .price_box_right p:nth-child(3)
  {
    font-size: 0.75rem;
  }

  .product_price .price_arrow::before{
      border-top: solid 2px #707070;
      border-right: solid 2px #707070;
      border-bottom: 0;
  }

  .product_detail{
      width: 926px;
      display: flex;
      align-items: center;
  }

  .detail_img{
  width: 100%;
  flex:1;
  }

  .detail_txt{
  width: 400px;
  }

}

.caption_red{
color: #d00;
}

/* 教材のページ数と講義動画の一覧
--------------------------------------------------------- */

.c-material-media {
	max-width:100%;
	margin:0 auto 24px;
}
.list_chunk {
	width: 100%;
	border-collapse: collapse;
}
.list_chunk th, .list_chunk td {
  border: #999 solid 1px;
  border-bottom: #999 solid 1px !important;
  border-left: #999 solid 1px !important;
  padding: 15px;
  text-align: right;
  font-weight: bold;
}
.list_chunk th {
    width: 20%;
    background: #efefef;
    text-align: center !important;
}
.c-material-media_title {
	box-sizing: border-box;
	background: #c00;
	color: #333;
	padding: 5px;
	margin: 40px 0 10px;
	font-weight: bold;
	color: #fff;
  font-size: 13px;
  padding-left: 8px;
  text-align: center;
}

.subjects_name {
  font-size: 13px !important;
  text-align: left !important;
  font-weight: bold;
  border-radius: 50%;
}


.duration_close-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  margin: 0 auto;
  padding: 8px 0;
  background-color: #666;
  border-radius: 4px;
  color: #fff;
  font-size: 13px;
  font-weight: normal;
  text-decoration: none !important;
  cursor: pointer;
}


.chunk_item {
  font-size: 12px !important;
  text-align: left !important;
}

.chunk_media-time {
  font-weight: bold;
  background: #fee;
}

.media-time_total {
  font-size: 12px !important;
}

.table_note_01 {
  margin-top: 0.5em;
  margin-bottom: 0.5em !important;
  color: #666;
  font-size: 0.8rem;
  text-align: right;
}


/* =========================================================
 price_heibai_info
========================================================= */

.price_heibai_info {
  position: fixed;
  right: 0;
  bottom: 130px;
  z-index: 10000;
  display: flex;
}

.price_heibai_info * {
  box-sizing: border-box;
}

.price_heibai_info__main {
  margin-right: -340px;
  min-width: 300px;
  padding: 12px 8px;
  background-color: #fff;
  border-radius: 4px 0 4px 4px;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.2);
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1); /* easeOutQuint */
}

@media (min-width: 768px) {
  .price_heibai_info {
    bottom: 186px;
  }
  .price_heibai_info__main {
    margin-right: -440px;
    min-width: 400px;
  }
}

.js-fs-widget--open .price_heibai_info__main {
  margin-right: 0;
}


/* price_heibai_info__main_title
--------------------------------------------------------- */

.price_heibai_info__main_title {
  margin-bottom: 5px;
  font-size: 0.9rem;
  line-height: 1.3;
  text-align: center;
  font-weight: bold;
}

@media (min-width: 768px) {
  .price_heibai_info__main_title {
    font-size: 1.1rem;
  }
}

.price_heibai_info__main_title .lsf-icon {
  color: #d00;
}


/* price_heibai_info__main_btnarea
--------------------------------------------------------- */

.price_heibai_info__main_btnarea {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.price_heibai_info__main_btnarea .price_heibai_info__main_btn + .price_heibai_info__main_btn {
  margin-top: 8px;
}

.price_heibai_info__main_btn {
  position: relative;
  width: 240px;
  min-height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  background-color: #d00;
  border-radius: 4px;
}

.price_heibai_info__main_btn:hover {
  text-decoration: none;
  opacity: 0.7;
}

.price_heibai_info__main_btn:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 16px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translate(0, -80%);
}

.price_heibai_info__main_btn:link,
.price_heibai_info__main_btn:visited {
  color: #fff;
}


/* price_heibai_info__nav
--------------------------------------------------------- */
.price_heibai_info__nav_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 40px;
  height: 40px;
  padding: 0;
  background-color: #333;
  border: none;
  outline: none;
  cursor: pointer;
}

.price_heibai_info__nav_btn:after {
  content: '';
  width: 8px;
  height: 8px;
  margin-left: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(225deg);
  transition: all 0.4s ease;
}

.js-fs-widget--open .price_heibai_info__nav_btn:after {
  margin-left: -4px;
  transform: rotate(45deg);
}



/*ポップアップ　共通*/
@keyframes popup-fade-in {
	0% {
		opacity: 0;
    bottom:0;
	}
  50%{
    opacity: 0;
  }
	100% {
		opacity: 1;
	}
}
@keyframes popup-fade-out {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.p-popup-push{
  position: fixed;
  right: 0;
  bottom: 82px;
  z-index: 10000;
  animation: popup-fade-in 2s;
}
@media (min-width: 768px) {
  .p-popup-push{
    right: 100px;
    bottom:100px;
  }
}




/* カートポップアップデザイン*/
.p-cart-popup{
  margin:0 10px;
  display: flex;
  align-items: center;
}
.p-cart-popup_text{
  position: relative;
  background-color: #333;
  border-radius: 4px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 12px;
}
@media (min-width: 768px) {
  .p-cart-popup_text{
    padding: 16px;
    font-size: 14px;
  }
}
.p-cart-popup_text:before{
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -10px;
  border: 8px solid transparent;
  border-left: 15px solid #333;
}
.p-cart-popup_text span{
  display: inline-block;
}
.p-cart-popup_link{
  flex-shrink:0;
  margin-left: 8px;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  border:1px solid #fff;
  background-color: #d00;
  color: #fff;
}
@media (min-width: 768px) {
  .p-cart-popup_link{
    font-size: 14px;
  }
}
.p-cart-popup_close{
  position: absolute;
  left: -10px;
  top:-10px;
}
.p-cart-popup_close {
  display: block;
  width: 24px;
  height: 24px;
  border: 1px solid #333; /* 枠の調整 */
  border-radius: 50%;  /* 丸みの度合い */
  background: #fff; /* ボタンの背景色 */
}

.p-cart-popup_close::before, .p-cart-popup_close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px; /* 棒の幅（太さ） */
  height: 14px; /* 棒の高さ */
  background: #333; /* バツ印の色 */
  border-radius: 2px;
}

.p-cart-popup_close::before {
  transform: translate(-50%,-50%) rotate(45deg);
}

.p-cart-popup_close::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

.p-cart-popup_cart-icon{
  flex: 0 0 40px;
  margin-left: 8px;
  display: block;
  width: 40px;
  height: 34px;
  background-image: url(/images/koza/common/icon_cart_popup.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  .p-cart-popup_cart-icon{
    flex: 0 0 50px;
    width: 50px;
    height: 43px;
  }
}


/*アクティビティポップアップデザイン*/
.p-activity{
  width: 100%;
}
@media (min-width: 768px){
  .p-activity{
    width: 250px;
  }
}

.p-activity-popup{
  position: relative;
  background-color: #333;
  border-radius: 4px;
  padding: 8px 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 12px;
  margin:0 10px;
}
@media (min-width: 768px){
  .p-activity-popup{
    justify-content: flex-start;
  }
}

.p-activity-popup a{
  color: #fff;
}

.p-activity-popup_icon{
  padding-right: 8px;
}
@media (min-width: 768px){
  .p-activity-popup_icon{
    padding-right: 10px;
  }
}

.p-activity-popup_close{
  position: absolute;
  right: -10px;
  top:-10px;
}

.p-activity-popup_close{
  display: block;
  width: 24px;
  height: 24px;
  border: 1px solid #333; /* 枠の調整 */
  border-radius: 50%;  /* 丸みの度合い */
  background: #fff; /* ボタンの背景色 */
}

.p-activity-popup_close::before, .p-activity-popup_close::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px; /* 棒の幅（太さ） */
  height: 14px; /* 棒の高さ */
  background: #333; /* バツ印の色 */
  border-radius: 2px;
}

.p-activity-popup_close::before{
  transform: translate(-50%,-50%) rotate(45deg);
}

.p-activity-popup_close::after{
  transform: translate(-50%,-50%) rotate(-45deg);
}

.js-activity--fadeout{
  animation: popup-fade-out 2s;
  animation-fill-mode: forwards;
}


/*あなたにピッタリの受講料*/
.p-course-guide-table{
  width: 100%;
}
.p-course-guide-table tbody th{
  background-color: #F5F5F5;
  width: 50%;
}
.p-course-guide-table th,
.p-course-guide-table td{
  line-height: 1.4;
  padding: 16px;
  border: 1px solid #999;
  text-align: left;
  font-size: 0.8rem;
}
.p-course-guide-table a{
  position: relative;
  font-weight: bold;
  color: #0068B7;
  text-decoration: underline !important;
}
.p-course-guide-table a:after{
  content: "\E040";
  position: absolute;
  font-family: 'LigatureSymbols';
  margin-left: 5px;
}
.p-course-guide-table_category{
  padding: 8px 16px !important;
  background-color: #333;
  text-align: center !important;
  color: white;
}
.p-course-guide-table span{
  display: inline-block;
}
@media (min-width: 768px){
  .p-activity-popup_icon{
    padding-right: 10px;
  }
  .p-course-guide-table th,
  .p-course-guide-table td{
    font-size: 1rem;
  }
}

/*top最低金額*/
.p-top-course-price-minimum{
  background-color: #FFEBEE;
  text-align: center;
  padding: 16px;
}
.p-top-course-price-minimum_title{
  background-color: #E60012;
  color: white !important;
  font-weight: bold;
  line-height: 1.2;
  font-size: 1rem;
  padding: 8px 16px;
}
.p-top-course-price-minimum_price{
  margin-top: 16px;
  font-size: 1.2rem;
  line-height: 1;
}
.p-top-course-price-minimum_price-sub{
  font-size: 12px;
  margin-bottom: 16px;

}
.p-top-course-price-minimum_price span{
  color: #E60012;
  font-weight: bold;
}
.p-top-course-price-minimum_caption{
  font-size: 12px;
}
@media (min-width: 768px){
  .p-top-course-price-minimum_title{
    font-size: 1.2rem;
  }
  .p-top-course-price-minimum_price{
    margin-top: 24px;
    font-size: 1.4rem;
  }
}


/*topスライダー*/
#top_slider .slides img{
  padding: 0;
}



/*top 特徴*/
@media (max-width: 768px){
  .p-top-feature-wrap{
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
.p-top-feature{
  background-color: #F5F5F5;
  padding: 24px 16px;
}
.p-top-feature:not(:last-child){
  margin-bottom: 32px;
}
.p-top-feature_num{
  background-color: #E60012;
  text-align: center;
  color: white;
  display: block;
  border-radius: 25px;
  line-height: 1;
  padding: 8px 16px;
  margin:0 auto 8px;
  font-size: 12px;
  width: 120px;
}
.p-top-feature_text .mark-yellow{
  font-weight: bold;
}
.p-top-feature_image{
  width: 100%;
  margin-bottom: 24px;
  text-align: center;
}
.p-top-feature_image img{
  width: 100%;
}
.p-top-feature_link{
  margin-top: 32px;
}
@media (min-width: 768px){
  .p-top-feature_num{
    margin-bottom: 16px;
    font-size: 14px;
  }
  .p-top-feature{
    background-color: #F5F5F5;
    padding: 32px;
  }
}

.c-contents-link-btn{
  position: relative;
  text-align: center;
  color: white;
  padding: 16px;
  border-radius: 8px;
  background-color: #E60012;
  padding-right: 32px;
  display: block;
  font-size: 1rem;
  margin: auto;
  max-width: 400px;
  line-height: 1.4;
}
.c-contents-link-btn:hover{
  text-decoration: none;
}
@media (min-width: 768px){
  .c-contents-link-btn{
    font-size: 1.2rem;
  }
}
.c-contents-link-btn:before,
.c-contents-link-btn::after{
  content: "";
  position: absolute;
}
.c-contents-link-btn:before{
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
	width: 20px;
	height: 20px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #fff;
}
.c-contents-link-btn:after{
	right: 18px;
  top: 50%;
  transform: translateY(-50%);
	width: 6px;
	height: 6px;
	border-top: 2px solid #E60012;
	border-right: 2px solid #E60012;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
  margin-top: -4px;
}
.c-contents-link-btn-sub{
  position: relative;
  background-color: #FFEBEE;
  border: 1px solid #E60012;
  border-radius: 4px;
  padding: 16px;
  text-align: center;
  display: block;
  color: #E60012;
  margin: auto;
  max-width: 400px;
  line-height: 1.2;
}
.c-contents-link-btn-sub:hover{
  text-decoration: none;
}

@media (min-width: 768px){
  .c-contents-link-btn-sub{
    font-size: 1.2rem;
  }
}
.c-contents-link-btn-sub:after{
  content: "";
  position: absolute;
	right: 18px;
  top: 50%;
  transform: translateY(-50%);
	width: 6px;
	height: 6px;
	border-top: 2px solid #E60012;
	border-right: 2px solid #E60012;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
  margin-top: -3px;
}

/*top合格プロセス*/
.p-top-process-wrap{
  background-color: #FFEBEE;
  padding: 16px 0;
  margin-left: -1rem;
  margin-right: -1rem;
}


.p-top-process{
  background-color: white;
  padding: 16px;
}

.p-top-process .mark-yellow{
  font-weight: bold;
}
.p-top-process:not(:last-child){
  margin-bottom: 32px;
}
@media (min-width: 768px){
  .p-top-process-wrap{
    padding: 24px;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
  .p-top-process{
    background-color: white;
    padding: 24px;
  }
}

/*合格者の声*/
.p-top-successful{
  display: flex;
  flex-wrap: wrap;
}

.p-top-successful_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 15px;
  background-color: white;
  border-radius: 4px;
  border: 1px solid #E60012;
  padding: 0 16px 16px;

}
@media (min-width: 768px){
  .p-top-successful{
    gap: 0 20px;
  }
  .p-top-successful_list{
    width: 320px;

  }

}
.p-top-successful-item{
  width: 100%;
  display: block;
  color: #333;
}

.p-top-successful a{
  text-decoration: none;
}
@media (min-width: 768px){
  .p-top-successful_list{
    padding: 0 16px 24px;
  }

}
.p-top-successful-item_head{
  background-color: #333;
  padding: 16px 16px;
  color: white;
  text-align: center;
  margin: 0 -16px;
  line-height: 1;
}
.p-top-successful-item_photo{
  text-align: center;
  margin-top: 16px;
}

.p-top-successful-item_profile{
  padding-top: 8px;
  color: #999;
  text-align: center;
}
.p-top-successful-item_catch{
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.4;
  margin-top: 8px;
}
@media (min-width: 768px){
  .p-top-successful-item_catch{
    font-size: 1.4rem;
  }
}
.p-top-successful-item_text{
  color: #333;
  line-height: 1.6;
  font-size: 1rem;
}
.p-top-successful-item_link{
  display: block;
  width: 100%;
  max-width: 320px;
  border-radius: 4px;
  position: relative;
  border: 1px solid;
  text-align: center;
  color: #fff;
  color: #E60012;
  background-color: #FFEBEE;
  font-size: .9rem;
  margin: auto auto 0;
  padding: 10px 5px;
  line-height: 1;
}
.p-top-successful-item_link:after{
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #E60012;
  border-right: 1px solid #E60012;
  transform: rotate(45deg) translateY(-80%);
}


/*講師紹介*/
.p-teacher-content-heading{
  display: flex;
  align-items: center;
}
.p-teacher-content-heading span{
  font-size: 1.6rem;
  display: flex;
  align-items: center;
}
.p-teacher-content-heading span:first-child:after{
  content: "";
  display: inline-block;
  width: 1px;
  height: 24px;
  background-color: #333;
  margin: 0 8px;
}
.p-teacher-profile{
  background-color: #eee;
  padding: 16px;
}
@media (min-width: 768px){
  .p-teacher-content-heading span:first-child:after{
    margin: 0 16px;
  }
  .p-teacher-profile{
    background-color: #eee;
    padding: 24px;
  }
}
.p-teacher-content-message_title{
  font-size: 1.3rem !important;
  font-weight: bold;
  display: flex;
}
.p-teacher-content-message_title:before{
  content: "";
  position: relative;
  top: 16px;
  display: inline-block;
  margin-right: 8px;
  width: 32px;
  background-color: #E60012;
  height: 2px;
}
@media (min-width: 768px){
  .p-teacher-content-message_title{
    font-size: 1.5rem !important;
  }

}


/********************************
*************** 商品情報
*********************************/

.c-koza-product_body {
  background: #eee;
  padding: 16px 8px;
}
@media (min-width: 768px) {
  .c-koza-product_body {
    padding: 24px 32px;
  }
}
.c-koza-product_name {
  background: #333;
  color: white;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  padding: 16px 8px !important;
}
.c-koza-product_name span {
  display: inline-block;
}
@media (min-width: 768px) {
  .c-koza-product_name {
    padding: 16px !important;
  }
}
.c-koza-product_option-label {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.c-koza-product_option-label .p-label {
  width: 100%;
  padding: 4px 8px;
  text-align: center;
  color: white;
}
.c-koza-product_option-label .p-label--kyufu {
  background: #ff5231;
}
.c-koza-product_option-label .p-label--refund {
  background: #00b980;
}
.c-koza-product_description {
  font-size: 1rem;
  margin: 0;
  line-height: 1.8 !important;
}
.c-koza-product_course {
  display: flex;
  justify-content: space-between;
  gap: 2px;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .c-koza-product_course {
    gap: 2px;
  }
}
.c-koza-product_notice {
  color: #666;
  font-size: 12px !important;
  line-height: 1.8 !important;
  margin-top: 24px !important;
}
.c-koza-product_notice a {
  text-decoration: underline;
}

.c-product-item {
  width: 100%;
  flex-grow: 1;
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 2px;
}
.c-product-item--row {
  flex: 1;
  flex-direction: column;
  gap: 0px;
}
.c-product-item--row:nth-last-child(n+2), .c-product-item--row:nth-child(n+2) {
  flex: 0 0 calc(3/6 * 100% - 2px);
}
.c-product-item--row .c-product-item_addcart {
  padding-top: 0;
}
.c-product-item--multiple {
  flex: 0 0 calc(6/6 * 100% - 2px);
  flex-direction: column;
}
.c-product-item--multiple .c-product-item_addcart {
  padding-top: 0;
}
.c-product-item--multiple .price_kyozai__list {
  width: 100% !important;
}
.c-product-item_name {
  width: 100%;
  background: #666;
  color: white;
  text-align: center;
  font-weight: bold;
  padding: 8px;
  display: flex;
  justify-content: center;
  height: 100%;
  font-size: 12px;
  align-items: center;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .c-product-item_name {
    padding: 16px;
  }
}
.c-product-item_price {
  width: 100%;
  min-width: 150px;
  padding: 16px 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #FFF9E1;
  height: 100%;
  padding: 16px 8px;
}
@media (min-width: 768px) {
  .c-product-item_price {
    padding: 24px 16px;
  }
}
.c-product-item_price .c-price-label {
  border-radius: 25px;
  background: #d00;
  color: white;
  text-align: center;
  display: block;
  font-size: 12px;
  line-height: 1;
  padding: 4px 16px;
  width: fit-content;
}
.c-product-item_price .c-price-off {
  text-align: center;
  font-size: 10px;
  color: #666;
  line-height: 1.2;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
@media (min-width: 768px) {
  .c-product-item_price .c-price-off {
    font-size: 12px;
  }
}
.c-product-item_price .c-price-value {
  text-align: center;
  margin-bottom: 0;
  font-family: "Oswald", sans-serif;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.3;
  color: #333;
}
@media (min-width: 768px) {
  .c-product-item_price .c-price-value {
    font-size: 32px;
  }
}
.c-product-item_price .c-price-tax {
  text-align: center;
  font-size: 12px;
}
.c-product-item_addcart {
  width: 100%;
  min-width: 150px;
  background: #FFF9E1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 16px;
}
@media (min-width: 768px) {
  .c-product-item_addcart {
    padding: 24px 16px;
  }
}
.c-product-item form {
  width: 100%;
}
.c-product-item .but_order {
  min-width: 120px;
  display: block;
  max-width: 280px !important;
  margin: auto !important;
}

.c-koza-product-set {
  padding: 16px 8px;
  background: #eee;
}
@media (min-width: 768px) {
  .c-koza-product-set {
    padding: 24px;
  }
}
.c-koza-product-set_title {
  color: white;
  background: #666;
  padding: 2px 8px;
  text-align: center;
}
.c-koza-product-set_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 24px;
}
@media (min-width: 768px) {
  .c-koza-product-set_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-koza-product-set_list .p-list-item {
  font-weight: bold;
  border: 2px solid #ccc;
  padding: 8px;
  display: flex;
  line-height: 1.4;
  align-items: center;
  background: white;
}
.c-koza-product-set_list .p-list-item:before {
  margin-right: 4px;
}
.c-koza-product-set_list .p-list-item--icon-text:before {
  content: "";
}
.c-koza-product-set_list .p-list-item--none {
  background: #eee;
  color: #999;
  overflow: hidden;
  position: relative;
}
.c-koza-product-set_list .p-list-item--none:after {
  content: "";
  position: absolute;
  width: 120%;
  height: 2px;
  background: rgba(204, 204, 204, 0.5);
  left: 0;
}

.c-koza-product-accordion:last-child() .c-koza-product_name {
  border-bottom: 1px solid #222;
}
.c-koza-product-accordion .c-koza-product_name {
  cursor: pointer;
  position: relative;
  text-align: left;
  background-color: white;
  color: #222;
  border-bottom: 1px solid #ccc;
}
.c-koza-product-accordion .c-koza-product_name:after {
  position: absolute;
  right: 8px;
  content: "＋";
}
.c-koza-product-accordion .c-koza-product_name.common_accordion_01--active {
  background-color: #222;
  color: white;
}
.c-koza-product-accordion .c-koza-product_name.common_accordion_01--active:after {
  content: "ー";
}

.top_outline {
  background-color: #E8E8E8;
  padding: 10px 10px;
  font-family: 'Noto Sans JP', sans-serif;
}

.top_outline_textarea {
  padding: 20px 20px;
  border: 1px solid #ddd;
  background-color: #fff;
}
.top_outline_textarea_text {
  margin-bottom: 9px;
}
.top_outline_textarea a{
  display: inline-block;
  position: relative;
  font-size: 12px;
  margin: 0 12px 0 auto;
}
.top_outline_textarea a:after {
  position: absolute;
  font-family: 'LigatureSymbols';
  content: '\E112';
  margin-left: 7px;
}

@media (min-width: 768px) {

.top_outline {
  background-color: #fff;
  padding: 0;
}

.top_outline_img img {
  height: 11em;
  width: 100%;
  object-fit: cover;
}
.top_outline_textarea {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  gap: 20px;
}
.top_outline_textarea_text{
  width: 75%;
}
.top_outline_textarea a{
  display: inline-block;
  position: relative;
  font-size: 12px;
    margin: 0 12px 0 auto;
}
.top_outline_textarea a:after {
  position: absolute;
  font-family: 'LigatureSymbols';
  content: '\E112';
  margin-left: 7px;
}
}


.top-teachear_area{
  flex-wrap: wrap;
  gap: 20px;
}
.top-teachear_img{
  border:1px solid #eee;
  width: 150px;
}
.top-teachear_area_box{
  width: 100%;
}

@media (min-width: 768px) {
  .top-teachear_area{
  flex-wrap: nowrap;
  }
.top-teachear_area_box{
  flex-grow: 2;
  width: 50%;
  max-width: 600px;
}

.top-teachear_img{
  width: 210px;
}
}
