/* COMMON,FONT
====================================================*/
html {
    scroll-behavior: smooth;
}
* {
    font-size: 14px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

img {
    width: 100%;
}

.card-body img {
    width: 30%;
    float: left;
    margin: 0px 15px 5px 5px;
}

a {
    color: inherit;
    font-size: inherit;
    text-decoration-line: none;
}
a:hover {
    text-decoration: none;
    /* color:inherit;
  position:relative;
  top:1px;
  left:1px;
  opacity:1!important; */
}
.dis_blk {
    display: block;
}

.en {
    letter-spacing: -0.2px;
    word-spacing: -0.5px;
}
.fs11em {
    font-size: 1.1em;
}
.fs12em {
    font-size: 1.2em;
}
.fs08em {
    font-size: 0.8em;
}
.fs09em {
    font-size: 0.9em;
}
.fs1em {
    font-size: 1em;
}
.fwb {
    font-weight: bold;
}
.txt_frmA {
    background: #e80000 !important;
    color: #fff;
    padding: 0 4px !important;
}
.txt_frmB {
    background: #0000e8 !important;
    color: #fff;
    padding: 0 4px !important;
}
.mb20 {
    margin-bottom: 20px;
}
.mb40 {
    margin-bottom: 40px;
}
.mt100 {
    margin-top: 100px;
}

.wrapper {
    width: 100%;
    max-width: 100%;
    margin-bottom: 100px;
    margin-top: 80px;
}
.main_container {
    margin-top: 60px;
}
.header_summer2024 {
    position: fixed;
    z-index: 20;
    border-bottom: 6px solid #fff2a9;
    width: 100%;
    height: 80px;
    background: rgba(255, 255, 255, 0.8);
    /* backdrop-filter: blur(3px); */
    top: 0;
}
.header_inner {
    width: 90%;
    margin: 10px auto 0;
    /* padding-left: 5%; */
}

section {
    margin-bottom: 100px;
}

h1:not([class]) {
    position: relative;
    font-size: 1.6rem;
    line-height: 2rem;
    color: #043d78;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3rem;
}

.notes {
    border-bottom: 1px solid #555;
    margin-bottom: 1em;
    padding-bottom: 0.25em;
    font-size: 1.3em;
}
h2:not([class]) {
    color: #008dc9;
    font-size: 1.6rem;
    font-weight: bold;

    padding-bottom: 0.25em;
    margin-bottom: 1em;
    position: relative;
}
h2:not([class]):before {
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 8px;
    transform: skew(-45deg);
    background-image: repeating-linear-gradient(90deg, transparent 0px, transparent 4px, rgb(0, 141, 201) 3px, rgb(0, 141, 201) 8px);
    content: "";
}
h2.policy {
  position: relative;
  font-size:1.8rem;
  line-height:2.4rem;
  text-align:center;
  margin-bottom:3rem;
}
h2.policy span {
  font-size:.75em;
}
h2.policy:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 80px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #282828;
}
h2 span {
    color: #043d78;
    font-size: 0.75em;
}
h3 {
    font-size: 1.5em;
}
h3 span {
    font-weight: bold;
}
h3.boot_ttl,
h3.eiken_ttl,
h3.academic_ttl {
    font-size: 1.2rem;
    font-weight: bold;
    padding: 0.5em;
    margin-bottom: 1em;
    color: #fff;
}
h3.boot_ttl {
    border-top:3px double #ff8c8c;
    border-bottom:3px double #ff8c8c;
    color:#ff8c8c;
}
h3.eiken_ttl {
    border-top: 3px double #b2c449;
    border-bottom:3px double #b2c449;
    color:#b2c449;
}
h3.academic_ttl {
    border-top: 3px double #7db9e3;
    border-bottom:3px double #7db9e3;
    color:#7db9e3;
}

h4 {
    font-size: 1.2em;
    font-weight: bold;
    border-left:6px solid #008dc9;
    padding-left:.5em;
    margin-bottom:.5em;
}
h4 span {
    color: #666;
    font-size: 0.75em;
}
h4.testimonial_list {
    color: #666;
    font-size: 1em;
    border-bottom: 1px solid #666;
    padding-bottom: 0.5em;
}
h4.testimonial_list:before {
    content: "■";
    font-family: FontAwesome;
    margin-right: 0.5em;
    font-size: 0.75em;
    vertical-align: 0.1em;
}
.catch_txt {
    font-size: 2.2rem;
    line-height: 1.4em;
    font-weight: bold;
    text-align: center;
    color: #0095d0;
}
.catch_txt_session {
    font-size: 1.8rem;
    line-height: 1.2em;
    font-weight: bold;
    text-align: center;
    color: #0095d0;
    position: relative;
}
.catch_txt_session:before {
    position: absolute;
    left: 38%;
    bottom: -15px;
    width: 20%;
    height: 10px;
    transform: skew(-45deg);
    background-image: repeating-linear-gradient(90deg, transparent 0px, transparent 4px, rgb(0, 141, 201) 3px, rgb(0, 141, 201) 8px);
    content: "";
}
.catch_date {
    border-top: 1px solid #0095d0;
    border-bottom: 1px solid #0095d0;
    padding: 0.5em 0 0;
    /* display: inline-block; */
    margin: 0 auto 2em;
    font-size: 1em;
    font-weight: bold;
}
.catch_date span {
    font-size: 0.8em;
    font-weight: bold;
}

.outline {
    font-size: 1.2rem;
    line-height: 1.4em;
}
.outline span {
    font-size: 1.4em;
}
.policy_point {
    position: relative;
    padding: 3px 50px 3px 10px;
    background: #043d78;
    z-index: 9;
    display: inline-block;
    margin-bottom: 0;
}
.policy_point:after {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 0;
    height: 0;
    border: none;
    border-left: solid 24px transparent;
    border-top: solid 38px #f3fbff;
}
.policy_point span {
    font-size: 1.3em;
    /* font-weight:bold; */
    color: #fff;
    line-height: 1.3;
}
.policy_point span:before {
    content: "POINT";
    font-size: 0.6em;
    margin-right: 0.5em;
}
.skills {
    padding: 30px;
    background: #fff;
    border: 1px solid #043d78;
    min-height: 475px;
}
.speciality {
    border: 1px solid #043d78;
    background: #fff;
    padding: 25px;
    box-shadow: 5px 5px #043d78;
    min-height: 210px;
}
.curriculum_core summary,
.curriculum_uni summary,
.curriculum_sch summary {
    position: relative;
    padding: 1em;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    display: block;
    list-style: none;
}
.curriculum_core summary {
    background: #043d78;
}
.curriculum_uni summary {
    background: #195731;
}
.curriculum_sch summary {
    background: #142948;
}
.curriculum_core summary:before,
.curriculum_uni summary:before,
.curriculum_sch summary:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0dd";
    font-weight: 900;
    margin-right: 0.5em;
}
.curriculum_frm {
    border: 1px solid #043d78;
    line-height: 1.4em;
    padding: 1em;
    background: #fff;
    min-height: 185px;
}
/* J PREPの教育方針 */
.policy_point {
    position: relative;
    padding: 3px 50px 3px 10px;
    background: #043d78;
    z-index: 10;
    display: inline-block;
    margin-bottom: 0;
}
.policy_point:after {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 0;
    height: 0;
    border: none;
    border-left: solid 24px transparent;
    border-top: solid 30px #f3fbff;
}
.policy_point span {
    font-size: 1.3em;
    /* font-weight:bold; */
    color: #fff;
    line-height: 1.3;
}
.policy_point span:before {
    content: "POINT";
    font-size: 0.6em;
    margin-right: 0.5em;
}
.skills {
    padding: 30px;
    background: #fff;
    border: 1px solid #043d78;
    min-height: 240px;
}
.skills > h3 {
    font-size: 1.2em;
    color: #043d78;
    text-align: left;
}
.skills img {
    float: left;
    width: 30%;
    margin-right: 5%;
}
.skills p {
    margin-bottom: 0;
}

