.txt_bold{ font-weight:bold; }
small{ font-size:0.8em !important; }

/*　style.css打消し　*/
.follow-bar-inner a { border-right:0 !important; }

/*カラー指定*/
.fc_white{
	color:#fff;
}
.fc_green{
	color:#6E961E;
}

/*背景色指定*/
.bg_yellow {
	background: #ffeb99;
}
.bg_blue {
	background: #ccf4ff;
}
.bg_pink {
	background: #ffcfe6;
}
.bg_green , .back-green {
	background:#baffb6;
}
.bg_orange {
	background:#ffbea4;
}

/* 導入文 */
.article-summary p{margin-bottom:10px !important;}

/* 枠 */
.dotbox { /* 主に「次の○つです」といったときに使用  */
 padding: 10px; margin-bottom: 10px; border: 1px dotted #333333;
}
.graybox { /* 主にulタグを囲む要素として使用  */
 background-color: #f3f3f3; padding: 24px; margin-bottom: 1em;
}

/* クリップ枠 */
.clipbox {
 position: relative;
 margin: 2em auto;
 padding: 15px 35px 15px 25px;
 width: 90%; /* ボックス幅 */
 background-color: #fff; /* ボックス背景色 */
 color: #555555; /* 文章色 */
 border: 1px solid #ccc; /* 枠線 */
 box-shadow: 1px 1px 1px #acacac; /* 影の色 */
}
.clipbox::before {
 position: absolute;
 content: '';
 top: -15px;
 right: 10px;
 height: 55px;
 width: 15px;
 border: 3px solid #555555; /*クリップ色 */
 background-color: none;
 border-radius: 12px;
 box-shadow: 1px 1px 2px #999;
 transform: rotate(10deg);
 z-index: 1;
}
.clipbox::after {
 position: absolute;
 content: '';
 top: 0px;
 width: 10px; 
 right: 20px;
 border: solid 5px #fff; /*背景色と同じ色にする*/
 z-index: 2;
}

.clipbox .title{
 font-size:1.3em;
 font-weight:bold;
 border-bottom:3px solid #efefef;
}


/* 背景黒板　*/
.kokubanbox {
    position: relative;
    margin: 2em auto;
    padding: 1em;
    width: 100%;
    background: #006633;
    color: #fff;
    border: 8px solid #b2771f;
    border-radius: 3px;
    box-shadow: 0 0 5px #333, 0 0 5px #555 inset;
}
.kokubanbox::after {
    width: 15px;
    right: 45px;
    border: solid 3px #fff;
    border-radius: 8px 5px 2px 5px;
    position: absolute;
    content: '';
    bottom: 0;
}
.kokubanbox::before {
    width: 20px;
    right: 10px;
    border: solid 3px #ffff00;
    border-radius: 3px 2px 0 2px;
    position: absolute;
    content: '';
    bottom: 0;
}
.kokubanbox .list_style_none {
	/*margin-left:2em;*/
}

/*kokubanbox内で、ulやolにclass=colorlistを指定すると黄色にな*/
.kokubanbox .color li{
	color:yellow;
}

.entry-content .dotbox h4 , .entry-content .graybox h4{margin-top:0 !important;}

/* フッタータグリスト */
#footer .footer-left .nav ul.x2 li { line-height:1.2em; margin-top:3px; margin-bottom:10px; }


/* テーブル */

.entry-content table{ overflow-x : auto !important; }
.entry-content table.wrap{ white-space:normal; }

.entry-content .schedule-table {
	border-collapse: collapse; 
	margin-left: 0px; 
	overflow-x: auto;
}
.entry-content .schedule-table th, .entry-content .schedule-table td {
	padding:0.6em;
        border: solid 1px #ccc;
}

/*引用（導入文、用語集の関連リンクに適用）*/
blockquote{ 
	font-size:0.8em !important;
	line-height:1.2em !important;
	padding:10px 8px !important;
	background-color:#efefef !important;
}


/*見出しデザイン再設定*/