.super {
  vertical-align:super!important;
  position:static!important;
}
/* 受講料　追従 */
.announce_area {
    text-align:left;
    background: #fff;
    position: fixed;
    padding: 2.5em 1em;
    text-align: center;
    right: 0;
    top: 20%;
    z-index: 10;
    box-shadow: 1px 1px 10px #ccc;
    width:17%;
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0.9!important;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.announce_area.on {
  opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}
.announce_notes {
  text-align:center;
  border-bottom:1px solid #555;
  padding-bottom:.25em;
  font-weight:bold;
  font-size:.9em;
  color: #043d78;
}
.announce01,.announce02 {
  padding: .5em 2em;
  font-size:.9em;
  color: #fff!important;
  border-radius: 4px;
  display:block;
}
.announce01 {
  background:#043d78;
  margin-bottom:1em;
}
.announce02 {
  background:#008dc9;
}
ul li {
  margin-bottom:.25em;
}
.overview figure {
  float: right;
	margin-left:.5em;
	width: 40%;
}
.overview {
  clear:both;
}

/* 詳しく見る */
.readmore {
    position: relative;
    padding: 0 0 10px;
}

.readmore h4 {
    color: #043d78;
    font-weight: bold;
    margin: 1em 0 0.5em 0 !important;
}

.readmore label {
    position: absolute;
    display: table;
    left: 50%;
    bottom: 0;
    margin: 0 auto;
    width: 100px;
    padding: 10px 0;
    color: #fff;
    font-size: 0.8em;
    text-align: center;
    border-radius: 5px;
    background-color: #043d78;
    transform: translateX(-50%);
    cursor: pointer;
    z-index: 1;
}

.readmore label::before {
    content: "受講料";
}

.readmore input[type="checkbox"]:checked ~ label::before {
    content: "元に戻す";
}

.readmore input[type="checkbox"] {
    display: none;
}

.readmore-content {
    position: relative;
    height: 5em;
    overflow: hidden;
}

.readmore input[type="checkbox"]:checked ~ .readmore-content {
    height: auto;
}

.readmore-content::before {
    position: absolute;
    display: block;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2em;
    background:#fff;
}

.readmore input[type="checkbox"]:checked ~ .readmore-content::before {
    display: none;
}


/* タブ */
/* 講座スケジュール */
.tab_menu {
    display: flex;
    width: 100%;
    margin: 0 0 1em 0;
    padding-left: 0;
}
.tab_menu li {
    flex: 1;
    display: flex;
    justify-content: center;
    text-align: center;
    padding: 12px 0 8px;
    margin: 0 1em 0 0;
    list-style: none;
    cursor: pointer;
    color: #043d78;
    background: #fff;
    border: 1px solid #043d78;
    font-size: 0.9em;
}
.tab_menu li:last-child {
    margin-right: 0;
}
.tab_menu li.selected {
    background: #043d78;
    color: #fff;
}
.tab_menu li:hover {
    background: #043d78;
    font-size: 1em;
    color: #fff;
    transition: 0.3s;
}
.select_menu_container {
    text-align: center;
    margin: 2em auto;
}
.select_menu {
    padding: 10px;
    margin: 0 auto 0.8em;
    font-size: 1em;
    cursor: pointer;
    width: 100%;
    border: 1px solid #043d78;
    color: #043d78;
}
.select_sort_menu {
    padding: 0.5em;
}
/* 講座別回遊 */
ul.lec_menu,
ul.winter_lec_menu {
    display: flex;
    width: 100%;
    margin: 0 0 4em 0;
    padding-left: 0;
    list-style-type: none;
    justify-content: space-between;
}
ul.lec_menu li {
    width: 16.6666%;
    margin: 0 0.5em 0 0;
    height: auto;
    box-sizing: border-box;
    letter-spacing: 0;
}
ul.winter_lec_menu li {
    width: 24%;
    margin: 0 0.5em 0 0;
    height: auto;
    box-sizing: border-box;
    letter-spacing: 0;
}
ul.lec_menu li:last-child,
ul.winter_lec_menu li:last-child {
    margin-right: 0;
}
ul.lec_menu li a,
ul.winter_lec_menu li a {
    display: block;
    text-align: center;
    padding: 12px 4px 8px;
    height: 100%;
    background: #fff;
    border: 1px solid #888;
    opacity: 1;
}
.lec_menu_catchup:hover,
.lec_menu_eiken:hover,
.lec_menu_university:hover,
.lec_menu_math:hover,
.lec_menu_academic:hover,
.lec_menu_special:hover,
.lec_menu_101seminar:hover {
    color: #282828;
    opacity: 1;
    font-size: 1.1em;
    transition: 0.5s;
}
.lec_menu_catchup:hover {
    background: rgba(255, 159, 100, 0.7);
    border: 1px solid rgba(255, 159, 100, 0.7);
}
.lec_menu_eiken:hover {
    background: #d8e58a;
    border: 1px solid #d8e58a;
}
.lec_menu_university:hover {
    background: #c9c4e1;
    border: 1px solid #c9c4e1;
}
.lec_menu_math:hover {
    background: #b3d3c4;
    border: 1px solid #b3d3c4;
}
.lec_menu_academic:hover {
    background: #b3d9f3;
    border: 1px solid #b3d9f3;
}
.lec_menu_101seminar:hover {
    background: rgba(3, 33, 220, 0.4);
    border: 1px solid rgba(3, 33, 220, 0.4);
}
.lec_menu_special:hover {
    background: #f8c8bd;
    border: 1px solid #f8c8bd;
}
.lec_menu_catchup_selected,
.lec_menu_eiken_selected,
.lec_menu_university_selected,
.lec_menu_math_selected,
.lec_menu_academic_selected,
.lec_menu_101seminar_selected,
.lec_menu_special_selected {
    color: #282828;
    display: block;
    text-align: center;
    height: 100%;
    letter-spacing: 0;
    padding: 12px 4px 8px;
    height: 100%;
    box-sizing: border-box;
}
.lec_menu_catchup_selected {
    background: rgba(255, 159, 100, 0.7);
    border: 1px solid rgba(255, 159, 100, 0.7);
}
.lec_menu_eiken_selected {
    background: #d8e58a;
    border: 1px solid #d8e58a;
}
.lec_menu_university_selected {
    background: #c9c4e1;
    border: 1px solid #c9c4e1;
}
.lec_menu_math_selected {
    background: #b3d3c4;
    border: 1px solid #b3d3c4;
}
.lec_menu_academic_selected {
    background: #b3d9f3;
    border: 1px solid #b3d9f3;
}
.lec_menu_special_selected {
    background: #f8c8bd;
    border: 1px solid #f8c8bd;
}
.lec_menu_101seminar_selected {
    background: rgba(3, 33, 220, 0.4);
    border: 1px solid rgba(3, 33, 220, 0.4);
}

.practice {
    clear: both;
    line-height: 0.75em;
}
.practice,
.practice > dt,
.practice > dd {
    box-sizing: border-box;
}
.practice > dt {
    font-weight: normal;
    margin-right: 1.5em;
    float: left;
    clear: left;
    min-width: 85px;
}
.practice > dd {
    float: left;
    margin-top: 0.3em;
}
.practice_detail {
    list-style-type: none;
    margin-left: -30px;
    line-height: 1.2em;
}
.practice_detail:last-child {
    margin-bottom: 0;
}
/* セッション別 */
.tab_session {
    display: flex;
    width: 100%;
    margin: 0 0 1em 0;
    padding-left: 0;
}
.tab_session li {
    flex: 1;
    display: flex;
    justify-content: center;
    text-align: center;
    padding: 12px 0 8px;
    margin: 0;
    list-style: none;
    cursor: pointer;
    color: #727272;
    background: #fff;
    border-collapse: separate;
    border-bottom: 1px dotted #727272;
    border-top: 1px dotted #727272;
    font-size: 0.9em;
    letter-spacing: 0;
}
.tab_session li:last-child {
    margin-right: 0;
}
.tab_session li.selected {
    background: #727272;
    color: #fff;
}
.tab_session li:hover {
    background: #727272;
    font-size: 1em;
    color: #fff;
    transition: 0.3s;
}
.tab_session_panel {
    overflow: hidden;
    height: 0;
    opacity: 0;
}
.tab_session_panel.is-show {
    overflow: visible;
    height: auto;
    opacity: 1;
    transition: opacity 0.4s ease-in-out;
}

.tab_panel {
    overflow: hidden;
    height: 0;
    opacity: 0;
}
.tab_panel.is-show {
    overflow: visible;
    height: auto;
    opacity: 1;
    transition: opacity 0.4s ease-in-out;
}

.sup {
    vertical-align: super;
    font-size: 0.7em !important;
    background: transparent !important;
    border: none !important;
    margin-left: 0 !important;
    padding: 0 !important;
}

/* アンカーリンク */
.ancher_tab_current {
  border-top: 4px solid #008dc9;
  background: #fff;
  padding: 1em 0;
  text-align: center;
  font-size: .85em;
  font-weight:bold;
  color:#008dc9!important;
  line-height: 1.2em;
  display:block;
  min-height:60px;
}
.ancher_tab {
  border-top: 4px solid #eaeaea;
  background: #eaeaea;
  padding: 1em 0;
  text-align: center;
  font-size: .85em;
  line-height: 1.2em;
  display:block;
  min-height:60px;
}
.ancher_tab:hover {
  border-top: 4px solid #008dc9;
  background:#fff;
  color:#008dc9;
  font-weight:bold;
  opacity:1;
}
.ancher_tab_current:hover {
  opacity:1;
}

.trial_comment {
  background:#ffe2e2;
  padding:1em;
}
.trial_comment p {
  font-size:.9em;
  margin-bottom:.5em;
}
.trial_comment span {
  font-weight:bold;
}
/* ふきだし */
.apply_balloon {
    position: relative;
    display: inline-block;
    background-color: #fff;
    border-bottom: solid 2px #008dc9;
    padding: .5em;
    min-width: 300px;
    max-width: 100%;
    text-align: center;
    font-size:1.3em;
  }
.apply_balloon:before,
.apply_balloon:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.apply_balloon:before {
    border: solid 12px transparent;
    border-top: solid 12px #008dc9;
}
.apply_balloon:after {
    border: solid 14px transparent;
    border-top: solid 14px #fff;
    margin-top: -5px;
}
.apply_balloon p {
    margin: 0;
    padding: 0;
}
/* ボタン */
.btn_ext {
  display: block;
    width: 100%;
    max-width: 600px;
    font-weight: 700;
    line-height: 1em;
    background:#008dc9;
    color: #fff !important;
    border-radius: 10px;
    text-align: center;
    vertical-align: middle;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    margin: 0 auto;
    padding: 20px 0;
    min-height: 50px;
}

/* よくある質問 */
.faq_q,
.faq_a {
    /* display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative; */
    overflow: hidden;
    align-items: center;
    line-height: 1.8em;
}
.faq_a {
    margin-bottom: 2em;
}
.faq_q .faq_no,
.faq_a .faq_no {
    float: left;
    width: 30px;
    height: 30px;
    line-height: 30px;
    color: #fff;
    text-align: center;
    display: inline-block;
    border-radius: 4px;
    font-family: "Helvetica Neue", Arial;
}
.faq_q .faq_no {
    background-color: #043d78;
}
.faq_a .faq_no {
    background-color: #ed5656;
}
.faq_q .faq_txt,
.faq_a .faq_txt {
    /* float: left; */
    margin-bottom: 20px;
    padding-left: 3em;
    color: #333;
    box-sizing: border-box;
}
.faq_q .faq_txt {
    font-weight: bold;
    color: #043d78;
}
.faq_a:last-child {
    margin-bottom: 0;
}
/* 講座別ページ */
.lec_catchup,
.lec_eiken,
.lec_university,
.lec_math,
.lec_academic,
.lec_special,
.lec_101seminar {
    border-bottom: 0;
    padding-left: 0.5em;
    font-size: 2em;
    padding-bottom: 0.25em;
}
.lec_catchup {
    border-left: 6px solid rgba(255, 159, 100, 0.7);
}
.lec_eiken {
    border-left: 6px solid #d8e58a;
}
.lec_university {
    border-left: 6px solid #c9c4e1;
}
.lec_math {
    border-left: 6px solid #b3d3c4;
}
.lec_academic {
    border-left: 6px solid #b3d9f3;
}
.lec_special {
    border-left: 6px solid #f8c8bd;
}
.lec_101seminar {
    border-left: 6px solid rgba(3, 33, 220, 0.4);
}
.testimonial_catchup {
    border: 2px solid #fff299;
    padding: 10px;
}
.testimonial_eiken {
    border: 2px solid #d8e58a;
    padding: 10px;
}
.testimonial_university {
    border: 2px solid #c9c4e1;
    padding: 10px;
}
.testimonial_math {
    border: 2px solid #b3d3c4;
    padding: 10px;
}
.testimonial_academic {
    border: 2px solid #b3d9f3;
    padding: 10px;
}
.testimonial_special {
    border: 2px solid #f8c8bd;
    padding: 10px;
}
.testimonial_catchup h3,
.testimonial_eiken h3,
.testimonial_university h3,
.testimonial_math h3,
.testimonial_academic h3,
.testimonial_special h3 {
    border-radius: 30px;
    padding: 7px 40px;
    display: inline-block;
    color: #727272;
    font-size: 1.1em;
    border-left: 0;
}
.testimonial_catchup h3 {
    background: #fff299;
}
.testimonial_eiken h3 {
    background: #d8e58a;
}
.testimonial_university h3 {
    background: #c9c4e1;
}
.testimonial_math h3 {
    background: #b3d3c4;
}
.testimonial_academic h3 {
    background: #b3d9f3;
}
.testimonial_special h3 {
    background: #f8c8bd;
}
ul.testimonial_voice li {
    margin-bottom: 1em;
}
.partition {
    border-bottom: 1px solid #ccc;
    margin: 60px 0;
}
/* 下から申し込みボタン */
.scroll_button {
    position: fixed;
    right: 0;
    z-index: 99;
    background: rgba(4, 61, 120, 0.7);
    color: #fff;
    font-size: 1em;
    padding: 5px 10px;
    margin-top: 5px;
    letter-spacing: -0.5em;
}
.button {
    position: fixed;
    background: rgba(255, 255, 255, 0.7);
    bottom: 0;
    padding: 20px 0;
    width: 100%;
    max-width: 100%;
    height: 180px;
    z-index: 10;
    margin: 0 auto;
    /* 1. メニューを画面下へ隠す */
    transform: translateY(100%);
    /* 2. 0.3秒かけて表示する */
}

/* ヘッダー申し込みボタン */
.apply_area {
    width: 100%;
}

.button_inner {
    width: 80%;
    margin: 0 auto 20px 10%;
    background: #ffc600;
    font-size: 1em;
    color: #000;
    border: none;
    min-height: 40px;
    padding: 10px 0;
    text-align: center;
    border-radius: 10px;
    cursor: pointer;
}
/* scss Hack */
.btn-secondary  {
  --bs-btn-bg: #008dc9;
  --bs-btn-hover-bg:#043d78;
}
.modal-content {
  width:80%;
  margin:0 auto;
}

/* ポップアップ */
.open {
    cursor: pointer;
}
#pop-up {
    display: none;
}
#pop-up_text_sample {
    display: none;
}
#button_apply {
    margin: 0 auto 20px 10%;
    background: #ffc600;
    font-size: 1em;
    color: #000;
    min-height: 40px;
    padding: 10px 0;
    text-align: center;
    border-radius: 10px;
    width: 50%;
    margin-left: 25%;
}
#button_header_inner_apply {
    background: #ffc600;
    font-size: 1em;
    color: #000;
    height: 40px;
    padding: 10px 0;
    text-align: center;
    border-radius: 10px;
    float: left;
    margin-left: 2%;
    width: 45%;
}
.overlay {
    display: none; /* input にチェックが入るまでは非表示に */
    position: relative;
}
#pop-up:checked + .overlay {
    display: block;
    z-index: 9999;
    background-color: #00000070;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
}
#pop-up_text_sample:checked + .overlay {
    display: block;
    z-index: 9999;
    background-color: #00000070;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
}
.window {
    position: absolute;
    width: 90vw;
    max-width: 425px;
    height: auto;
    padding: 2em;
    background-color: #fff;
    /* box-shadow:2px 2px 2px #ccc; */
    border: 1px solid #ccc;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    top: -30%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.window_header {
    position: absolute;
    width: 90vw;
    max-width: 425px;
    height: auto;
    padding: 2em;
    background-color: #fff;
    /* box-shadow:2px 2px 2px #ccc; */
    border: 1px solid #ccc;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.window p,
.window_header p {
    font-size: 0.9em;
}

/* モーダルCSS */
.link_pdf {
    background: #043d78;
    color: #fff;
    font-size: 0.75em;
    text-align: center;
    padding: 2px 10px;
    border-radius: 4px;
    float: right;
}
.link_pdf:hover {
    opacity: 0.7;
    transition: 0.3s;
}
a.link_pdf {
    color: #fff !important;
}
.link_pdf_frame {
    width: 100%;
    max-width: 100%;
    border: none;
    background: #fff;
    margin: 0 auto;
    clear: both;
}
.modalArea {
    display: none;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.modalBg {
    width: 100%;
    height: 100%;
    background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 600px;
    height: 100%;
    padding: 10px;
    background-color: #fff;
}

.closeModal {
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    cursor: pointer;
    background: rgba(4, 61, 120, 0.7);
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    padding: 0.3em 0.6em;
    font-size: 1.5em;
}
.modalContents > iframe {
    height: 800px;
    width: 100%;
}
.btn_info {
    background: #f37c06;
    color: #fff;
    padding: 2em;
    border-radius: 4px;
    text-align: center;
}
.btn_info {
    background: #f37c06;
    color: #fff;
    padding: 2em;
    border-radius: 4px;
    text-align: center;
}

/* 以下ボタンスタイル */
button {
    padding: 10px;
    background-color: #fff;
    border: 1px solid #282828;
    border-radius: 2px;
    cursor: pointer;
}

/* #openModal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
} */

/* テキストサンプル */
.apply_ok {
    border: 1px solid #043d78;
    background: #043d78;
    color: #fff !important;
    padding: 0.25em 0.5em;
    font-size: 0.9em;
    width: 30%;
    margin: 0 auto;
    display: block;
    text-align: center;
}
.apply_ok:hover {
    border: 1px solid #043d78;
    background: #fff;
    color: #043d78 !important;
    opacity: 1;
}
.close {
    cursor: pointer;
    position: absolute;
    top: 4px;
    right: 4px;
    font-size: 20px;
}
.pop-up_icon {
    background: #043d78;
    color: #fff;
    height: 30px;
    width: 30px;
    border-radius: 50%;
    line-height: 0.25em;
    text-align: center;
    margin: 1em;
    padding: 0.5em 0;
}
.pop-up_icon:hover {
    background: #fff;
    color: #043d78;
    transition: 0.3s;
}

ul.sub_window {
    padding-left: 1em;
}
ul.sub_window li {
    text-align: left;
    font-size: 0.8em;
    margin-bottom: 0.5em;
}

/* 発音矯正講座 */
.ttl_accent {
    background: #f0cabf;
    margin: 0 0 2em 0;
}
.ttl_accent img {
    border-radius: 0 !important;
}
.ttl_accent p {
    font-size: 2.2em;
    line-height: 1em;
    padding: 1em 0 0 0;
}
.ttl_accent p span {
    background: #e36e4c;
    color: #fff;
    font-weight: normal;
    font-size: 0.5em;
    line-height: 1em;
    border-radius: 20px;
    padding: 10px 15px;
    display: inline-block;
    margin-bottom: 0.75em;
}
.tbl_accent tr {
    border-top: 1px solid #ccc;
    table-layout: fixed;
}
.tbl_accent tr:last-child {
    border-bottom: 1px solid #ccc;
}
.tbl_accent th {
    background: #f8f8f8;
    font-weight: bold;
    text-align: center;
    padding: 12px;
    width: 20%;
}
.tbl_accent td {
    padding: 12px;
    width: 80%;
}
.standout {
    font-weight: bold;
    color: #e36e4c;
}
/*
.standout:before {
  content:'||';
  margin-right:.5em;
}
.standout:after {
  content:'||';
  margin-right:.5em;
} */

/* コース別推奨講座 */
.level_rec {
    font-size: 1.1em;
    font-weight: normal;
    background: #8fb7e1;
    color: #fff;
    padding: 7px;
}

.course_recommend {
    /* height: 500px; */
    position: relative;
    padding: 0;
    margin: 0;
}
.tbl_course_box {
    width: 100%;
    margin-bottom: 4em;
}
.tbl_course_box tr {
    border-bottom: 1px dotted #ccc;
}
.tbl_course_box tr:first-child {
    border-top: 1px dotted #ccc;
}
.tbl_course_box th {
    font-size: 1em;
    font-weight: normal !important;
    color: #043d78;
    font-weight: bold;
    padding: 3px 0 3px 7px;
}
.tbl_course_box th span {
    font-size: 0.75em;
    margin-right: 0.5em;
}
.tbl_course_box td {
    padding: 10px 0;
    width: 17%;
    font-size: 0.75em;
}
.tbl_course_box td.curri {
    background: #eaeaea;
    padding: 5px;
}
.tbl_course_box td a:hover {
    /* background:#8fb7e1;
  color:#fff; */
    border-radius: 4px;
}
.tbl_course_box td:last-child {
    border-right: none;
}
.course_btn {
    background: #8fb7e1;
    color: #fff;
    border-radius: 4px;
    width: 80%;
    margin: 0 auto;
    text-align: center;
    display: block;
}

.course_btn:hover {
    color: #043d78 !important;
    transition: 0.3s;
}
a.course_btn {
    color: #fff !important;
}
a.course_btn:hover {
    opacity: 1;
}
.course_ttl {
    background: #8fb7e1;
    color: #fff;
    border-radius: 4px;
    padding: 5px;
    text-align: center;
    display: block;
}
.positionFit {
    position: absolute;
    left: 0px;
    top: 70px;
}

.course_recommend div {
    clear: both;
    width: 100%;
}
.reset_btn {
    font-size: 0.8em;
    color: #fff;
    background: #036eb8;
    padding: 1px 10px;
    border-radius: 4px;
    box-shadow: none !important;
}
.reset_btn:hover {
    color: #727272;
    border: #727272 1px solid;
    background: #fff;
    transition: 0.3s;
}
.recommend_ancher {
    background: #eedd98;
    padding: 10px 14px;
    display: inline-block;
}
.recommend_ancher:before {
    font-family: "Font Awesome 5 Free";
    content: "\f2d2";
    font-weight: 900;
    margin-right: 0.5em;
}
.recommend_ancher:after {
    font-family: "Font Awesome 5 Free";
    content: "\f103";
    font-weight: 900;
    margin-left: 0.5em;
}
.recommend_ancher a:hover {
    opacity: 1;
    transition: 0.5s;
}
.recommend_ancher:hover {
    top: 2px;
    position: relative;
    opacity: 1;
}
p.bg_catchup span.detail_jump,
p.bg_jissen span.detail_jump,
p.bg_jituryoku span.detail_jump,
p.bg_academic span.detail_jump,
p.bg_university span.detail_jump,
p.bg_special span.detail_jump,
p.bg_math span.detail_jump,
p.bg_101seminar span.detail_jump {
    background: transparent;
    float: right;
    font-size: 0.7em;
}
p.bg_catchup span.detail_jump:after,
p.bg_jissen span.detail_jump:after,
p.bg_jituryoku span.detail_jump:after,
p.bg_academic span.detail_jump:after,
p.bg_university span.detail_jump:after,
p.bg_special span.detail_jump:after,
p.bg_math span.detail_jump:after,
p.bg_101seminar span.detail_jump:after {
    font-family: "Font Awesome 5 Free";
    content: "\f107";
    font-weight: 900;
    margin-left: 0.5em;
}
p.bg_catchup a,
p.bg_jissen a,
p.bg_jituryoku a,
p.bg_academic a,
p.bg_university a,
p.bg_special a,
p.bg_math a,
p.bg_101seminar a {
    display: block;
}
.bg_university span.fss {
    background: transparent;
    font-size: 0.75em;
}
.bg_university span.difficulty {
    background: transparent;
    font-size: 0.75em;
    padding-top: 5px;
}
.bg_catchup img,
.bg_jissen img,
.bg_jituryoku img,
.bg_academic img,
.bg_university img,
.bg_special img,
.bg_math img,
.bg_101seminar img {
    width: 50%;
}
/* コース別推奨講座 */

.button_inner_gr {
    width: 80%;
    margin: 0 auto 20px;
    background: #bbb;
    font-size: 1em;
    color: #fff;
    min-height: 40px;
    padding: 10px 0;
    text-align: center;
    border-radius: 10px;
}
.button_inner:hover {
    opacity: 1;
    font-size: 1.2em;
    transition: 0.5s;
}
a.button_inner_header,
a.button_inner_all,
.button_inner_apply {
    width: 25%;
    min-height: 35px;
    padding: 10px 0;
    margin-left: 10px;
    text-align: center;
    border-radius: 10px;
    float: right;
    font-size: 1em;
    font-weight: normal;
    border: none;
}
a.button_inner_all_w {
    width: 45%;
    min-height: 35px;
    padding: 10px 0;
    margin-left: 10px;
    text-align: center;
    border-radius: 10px;
    float: left;
    font-size: 1em;
    font-weight: normal;
    border: none;
}
a.button_inner_header,
.button_inner_apply {
    background: #ffc600;
    color: #000;
}
a.button_inner_all,
a.button_inner_all_w {
    background: #043d78;
    color: #fff;
}
.button_inner_header_gr {
    width: 45%;
    min-height: 35px;
    padding: 10px 0;
    margin-left: 10px;
    text-align: center;
    border-radius: 10px;
    float: right;
    font-size: 1em;
    font-weight: normal;
    background: #bbb;
    color: #fff;
}
a.button_inner_header:hover,
a.button_inner_all:hover,
.button_inner_apply:hover,
.button_inner_all:hover {
    font-size: 1.1em;
    opacity: 1;
    transition: 0.3s;
}
.button_inner_header i,
.button_inner_all i,
.button_inner_header_gr i {
    margin-left: 10px;
    font-size: 0.8em;
    padding-bottom: 0.1em;
}

.active {
    /* 3. メニューを定位置へ戻す */
    transform: translate(0);
}

.info {
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 10px;
}
.info span {
    background: #727272;
    color: #fff;
    font-size: 1.4em;
    padding: 3px 10px;
    margin-right: 10px;
}

.target {
    background: #666;
    color: #fff;
    padding: 5px 10px;
    font-size: 0.9em;
    margin-bottom: 10px;
}

.school_col {
    color: #043d78;
    font-size: 1.4em;
    font-weight: bold;
}
.school_col span {
    font-size: 0.75em;
}

.tbl_schedule {
    border-spacing: 0;
    /* background: #fff; */
    background: transparent;
    margin-bottom: 20px;
    table-layout: fixed;
    overflow-x: auto;
}
.tbl_schedule:-webkit-scrollbar{
  display:none;
}
/* .tbl_schedule :not(p) {
    cursor: grab !important;
}

.tbl_schedule p {
    cursor: pointer !important;
} */

.tbl_schedule p.tbl_schedule_session p {
    font-size: 13px;
}
.tbl_schedule tr,
.tbl_schedule_session tr {
    border-bottom: dotted 1px #ccc;
    border-left: solid 1px #ccc;
    border-right: solid 1px #ccc;
    text-align: center;
    background:#fff;
}
/* .tbl_schedule tr:first-child,
.tbl_schedule_session tr:first-child {
    border-top: solid 1px #ccc;
} */
.tbl_schedule tr:last-child,
.tbl_schedule_session tr:last-child {
    border-bottom: solid 1px #ccc;
}
.tbl_schedule th,
.tbl_schedule td,
.tbl_schedule_session th,
.tbl_schedule_session td {
    padding: 10px;
}
.tbl_schedule th.school,
.tbl_schedule td.school,
.tbl_schedule_session th.school,
.tbl_schedule_session td.school {
    width: 12% !important;
    font-weight: normal;
}
.tbl_schedule th span,
.tbl_schedule td span,
.tbl_schedule_session th span,
.tbl_schedule_session td span {
    font-size: 1.2em;
}
.tbl_schedule th span.name,
.tbl_schedule td span.name,
.tbl_schedule_session th span.name,
.tbl_schedule_session td span.name {
    font-size: 1.3em;
    font-weight: bold;
    color: #666;
}
.tbl_schedule th span.name:before,
.tbl_schedule td span.name:before,
.tbl_schedule_session th span.name:before,
.tbl_schedule_session td span.name:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    margin-right: 0.5em;
    margin-bottom: 0.25em;
}

.tbl_schedule th,
.tbl_schedule_session th {
    background: #61c4ef;
    color: #fff;
    border-right: solid 1px #fff;
    width: 150px;
}

.tbl_schedule th.school[rowspan="2"] {
    width: calc(100% / 5 * 1);
}
.tbl_schedule td,
.tbl_schedule_session td {
    border-right: dotted 1px #ccc;
    width: 18%;
    /* min-width: 150px; */
    vertical-align: top;
    line-height: 1.2em;
}
.tbl_schedule td p,
.tbl_schedule_session td p {
    margin: 0 0 2px;
}
.tbl_schedule td p:last-child,
.tbl_schedule_session td p:last-child {
    margin-bottom: 0;
}
.tbl_schedule td:last-child,
.tbl_schedule_session td:last-child {
    border-right: 0;
}
.tbl_schedule td.fourclasses {
    border-right: dotted 1px #ccc;
    width: 22%;
    vertical-align: top;
}
.tbl_schedule th.session5,.tbl_schedule td.session5,.tbl_schedule td.session5_apply {
    border-right: dotted 1px #ccc;
    vertical-align: top;
    width:33.3333%;
    min-width:380px;
}
.tbl_schedule th.session5 {
    background: #eaeaea;
    color:#282828;
    border-right:1px dotted #ccc;
    border-top:1px solid #ccc;
}
.tbl_schedule th.session5_apply {
    background: #fff;
    border-right:1px dotted #ccc;
}
.tbl_schedule td.fourclasses_2 {
    border-right: dotted 1px #ccc;
    width: 44%;
    vertical-align: top;
}
.tbl_schedule td.school_session,
.tbl_schedule th.school_session {
    width: 10%;
}

.session_col {
    background: #008dc9;
    color: #fff;
}
.session_col:hover {
    cursor: pointer;
}
.tbl_description {
    width: 100%;
    margin-bottom: 40px;
    border: 1px solid #727272;
    background: #fff;
}
.tbl_description th {
    border-bottom: 1px solid #727272;
}
.tbl_description th,
.tbl_description td {
    padding: 10px 20px;
    width: 33.3333%;
}
.tbl_description span {
    font-size: 0.8em;
}
.tbl_fixed {
    position: sticky;
    top: 0;
    background: #fff;
    border-bottom: 1px solid #555;
    z-index: 10;
    &:before {
        content: "";
        position: absolute;
        top: -1px;
        left: -1px;
        width: 100%;
        height: 100%;
        border: 1px solid #ccc;
    }
}
.tbl_tuition {
    width: 100%;
    max-width: 100%;
    background: #fff;
    font-size: 1em;
    border: solid 1px #ccc;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 20px;
    table-layout: fixed;
}
.tbl_tuition tr {
    border-bottom: dotted 1px #ccc;
}
.tbl_tuition tr:last-child {
    border-bottom: none;
}
.tbl_tuition th {
    background: #f8f8f8;
}
.tbl_tuition th,
.tbl_tuition td {
    padding: 10px;
    border-right: solid 1px #ccc;
}
.tbl_tuition th.item,
.tbl_tuition td.item {
    width: 30%;
}
.tbl_tuition th:last-child,
.tbl_tuition td:last-child {
    border-right: 0;
}
.tbl_tuition td span {
    border: 1px solid #555;
    padding: 3px;
    font-size: 0.75em;
    margin-bottom: 2px;
    border-radius: 10px;
}

.footer_summer2024 {
    width: 100%;
    /* height: 340px; */
}
.footer {
    background: #f8f8f8;
    width: 100%;
    max-width: 100%;
    height: 220px;
}
.footer_inner {
    width: 90%;
    margin: 0 auto;
    padding: 20px 0;
    font-size: 1em;
    text-align: center;
}
.footer_corporate {
    font-size: 0.9em;
}
.footer_corporate span {
    font-size: 0.75em;
}
.footer_inner img {
    width: 40%;
    margin: 0 auto 2em;
}
.footer_inner img:hover {
    opacity: 0.8;
}
.footer_inner p {
    text-align: center;
    font-size: 0.9em;
    margin-bottom: 0;
}
.footer_inner p.footer_session {
    font-size: 0.9em;
    text-align: center;
}
.footer_inner p.footer_session a:hover {
    font-weight: bold;
    transition: 0.3s;
}
.footer_session a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    margin-right: 0.5em;
}
p.copyright {
    width: 100%;
    font-size: 0.75em;
    text-align: center !important;
    line-height: 1;
    margin: 20px auto 10px;
    border-top: 1px solid #333;
    padding-top: 20px;
}
#page_top {
    width: 60px;
    height: 60px;
    border-radius: 40px;
    position: fixed;
    right: 5%;
    bottom: 5% !important;
    opacity: 0.8;
    background-color: #fff;
    border: 2px solid #008dc9;
    z-index: 20;
}
#page_top a {
    position: relative;
    display: block;
    width: 6px;
    height: 60px;
    text-decoration: none;
}
#page_top a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f077";
    font-size: 20px;
    color: #008dc9;
    position: absolute;
    width: 57px;
    height: 60px;
    top: 30px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
/* パンくず */

.breadcrumbs li {
    margin-left: 0.2em;
    margin-right: 0.2em;
    font-size: 0.9em;
    float: left;
    list-style-type: none;
}
.breadcrumbs li img {
    vertical-align: sub;
    width: 18px;
    height: 18px;
}
.breadcrumbs li span {
    font-size: 0.95em;
}

.txt_l {
    text-align: left;
}

p.bg_catchup,
p.bg_jissen,
p.bg_jituryoku,
p.bg_academic,
p.bg_university,
p.bg_special,
p.bg_math,
p.bg_101seminar,
p.bg_trial_basic,
p.bg_trial_standard,
p.bg_trial_intensive,
p.bg_gy {
    padding: 5px 7px;
    margin-bottom: 0;
    line-height: 1.3em;
}

p.bg_catchup span,
p.bg_jissen span,
p.bg_jituryoku span,
p.bg_academic span,
p.bg_university span,
p.bg_special span,
p.bg_math span,
p.bg_101seminar span,
p.bg_trial_basic span,
p.bg_trial_standard span,
p.bg_trial_intensive span {
    /* background:#fff; */
    padding: 2px;
    font-size: 0.9em;
    text-align: center;
}

p.bg_catchup i,
p.bg_jissen i,
p.bg_jituryoku i,
p.bg_academic i,
p.bg_university i,
p.bg_special i,
p.bg_math i,
p.bg_101seminar i,
p.bg_trial_basic i,
p.bg_trial_standard i,
p.bg_trial_intensive i {
    margin-left: 10px;
}