.entry-content h2 {
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    padding: 20px 15px 20px !important;
/* ここはもとの設定引継ぎ
    font-size: 2.2rem;
    position: relative;
    border-left: solid 5px var(--my-first-color);
*/
    background-color:#efefef;
}
.entry-content h3 {
    margin-top: 30px !important;
    margin-bottom: 15px !important;
/*    font-size: 2rem; 元の設定引継ぎ*/
    position: relative !important;
    padding-left: 15px !important;
    border-left: solid 5px var(--my-first-color) !important;
    font-weight: bold !important;
}
.entry-content h3:before {
 content:"" !important;
}
.entry-content h4 {
    padding-left: 1.4em !important;
    position: relative !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
}
.entry-content h4:before {
    content: "■";
    position: absolute;
    top: auto;
    left: 0;
    margin-right: 10px;
    color: var(--my-first-color);
}



/*h2画像のみ見出し用*/
.entry-content h2.imgtitle{
	border:none;
	padding:0;
	background:none;
}
.entry-content h2.imgtitle span.title{
	display:none;
}
.entry-content h2.imgtitle img{
	width:100%;
}


/*テーブル　横スクロール解除*/
.entry-content .no_scroll {
    display:inline-block;
    overflow-x: hidden !important;
    white-space: normal !important;
}


/* リンクカードデザイン　*/
.blog-card-long {
	margin: 0 0 1.8rem;
}
.card-link {
    	display: inline-block;
    	max-width: 310px;
    	margin-right: 20px;
  overflow: hidden;
  width: 100%;
  padding: 0;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
  color: #555;
  text-decoration: none !important;
  position: relative;
}
.card-link:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
  color: #888;
  text-decoration: none;
  transform: translateY(-2px);
}
.blog-card-label-long{
	z-index: 1;
	display: inline-block;
    position: absolute;
	background-color: #90B840;
    top: 10px;
	left: 10px;
	max-width: 120px;
	height: 25px;
	padding: 0 0.5rem;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    text-align: center;
    line-height: 25px;
    transform-origin: 50% 50%;
    animation: animScale 3.5s ease-out;
}

.blog-card-label{
    display: inline-block;
    position: absolute;
    background-color: #90B840;
    top: 0px;
    left: 0px;
	z-index: 2;
    width: 70px;
    height: 25px;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    text-align: center;
    line-height: 25px;
    transform-origin: 50% 50%;
    animation: animScale 3.5s ease-out;
}

.card-link .blogcard-text {
  display: block;
  padding: 15px 13px;
  line-height: 1.6;
}
.card-link img {
  width: 100%;
}
.longcard-link {
  margin-bottom: 1.5em;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.25);
    	max-width: 100%;
    	display: table;
}
.longcard-link img {
  padding: 10px 10px 0;
}
.longcard-img{
	position: relative;
    display: table-cell;
    vertical-align: middle;
}
.blogcard-title {
	font-size: .9em;
	line-height: 1.4;
	display: -webkit-box;
    -webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}
.blog-card-excerpt-long {
	padding-top: .8em;
    font-size: .8em;
    line-height: 1.4;
	font-weight: normal;
    opacity: .8;
	color: #333;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
    text-overflow: ellipsis;
}

.card-link.longcard-link .blogcard-content {
    display: table-cell;
    vertical-align: middle;
}
.longcard-img {
    width: 30%;
}
.blogcard-content {
    width: 70%;
}
.longcard-img img {
    width: 100%;
    padding: 10px;
}

.list-check {
	padding-left: 0;
    	margin-left: 2em;
}

.list-check li {
	position: relative;
	line-height: 1.3em;
    	margin-bottom: 0.5em;
	list-style-type: none !important;
}
.list-check li::after {
  content: '';
  display: block;
  position: absolute;
  top: .5em;
  left: -1.5em;
  width: 10px;
  height: 5px;
  border-left: 2px solid #f59200;
  border-bottom: 2px solid #f59200;
  transform: rotate(-45deg);
}

/* 吹き出し　*/
.voicebox {
    position: relative;
    margin: 2em auto;
    padding: 1em;
    width: 100%;
}

.voice_left {
    position: relative;
    padding: 20px;
    border-radius: 10px;
    background-color: #fff;
    border: 1px solid #999999;
    margin-left: 110px;
    margin-bottom: 60px;
}
.voice_left::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -15px;
    top: 20px;
    border-right: 15px solid #999999;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}
.voice_left .icon {
    position: absolute;
    left: -110px;
    top: 0;
}
.voice_left::after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -14px;
    top: 20px;
    border-right: 15px solid #FFFFFF;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}