.bg_catchup_lu,
.bg_eiken_gradient,
.bg_jissen_lu,
.bg_jituryoku_lu,
.bg_academic_lu,
.bg_university_lu,
.bg_special_lu,
.bg_math_lu,
.bg_101seminar_lu,
.bg_trial_basic_lu,
.bg_trial_standard_lu,
.bg_trial_intensive_lu {
    margin-left: 1px;
    margin-right: 4px;
}

.bg_eiken_gradient {
    background: linear-gradient(135deg, #d8e58a 0%, #d8e58a 50%, #fff299 50%, #fff299 100%);
}

.bg_catchup,
.bg_catchup_lu {
    background: rgba(255, 159, 100, 0.7);
}

.bg_jissen,
.bg_jissenn_lu {
    background: #d8e58a;
}

.bg_jituryoku,
.bg_jituryoku_lu {
    background: #fff299;
}

.bg_academic,
.bg_academic_lu {
    background: #b3d9f3;
}
.bg_university,
.bg_university_lu {
    background: #c9c4e1;
}
.bg_special,
.bg_special_lu {
    background: #f8c8bd;
}
.bg_math,
.bg_math_lu {
    background: #b3d3c4;
}
.bg_101seminar,
.bg_101seminar_lu {
    background: rgba(3, 33, 220, 0.4);
}
.bg_trial_basic,
.bg_trial_basic_lu {
    background: #ffbfbf;
}
.bg_trial_standard,
.bg_trial_standard_lu {
    background: #ff8c8c;
}
.bg_trial_intensive,
.bg_trial_intensive_lu {
    background: #dc5b5b;
}
.bg_gy {
  background:#ccc;
}
.bg_gr {
    background: white;
    padding: 18px 20px;
    font-size: 0.9em;
    border-radius: 8px;
    margin-bottom: 40px;
}
.bg_dbl {
    background: #e5eef3;
    padding: 10px;
    /* font-size:.9em; */
    margin-bottom: 40px;
}
.bg_wh {
    background: white;
    padding: 10px;
    font-size: 0.9em;
    border-radius: 8px;
    margin-bottom: 40px;
}
.bg_frm {
    /* width:90%; */
    border: 1px solid #888;
    padding: 5px 10px;
    text-align: center;
    margin: 10px auto 20px;
    background-color: transparent;
}
span.bg_frm {
    border: 1px solid #888;
    padding: 0 5px 1px;
    text-align: center;
    border-radius: 4px;
    font-size: 0.9em !important;
}
/* .note_frm {
  border:1px solid #043d78;
  padding:20px 10px 10px;
  text-align:left;
  margin-bottom:20px;
  background-color:transparent;
  width: 100%;
} */
.note_frm_gy {
    border: 1px dotted #ccc;
    padding: 10px;
    text-align: left;
    margin-bottom: 20px;
    background-color: #fff;
}
ul.square {
    list-style-type: none;
    margin-left: -20px;
}
ul.square li {
    margin-bottom: 1em;
    padding-left: 1.25em;
    text-indent: -1.25em;
}
ul.square li::before {
    content: "■";
    margin-right: 0.25em;
}
.lecture_detail > p.bg_catchup,
.lecture_detail > p.bg_jissen,
.lecture_detail > p.bg_jituryoku,
.lecture_detail > p.bg_academic,
.lecture_detail > p.bg_university,
.lecture_detail > p.bg_math,
.lecture_detail > p.bg_special,
.lecture_detail > p.bg_special > span,
.lecture_detail > p.bg_101seminar > span {
    font-size: 1.3em;
}
.detail {
    font-size: 0.9em;
    letter-spacing: 1px;
    line-height: 1.6em;
    margin-top: 5px;
}
/* .lecture_detail p.detail span {
  font-size:0.9em;
} */
.testimonial p {
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 0.9em;
    min-height: 90px;
    margin-bottom: 10px;
}
.testimonial p span {
    font-size: 1.3em;
    font-weight: bold;
    background: none;
}
.overview p.bg_catchup,
.overview p.bg_jissen,
.overview p.bg_jituryoku,
.overview p.bg_academic,
.overview p.bg_university,
.overview p.bg_math,
.overview p.bg_special,
.overview p.bg_101seminar {
    font-size: 1.2em;
    padding: 7px;
}

.overview .detail b,
.overview .detail li {
    font-size: 0.9em;
}

.attention {
    color: #043d78;
    font-weight: bold;
    font-size: 0.9em;
}
.attention:before {
    font-family: "Font Awesome 5 Free";
    content: "\f06a";
    font-weight: 900;
    margin-right: 3px;
}
.hours {
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 0;
}
.hours span {
    font-size: 0.9em;
}
.university {
    width: 40%;
    margin-left: 2px;
}
.new_wrapper {
    display: block;
    position: relative;
    /* margin: 15px auto;
  padding: 10px 0;
  width: 300px; */
    background: #666;
    box-sizing: border-box;
}

.new_wrapper_modal {
    display: block;
    position: relative;
    /* margin: 0px auto; */
    /* padding: 5px 0; */
    width: 300px;
    background: #666;
    box-sizing: border-box;
}

.new {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 5px;
    margin: 0;
    padding: 2px 0;
    z-index: 2;
    width: 36px;
    text-align: center;
    font-size: 12px;
    color: #fff;
    background: #666;
}

.new_modal {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 5px;
    margin: 0;
    padding: 0 0;
    z-index: 2;
    width: 36px;
    text-align: center;
    font-size: 12px;
    color: #fff;
    background: #666;
}

.new_modal_uni {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 5px;
    margin: 0;
    padding: 0 0;
    z-index: 2;
    width: 36px;
    text-align: center;
    font-size: 12px;
    color: #fff;
    background: #666;
}

.new:after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-left: 18px solid #666;
    border-right: 18px solid #666;
    border-bottom: 8px solid transparent;
}

.new_modal:after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-left: 18px solid #666;
    border-right: 18px solid #666;
    border-bottom: 8px solid transparent;
}

.new_modal_uni:after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-left: 18px solid #666;
    border-right: 18px solid #666;
    border-bottom: 5px solid transparent;
}

.balloon {
    position: relative;
    display: inline-block;
    margin-left: 5px;
    padding: 2px 5px;
    max-width: 100%;
    color: #fff;
    font-size: 0.8em;
    background: #666;
}
.balloon:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    margin-top: -5px;
    border: 5px solid transparent;
    border-right: 10px solid #666;
}
.balloon p {
    margin: 0;
    padding: 0;
}
.balloon_apply {
    position: relative;
    display: inline-block;
    margin:0 auto;
    width:100%;
    max-width: 700px;
    font-size: 0.8em;
    border:1px solid #043d78;
    background:#fff;
    margin-bottom:1em;
}
.balloon_apply:before {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 50%;
  margin-left: -13px;
  border: 10px solid transparent;
  border-top: 10px solid #FFF;
  z-index: 2;
}
.balloon_apply:after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -13px;
  border: 10px solid transparent;
  border-top: 10px solid #043d78;
  z-index: 1;
}
.balloon_apply p {
    font-size:.95em;
    font-weight:bold;
    line-height:1.6em;
    padding:.5em 1em;
    margin-bottom:0;
    text-align:center;
}
.apply_procedure {
    overflow-x: scroll;
    margin-bottom: 20px;
}
.apply_procedure_inner {
    width: 200%;
    margin-bottom: 20px;
}
.apply_procedure01 {
    width: 49%;
}
.pc {
    display: none;
}
.sp {
    display: block;
}
.reservations {
    position: relative;
    display: inline-block !important;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    font-size: 0.75em;
    font-weight: bold;
    background: #8fb7e1;
    color: #fff;
    box-sizing: border-box;
    line-height: 1.3em;
    top: -3px;
    right: -20em;
}
.reservations:before {
    content: "";
    position: absolute;
    top: -16px;
    left: 50%;
    margin-left: -15px;
    border: 10px solid transparent;
    border-bottom: 10px solid #8fb7e1;
    z-index: 2;
}
.reservations:after {
    content: "";
    position: absolute;
    top: -16px;
    left: 50%;
    margin-left: -17px;
    border-bottom: 12px solid #8fb7e1;
    z-index: 1;
}
.profile {
    background: #fdf1ee;
    /* border:1px solid #666; */
    border-radius: 8px;
    padding: 2em 2em 0.5em 2em;
}
.profile p {
    font-size: 0.8em;
    line-height: 1.6em;
}
.profile_name {
    font-weight: bold;
    border-bottom: 1px solid #666;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
}