.voice_right {
    position: relative;
    padding: 20px;
    border-radius: 10px;
    background-color: #FFFFFF;
    border: 1px solid #6E961E;
    margin-right: 110px;
    margin-bottom: 0px;
}
.voice_right::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -15px;
    top: 20px;
    border-left: 15px solid #6E961E;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}
.voice_right .icon {
    position: absolute;
    right: -110px;
    top: 0;
    op: 0;
}
.voice_right::after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -14px;
    top: 20px;
    border-left: 15px solid #FFFFFF;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}
/* list-style-type none 設定*/
.list_style_none li {
	list-style-type: none !important;
}



/*数式用（xやyの未知数）*/
.mathfont {
	font-family:'Petit Formal Script', cursive; /*Great Vibesから変更*/
	/*font-size:1.5em;*/
}
.mathfont sup{
    font-family: math;
    font-size: 0.6em;
}



/*--------分数表記-----*/

.fraction {
	display: inline-flex; 
	flex-direction: column; 
	vertical-align: middle; 
	text-align: center;
}
.numerator {
	padding: 0 10px;
	border-bottom: 1px solid;
}
.mathfont .numerator,.mathfont .numerator,.numerator.mathfont{ line-height:1em; }
.denominator {
	padding: 0 10px;
}
.mathfont .denominator,.denominator .mathfont,.denominator.mathfont{ line-height:1.2em; }
/*--------------□表記-------------------*/
.square {
	border: 1px solid #333;
    	padding: 2px 7px;
    	margin-right: 10px;
}

/*--------------テーブルth td 中央寄-------------------*/
.table_center th, .table_center td {
	text-align:center;
}

@media only screen and (min-width: 481px) {

  .blogcard-title {
    font-size: 1em;
  }
  .longcard-img {
    width: 25%;
  }
  .blogcard-content {
    width: 75%;
  }

}
@media screen and (max-width: 959px){
	.blog-card-excerpt-long {
		display: none;
	}
}




/* 用語集用 */
.dictionary_area p {
	text-align:justify;
}
.dictionary_area .clipbox a:not(.nospace){
	margin-right:4px;margin-left:4px;
}
.dictionary_area .clipbox .title{
	font-size:1.2em;
	margin-bottom:8px;
}
.dictionary_area .clipbox .subtitle{
	font-weight:bold;
	margin-bottom:0;
}
.dictionary_area .clipbox p{
	margin-bottom: 8px;
	line-height: 1.5em;
	text-align:unset;
}
.dictionary_area .clipbox a{
	text-decoration:none;
	display:unset;
}

.dictionary_area h2{
	background:#dff0d8;
	margin-top:80px !important;
}
.dictionary_area h3{
	color:#6E961E;
}
.dictionary_area h4 .rubi{
	font-weight:normal;
	font-size:0.8em;
}

/*=================================
　期間限定バナー一括削除
=================================*/
.bnr_fujioka_winter, .bnr_fujioka, /*藤岡教室*/
.bnr_fujioka_counceling,/*受験カウンセリング*/
.bnr_fujioka_sokkuritest,/*そっくりテスト*/
.bnr_jkids_summer,/*自考力キッズ夏の短期講座*/
.bnr_programming,/*プログラミング*/
.summerbox,/*夏期講習クリップボックス*/
.bnr_kobetsu_ictsummer,/*ICTサマー*/
.bnr_risha1000,/*理社1000題*/
.bnr_campaign_sep,/*９月キャンペーン*/
.bnr_wakamatsu_autumn,/*秋期講習*/
.bnr_wakamatsu_autumn2023,
.bnr_event_esg,/*ESG祭り*/
.highschoolseminar_box,/*高校進学セミナー*/
.bnr_wakamatsu_jh2seminar,/*高校受験準備セミナー*/
.bnr_wakamatsu_ele6seminar,/*中学入学準備セミナー*/
.bnr_shindan, .shindanbox,/*学力診断テスト*/
.bnr_wakamatsu_winter,/*冬期講習*/
.bnr_wakamatsu_oikomikouza,/*中３追い込み講習*/
.bnr_kobetsu_winter,/*個別冬期*/
.bnr_kobetsu_oikomiplan,/*個別中３追い込みプラン*/
.bnr_jukumon,/*ジュクモン*/
.bnr_sokudokueigo,/*速読聴英語*/
.bnr_toitsutest_ele/*小学生統一テスト*/
{
 display:none;
}


/*記事内挿入バナー*/
.bnr{
	margin:20px auto;
}