.carousel-control-prev-icon {
    /* border: solid 2px gray; */
    position: absolute;
    left: 18%;
}

.carousel-control-next-icon {
    /* border: solid 2px; */
    position: absolute;
    right: 18%;
}

.new_badge {
    font-size: 9pt !important;
    background-color: white;
    color: black;
    border-radius: 3px;
    padding: 0px 3px 0px 3px 0px !important;
}

.note_badge {
    font-size: 8pt !important;
    background-color: white;
    color: black;
    border-radius: 3px;
    padding: 0px 4px 0px 4px 0px !important;
}

.target_cat {
    color: #555;
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 10px;
    margin-left: 5px;
}

#recommendRow div {
    cursor: pointer;
}

#university_nav a.nav-link {
    /* background-color: #c9c4e1 !important; */
    /* border-color: #c9c4e1 !important;
  border-style: solid !important;
  border-bottom: #c9c4e1;
  border-radius: 0px; */
    color: #000 !important;
    background-color: white !important;
}

#university_nav a.nav-link :active {
    color: white !important;
    background-color: #c9c4e1 !important;
    font-weight: bold !important;
}

.collapse ul li {
    padding-bottom: 10px;
}

.section_wh {
    background: #fff;
    padding: 40px 0;
    margin: 0 auto;
}
.section_bl {
    background: #f3fbff;
    padding: 40px 0;
    margin: 0 auto;
}
.section_inner {
    width: 90%;
    /* max-width: 1200px; */
    margin: 0 auto;
}

/** スケジュール_jsなし **/
.item_ttl {
    border: 2px solid #008dc9;
    padding: 1em 0;
    text-align: center;
    background: #008dc9;
    color: #fff;
    border-radius: 2px;
    margin-bottom: 0.5em;
    font-size: 1.1em;
    line-height: 1.4em;
}
.item_ttl:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0dd";
    font-weight: 900;
    margin-right: 0.5em;
    transition: 0.5s;
}
.item_ttl:hover {
    border: 2px solid #008dc9;
    background: #f9f7f3;
    color: #008dc9;
    cursor: pointer;
    opacity: 1;
}
.item_ttl a:hover {
    opacity: 1;
}

.target_frm {
    border: 1px solid #555;
    border-radius: 2px;
    font-weight: bold;
    padding: 0.25em 0.75em;
    display: inline-block;
    margin-bottom:.25em;
}
.item_bg {
    background: #f4f4f4;
    padding: 0.75em;
}
.apply_flow {
    width: 100%;
}
.apply_flow > div {
    padding: 1em;
    font-size: 0.9em;
    background: #f9f7f3;
    box-sizing: border-box;
    margin-bottom: 1em;
    clear: both;
    min-height: 120px;
}
.apply_flow > div p.requirements {
  font-size:.8em;
  line-height:1.5em;
  margin:.5em auto 0;
}
.apply_flow img {
    width: 20%;
    float: left;
    margin-right: 0.5em;
}
.triangle {
    height: calc(60px / 2 * tan(60deg));
    width: 20px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: #008dc9;
    margin-left: 2%;
    margin-right: 2%;
    margin-top:7%;
    float: left;
}
.triangle_vertical {
    height: calc(30px / 2 * tan(60deg));
    width: 80px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #008dc9;
    margin: 5px auto;
}
.txt_underline {
    text-decoration: underline;
}
.txt_underline:hover {
    text-decoration: none;
}
.trial_new_badge {
    position: absolute;
    top: -5px;
    left: 500px;
    padding: 1.5em 0.25em 0.25em 0.5em;
    background-color: #ffde00;
    border-radius: 50vh;
    height: 50px;
    font-size: 0.7em !important;
    font-weight: bold;
    color: #000;
}
.trial_new_badge:before {
    content: "";
    position: absolute;
    top: 66%;
    left: -15px;
    margin-top: -14px;
    border: 7px solid transparent;
    border-right: 10px solid #ffde00;
}
.tbl_date {
    width: 100%;
    max-width: 460px;
    margin: 0 auto 2em;
}
.tbl_date tr {
    border-top: 1px solid #0095d0;
    border-bottom: 1px solid #0095d0;
}
.tbl_date td {
    padding: 0.5em;
    font-size: 1.2em;
}
.tbl_date td span {
    font-size: 0.7em;
}
/* .link_sche {
    border: 2px solid #008dc9;
    background: #f9f7f3;
    color: #008dc9 !important;
    font-size:1.1em;
    font-weight: bold;
    padding: 1em 0.25em;
    text-align: center;
    display: block;
}
.link_sche:hover {
    border: 2px solid #008dc9;
    background: #008dc9;
    color: #fff !important;
    opacity: 1;
    transition:.5s;
} */
.link_sche {
    background: #008dc9;
    color: #fff !important;
    font-size:1.1em;
    font-weight: bold;
    padding: 1em 0.25em;
    text-align: center;
    display: block;
}
.link_sche:hover {
    background: #fdf2b2;
    color: #008dc9 !important;
    opacity: 1;
    transition:.5s;
}
.link_sche:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    margin-right: 0.5em;
}

.link_sche span,.link_sche_gy span {
  font-size:1.4em;
  font-weight:bold;
}
.link_sche span.session_date,.link_sche_gy span.session_date {
    font-size: 0.8em;
    font-weight:bold;
}
.link_sche_date {
    font-size: 0.75em;
    text-align: center;
    margin-bottom: 1em;
}
.link_sche_deadline {
    font-size: 0.9em;
    text-align: center;
    font-weight: bold;
    color:#f00;
    display:block;
}
.link_sche_gy {
    border: 2px solid #888;
    background: #eaeaea;
    color: #888 !important;
    font-size:1.1em;
    font-weight: bold;
    /* border-radius: 8px; */
    padding: 1em 0.25em;
    text-align: center;
    display: block;
}
.link_sche_gy span {

}



.note_frm {
    border: 3px double #008dc9;
    padding: 1.5em 0.5em;
    text-align: left;
    margin-bottom: 20px;
    background: #fff;
    width: 100%;
}
.corporate {

    font-size: 1.6em;
    line-height: 1.1em;
    font-weight: bold !important;
    margin-bottom: 0;
    color: #043d78;
}
.corporate span {
    font-size: 0.75em;
}
.corporate img {
    height: 24px;
    width: auto;
    margin-bottom: 0.5em;
}
.corporate a,
.corporate a span {
    font-weight: bold;
}
.guide_select {
  font-size:.75em;
  color:#043d78;
  text-align:left;
}
.guide_int,.guide_int a {
  border:1px solid #F37C06;
  background:#F37C06;
  color:#fff!important;
  padding:.25em;
  display:inline-block;
  width:100%;
  margin-bottom:.5em;
  text-align:center;
}
.sp .guide_int {
  padding:.25em;
  font-size:.9em;
  color:#fff;
}
.guide_int_gy {
  background:#ccc;
  padding:.25em;
  display:inline-block;
  width:100%;
  margin-bottom:.5em;
  text-align:center;
}

/*//// ハンバーガーメニュー ////*/
nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 300px;
  background: rgba(4, 61, 120, .9);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
}
.open nav {
  left: 0;
  opacity: 1;
  height:500px;
}
nav .inner {
  padding: 25px;
}
nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size:.9em;
}
nav .inner ul li {
  position: relative;
  margin: 0;
  /* border-bottom: 1px solid #333; */
}
nav .inner ul li a{
  display: block;
  color: #fff;
  font-size: .9em;
  padding: 1em 0;
  text-decoration: none;
  transition-duration: 0.2s;
}
nav .inner ul li {
  color:#fff;
}
nav .inner ul li a:hover {
  /* background: #e4e4e4; */
}
@media screen and (max-width: 767px) {
  nav {
    left: -220px;
    width: 240px;
  }
}
/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: fixed;
  top: 30px;
  right: 30px;
  width: 30px;
  height: 30px;
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 14px;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
}
.open .toggle_btn span {
  /* background-color: #fff; */
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}
/*============
#mask
=============*/
#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background: #000; */
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}
/*//// ハンバーガーメニュー ////*/


.select_btn {
    background: #008dc9;
    color: #fff;
    font-size: .75em;
    padding: 0.1em;
    text-align: center;
    border: none;
    border-radius:0;
    cursor: pointer;
}
.select_btn:hover {
    background: #fdf2b2;
    color: #008dc9;
    transition: 0.1s;
    cursor: pointer;
    opacity: 1 !important;
}
.select_btn a:hover {
    opacity: 1 !important;
}
.select_btn:before,
.info_btn:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    margin-right: 0.5em;
}

/* Hack */
button:not(:disabled) {
  width:100%;
}

.info_btn {
    border: 1px solid #f37c06;
    background: #f37c06;
    color: #fff;
    font-size: 0.9em;
    padding: 0.25em 1.5em;
    text-align: center;
    margin-bottom: 0.5em;
}
.info_btn:hover {
    border: 1px solid #f37c06;
    background: #fff;
    color: #f37c06;
    transition: 0.1s;
    cursor: pointer;
}
.info_btn a:hover {
    opacity: 1 !important;
}
.guide_int:hover,.guide_int a:hover {
    border: 1px solid #043d78;
    background: #fff;
    color: #043d78!important;
    transition: 0.1s;
    cursor: pointer;
    opacity:1;
}
.guide_int a:hover {
    opacity: 1 !important;
}

.dropdown {
    position: relative;
    /* display: inline-block; */
    z-index: 100;
}
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 100%;
    left:0;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 20;
}

.dropdown-content a {
    font-size: 0.9em;
    color: #008dc9;
    font-weight: bold;
    padding: 6px 16px;
    text-decoration: none;
    display: block;
}
.dropdown-content a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    margin-right: 0.5em;
}
.dropdown-content a:hover {
    background-color: #008dc9;
    color: #fff;
    opacity: 1 !important;
}
.dropdown:hover .dropdown-content {
    display: block;
}
.dropdown:hover .select_btn {
    opacity: 1;
}
.dropdown:hover .select_btn:hover {
    background: #fdf2b2;
    color: #008dc9;
    transition: 0.5s;
    cursor: pointer;
    opacity: 1;
}
nav .inner ul.list_date {
  margin-left:1em;
}
/* nav .inner ul li p {
  border-bottom:1px dotted #fff; margin-bottom:.5em;
  padding-bottom:.25em;
} */
nav .inner ul.list_date li a {
  padding:.5em 0 .25em .5em;
}
nav .inner ul.list_date li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  margin-right: 0.5em;
}
dl.transaction {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 0.25em;
}
dl.transaction dt {
    width: 50%;
    font-weight: normal;
}
dl.transaction dt:after {
    content: ": ";
}
dl.transaction dd {
    width: 50%;
}
dl.transaction dt,
dl.transaction dd {
    padding: 0.25em 0 0 0.25em;
}
dl.transaction:nth-child(odd) {
    background: #eee;
}
p span.transaction {
    background: #eee;
    padding: 5px;
    border-radius: 0;
    border: none;
    font-size: 1em;
}
.apply_link {
  background:#043d78;
  border-radius:8px;
  padding:.75em 1em;
  color:#fff!important;
  display: block;
  max-width: 200px;
  margin: 0 auto;
}
.apply_link:hover {
  background:#008dc9;
  opacity:1;
}

.txt_through {
  text-decoration-line:line-through;
  font-size:inherit!important;
  text-decoration-style:double;
}


@media screen and (max-width: 768px) {
    .wrapper {
        width: 100%;
    }
    .tab_menu {
        display: none;
    }
    ul.lec_menu,
    ul.winter_lec_menu {
        display: none;
    }
}

/* PC
====================================================*/
@media screen and (min-width: 769px) {
    .wrapper {
        width: 100%;
        margin-top:20px;
    }
    .main_container {
        margin-top: 100px;
    }
    .bg_dbl {
        padding: 30px;
    }
    .bg_wh {
        padding: 18px 20px;
    }
    .apply_area {
        float: right;
        width: 50%;
    }
    .apply_procedure {
        overflow-x: hidden;
    }
    .apply_procedure_inner {
        width: 100%;
    }
    .apply_procedure01 {
        width: 49%;
    }
    #header_fixed {
        height: 80px;
    }
    .pc {
        display: block;
    }
    .sp {
        display: none;
    }
    .select_menu_container {
        display: none;
    }

    .tbl_schedule {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        overflow: auto;
    }

    .tbl_course_box {
        width: 100%;
    }
    .tbl_course_box td {
        font-size: 1em;
    }
    .reservations {
        top: 7px;
        right: -32em;
    }
    .ttl_accent p {
        font-size: 2.2em;
        line-height: 1em;
        padding: 2.5em 0 0 1em;
    }

    .tbl_eiken_lineups td {
        text-align: left;
        vertical-align: bottom;
        padding: 3px 5px;
    }

    .course {
        margin-bottom: 3px;
        cursor: pointer;
    }

    .schedule {
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 40px;
        overflow-x: auto;
    }
    .schedule::-webkit-scrollbar {
        /* display: none; */
    }
    #slogan {
        font-size: 22px;
        line-height: 1em;
        color: #043d78;
        font-weight: bold;
    }
    .apply_flow {
        align-items: center;
        display: flex !important;
        justify-content: space-between;
        clear: both;
    }
    .apply_flow > div {
        width: calc((100% / 4) - 60px);
        float: left;
        min-height: 220px;
    }
    .apply_flow img {
        width: 50%;
        display: block;
        margin: 0 auto 1em;
        float: none;
    }
    .catch_txt {
        font-size: 3rem;
    }
    .catch_txt_session {
        font-size: 2.4rem;
    }
    .catch_txt_session:before {
        left: 45%;
        bottom: -15px;
        width: 10%;
    }
    .catch_date {
        font-size: 1.4em;
        text-align: center;
        max-width: 80%;
        margin: 2em auto;
        display: block;
        padding: 0.5em;
    }
    .header_summer2024 {
        height: 100px;
    }

    .corporate {
        font-size: 2em;
        line-height: 1.4em;
    }
    .corporate img {
        float: left;
    }
    .link_sche_date {
        font-size: 0.9em;
    }
    h1:not([class]) {
        font-size: 2rem;
    }
    .footer {
        height: 208px;
    }
    .footer_summer2024 {
        height:300px;
    }
    .footer_inner img {
        margin-bottom: 0.5em;
    }
    p.footer_corporate {
        font-size: 1.1em;
        text-align: right;
    }
    p.footer_corporate span {
        font-size: 0.75em;
    }
    .footer_inner p.footer_session {
        text-align: left;
    }
    .btn_gy {
      margin:0;
    }
    .guide_int {
      font-size:.9em;
      margin-bottom: 0.5em;
      width:100%;

    }
    .select_btn {
      font-size: .9em;
    }
    .ancher_tab_current {
      font-size:1.1em;
    }
    .ancher_tab {
      font-size:1.1em;
    }
}
/* TABLET
====================================================*/
@media screen and (min-width: 600px) and (max-width: 768px) {

    a.button_inner_all_w {
        width: 25%;
    }
    #button_header_inner_apply {
        width: 25%;
        margin-top: 40px;
    }
    a.button_inner_header,
    a.button_inner_all,
    .button_inner_header_gr {
        margin-top: 38px;
        margin-right: 40px;
        width: 25%;
    }
    .button_inner_all_w {
        margin-top: 40px;
        color: #fff;
    }
    .tbl_schedule {
        width: 100%;
        max-width: 100%;
    }
    .tbl_course_box {
        width: 100%;
    }
    .reservations {
        top: 8px;
        right: -7em;
    }
    .ttl_accent p {
        padding: 0.5em 0 0 0;
        margin-bottom: 0 !important;
    }

    .pc {
        display: block;
    }
    .sp {
      display:none;
    }

    .course {
        margin-bottom: 3px;
        cursor: pointer;
    }

    .schedule {
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 40px;
        overflow-x: auto;
    }
    .schedule::-webkit-scrollbar {
        display: none;
    }
    #slogan {
        display: none;
    }
    .wrapper {

    }
    .tbl_schedule th.session5,.tbl_schedule td.session5,.tbl_schedule td.session5_apply {
        min-width:33.3333%;

    }
    .footer_inner p.footer_session {
      text-align:left;
    }
    p.footer_corporate {
    text-align: right;
}
}

@media screen and (min-width: 426px) {
    .container {
        width: 100%;
    }

    #header {
        width: 100%;
        height: 160px;
        border: none;
        overflow: visible;
    }
    #lectures {
        width: 100%;
        height: 100px;
        border: none;
        overflow: visible;
    }
    .button_inner,
    .button_inner_gr {
        width: 40%;
    }
    .header_button_pc {
        display: inline;
    }
    .header_button_sp {
        display: none;
    }

    .course {
        margin-bottom: 3px;
        cursor: pointer;
    }
    .schedule {
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 40px;
        overflow-x: auto;
    }
}

@media screen and (max-width: 425px) {
    #header {
        height: 270px;
        width: 100%;
        border: none;
        overflow: visible;
    }
    #lectures {
        height: 70px;
        width: 100%;
        border: none;
        overflow: visible;
    }
    a.button_inner_header,
    a.button_inner_all,
    .button_inner_header_gr {
        letter-spacing: 0;
        /* margin-top:.5em; */
        margin-bottom: 1em;
        width: 45%;
        float: left;
    }
    .header_button_pc {
        display: none;
    }

    .course {
        margin-bottom: 3px;
        cursor: pointer;
    }
    .schedule {
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 40px;
        overflow-x: auto;
    }
    #slogan {
        display: none;
    }
}

.banner {
    font-size: 14px;
    color: #043d78;
    background: white;
    font-weight: bold;
    border-style: solid;
    border-color: #043d78;
    border-radius: 5px;
    border-width: 2px;
}

.custom_badge {
    background-color: white;
    border-radius: 4px;
}

/* 外部向けページ用 SC作成 */
:target {
    scroll-margin-top: var(--headerHeight, 150px);
}
.session_branch {
    /* background: #fffdf2; */
    padding: 0.5em;
    /* margin-bottom: 2em;
  border: 1px solid #f6f1d3; */
}
.session_branch p {
    font-weight: bold;
    border-bottom: 1px solid;
}
.session_branch ul {
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    padding-left: 0;
}
.session_branch ul li {
    width: 100%;
    margin: 0 0.5em;
}
.session_branch ul li a.branch_on {
    display: block;
    text-align: center;
    background: #008dc9;
    color: #fff;
    padding: 0.2em 0.5em;
    border-radius: 5px;
    filter: drop-shadow(1px 3px 0px #005b82);
}
.session_branch ul li a.branch_on:hover {
    filter: none;
    transform: translateY(2px);
    transition: 0.1s;
    opacity:1;
}
.session_branch ul li a.branch_off {
    display: block;
    text-align: center;
    border: 1px dashed #666;
    padding: 0.2em 0.5em;
    border-radius: 5px;
    background: #f5f5f5;
}
.session_branch ul li a.branch_off:hover {
    opacity: 1;
}
.attention_none {
    color: #043d78;
    font-weight: bold;
    font-size: 0.9em;
}
h3.branch_title {
    font-weight: bold;
    border-bottom: 1px solid #000;
    margin-bottom: 0.5em;
    margin-top: 1em;
}
h3.branch_title:after {
  font-family: "Font Awesome 5 Free";
  content: "\f0d7";
  font-weight: 900;
  margin-left: 0.5em;
}
h3.session_title {
    background:#eaeaea;
    /* background: #008dc9;
    color: #fff; */
    padding: 0.5em 1em;
    font-weight: bold;
    font-size:1.2em;
}
h3.session_title:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  margin-right: 0.5em;
}
h3.session_title a {
  font-weight:bold;
}
ul.session_list {
    display: flex;
    list-style: none;
    padding-left: 0;
    flex-direction: row;
    flex-wrap: wrap;
}
ul.session_list li {
    width: calc(100% / 2 - 1em);
    padding: 0.5em 0;
    margin: 0.5em;
    font-size: 1.1em;
    text-align: center;
}
.btnshine {
    position: relative;
    display: inline-block;
    background: #008dc9;
    color: #fff !important;
    filter: drop-shadow(0px 2px 0px #00264e);
    padding: 10px 20px;
    outline: none;
    overflow: hidden;
    border-radius: 10px;
    /* margin-top: 1em; */
}
.btnshine:hover {
    filter: none;
    transform: translateY(2px);
    transition: 0.1s;
}
.btnshine::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(4, 61, 120, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
    transform: skewX(-25deg);
}
.btnshine:hover::before {
    animation: shine 0.7s;
}
@keyframes shine {
    100% {
        left: 125%;
    }
}
.btn_gy {
  background:#ccc;
  padding: 10px;
  border-radius: 10px;
  display:block;
  margin:0 5%;
}
p.session_none {
    font-size: 1.2em;
    padding: 0.5em;
    font-weight: bold;
    text-align: center;
    margin: 2em 0;
}
ul.branch_ll {
    display: flex;
    list-style: none;
    padding-left: 0;
    flex-direction: row;
    flex-wrap: wrap;
}
ul.branch_ll li {
    width: calc(100% / 3 - 1em);
    padding: 0.5em 0;
    margin: 0.5em;
    font-size: 1.1em;
    text-align: center;
}
ul.branch_ll li a {
    background: #043d78;
    color: #fff;
    border-radius: 5px;
    display: block;
    padding: 0.5em;
    filter: drop-shadow(0px 3px 0px #00264e);
}
ul.branch_ll li a:hover {
    filter: none;
    transform: translateY(3px);
    transition: 0.1s;
}
h3.trial_title {
    font-size: 1.3em;
    border-left: 7px solid #61c4ef;
    border-bottom: 1px solid #61c4ef;
    padding: 0.3em 0.5em;
}
.session_wrap {
    background: #fff;
    border: 1px solid #008dc9;
    margin-bottom: 2em;
    padding-bottom: 1em;
}
/* p.bg_trial span.target,
p.bg_jissen span.target,
p.bg_jituryoku span.target,
p.bg_academic span.target {
    background: #666;
    color: #fff;
    padding: 4px;
    font-size: 0.8em;
    line-height: 0.8em;
    display: inline-block;
    margin-bottom: 0em;
    margin-top: 0em;
    text-align: left;
} */
p.bg_trial_basic span.date,
p.bg_trial_standard span.date,
p.bg_trial_intensive span.date,
p.bg_jissen span.date,
p.bg_jituryoku span.date,
p.bg_academic span.date {
    background: #fff;
    color: #000;
    border-radius: 2px;
    font-size: 0.8em;
    padding: 2px;
    margin-bottom: 0;
}

.tbl_items {
    margin-bottom: 2em;
    width: 100%;
}
.tbl_items tr,
.tbl_items td,
.tbl_items th {
    border: 1px solid #ccc;
    padding: 0.5em;
}
.tbl_items th {
    font-weight: bold;
    background-color: #eee;
    font-size: 0.9em;
    width: 45%;
}
.tbl_items td {
    font-size: 0.9em;
}

ul.lesson_list li span {
    display: inline-block;
    width: 11em;
}

/* 受講生の声 */
.row .col-12 a i span {
    font-weight: bold;
    font-size: 0.9em;
}
#voice_js_pre1 ul li,
#voice_js_2 ul li,
#voice_js_pre2 ul li,
#voice_js_3 ul li,
#voice_jr_pre1 ul li,
#voice_jr_2 ul li,
#voice_jr_pre2 ul li,
#voice_jr_pre3 ul li,
#voice_academic_aw1 ul li {
    font-size: 0.9em;
}

[aria-expanded="true"] .fa-chevron-up {
    transform: rotate(0deg);
    transition-duration: 0.3s;
}
[aria-expanded="false"] .fa-chevron-up {
    transform: rotate(180deg);
    transition-duration: 0.3s;
}
