@charset "UTF-8";

/*!
Theme Name: Cocoon Child（DEKITA）
Description: Cocoon（DEKITA）
Theme URI: https://dekita.net/
Author: DEKITAカスタマイズ
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

.content {
	margin-top: 0px;
}



.image-wrapper-2retu {
    display: flex; /* 横並びにする */
    gap: 10px; /* 画像間の隙間 */
    justify-content: center; /* 中央揃え（オプション） */
	padding-bottom: 30px;
}

.image-wrapper-2retu img {
    width: 500px; /* 希望の幅 */
    height: 300px; /* 希望の高さ */
    object-fit: cover; /* アスペクト比を保ちながらサイズ調整 */
}


@media (max-width: 768px) { /* スマホサイズ用のメディアクエリ */
    .image-wrapper-2retu {
        flex-direction: column; /* 縦並びに変更 */
        align-items: center; /* 中央揃え（必要に応じて） */
    }
    
    .image-wrapper-2retu img {
        width: 100%; /* スマホでは幅を100%にする */
        height: auto; /* 高さを自動調整 */
        max-width: 500px; /* 必要に応じて最大幅を設定 */
    }
}
/*8つの特徴*/

.container-type {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* 左揃え */
    padding: 20px;
}

.item-type {
    background-color: #fff;
    color: #000;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid;
    text-align: left;
    box-sizing: border-box;
    margin-bottom: 20px;
    margin-right: 10px; /* 要素間のスペース */
    width: calc(100% / 4 - 10px); /* デフォルトは4列 */
}

/* 1300px以下のブラウザでは横3列 */
@media (max-width: 1300px) {
    .item-type {
        width: calc(100% / 3 - 10px);  /* 3列 */
    }

}

/* 1000px以下のブラウザでは横3列 */
@media (max-width: 1000px) {
    .item-type {
        width: calc(100% / 3 - 10px);  /* 3列 */
    }
}

/* 700px以下のブラウザでは横2列 */
@media (max-width: 700px) {
.container-type {
    padding: 10px;
}
.item-type {
	width: calc(100% / 1 - 10px);
	}
}

.title-container {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.type-title {
    font-size: 28px;
    font-weight: bold;
    margin-right: 10px;
}

.separator {
    width: 2px;
    height: 38px;
    background-color: #000;
    margin-right: 9px;
}

.type-sub-title {
    font-size: 18px;
font-weight: bold;
}

.item-type p {
    font-size: 14px;
    line-height: 1.6;
}
a.item-type {
    display: block;
    text-decoration: none; /* 下線を消す */
    color: inherit; /* 親の文字色を継承 */
}

a.item-type:hover {
    background-color: #f0f0f0; /* ホバー時の背景色変更 */
}


/*FC教室*/

.container-fc {
  display: flex;
	padding-bottom: 30px;
}

.container-fc a:hover{
	opacity:0.8;
}

.box-fc {
  position: relative;
  flex: 1; /* 各ボックスに均等の幅を与える */
  margin: 10px;
  overflow: hidden; /* 画像がボックスの外にはみ出ないようにする */
  /* 高さを指定することで、帯を含めた内容が枠内に収まるように調整 */
  height: 300px; /* 例: 300px、実際の値はデザインに合わせてください */
}

.box-fc img {
  width: 100%; /* ボックスの幅に合わせる */
  height: calc(100% - 0px); /* 帯の高さを差し引いた高さに調整 */
  object-fit: cover; /* 画像を切り取りつつ、ボックスのサイズに合わせる */
}

.box-fc:after {
  content: attr(data-name); /* 属性から名称を取得して表示 */
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  color: white; /* 文字色 */
  background-color: rgba(0, 0, 0, 0.5); /* 帯の背景色、透明度を設定 */
  padding: 5px 0; /* 上下のパディング */
  text-align: center; /* テキストを中央揃え */
  font-size: 16px; /* フォントサイズ */
  height: 30px; /* 帯の高さを指定 */
}

/* ディスプレイの幅が500px以下のときのスタイル */
@media (max-width: 600px) {
.box-fc {
    position: relative;
    flex: 1;
    margin: 5px;
    overflow: hidden;
    height: 123px;
}
.box-fc:after {
    font-size: 12px;
    height: 22px;
}
}

/*FC教室*/

/*FC教室　ウィジェット版*/

.container-fc-w {
  display: flex;
	padding-bottom: 30px;
}

.container-fc-w a:hover{
	opacity:0.8;
}

.box-fc-w {
  position: relative;
  flex: 1; /* 各ボックスに均等の幅を与える */
  margin: 10px;
  overflow: hidden; /* 画像がボックスの外にはみ出ないようにする */
  /* 高さを指定することで、帯を含めた内容が枠内に収まるように調整 */
  height: 300px; /* 例: 300px、実際の値はデザインに合わせてください */
}

.box-fc-w img {
  width: 100%; /* ボックスの幅に合わせる */
  height: calc(100% - 0px); /* 帯の高さを差し引いた高さに調整 */
  object-fit: cover; /* 画像を切り取りつつ、ボックスのサイズに合わせる */
}

.box-fc-w:after {
  content: attr(data-name); /* 属性から名称を取得して表示 */
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  color: white; /* 文字色 */
  background-color: rgba(0, 0, 0, 0.5); /* 帯の背景色、透明度を設定 */
  padding: 5px 0; /* 上下のパディング */
  text-align: center; /* テキストを中央揃え */
  font-size: 16px; /* フォントサイズ */
  height: 30px; /* 帯の高さを指定 */
}

/* ディスプレイの幅が500px以下のときのスタイル */
@media (max-width: 600px) {
.box-fc-w {
    position: relative;
    flex: 1;
    margin: 5px;
    overflow: hidden;
    height: 123px;
}
.box-fc-w:after {
    font-size: 12px;
    height: 22px;
}
}

/*FC教室　ウィジェット版*/

/*投稿ページ　上部　FC教室　ウィジェット版*/

.single-post-top .box-fc-w {
  position: relative;
  flex: 1; /* 各ボックスに均等の幅を与える */
  margin: 10px;
  overflow: hidden; /* 画像がボックスの外にはみ出ないようにする */
	height: 230px; /* 例: 300px、実際の値はデザインに合わせてください */
}

.single-post-top .box-fc-w img {
  width: 100%; /* ボックスの幅に合わせる */
  height: calc(100% - 0px); /* 帯の高さを差し引いた高さに調整 */
  object-fit: cover; /* 画像を切り取りつつ、ボックスのサイズに合わせる */
}

.single-post-top .box-fc-w:after {
  content: attr(data-name); /* 属性から名称を取得して表示 */
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  color: white; /* 文字色 */
  background-color: rgba(0, 0, 0, 0.5); /* 帯の背景色、透明度を設定 */
  padding: 5px 0; /* 上下のパディング */
  text-align: center; /* テキストを中央揃え */
  font-size: 16px; /* フォントサイズ */
  height: 30px; /* 帯の高さを指定 */
}

/* ディスプレイの幅が500px以下のときのスタイル */
@media (max-width: 600px) {
.single-post-top .box-fc-w {
    position: relative;
    flex: 1;
    margin: 5px;
    overflow: hidden;
    height: 123px;
}
.single-post-top .box-fc-w:after {
    font-size: 12px;
    height: 22px;
}
}

/*投稿ページ　上部　FC教室　ウィジェット版*/

.single-kobetu h3{
	background-color:#444;
	color:#fff;
}


.waku-red{
border: solid 3px #e6003387;
    font-weight: 700;
    padding: 20px;
    text-align: center;
}


/*swiper 疑似要素がヘッダーに被る問題 swiperがz-index: 10のため*/
.is-header-fixed .header-container {
    z-index: 11;
}


.swiper-pagination-bullet-active {
    background-color: #444;
}

.swiper {
	height: 425px;
}

.swiper2 {
	height: 390px!important;
}

.swiper img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

.swiper-slide {
    padding: 0 5px;
}

.swiper-scrollbar {
    display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
    color: #444;
}


/*記事ページのスワイパー*/
.swiper-kiji img{
    height: auto!important;
}



/* フェードイン

div.animation_box {
  padding: 10px;
  animation: fadeIn 5s ease 1s 1 normal backwards;
}
 
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}


.fadein {
	opacity : 0.1;
	transform : translate(0, 50px);
	transition : all 1500ms;
	}


.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}

.top-hyou table th.main-th2{
    background-color: #7cb545;
    color: #fff;
  }

.top-box-content .fa,
.top-box-content .fas,
.top-box-content .fab,
.top-box-content .far {
	font-size: 300%;
}
*/
/*吉原TOP画像*/
.container-yoshiwara {
  display: flex;
  justify-content: space-between;
}

.box-yoshiwara {
  flex: 1; /* ボックスの幅を均等に設定 */
  margin: 0 10px; /* ボックス間の余白調整 */
}

.box-yoshiwara img {
  width: 100%; /* 画像をボックスの幅に合わせて調整 */
  height: auto; /* 画像の高さを自動調整してアスペクト比を維持 */
}

/*吉原TOP画像*/



/*TOP 8つの特徴*/


.top-box-content .fa {
	font-size: 60px;
	padding-bottom: 15px;
}

.top-box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  box-sizing: border-box;
  margin: 0px -10px;
}

.top-box-item {
  box-sizing: border-box;
  width: 25%;
  margin-bottom: 20px;
  padding: 0px 10px;
}

.top-box-content {
  text-align: center;
    box-sizing: border-box;
    height: 100%;
    padding: 10px;
    border: solid 1px #dcdcdc;
}

.top-box span{
	display:block;
	font-weight:bold;
	font-size:20px;
	color: #fff;
}

.top-box span:hover{
	display:block;
	font-weight:bold;
	background-color: inherit;
}

.top-box a{
  text-decoration:none;
	color: inherit;
}

.top-box-item :hover{
	color: #444;
	background-color: transparent;
}

.top-box-content:hover,
.top-box-content:hover * {
    color: #444;
		background-color: #fff;
}

@media screen and (max-width: 1600px) {
.top-box-content {
	font-size:90%;
}
}



@media screen and (max-width: 768px) {
.top-box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  box-sizing: border-box;
  margin: 0px -10px;
}

.top-box-item {
  box-sizing: border-box;
  width: calc(100% /2);
  margin-bottom: 20px;
  padding: 0px 5px;
}
	
.hero .cta-button {
    margin: 20px 0;
    padding: 7px 7px;
    font-size: 1.2em;
    width: 70%;
    font-size: 90%;
}	
	
.top-box span {
    font-size: 17px;
}
	
.top-box-content .fa {
    font-size: 35px;
}	
	
.top-box span {
    font-size: 90%;
}	
	
.top-box-content {
	text-align: center;
	box-sizing: border-box;
	height: 100%;
	padding: 15px 5px 15px 5px;
	font-size: 15px;
}	

}

/*TOP 8つの特徴*/


.hero {
    background: url('https://web.archive.org/web/20231005034114im_/https://study-base.jp/wp-content/uploads/2022/01/aaron-huber-s95oB2n9jng-unsplash-1-scaled.jpg') no-repeat center center fixed; 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    padding: 0 20px; /* サイドのスペース */
}

.hero .catchphrase {
    margin: 20px 0;
}

.hero .title {
    margin: 20px 0;
    font-size: 2em;
}

.hero .text {
    text-align: left;
    margin: 20px 0;
	width: 60%;
}

.hero .cta-button {
    margin: 20px 0;
    padding: 10px 20px;
    border: none;
    background-color: #ffffff00;
    color: #fff;
    font-size: 1.2em;
    cursor: pointer;
    transition: background-color 0.3s ease;
	border-radius: 5px;
    border: 1px solid #fff;
    width: 300px;
    font-size: 17px;
}

.hero .cta-button:hover {
    background-color: #ffffffe5;
	color: #000;
}
.hero .top-image-title {
    font-size: 60px;
    line-height: 110px;
    padding: 0 30px;
    background-color: #444444AD;
    font-family: 'Arial Black','Arial Bold',Gadget,sans-serif;
	color: inherit;
    max-width: inherit;
	text-align: inherit;
}

@media screen and (max-width: 1400px) {
		.hero .text {
    text-align: left;
    margin: 20px 0;
			width: 80%;
}
}


@media screen and (max-width: 900px) {
		.hero .text {
    text-align: left;
    margin: 20px 0;
			width: 100%;
}
.hero .title {
    margin: 0px 0;
    font-size: 2em;
}
.hero .catchphrase {
    margin: 10px 0;
}
.hero .top-image-title {
    font-size: 30px;
	line-height: 50px;
}
	
	
}


.introdution .title{
	font-size: 30px;
    text-transform: uppercase;
    color: #fff;
    font-weight: 700;
	background-color:#444;
    font-family: source-han-serif-japanese,serif;
}

@media screen and (max-width: 900px) {
.introdution .title{
	font-size: 110%;
	line-height: 50px;
}
}

.yokofull {
    background-color:#c1261f;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
	padding-bottom: 30px;
    padding-top: 20px;
	background-image: url(https://study-base.jp/images/red-back-2.png);
}


.yokofull-blue {
    background-color:#105c7e;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    padding-bottom: 30px;
    padding-top: 20px;
	background: linear-gradient(152deg, rgba(4, 58, 131, 0.85) 0%, rgba(4, 58, 131, 0.85) 100%), url(https://study-base.jp/wp-content/uploads/2024/06/class-scaled.jpeg);
}

@media (max-width: 768px) {
    .yokofull-blue {
        background-size: cover;
        background-position: center;
    }
}

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

.custom-heading {
  position: relative;
  display: inline-block;
  background-color: transparent;
  margin-top: 30px;
	margin-bottom: 45px!important;
	font-size: 45px!important;
  background-color: #222;
  color: #444!important;
	background-color: #fff0!important;
	font-family: "impact", sans-serif;
}

.news-heading::before {
  content: "NEWS";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 130px;
  color: #c1261f;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.features-heading{
  color: #000!important;
}

.achievement-heading {
  color: #fff!important;
}

.open-heading {
  color: #fff!important;
}

.introduction-heading {
  color: #000!important;
}
.introdutionteacher{
	padding-top:50px;
}

/*.achievement-heading::before {
	content: "RESULT";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #fff;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.features-heading::before {
  content: "8FEATURES";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #c1261f;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.about-heading::before {
  content: "ABOUT";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #2ca9e1;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.comparison-heading::before {
  content: "COMPARISON";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #1e50a2a6;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.tuition-heading::before {
  content: "TUITIONFEE";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #1e50a2a6;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.location-heading::before {
  content: "LOCATION";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #007b43;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.voice-heading::before {
  content: "VOICE";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #0e62eb;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.open-heading::before {
  content: "OPENTIME";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #f3fafe;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.introduction-heading::before {
  content: "INTRODUCTION";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #0c2042;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.blog-heading::before {
  content: "BLOG";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #f39800f2;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.faq-heading::before {
  content: "FAQ";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #3285bf;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.contact-heading::before {
  content: "CONTACT";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 100px;
  color: #e60033;
  opacity: 0.1;
  z-index: 1;
  transform: translate(-50%, -50%);
}*/

.custom-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 50%;
  height: 2px;
  background-color: #cd1717;
  transform: translateX(-50%);
	width: 20%;
  height: 4px;
}

.custom-heading.achievement-heading::after {
  background-color: #fff;
}

.custom-heading.voice-heading::after {
  background-color: #1e50a2;
}

.custom-heading.open-heading::after {
  background-color: #fff;
}




@media (max-width: 768px){
.news-heading::before {
	font-size: 13vw;
}
.achievement-heading::before {
	font-size: 80px;
}
.features-heading::before {
	font-size: 70px;
}
.about-heading::before {
	font-size: 85px;
}
.comparison-heading::before {
	font-size: 65px;
}
.tuition-heading::before {
	font-size: 70px;
}	
.location-heading::before {
	font-size: 55px;
}
.voice-heading::before {
	font-size: 80px;
}	
	
.open-heading::before {
	font-size: 80px;
}
	
.introduction-heading::before {
	font-size: 55px;
}
	
.blog-heading::before {
	font-size: 55px;
}
	
.faq-heading::before {
	font-size: 55px;
}

.contact-heading::before {
	font-size: 55px;
}

.custom-heading {
	font-size: 21px!important;
}	
	
.custom-heading::after {
  bottom: 14px;	
	width: 20%;
  height: 3px;
}

}

#sample .samplebox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 40px;
  background: #efefef;
}
#sample .item {
  background: #fff;
  padding: 15px;
  width: 47.8%;
}
#sample .item p {
  margin: 15px 0 0;
}
#sample .samplebtn {
  margin: 15px 0 0;
}
#sample .samplebtn span {
  display: block;
  background: #bf1319;
  color: #fff;
  line-height: 60px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
	
#sample .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
}
#sample .samplebtn {
  margin-top: auto;
}
#sample .samplebtn span {
  margin: 15px 0 0;
}

.seito-box {
	margin: 2em 0;
	background: #fff;
	text-align:center;
	border: solid 1px;
}
.seito-box .box-title {
    font-size: 100%;
    background: #af1e23;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.seito-box p {
    padding: 15px 20px;
    margin: 0;
	text-align: left;
}

.video-waku-blog img{
	width:auto;
}

@media (max-width: 768px){
.video-waku-blog img{
	width:70%;
}
	}




/*TOPページのカルーセル*/
/* TOPカルーセル */

.carousel-main-top {
width:inherit!important;
    background-color: #222;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
	padding-bottom: 30px;
}


.carousel-top {
	padding-top:30px;
	width: 80%;
	margin: 0 auto;
	}

.carousel-top .slider{
	padding-left:inherit;
	}

.slider img{
	width:100%;
	height:100%;
}
.slick-slide{
  margin:0 10px;
}
.slider{
  padding-left:0;
}

.slick-dots li button:before{
	font-size:25px!important;
}

.slick-dots-sp {
  position: absolute;
  bottom: -40px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots-sp li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots-sp li.slick-active
  button::before {
	color: #fff;
	opacity: 1;
}


.slick-dots-sp li button {
  background: transparent;
  border:0;
  font-size: 0pt;
}
.slick-dots-sp li button::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 50px;
  line-height: 20px;
  text-align: center;
	color: black;
  opacity: 0.25;
}
	
@media screen and (max-width: 768px) {
.carousel-top {
	padding-top:30px;
	width: 100%;
}
	
}



.slick-dots-sp li button::before {
    position: absolute;
    top: 0;
    left: 0;
	content: "・";
    width: 20px;
    height: 20px;
    font-family: "slick";
    font-size: 30px;
    line-height: 20px;
    text-align: center;
    color: #fff;
    opacity: 0.25;
}


.carousel-main-top {
	width: 100%;
	background-color: #fff;
}

.carousel-top {
    padding-top: 30px;
	width: 90%;
    margin: 0 auto;
}

.slick-prev {
    left: 17px;
    color: #444;
    background-color: #fff;
    font-size: 0;
    height: 32px;
    transform: translateY(-50%);
    transition: all .3s;
    width: 33px;
    position: sticky;
	z-index: 1000;
}

.slick-prev, .slick-next {
    width: 0px;
    height: 0px;
	top: 44%;
}

@media screen and (max-width: 768px) {
.slick-prev, .slick-next {
    width: 0px;
    height: 0px;
	top: 48%!important;
    width: 16px!important;
    height: 16px!important;
}

.slick-prev:before, .slick-next:before {
	font-size: 15px!important;
}	
}

.slick-prev {
    left: -3%!important;
}
.slick-next {
    right: -3%!important;
}

.slick-prev:before {
	 content: "\f053"!important; /* アイコンのUnicode */
    color: #000;
}

.slick-next:before {
	 content: "\f054"!important; /* アイコンのUnicode */
    color: #000;
}

.slick-prev:before, .slick-next:before {
    font-family: 'slick';
	font-size: 30px!important;
    line-height: 1;
    opacity: .75;
	color: #000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/*TOPページのカルーセル*/


/*スマホでは非表示*/
@media screen and (max-width: 767px) {
.sp-none {
    display: none;
}
}

.featurescontent .fa{
    font-size: 300%;
	padding-bottom: 15px;
}
.featurescontent .fas{
    font-size: 300%;
	padding-bottom: 15px;
}
.featurescontent .fab{
    font-size: 300%;
	padding-bottom: 15px;
	font-weight: bold;
}

.featurescontent .far{
    font-size: 300%;
	padding-bottom: 15px;
}

/**グーグルマップ　モノクロ
.google-map iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
グーグルマップ　モノクロ**/


/**画像左　文章右**/
.flex-container {
    display: flex;
    flex-wrap: wrap;
    margin: 0.5em;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
}

.intro3 {
    background: white;
    width: 50%;
    box-sizing: border-box;
    text-align: center;
}

.intro3 .intro-container {
    /**padding: 1em;**/
    color: #2d3b48;
    box-sizing: border-box;
}

.intro4 {
    background: white;
    width: 50%;
    box-sizing: border-box;
}

.intro4 .intro-container {
    color: #2d3b48;
    box-sizing: border-box;
	padding-top: 30px;
}

.intro-container ul{
	padding-left:10px;
}

@media screen and (max-width: 767px) {

.flex-container {
	margin: 0em;
}	
	
.intro3 {
    width: 100%;
}

.intro4 {
    width: 100%;
}	
	
}




.box_18 {
	position: relative;
	padding: 1.5em;
	border: 2px solid #27acd9;
	}
.box_18_ttl {
	position: absolute;
	padding: 0 0.5em;
	left: 30px;
	top: -10px;
	background: #fff;
	font-weight: bold;
	color: #27acd9;
	}




.ad-waku{
border:solid 1px #dcdcdc;
	padding:25px 10px;
	background-color:#eeeeee3b;
	text-align: center;
	width: 70%;
    margin: 0 auto;
}

.ad-waku a:hover{
	opacity:0.8;
}

.ad-small {
    font-size: 80%;
}

.button-ad {
    background-color: #d94b59;
    border: solid 1px #d94b59;
    color: #f7f7f7!important;
    cursor: pointer;
    font-family: 'Raleway',sans-serif;
    padding: 10px 0px;
    text-transform: uppercase;
    white-space: normal;
    width: 70%;
    font-size: 15px;
    display: inherit;
    margin-left: auto;
    margin-right: auto;
	text-decoration: none;
}

@media (max-width: 768px){
	
.ad-waku {
	padding:10px 0px;
	width: 92%;
}
	
.button-ad {
    font-size: 13px;
	padding: 8px 0px;
    width: 80%;
}
}


table th {
    background-color: #33333321;
}



/*関連記事タイトル*/
.related-entry-heading{
	background-color: #444;
  color: #fff;
  font-size: 100%;
	padding: 12px;
  margin: 16px 0;
  border-radius: 2px;
}
/*関連記事タイトル*/

/*高校の偏差値一覧*/
.koukou-hyou th{
	background-color: #444;
	border: 1px solid #444!important;
	color:#fff
}

.koukou-hyou td{
	padding:10px;
}
/*高校の偏差値一覧*/



.sidebar h2, .sidebar h3 {
    background-color: #444;
    color: #fff;
    font-size: 95%;
}

.kanji{
position: relative;
    padding: 15px 65px 15px 65px;
    text-align: center;
    font-size: 25px;
    font-family: source-han-serif-japanese,serif;
}

@media screen and (max-width: 760px){
.kanji {
    padding: 15px 0px;
    text-align: center;
    font-size: 25px;
    font-family: source-han-serif-japanese,serif;
}
}




/*実績紹介*/

.int-jisseki2{
	background-image: url(http://dekita.net/wp-content/uploads/2022/10/white-black.jpg);
	background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
}

.int-jisseki2 .int{
	background: rgb(16 15 15 / 82%);
	width: calc(50% - 70px / 2);
    box-sizing: border-box;
    text-align: center;
	margin: 3em 1em 1em 1em;
    margin-bottom: 1em;
    border: solid 1px;
}

@media screen and (max-width: 760px){
.int-jisseki2 .int{
	width: 100%;
	margin: 11px 0px 0px 0px;
    margin-bottom: 0em;
}
	
.int-jisseki2 .int .int-info-con {
	padding: 2em;
}
	
.int-jisseki2 ul{
	margin: 0px 0px 0px -35px;
}
}





.int-jisseki2  .int .int-title-con {
	background-color: inherit;
    padding: 1em;
}

.int-jisseki2 .int .int-info-con {
	color: #fff;
}

.int-jisseki2 .int .int-title-con {
    background-color: initial;
}

.int-jisseki2 .int .int-title-con .title {
	color: #fff;
	font-size: 150%;
	font-family: "Arial Black","メイリオ";
}


/*成績　実績紹介*/

.int-jisseki3{
	background-image: url(http://dekita.net/wp-content/uploads/2022/10/white-black.jpg);
	background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
	padding-top:20px;
	padding-bottom:20px;
}

.int-jisseki3 .int{
	background: rgb(16 15 15 / 82%);
	width: calc(50% - 70px / 2);
    box-sizing: border-box;
    text-align: center;
	margin: 3em 1em 1em 1em;
    margin-bottom: 1em;
    border: solid 1px;
}

@media screen and (max-width: 760px){
.int-jisseki3 .int{
	width: 100%;
	margin: 11px 0px 0px 0px;
    margin-bottom: 0em;
}
	
.int-jisseki3 .int .int-info-con {
	padding: 2em;
}
	
.int-jisseki3 ul{
	margin: 0px 0px 0px -35px;
}
}





.int-jisseki3  .int .int-title-con {
	background-color: inherit;
    padding: 1em;
}

.int-jisseki3 .int .int-info-con {
	color: #fff;
}

.int-jisseki3 .int .int-title-con {
    background-color: initial;
}

.int-jisseki3 .int .int-title-con .title {
	color: #fff;
	font-size: 150%;
	font-family: "Arial Black","メイリオ";
}


/**文章コンテンツ**/

.letter {
	padding: 30px 30px 20px 30px;
    width: 94%;
    margin: 0 auto;
    font-size: 100%;
    background-color: #000000a8;
    color: #fff;
}

@media screen and (max-width: 768px) {
.letter {
	padding: 15px 8px 15px 10px;
    width: 95%;
    font-size: 100%;
}
}







.hensati{
font-size:250%;
	color:#e60033;
	text-align:center;
	font-weight: bold;
}

.no-sidebar .content .main {
    margin: 0;
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 1023px){
.no-sidebar .content .main {
    margin: 0;
    width: 100%;
    margin: 0 auto;
}
}

.entry-content table th, table td {
border: 1px solid #000!important;
    padding: 6px;
}

/* ビデオ枠 */
.video-waku {
  padding: 2em;
  position: relative;
  text-align: center;
}

.video-waku-blog {
  padding: 0em;
  position: relative;
  text-align: center;
}

.video-waku::before, .video-waku::after {
  content: '';
	width: 30px;
	height: 30px;
	position: absolute;
}

.video-waku::before {
	border-left: 5px solid #aaa;
	border-top: 5px solid #aaa;
	top: 0;
	left: 0;
}

.video-waku::after {
	border-right: 5px solid #aaa;
	border-bottom: 5px solid #aaa;
	bottom: 0;
	right: 0;
}








@media screen and (max-width: 834px){
.entry-card-title, .related-entry-card-title {
    font-size: 13px;
}
}



.waku ul {
	margin-bottom:10px
}

.waku-top-letter {
        width: 80%;
    margin: 0px auto;
    position: relative;
    margin-top: 46px;
    padding: 26px;
    background-color: #fff;
    border: 2px solid #94949085;
    color: #000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
.waku-top-letter {
    width: 90%;
}
}






.waku-top-letter::before {
    content: '';
    position: absolute;
    top: -33px;
    left: 0;
    right: 0;
    width: 2px;
    height: 33px;
    margin: auto;
    /* border: 1px solid #9494; */
    background-color: #94949085;
}


.waku-top-toiawase {
        width: 50%;
    margin: 0 auto;
    margin-top: 65px;
    padding: 10px;
    border: 2px solid #94949085;
    color: #000;
    margin-bottom: 20px;text-align: center;
}

  .waku-top-toiawase:hover{
    background-color: #444;
    color:#fff;
  }

.waku-top-toiawase:after {
    content: "\f054";
    font-family: FontAwesome;
    margin-left: 28px;
    font-size: 100%;
    text-decoration: none;
}


.toiawase-button a{
	text-decoration: none;
  }


.videosize {
width:50%;
height:50%;
margin: 0px auto;
}

@media screen and (max-width: 768px) {
.videosize {
	width:100%;
}
}



.back-black {
background-color:#444;
	padding: 0px 14px;
}


.location-title {
	font-size: 15px!important;
	font-family: inherit!important;
}


 /*1日の流れ*/
  
  
.flow-list dl {
	position: relative;
	margin: 0;
	padding: 28px 80px 28px 30px;
	cursor: pointer;
      border-bottom: 1px solid #000;
  }
	
.flow-list dl:first-child {
      border-top: 1px solid #000;
}
	
.flow-list dl:last-child {
      margin-bottom: 30px;
  }
	
.flow-list dl::before {
      position: absolute;
      top: 35px;
      right: 35px;
      display: block;
      width: 7px;
      height: 7px;
      margin: auto;
      content: '';
      transform: rotate(135deg);
      border-top: 2px solid #000;
      border-right: 2px solid #000;
  }
  .flow-list .open::before {
      transform: rotate(-45deg);
  }
  .flow-list dl dt {
      position: relative;
      margin: 0;
      padding: 0 0 0 50px;
      font-weight: bold;
      font-size: 20px;
  }
  .flow-list dl dt::before {
      font-size: 22px;
      line-height: 1;
      position: absolute;
      top: 3px;
      left: 0;
      display: block;
      content: 'Q.';
      color: #3285bf;
  }
  .flow-list dl dd::before {
      font-size: 22px;
      line-height: 1;
      position: absolute;
      top: 3px;
      left: 2px;
      display: block;
      content: 'A.';
      font-weight: bold;
      color: #3285bf;
  }
  .flow-list dl dd {
      position: relative;
      display: none;
      height: auto;
      margin: 20px 0 0;
      padding: 0 0 0 50px;
  }
  .flow-list dl dd p {
      margin: 30px 0 0;
  }
  .flow-list dl dd p:first-child{
      margin-top: 0;
  }

  .flow-list normalbutton a{
      text-decoration: none;
  }
  
  @media screen and (max-width: 767px) {
  .flow-list dl {
      position: relative;
      padding: 15px 40px 15px 10px;
  }
  .flow-list dl::before {
      top: 20px;
      right: 20px;
      width: 7px;
      height: 7px;
  }
  .flow-list dl dt {
      padding: 0 0 0 30px;
      font-size: 14px;
  }
  .flow-list dl dt::before {
      font-size: 14px;
      top: 3px;
      left: 5px;
      content: 'Q.';
  }
  .flow-list dl dd::before {
      font-size: 14px;
      top: 5px;
      left: 5px;
      content: 'A.';
  }
  .flow-list dl dd {
      margin: 10px 0 0;
      padding: 0 0 0 30px;
      font-size: 14px;
  }
  .flow-list dl dd p {
      margin: 30px 0 0;
  }
  .flow-list dl dd p:first-child{
      margin-top: 0;
  }
}

  /*FAQ*/
  
  
.qa-list dl {
	position: relative;
	margin: 0;
	padding: 28px 80px 28px 30px;
	cursor: pointer;
      border-bottom: 1px solid #000;
  }
	
.qa-list dl:first-child {
      border-top: 1px solid #000;
}
	
.qa-list dl:last-child {
      margin-bottom: 30px;
  }
	
.qa-list dl::before {
      position: absolute;
      top: 35px;
      right: 35px;
      display: block;
      width: 7px;
      height: 7px;
      margin: auto;
      content: '';
      transform: rotate(135deg);
      border-top: 2px solid #000;
      border-right: 2px solid #000;
  }
  .qa-list .open::before {
      transform: rotate(-45deg);
  }
  .qa-list dl dt {
      position: relative;
      margin: 0;
      padding: 0 0 0 50px;
      font-weight: bold;
      font-size: 20px;
  }
  .qa-list dl dt::before {
      font-size: 22px;
      line-height: 1;
      position: absolute;
      top: 3px;
      left: 0;
      display: block;
      content: 'Q.';
      color: #3285bf;
  }
  .qa-list dl dd::before {
      font-size: 22px;
      line-height: 1;
      position: absolute;
      top: 3px;
      left: 2px;
      display: block;
      content: 'A.';
      font-weight: bold;
      color: #3285bf;
  }
  .qa-list dl dd {
      position: relative;
      display: none;
      height: auto;
      margin: 20px 0 0;
      padding: 0 0 0 50px;
  }
  .qa-list dl dd p {
      margin: 30px 0 0;
  }
  .qa-list dl dd p:first-child{
      margin-top: 0;
  }

  .qa-list normalbutton a{
      text-decoration: none;
  }
  
  @media screen and (max-width: 767px) {
  .qa-list dl {
      position: relative;
      padding: 15px 40px 15px 10px;
  }
  .qa-list dl::before {
      top: 20px;
      right: 20px;
      width: 7px;
      height: 7px;
  }
  .qa-list dl dt {
      padding: 0 0 0 30px;
      font-size: 14px;
  }
  .qa-list dl dt::before {
      font-size: 14px;
      top: 3px;
      left: 5px;
      content: 'Q.';
  }
  .qa-list dl dd::before {
      font-size: 14px;
      top: 5px;
      left: 5px;
      content: 'A.';
  }
  .qa-list dl dd {
      margin: 10px 0 0;
      padding: 0 0 0 30px;
      font-size: 14px;
  }
  .qa-list dl dd p {
      margin: 30px 0 0;
  }
  .qa-list dl dd p:first-child{
      margin-top: 0;
  }
}

/**画像左　文章右**/
.flex-container {
    display: flex;
    flex-wrap: wrap;
    margin: 0.5em;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
}

.intro1 {
    background: white;
    width: 30%;
    box-sizing: border-box;
    text-align: center;
    margin: 1em;
    margin-bottom: 1em;
}

.intro1 .intro-container {
    /**padding: 1em;**/
    color: #2d3b48;
    box-sizing: border-box;
}

.intro2 {
    background: white;
    width: 60%;
    box-sizing: border-box;
    margin: 1em;
    margin-bottom: 1em;
}

.intro2 .intro-container {
    /**padding: 1em;**/
    color: #2d3b48;
    box-sizing: border-box;
}

@media screen and (max-width: 767px) {

.flex-container {
	margin: 0em;
}	
	
	.intro1 {
    width: 100%;
}

.intro2 {
    width: 100%;
}	
	
}

/****/

.migi {
    float: right;
}

.small-f {
    font-size: 80%;
    color: #333;
}

.under {
    border-bottom: solid;
    border-color: #ffd900;
	border-width: 3px;
	font-weight: bold;
}

.kasen {
    border-bottom: solid;
    border-color: #ffd900;
	border-width: 3px;
	font-weight: bold;
}

.marker-under {
    border-bottom: solid;
    border-color: #ffd900;
	border-width: 3px;
	font-weight: bold;
	background:inherit;
}

@media screen and (max-width: 568px) {
.koushuuarea {
font-size: 120%!important;
}
}




.about h4{
	border-bottom:solid 1px #000;
	font-size: 120%;
	margin-bottom: 18px;
}


.br-sp {
  display: none;
}

@media screen and (max-width: 1080px) {
  .br-pc {
    display: none;
  }

  .br-sp {
    display: inline-block;
  }
}


.koushuuarea {
	border: 1px solid #e60033;
	text-align:center;
	font-size:150%;
	padding:20px;
	margin-bottom:50px;
}

/*TOPIC*/
.topicarea .newstitle{
	text-align:center;
}



.topicbox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  box-sizing: border-box;
  margin: 0px -10px;
}

.topicitem {
  box-sizing: border-box;
	width: 48%;
  margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
  padding: 0px 20px 0px 20px;
}


.topicbox span{
	display:block;
	font-weight:bold;
	font-size:20px;
	text-align:center;
	color: #7cb545;
}

.topicbox a{
  text-decoration:none;
	color: inherit;
}


.topiccontent {
  text-align: center;
    box-sizing: border-box;
    height: 100%;
    padding: 0px;
    border: solid 1px #dcdcdc;
}

.topiccontent span{
    font-size: 1.2em;
    background: #444;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.topiccontent p{
	text-align: left;
	padding:10px
}


@media screen and (max-width: 768px) {
.topicbox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  box-sizing: border-box;
  margin: 0px -10px;
}

.tpicitem {
  box-sizing: border-box;
  width: 50%;
  margin-bottom: 20px;
  padding: 0px 5px;
}
	
.topicbox span {
    font-size: 17px;
}

.topiccontent {
	text-align: center;
	box-sizing: border-box;
	height: 100%;
	padding: 15px 5px 15px 5px;
	font-size: 15px;
}	
}	

/*所在地*/

.location td {
	vertical-align: top;
}

.locationContainer {
    display: flex;
    flex-wrap: wrap;
    margin: 1em;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
}

.location-box-left{
	background: white;
	width: 60%;
    box-sizing: border-box;
    text-align: center;
    margin: 1em;
    margin-bottom: 1em;
}

.location-box-right{
	background: white;
	width: 30%;
    box-sizing: border-box;
    text-align: left;
    margin: 1em;
    margin-bottom: 1em;
}

@media screen and (max-width: 800px) {
.locationContainer {
    margin: 0;
}
      
.locationContainer .plan {
    width: 100%;
    margin: 1em 0;
}	

.location-box-left{
	background: white;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin: 1em;
    margin-bottom: 1em;
}

.location-box-right{
	background: white;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    margin: 1em;
    margin-bottom: 1em;
}
	
}

.location-box .titleContainer {
    background-color: #f3f3f3;
	padding: 0.5em 1em 0.3em 1em;
}

 
.location-box .titleContainer .title {
    font-size: 1.45em;
    text-transform: uppercase;
    color: #7cb545;
    font-weight: 700;
}
  
.location-box .locationContainerinfo {
    padding: 1em;
    color: #2d3b48;
    box-sizing: border-box;
}

.locationContainerinfo h3{
	padding: 5px 10px 2px 10px;
    background-color: #444;
    color: #fff;
	font-size: 110%;
}

.locationContainerinfo p{
	padding: 10px 10px 20px 10px;
}
  
.location-box .locationContainerinfo .price {
    font-size: 1.35em;
    padding: 1em 0;
    font-weight: 600;
    margin-top: 0;
    display: inline-block;
    width: 80%;
}
  
.location-box .locationContainerinfo .price p {
    font-size: 1.35em;
    display: inline-block;
    margin: 0;
}
  
.location-box .locationContainerinfo .price span {
    font-size: 70%;
    display: inline-block;
}
  
.location-box .locationContainerinfo .desc {
    padding-bottom: 1em;
    border-bottom: 2px solid #f3f3f3;
    margin: 0 auto;
    width: 90%;
}
  
.location-box .locationContainerinfo .desc em {
    font-size: 1em;
    font-weight: 500;
}
  
.location-box .locationContainerinfo .features {
    font-size: 1em;
	padding-top: 2em;
    list-style: none;
    padding-left: 0;
    text-align: left;
}
  
.location-box .locationContainerinfo .features li {
    padding: 0.5em;
}
  
.location-box .locationContainerinfo .selectPlan {
    border: 3px solid #7cb545;
    padding: 0.45em 1em;
    border-radius: 2.5em;
    cursor: pointer;
    transition: all 0.25s;
    margin: 1em auto;
    box-sizing: border-box;
    max-width: 95%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
	text-decoration: none;
}
  
.location-box .locationContainerinfo .selectPlan:hover {
    background-color: #7cb545;
    color: white;
}

@media screen and (max-width: 767px) {	
.location-box .infoContainer .features li {
    font-size:15px;
}
	
.locationContainerinfo h3{
	padding: 0px!important;
	font-size: 110%!important;
}
}

.muryouarea {
	text-align: center;
	padding-bottom:50px;
}

.muryouarea a{
	color: #000;
	text-decoration:none;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(0deg,#691015,#97151b 20%,#d9030a);
    -webkit-background-clip: text;
    font-size: 100%;
}

.muryou {
	text-align: center;
    font-size: 35px;
    font-family: source-han-serif-japanese,serif;
	font-weight:bold;
	padding-bottom: 60px;
}

.muryou-2 {
	text-align: center;
    font-size: 25px;
    font-family: source-han-serif-japanese,serif;
	font-weight:bold;
	padding-bottom: 60px;
}
@media screen and (max-width: 767px){
    .muryou {
        font-size: 20px;
    }
    
    .muryouarea {
        text-align: center;
        padding-bottom: 0px;
    }
    }	

@media screen and (max-width: 767px){
.menu-content .menu-drawer {
    padding: 30px 1em 30px;
}	
	
.menu-drawer li {
    display: block;
    border-bottom: solid 1px #dcdcdc;
    line-height: 35px;
}
	
.menu-drawer .sub-menu li{
	border-bottom: solid 0px #dcdcdc;
}

.search-box {
    margin: 1em 0 2em;
    position: relative;
    margin-bottom: 100px;
}
button[type="submit"] {
    border-radius: 30px;
    width: 100%;
    font-size: 100%;
    background-color: #7cb545;
    color: #fff;
    position: relative;
	margin-top: 23px;
    padding: 5px;
}

.text {
	padding-left: 0px!important;
}	
	
.text ul{
	padding-left: 10px!important;
}	
	
}

.full-wide {
	padding-top:30px;
	padding-bottom:30px;
}

.full-wide-inder {
	width: 35vw;
	margin: 0 calc(50% - 32vw);
}

.full-wide-inder-title {
	position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 22px;
    text-transform: uppercase;
    width: 715px;
}


.fixed-background {
    min-height: 30vh;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}
 
.background-1 {
	/*background-image: url(https://study-base.jp/wp-content/uploads/2022/01/aaron-huber-s95oB2n9jng-unsplash-1-scaled.jpg);*/
	background-image: url(https://study-base.jp/wp-content/uploads/2023/11/20231130043732-scaled.jpeg);
}

.background-yoshiwara {
	background-image: url(https://study-base.jp/wp-content/uploads/2024/02/cw_image1.jpg);
}

@media screen and (max-width: 767px){
.fixed-background {
    min-height: 10vh;
}
}




/*固定フッター*/

.footer {
	margin: 20px 0 70px;
	padding: 8px;
}

.bottommenu {
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    margin-top: 20px;
    background-color: #444;
    z-index: 9999;
}

.buttontop {
    text-decoration: none;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 9px 0;
    text-transform: uppercase;
    white-space: normal;
    width: 100%;
    font-size: 15px;
    display: inline-block;
    text-align: center;
    background-color: #292929;
}

.bottommenu a:hover{
	color: #7cb545;
}


.top2waku>table {
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 2;
    margin-bottom: 0;
    width: 60%;
    margin: auto;
}

div.top2waku tr td {
    padding: 3px;
    border: 1px solid #ddd;
    line-height: normal;
}

@media screen and (max-width: 767px){
.top2waku>table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 2;
	margin-bottom: 0;
	width: 100%;
	margin: auto;
}
	
.buttontop {
    text-decoration: none;
    color: #fff;
    padding: 3px 0 10px 0;
    font-size: 12px;
}

.go-to-top {
    position: fixed;
    display: none;
    right: 10px;
    bottom: 80px;
    z-index: 99999;
}
	
} 




/*星印*/
.fa-star:before {
    content: "\f005";
    color: #ffd900;
    font-size: 100%;
}


.entry-title, .archive-title {
    font-size: 30px;
}

@media screen and (max-width: 767px) {
	.entry-title, .archive-title {
		font-size: 25px;
		padding: 10px 0px;
}
} 

/*H2・H3*/
.article h2{
    padding: 30px;
    background-color:#222;
    font-size: 40px;
    color: #ffffff;
    text-align:center;
  }

.entry-content h2{
    padding: 15px;
    background-color:#222;
    font-size: 25px;
    color: #ffffff;
    text-align:left;
  }

.article h3 {
    border-left: 0px solid #888;
    border-right: 0px solid #ddd;
    border-top: 0px solid #ddd;
    border-bottom: 2px solid #444;
    font-size: 25px;
    padding: 12px 0px;
}
  
@media screen and (max-width: 767px) {
  .article h2 {
    padding: 20px 30px 20px 30px;
    font-size: 20px;
    line-height: 28px;
  } 
	
.article h3 {
    border-left: 0px solid #888;
    border-right: 0px solid #ddd;
    border-top: 0px solid #ddd;
    border-bottom: 2px solid #7cb545;
    font-size: 20px;
    padding: 2px 0px;
}
}

/*PC横2列　スマホ縦2段テーブル*/

table.pc2sp1 {
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 40px;
    width: 100%;
	min-height: 100px;
}

.pc2sp1 .featurescontent {
    text-align: center;
    box-sizing: border-box;
    height: 100%;
    padding: 10px;
	  border: inherit;
    box-shadow: inherit;
    transition: all 0.3s ease 0s;
}

.pc2sp1 p {
    margin-bottom: inherit;
}

.pc2sp1 th {
    width: 25%;
	border: 3px solid #292929;
    background-color: #292929;
    color: #fff;
    padding: 0 10px;
    text-align: center;
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	vertical-align: middle;
}

.pc2sp1 td {
    	border: 3px solid #292929;
	vertical-align: initial;
}

.featurescontent:hover {
 /*box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);*/
    transform: translateY(0px)!important;
}



@media only screen and (max-width:780px){
    .pc2sp1 { margin: 0 0px; }
    .pc2sp1 th,
    .pc2sp1 td{
    width: 100%;
    display: block;
    border-top: none;
    }
	
.pc2sp1 td {
    padding: 10px;
	font-size:100%;
}
	
	
.pc2sp1 tr:first-child th { border-top: 2px solid #292929; }
}

.pc2sp1 table {
    box-sizing: unset;
}


/*フッター*/
.navi-footer-in a:hover {
    background-color: #f5f8fa;
    color: #222!important;
}

/*囲み枠*/

.waku-top {
  border:solid 1px #dcdcdc;
	padding-top:5px;
	padding-bottom:0px;
}


.entry-content .waku {
  border:solid 1px #dcdcdc;
	padding:10px 10px 0px 20px;
	padding-bottom:0px;
}

.waku {
  border:solid 1px #dcdcdc;
	padding-top:10px;
	padding-bottom:0px;
}

.waku-ad{
  border:solid 1px #dcdcdc;
	padding-top:20px;
	padding-bottom:20px;
}

/*8つの特徴*/

.features h3 {
	font-family: source-han-serif-japanese,serif;
}



.featurescontent .fa {
	font-size: 60px;
	padding-bottom: 15px;
	color: #444;
}

.footer-meta {
    display: none;
}

.featuresflexbox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  box-sizing: border-box;
  margin: 0px -10px;
}

.featuresitem {
  box-sizing: border-box;
  width: 25%;
  margin-bottom: 20px;
  padding: 0px 10px;
}

.featurescontent {
  text-align: center;
    box-sizing: border-box;
    height: 100%;
    padding: 10px;
    border: solid 1px #dcdcdc;
	/*box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.25);*/
	transition: all 0.3s ease 0s;
}

.featurescontent:hover{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
}

.features p{
	margin-bottom: 0em;
	font-size: 90%;
}

.featuresflexbox span{
	display:block;
	font-weight:bold;
	font-size:20px;
	color: #333333c7;
}

.featuresflexbox a{
  text-decoration:none;
	color: inherit;
}

.featuresitem :hover{
	background: #fff;
}

@media screen and (max-width: 768px) {
.featuresflexbox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  box-sizing: border-box;
  margin: 0px -10px;
}

.featuresitem {
  box-sizing: border-box;
  width: 50%;
  margin-bottom: 20px;
  padding: 0px 5px;
}
	
.featuresflexbox span {
    font-size: 17px;
}
	
.featurescontent {
	text-align: center;
	box-sizing: border-box;
	height: 100%;
	padding: 15px 5px 15px 5px;
	font-size: 15px;
}	

}

/*ボタン*/
.normalbutton {
    border: 1px solid #333;
    padding: 0.45em 1em;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.25s;
    margin: 20px auto 10px auto;
    box-sizing: border-box;
    max-width: 55%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
	text-align: center;
	text-decoration: none;
	position: relative;
}

.normalbutton:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 24px;
    margin: auto;
    vertical-align: middle;
    width: 0.4em;
    height: 0.4em;
}

.normalbutton:hover {
    background-color: #444;
    color: #fff;
}

.normalbutton a {
	text-decoration:none;
}

.menu-close-button {
    display: block;
    cursor: pointer;
    font-size: 2em;
    text-align: left;
    padding-left: 22px;
}


.normalbutton-red {
    border: 1px solid #af1e23;
	background-color: #af1e23;
	color: #fff;
    padding: 0.45em 1em;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.25s;
    margin: 20px auto 10px auto;
    box-sizing: border-box;
    max-width: 48%;
    display: block;
    font-weight: 700;
    font-size: 80%;
	text-align: center;
	text-decoration: none;
	position: relative;
}

.normalbutton-red:hover {
    background-color: #fff;
    color: #000;
}

.normalbutton-red a {
    color: #000;
}

.normalbutton-red:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 24px;
    margin: auto;
    vertical-align: middle;
    width: 0.4em;
    height: 0.4em;
}



.normalbutton-red-top {
    border: 1px solid #af1e23;
	background-color: #af1e23;
	color: #fff;
    padding: 0.45em 1em;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.25s;
    margin: 20px auto 10px auto;
    box-sizing: border-box;
    max-width: 48%;
    display: block;
    font-weight: 700;
    font-size: 80%;
	text-align: center;
	text-decoration: none;
	position: relative;
}

.normalbutton-red-top:hover {
    background-color: #fff;
    color: #000;
}

.normalbutton-red-top a {
    color: #000;
}

.normalbutton-red-top:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 24px;
    margin: auto;
    vertical-align: middle;
    width: 0.4em;
    height: 0.4em;
}

@media screen and (max-width: 768px) {
.normalbutton-red{
	max-width: 90%;
}
	
.normalbutton {
    border: 1px solid #333;
    padding: 5px;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.25s;
    margin: 20px auto 10px auto;
    box-sizing: border-box;
    max-width: 55%;
    display: block;
    font-weight: normal;
    font-size: 80%;
    color: #000;
	text-align: center;
	text-decoration: none;
	position: relative;
}
	
.normalbutton:after {
    background-image: url(https://study-base.jp/fontawesome/webfonts/mobile-right-arrow.svg);
    position: absolute;
    right: 0px;
    top: 9px;
    background-size: auto;
    background-repeat: no-repeat;
    margin-right: 6px;
    content: "";
    display: inline-block;
    width: 10px;
    height: 13px;
}
	
	
	
}


/*問い合わせフォーム*/

.contact table {
    margin-bottom: 20px;
    max-width: 100%;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.contact table th, table td {
    border: 0px solid #eee;
    padding: 6px;
}

/*横棒*/
.yokobou {
  position: relative;
  padding: 0 65px;
  text-align: center;
}

.yokobou:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: #000;
}

.yokobou span {
  position: relative;
  padding: 0 1em;
  background: #fff;
	font-size: 25px;
	font-weight: bold;
}


@media screen and (max-width: 768px) {
.yokobou {
  position: relative;
  padding: 0 20px;
  text-align: center;
}
	
.yokobou span {
	font-size: 15px;
}
	
}

.teltime {
    font-weight: bold;
    font-size: 40px;
    color: #2d3b48;
    padding: 25px;
}

.teltime a{
    color: inherit;
    text-decoration: none;
}

.teltime .small{
    font-size: 12px;
}

@media screen and (max-width: 768px) {
.teltime {
    font-size: 25px;
}
	
.teltime .small{
    font-size: 10px;
}	
	
}

/*ABOUT US*/
.boxabout {
  display:flex;
  flex-direction: column-reverse;
  padding: 10px;
}

.text {
  width: 100%;
	padding-left: 10px;
}

.boxabout span {
  font-size: 21px;
  margin: 0;
	font-weight: bold;
}

.pict {
  width: 100%;
  text-align: center;
  min-height: 0%;
}

.pict img {
  max-width: 100%;
  height:auto;
}

@media (min-width:768px) {
.boxabout {
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-bottom: 0px;
	padding: 0px;
	padding-bottom: 70px;
}
	
.boxabout:nth-child(even) {
    flex-direction: row;
}
  
.text {
    text-align: left;
	padding: 0px 20px 0px 20px;
}
	
.boxabout p {
    text-align: left;
}
	
.box:nth-child(even) .text {
    text-align: left;
}
	
.pict {
	width: 70%;
}
	
.pict img {
	width: 100%;
	height:auto;
}
	
.boxabout:nth-child(even) .pict {
	margin-left: 0;
	margin-right: 3%;
}
}

@media screen and (max-width: 767px) {
.boxabout ul {
    position: relative;
    padding: 0px 0px 15px 5px;
}

}  

.about h3,.features h3 {
    position: relative;
    padding: 15px 65px 15px 65px;
    text-align: center;
	font-size: 25px;
	font-family: source-han-serif-japanese,serif;
}
  
@media screen and (max-width: 767px) {
.about h3,.features h3 {
	padding: 15px 0px 15px 0px;
    text-align: center;
    font-size: 120%!important;
    line-height: 45px;
    font-weight: bold;
}
}  

  /*ニュース関連*/
 
.newsmaintitle {
	padding-bottom: 25px;
}

.newstitle {
	font-size: 25px;
	border-bottom: 0px solid #7cb545;
	font-weight: bold;
	font-family: source-han-serif-japanese,serif;
}

.newsline {
	text-align: left;
	border-bottom: 1px solid;
    padding: 15px 0px;
    font-size: 90%;
}

.newsline a{
	color: #000;
}

.blog-list-area , .top-news a{
    text-decoration:none;
}
  
.top-news-area span.date {
    color: #444;
	font-weight: bold;
    padding-right: 12px;
    color: #af1e23;
}
  
.top-news-area .top-news {
    border: 2px solid #edebf0;
    border-radius: 6px;
    padding: 15px 30px;
    margin-bottom: 30px;
	text-align:center;
	margin-top: 50px;
	font-size: 90%;
}
  
  .blog-list-area .blog-list {
    border: 2px solid #edebf0;
    border-radius: 6px;
    padding: 15px 30px;
    margin-bottom: 50px;
}

.blog-list-area span.date {
    color: #444;
	font-weight: bold;
    padding-right: 12px;
    color: #af1e23;
}

.b-list {
	text-align: left;
	border-bottom: 1px solid;
	padding: 15px 0;
	font-size: 90%;
}

.b-list  a{
	text-decoration: none;
	color: #000;
}

.blogmaintitle {
    padding-bottom: 25px;
	text-align: center;
}

.blogtitle {
	font-size: 25px;
	border-bottom: 0px solid #7cb545;
	font-weight: bold;
	font-family: source-han-serif-japanese,serif;
}

.bloglistbutton {
    border: 1px solid #333;
    padding: 0.45em 1em;
    border-radius: 3px;
    cursor: pointer;
    transition: all .25s;
    margin: 20px auto 10px auto;
    box-sizing: border-box;
    max-width: 55%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
    text-align: center;
    text-decoration: none;
    position: relative;
}

.bloglistbutton:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 24px;
    margin: auto;
    vertical-align: middle;
    width: 0.4em;
    height: 0.4em;
}

.bloglistbutton:hover {
    background-color: #444;
    color: #fff;
}

@media screen and (max-width: 768px){
.bloglistbutton {
    border: 1px solid #333;
    padding: 0.45em 1em!important;
    border-radius: 3px;
    cursor: pointer;
    transition: all .25s;
    margin: 20px auto 10px auto;
    box-sizing: border-box;
    max-width: 55%;
    display: block!important;
    font-weight: 700;
    font-size: 80%;
    color: #000;
    text-align: center;
    text-decoration: none;
    position: relative;
}
}

@media screen and (max-width: 767px) {
.top-news-area .top-news {
    padding: 15px 15px;
}
	
.top-news-area span.date {
    display: table-cell;
}

.tatesen{
	display:none;
}
	
	.blog-list a{
	padding: 0px 0px 3px 0px;
    display: inline-block;
    padding-left: 3px;
}
	
.blog-list :hover{
	color: #000;
}	
	
}
  
/*講師紹介*/
  
.introdutionContainer {
    display: flex;
    flex-wrap: wrap;
    margin: 1em;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
}

.introdution {
    background: white;
    width: 45%;
    box-sizing: border-box;
    text-align: center;
    margin: 1em;
    margin-bottom: 1em;
}

.introdution .introdutiontitleContainer {
    background-color: #f3f3f3;
    padding: 1em;
}

.introdution .introdutiontitleContainer .title {
    font-size: 30px;
    text-transform: uppercase;
    color: #7cb545;
    font-weight: 700;
	font-family: source-han-serif-japanese,serif;
}

.introdution .introdutioninfoContainer {
    padding: 1em;
    color: #2d3b48;
    box-sizing: border-box;
}

.introdution .introdutioninfoContainer .introdutionprice {
    font-size: 1.35em;
    padding: 1em 0;
    font-weight: 600;
    margin-top: 0;
    display: inline-block;
    width: 80%;
}

.introdution .introdutioninfoContainer .introdutionprice p {
    font-size: 25px;
    display: inline-block;
    margin: 0;
}

.introdution .introdutioninfoContainer .introdutionprice span {
    font-size: 70%;
    display: inline-block;
        height: 100px;
}

p.introleft {
	text-align: left;
	padding-top: 30px;
}

.introdution .introdutioninfoContainer .introdutiondesc {
    border-bottom: 2px solid #f3f3f3;
    margin: 0 auto;
    width: 90%;
}
  
.introdution .introdutioninfoContainer .introdutiondesc em {
    font-size: 1em;
    font-weight: 500;
}
  
.introdution .introdutioninfoContainer .introdutionfeatures {
    font-size: 1em;
    list-style: none;
    padding-left: 0;
    text-align: left;
}
  
.introdution .introdutioninfoContainer .introdutionfeatures li {
    padding: 0.5em;
}
  
.introdution .introdutioninfoContainer .introdutionselectPlan {
    border: 3px solid #7cb545;
    padding: 0.45em 1em;
    border-radius: 2.5em;
    cursor: pointer;
    transition: all 0.25s;
    margin: 1em auto;
    box-sizing: border-box;
    max-width: 95%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
}
  
.introdution .introdutioninfoContainer .introdutionselectPlan:hover {
    background-color: #7cb545;
    color: white;
}
  
.fa-check:before {
    padding-right: 5px;
}

.blogbutton {
    border: 2px solid #7cb545;
    padding: 0.45em 1em;
    border-radius: 2.5em;
    cursor: pointer;
    transition: all 0.25s;
    margin: 20px auto 10px auto;
    box-sizing: border-box;
    max-width: 48%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
    text-align: center;
    text-decoration: none;
}
  
@media screen and (max-width: 767px) {
.introdutionContainer {
    margin: 0;
}
		
.introdution .introdutiontitleContainer .title {
    font-size: 1.45em;
}

.introdution .introdutioninfoContainer .introdutionprice {
    padding: 0;
}	
		
.introdution .introdutioninfoContainer .introdutionprice p {
    font-size: 100%;
}
		
.introdutionContainer .introdution {
    width: 100%;
    margin: 1em 0;
}
	
.introdution .introdutioninfoContainer {
    padding: 0em;
    color: #2d3b48;
    box-sizing: border-box;
}
	
.blogbutton{
	display: block!important;
	padding: 3px 0px 3px 0px!important;
}	
	
	

}
  
  /*講師紹介*/
  
  
  /*3列　料金*/
  
.planContainer {
    display: flex;
    flex-wrap: wrap;
    margin: 1em;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
}
  
.plan {
    background: white;
    width: 28%;
    box-sizing: border-box;
    text-align: center;
    margin: 1em;
    margin-bottom: 1em;
	border: 1px solid;
}
  
.plan .titleContainer {
    background-color: #000;
	padding: 0.5em 1em 0.3em 1em;
}
  
.plan .titleContainer .title {
    font-size: 1.45em;
    text-transform: uppercase;
    color: #fff;
    font-weight: 700;
}
  
.plan .infoContainer {
    padding: 1em;
    color: #2d3b48;
    box-sizing: border-box;
}
  
.plan .infoContainer .price {
    font-size: 1.35em;
    padding: 1em 0;
    font-weight: 600;
    margin-top: 0;
    display: inline-block;
    width: 80%;
}
  
.plan .infoContainer .price p {
    font-size: 1.15em;
    display: inline-block;
    margin: 0;
}
  
.plan .infoContainer .price span {
    font-size: 70%;
    display: inline-block;
}
  
.plan .infoContainer .desc {
    padding-bottom: 1em;
    border-bottom: 2px solid #f3f3f3;
    margin: 0 auto;
    width: 90%;
}
  
.plan .infoContainer .desc em {
    font-size: 1em;
    font-weight: 500;
}
  
.plan .infoContainer .features {
    font-size: 1em;
	padding-top: 2em;
    list-style: none;
    padding-left: 0;
    text-align: left;
	padding-left: 10px;
}
  
.plan .infoContainer .features li {
    padding: 0.2em;
	list-style: disc;
}
  
.plan .infoContainer .selectPlan {
    border: 1px solid #000;
	position: relative;
    padding: 0.45em 1em;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.25s;
    margin: 1em auto;
    box-sizing: border-box;
    max-width: 95%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
	text-decoration: none;
}
  
.plan .infoContainer .selectPlan:hover {
    background-color: #444;
    color: #fff;
}

.plan .infoContainer .selectPlan:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    position: absolute;
	right: 18px;
    right: 24px;
    margin: auto;
    vertical-align: middle;
    width: 0.4em;
    height: 0.4em;
}
  
.fa-check:before {
    padding-right: 5px;
}
  
@media screen and (max-width: 767px) {
.planContainer {
    margin: 0;
}
      
.planContainer .plan {
    width: 100%;
    margin: 1em 0;
}	
.plan .infoContainer .features li {
    font-size:15px;
}	

}
  
  /*3列　料金*/
  
  
.top-contents h2 {
    padding: 21px 30px 18px 30px;
    margin-bottom: 20px;
    background-color: #222;
    color: #fff;
    text-align: center;
	font-size: 25px;
    border-left: 0px;
    line-height: 30px;
	font-family: Noto Sans JP;
}
  
.top-contents .green {
    color: #77ec36;
    text-align: center;
    font-size: 15px;
}
  
@media screen and (max-width: 767px) {
.top-contents h2 {
    padding: 20px 30px 20px 30px;
    font-size: 20px;
    line-height: 25px;
}
  
.top-contents .green {
    font-size: 12px;
}
}


  /*TOP画面　全幅画像*/
  
.top-image {
    position: relative;
    width: 100%;
    min-height: 600px;
    /*background: url("https://study-base.jp/wp-content/uploads/2022/01/aaron-huber-s95oB2n9jng-unsplash-1-scaled.jpg")
      center / cover;*/
}
  
.top-group {
    position: absolute;
	top: 33%;
    left: 50%;
    transform: translate(-50%, -30%);
    padding: 15px 30px;
    color: #fff;
    text-align: center;
    font-size: 22px;
    text-transform: uppercase;
    width: 100%;
}
  
  .top-image-top {
    text-align: center;
    font-size: 25px;
    font-weight: bold;
    line-height: 60px;
    color:#fff;font-family: source-han-serif-japanese,serif;
  }

.top-image-top-big {
    text-align: center;
    font-size: 50px;
    font-weight: bold;
    line-height: 100px;
	padding-top: 0px;
    padding-bottom: 70px;
    color: #000;
    font-family: source-han-serif-japanese,serif;
    opacity: 0; /* 初期状態で透明にする */
	transition: opacity 5s ease; /* 5秒かけて透明度を変更 */
}

.top-image-top-big.visible {
    opacity: 1; /* 完全に不透明にする */
}

.top-image-top-big2 {
    text-align: center;
	font-size: 25px;
	padding-top: 100px;
    font-weight: bold;
    line-height: 100px;
    padding-bottom: 0px;
    color: #000;
    font-family: source-han-serif-japanese,serif;
    opacity: 0; /* 初期状態で透明にする */
	transition: opacity 2s ease 2s; /* 2秒かけて透明度を変更 */
}

.top-image-top-big2.visible {
    opacity: 1; /* 完全に不透明にする */
}

.top-image-top-small {
    text-align: center;
    font-size: 50px;
    font-weight: bold;
    line-height: 100px;
    padding-bottom: 100px;
    color: #000;
    font-family: source-han-serif-japanese,serif;    opacity: 0; /* 初期状態で透明にする */
	transition: opacity 5s ease; /* 2秒かけて透明度を変更 */
}

  
  .top-image-title {
    text-align: center;
	  font-size: 50px;
    line-height: 100px;
    color:#444;
	  margin: 0 auto;
    max-width: 425px;
    font-family: 'Arial Black','Arial Bold',Gadget,sans-serif;
  }

  .top-image-title-online {
	text-align: center;
    font-size: 80px;
    line-height: 40px;
    color: #fff;
    padding: 35px 35px 19px 35px;
    margin: 30px 0px 16px 0px;
    max-width: 650px;
    background-color: #444444AD;
    font-family: 'Arial Black','Arial Bold',Gadget,sans-serif;
  }

  .top-image-title-online2 {
    text-align: center;
    font-size: 30px;
    color:#444;
    font-family: 'Arial Black','Arial Bold',Gadget,sans-serif;
  }
  
  .green {
    color: #7cb545;
  }
  
.top-image-bottom {
    text-align: center;
    font-size: 50px;
    margin: 0 auto;
    width: 60%;
    font-weight: bold;
    line-height: 118px;
    margin-top: 64px;
    color: #fff;
    background-color: #000;
    font-family: source-han-serif-japanese,serif;
}
  
  .top-image-botton {
    position: absolute;
    top: 130%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    margin:0;
    padding:0;
    position: absolute;
    text-align: center;
    color:#000;
    font-size: 14px;
    line-height: 45px;
    border:solid 1px #000;
    border-radius: 3px;
    width: 300px;
  }
  
  .top-image-botton:hover{
	  opacity:0.8;
	  transition: all .25s;
  }

.letter {
    padding: 30px 30px 20px 30px;
    width: 94%;
    margin: 0 auto;
    font-size: 110%;
    background-color: #000000c9;
    color: #fff;
}

  .br-1000 {
    display: none;
  }  

  /*スマホ版　TOP画面　全幅画像*/
  @media screen and (max-width: 1000px) {
.top-image-top-big {
    text-align: center;
    font-size: 130%;
    font-weight: bold;
    line-height: 50px;
	color: #000;
  }

.top-image-top-big2 {
    text-align: center;
    font-size: 130%;
    font-weight: bold;
    line-height: 50px;
	color: #000;
  }	  
	  
	  
	  
	  
  .br-1000 {
    display: inline-block;
  }  
	  
  }


  /*スマホ版　TOP画面　全幅画像*/
  @media screen and (max-width: 767px) {
  .top-image {
    position: relative;
    width: 100%;
    min-height: 445px;
	  /*border-bottom:solid 1px #444;*/
	  /*background: url("https://study-base.jp/wp-content/uploads/2022/01/aaron-huber-s95oB2n9jng-unsplash-1-scaled.jpg")
      center / cover;*/
  }
      
  .top-group {
    position: absolute;
	  top: 44%;
    left: 50%;
    transform: translate(-50%, -50%);
		padding: 15px 10px;
    color: #fff;
    text-align: center;
    font-size: 22px;
    text-transform: uppercase;
    width: 100%;
  }
.top-image-top-big {
    padding-bottom: 23px;
}	  
  .top-group2 {
    position: absolute;
	  top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
		padding: 15px 10px;
    color: #fff;
    text-align: center;
    font-size: 22px;
    text-transform: uppercase;
    width: 100%;
  }	  
  
  .top-image-top {
    text-align: center;
    font-size: 80%;
    font-weight: bold;
    line-height: 25px;
  }
	  
.top-image-top-big {
    text-align: center;
    font-size: 150%;
    font-weight: bold;
    line-height: 45px;
	color: #000;
  }
	  
.top-image-top-big2 {
    text-align: center;
    font-size: 100%;
    font-weight: bold;
    line-height: 30px;
	padding-top: 60px;
	color: #000;
  }	  
	  
.top-image-top-big-sp {
	font-size: 25px;
    font-weight: bold;
	line-height: 30px;
	color: #000;
	font-family: source-han-serif-japanese,serif;
  }
 .top-image-top-big-sp2 {
    text-align: center;
    font-size: 120%;
    font-weight: bold;
	line-height: 50px;
	text-align: center;
	color: #000;
	font-family: source-han-serif-japanese,serif;
  } 
	  
	  
  .top-image-title {
    text-align: center;
    font-size: 35px;
    line-height: 60px;
    max-width: 90%;
    background-color: #fff;
    font-family: 'Arial Black','Arial Bold',Gadget,sans-serif;
		margin: 0 auto;
		font-weight: bold;
		margin-bottom: 0px;
	  margin-top: 10px;
  }
	  
  .top-image-title-online {
    text-align: center;
    font-size: 1.75em;
    line-height: 25px;
    max-width: 90%;
    background-color: #444444AD;
    font-family: 'Arial Black','Arial Bold',Gadget,sans-serif;
		margin: 0 auto;
		font-weight: bold;
		margin-bottom: 30px;
		margin-top: 30px;
	  padding: inherit;
  }

  .top-image-title-online2 {
    text-align: center;
    font-size: 17px;
    color:#444;
    font-family: 'Arial Black','Arial Bold',Gadget,sans-serif;
  }	  
	  
	  
  
  .top-image-bottom {
    text-align: center;
	  width: 100%;
    font-size: 80%;
    line-height: 50px;
	  margin-top: 0px;
	  padding: 10px;
	  margin-bottom: 30px;
  }
  
  .top-image-botton {
    position: absolute;
    top: 140%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    margin:0;
    padding:0;
    position: absolute;
    text-align: center;
    color:#000;
    border:solid 1px #000;
    border-radius: 2px;
    font-size: 55%;
    line-height: 35px;
    width: 150px;
  }
  
  }


  /*スマホ版　TOP画面　全幅画像*/
@media screen and (max-width: 400px) {
.top-image-top-big {
    text-align: center;
    font-size: 130%;
    font-weight: bold;
    line-height: 40px;
	color: #000;
	padding-top: 35px;
	margin-bottom: 30px;
}
	.top-image-top-big{
padding-bottom: 10px;		
	}
	
.top-image-top-big2 {
    text-align: center;
	font-size: 80%;
    font-weight: bold;
    line-height: 35px;
	color: #000;
	padding-top: 80px;
}	
	
}


  /*グローバルナビメニュー マウスオーバーでアンダーライン*/
  #navi .navi-in a:after{
    position: absolute;/*線の位置を絶対配置に*/
    content: "";/*文字はなし*/
    left: 0px;/*線の位置*/
    bottom: 1px;/*線の位置*/
    height: 1px;/*線の高さ*/
    width: 100%;/*幅いっぱいに線を引く*/
    background: #7cb545;/*線の色*/
    transform: scale(0,1);/*マウスオーバーの前は線を消す*/
    transition: 0.3s;/*線が0→100%になるまでの秒数*/
  }
  
  #navi .navi-in a:hover:after{
    transform: scale(1);/*マウスオーバー後、線を100%出す*/
  }
  
  
  /*目次*/
.toc {
    width: 85%;
}
  
  
  
h3.toiawase {
    padding: 30px 30px 18px 30px;
	border-bottom: inherit;
    background-color: #222;
    color: #fff;
    text-align: center;
    font-size: 40px;
    border-left: 0px;
    line-height: 30px;
}
  
  h3.toiawase > span {
    color:#77ec36;
    text-align:center;
    font-size:15px;
  }

@media screen and (max-width: 767px) {
h3.toiawase {
    padding: 20px 30px 20px 30px;
    font-size: 20px;
    line-height: 18px;
  }

h3.toiawase > span {
    color:#77ec36;
    text-align:center;
    font-size:12px;
}
}
  
.header-container-in.hlt-top-menu .logo-header {
    width: 270px;
  }
  
  
  .navi-in a {
    font-size: 14px;
  }
  
  
  /*スマホ時のヘッダー部分*/
  
  .header-container-in.hlt-top-menu .site-name-text {
    padding-left: 20px;
  }
  
  
  .mobile-menu-buttons {
    background: #222;
  }
  
  .mobile-menu-buttons .menu-icon {
    padding-top: 10px;
    font-size: 22px;
  }
  
  
  @media screen and (max-width: 1023px) {
  .mobile-header-menu-buttons {
      padding-top: 5px;
      height: 60px;
  }
  }
  
  .fa-navicon::before, .fa-reorder::before, .fa-bars::before {
    content: "\f0c9";
    color: #fff;
  }
  
  .fa-search::before {
    content: "\f002";
    color: #fff;
  }
  
  .toujuku {
    color:#fff;
  }
  
  
  .top-hyou table {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    table-layout: fixed;
  }
  
  .top-hyou table tr {
    background-color: #fff;
    padding: .35em;
    border: 2px solid #eee;
    color: #000;
  }
  
  .top-hyou table th.main-th1{
    padding: 2em;
    background-color: #7cb545;
    color: #fff;
	  width: 27%;
  }
  
  .top-hyou table th.main-th{
		padding: 10px;
    border-right: 2px solid #fff;
    background-color: #50535d;
    color: #fff;
  }

.top-hyou table th.main-th2{
    padding: 2em;
    background-color: #7cb545;
    color: #fff;
  }  

  .top-hyou table th {
    border-right: 2px solid #eee;
    vertical-align: middle;
    padding: 10px;
    background-color: #fff;
    color: #000;
  }
  
  
  .top-hyou table td {
    padding: 10px;
    border-right: 2px solid #eee;
    text-align: center;
    border-color: #eee!important;
  }
  .top-hyou table th {
    font-size: 20px;
  }
  .top-hyou table thead tr{
    background-color: #50535d;
    color:#fff;
  }
  .top-hyou table tbody th {
	  border-right: 2px solid #eee!important;
    font-weight: bold;
    text-align: center;
  }
  .top-hyou th.non {
    border-right: none;
  }
  .top-hyou .txt{
    text-align: left;
    font-size: .85em;
  }
  .top-hyou .price{
    color: #000;
    font-weight: bold;
    font-size:1.3em
  }
  .top-hyou .price span {
    font-size: .6em;
  }
  .top-hyou .red_bk{
    background:#e81010
  }
  .top-hyou .red-txt{
    color:#e81010
  }
  .top-hyou .btn{
    background:#e81010;
    border: 2px solid #e81010;
    color:#fff;
    padding: 1em;
    border-radius:20px;
    display:block;
    text-decoration:none;
    font-size:.8em
  }
  .top-hyou .btn:hover{
    background: #fff;
    border: 2px solid #e81010;
    color: #e81010;
    transition: .2s;
  }
  .top-hyou table .btnarea td {
    padding: .2em .5em;
    border-right:none
  }

  @media screen and (max-width: 600px) {
  .top-hyou top-table{
		overflow-x: scroll;
		}
		
.top-hyou table th {
    font-size: 15px;
}
		
	.top-hyou table tr {
			padding: 0;
	}	
		
	.top-hyou table th.main-th {
			padding: 0em;
	}
		
	.top-hyou .price {
			font-size: 100%;
	}
		
  }
  
@media screen and (max-width: 767px) {
.top-hyou table th {
	border-right: 2px solid #eee;
	vertical-align: middle;
	padding: 5px;
	background-color: #fff;
	color: #000;
	} 

}  
  
  /*スマホ入力　アップさせない*/
  input{
    font-size:16px!important;
  }
  form textarea{
    font-size:16px!important;
  }
  
  
  .hyou{
    background-color:#fff;
    color:#000;
  }
  
  .hyou td{
    border: solid 1px #000;
  }
      
  #main #content-wrap, .separate-layout #main #content-wrap {
    padding-top: 50px!important;
  }
  
  
  
  /*Aの文字　緑*/
  .green{
    color:#7cb545;
  }
  
  /*ヘッダー固定*/
  #site-header.transparent-header {
    position: fixed!important;
  }
  
  /*文字右寄せ*/
  .right{
  float:right;
  }
  
  h2.black{
    padding: 30px;
    background-color:#222;
    font-size: 40px;
    text-align:center;
  }
  
  h2.none{
    font-size: 50px;
    text-align:center;   
    padding: 15px 0px 15px 0px;
  }
  
  
  /*開講時間*/
  .top-sub{
    font-weight:bold;
    font-size:25px;
    color: #fff;
  }
  
  h1.top-title{
    font-weight:bold;
    color: #fff;
    font-size: 80px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    -webkit-text-stroke: 0;
    stroke-width: 0;
    -webkit-text-stroke-color: #000;
    stroke: #000;
    text-shadow: 0 0 0 rgb(0 0 0 / 30%);
    margin: 0px 0px 0px 0px;
    padding: 5px 20px 5px 20px;
    background-color: #444444AD;
    font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif;
  }
  
  .contentstitle {
    font-weight:bold;
    font-size:30px;
    margin: 20px 0px 20px 0px;
    padding: 10px 20px 10px 20px;
    background-color: #444444;
  }	
  
  @media (max-width: 767px) {
  h1.top-title{
    font-weight:bold;
    font-size:30px;
  }
  
  h2.black{
    font-size: 20px;    
    padding: 15px 0px 15px 0px;
  }
  
  h2.none{
    font-size: 25px;
    text-align:center;   
    padding: 15px 0px 0px 0px;
  }
      
  .top-sub{
    font-weight:bold;
    font-size:20px;
  }
      
  .contentstitle {
    font-size:20px;
  }	
  }
    
  
  #wp-calendar tbody #today {
    color: #64d526;
    font-size: 150%;
  }

  
  /*開講時間*/
  .opentime{
    font-weight:bold;
		font-size:40px;
	  color: #fff;
		padding: 25px;
		font-family: source-han-serif-japanese,serif;
  }

   @media (max-width: 767px) {
  .opentime{
    font-weight:bold;
		font-size:20px;
		padding: 0px;
  }
  } 
  
  
  /*文字選択の色*/
  ::selection {
    background: #000;
    color: #fff;
  }
  
  /*高さ*/
  .takasa{
    height:150px;
    margin-top: 20px;
  }

  
  
  #toc_container {
    margin-top: 60px;
  }
  
  /*固定ページのサブタイトル*/
  @media (max-width: 767px) {
  .first-title {
    font-size: 14px;
  }
  
  .main-h2{
    font-size: 25px;
  }	
  
  .h3-title {
    font-size: 18px;
  }	 
  }
  
  
  /*日付や作者部分*/
  ul.meta li {
    color: #fff;
  }
  
  ul.meta li a {
    color: #fff;
  }
  
  
  
  /*固定ページ画像の上のタイトル*/
  .main-title {
    font-size: 5vh!important;
    font-weight:bold;
  }	
  
  .elementor-icon-box-title{
    font-weight: bold;
    color:#64D526!important;;
  }
  
  .kobetu{
      font-weight: bold;
  }
  
  .top-setumei{
      font-weight: bold;
  }
  
  .test{
      font-weight: bold;
      font-size:150px!important;
  }
  
  
  .theme-button, input[type="submit"], button[type="submit"], button, .button, body div.wpforms-container-full .wpforms-form input[type=submit], body div.wpforms-container-full .wpforms-form button[type=submit], body div.wpforms-container-full .wpforms-form .wpforms-page-button {
   border-radius: 30px;
   width:100%;
   font-size:100%;
   background-color: #7cb545;
   color: #fff;
  }
  
  .gakusei{
      font-size:30px!important;
      text-align:center;
      color:#77ec36;
      font-weight:bold;
  }
  
  
  
  @media (max-width: 767px) {
  .elementor-173 .elementor-element.elementor-element-oppmuoq .elementor-heading-title {
      font-size: 35px;
  }
      
      
  /*個別指導型＋学習スペース*/
  .elementor-173 .elementor-element.elementor-element-vhbdtpo .elementor-heading-title {
      color: #FFFFFF;
      font-size: 15px!important;
  }
  
      
      
  /*STUDY BASE タイトル*/
   .elementor-173 .elementor-element.elementor-element-oppmuoq .elementor-heading-title {
      font-size: 35px;
      padding: 15px 0 15px 0;
      margin: 15px 0 15px 0px;
  }	
      
  
      
  /*今までになかった*/
  .elementor-173 .elementor-element.elementor-element-zdmeyep .elementor-heading-title {
      color: #ffffff;
      font-size: 15px!important;
      font-weight: 400;
      line-height: 1.6em;
  }
      
  /*固定ページ画像の上のタイトル*/
  .main-title {
      font-size: 3vh!important;
  }	
  
      
  .elementor-widget:not(:last-child) {
      margin-bottom: 0px;
  }
      
  .box-text2 {
      font-size: 80%;
  }
  
  #top-setumei{
  font-size:10px!important;	
  line-height:10px;
  }
      
      
  }
  
  
  

/*問い合わせフォーム*/
/* 全幅指定 */
.full-width {
    margin: 0 calc(50% - 50vw);
    padding: 5em calc(50vw - 50%);
}
/* pタグの余白を削除 */
.wpcf7-form p {
    margin-bottom: 0;
}
/* 背景色（お好きな色に） */
section.contact {
    background-color: #fff;
}
/*  フォームの幅（自由に変えてOK） */
.contactForm {
    max-width: 700px;
    margin: 0 auto;
}
/* 各項目の下部余白 */
.contact_item {
    margin-bottom: 2.5rem;
}
/* 項目名 */
.label {
    display: block;
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-bottom: .6rem;
    font-weight: bold;
}
/* 必須タグと任意タグ共通のスタイル */
.label_tag {
    color: #ffffff;
    border-radius: .3rem;
    margin-right: 1rem;
    padding: 5px 10px;
}
/* 必須タグ */
.label_must {
    background-color: #7cb545;
}
/* 任意タグ */
.label_option {
    background-color: #888988;
}
/* 名前やメールアドレスなどユーザーが入力する箇所 */
.inputs {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
input[type="text"],input[type="tel"] ,input[type="email"]{
    border: solid 1px #707070;
    padding: .5rem;
    font-size: 1.8rem;
}
/* お問い合わせ内容を入力する箇所 */
textarea.form-control {
    border: solid 1px #707070;
    padding: .5rem;
    height: 207px;
    font-size: 1.8rem;
}
/* ボタン */
.btnArea {
    text-align: center;
}
input[type="submit"]{
    background: #7cb545;
    border: 2px solid #ffffff;
    color: #ffffff;
    text-align: center;
    font-size: 2.5rem;
    line-height: 1.3;
    letter-spacing: .5em;
    text-indent: .5em;
    font-weight: bold;
    padding: 1.4rem 0;
    margin-top: 2rem;
    cursor: pointer;
    border-radius: .3rem;
    transition: all .3s;
    
}
/* ボタンにホバーした時 */
input[type="submit"]:hover {
    color: #7cb545;
    background-color: #ffffff;
    border-color: #7cb545;
}
/* ローダー */
.wpcf7 .ajax-loader {
    display: block;
    margin: 0 auto;
}
/* モバイル版 */
@media screen and (max-width: 480px) {
    .contact_item {
        margin-bottom: 1.6rem;
    }
    .label {
        margin-bottom: .4rem;
    }
    .label_tag {
        font-size: 13px;
    }
    input[type="text"],input[type="tel"],input[type="email"] {
        padding: .4rem;
        font-size: 1.5rem;
    }
    textarea {
        padding: .4rem;
        font-size: 1.5rem;
    }
    input[type="submit"]{
        font-size: 1.5rem;
    }
}


.cat-label {
    position: initial!important;
}


/*カスタマイズから移動　2022年12月6日*/

/*通塾生の声*/
.voice-title{
	padding:10px;
}
.seitovoice .inner {
	width: calc(100% - 50px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 0px 0;
}
.seitovoice .title {
	color: #fff;
	text-shadow: 0 0 12px #000;
	font-weight: bold;
	text-align: center;
	font-size: 36px;
	line-height: 1.6;
}
.seitovoice .list {
	margin-top: 40px;
}
.seitovoice .list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}
.seitovoice .list ul:after {
	content: '';
	display: block;
	width: calc(100% / 3 - 6px);
}
.seitovoice .list li {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: calc(100% / 2 - 20px);
	padding: 38px 20px;
	background: rgba(255,255,255,.77);
	border: 1px solid #ccc;
	border-radius: 5px;
}
.seitovoice .list li:nth-child(n+4) {
	margin-top: 30px;
}

.seitovoice h3 {
    position: relative;
	padding: 70px 0px 10px 0px;
    text-align: center;
	font-size: 2vw;
	font-family: source-han-serif-japanese,serif;
}

@media screen and (max-width: 1400px) {
	.seitovoice .title {
		font-size: 27px;
	}
}

@media screen and (max-width: 1270px) {
	.seitovoice .list ul {
		font-size: 16px;
	}
	.seitovoice .list li {
		width: calc(100% / 2 - 10px);
		padding: 20px 5px;
	}
	.seitovoice .list li:nth-child(n+4) {
		margin-top: 13px;
	}
}

@media screen and (max-width: 767px) {
	.seitovoice .inner {
		width: calc(100% - 5px);
		padding: 10px 0;
	}
	.seitovoice .title {
		font-size: 18px;
	}
	.seitovoice .title br {
		display: none;
	}
	.seitovoice .list {
		margin-top: 20px;
	}
	.seitovoice .list ul {
		font-size: 100%;
	}
	.seitovoice .list ul:after {
		display: none;
	}
	.seitovoice .list li {
		width: calc(47% - 2px);
		padding: 15px 7px;
		text-align: left;
	}
	.seitovoice .list li:nth-child(n+3) {
		margin-top: 4px;
	}
	
.seitovoice h3 {
	padding: 50px 0px 15px 0px;
    text-align: center;
    font-size: 120%;
    line-height: 30px;
    font-weight: bold;
}	
	
}




/*通塾生の声*/

.onayami .inner {
	width: calc(100% - 50px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 0px 0;
}
.onayami .title {
	color: #fff;
	text-shadow: 0 0 12px #000;
	font-weight: bold;
	text-align: center;
	font-size: 36px;
	line-height: 1.6;
}
.onayami .list {
	margin-top: 40px;
}
.onayami .list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}
.onayami .list ul:after {
	content: '';
	display: block;
	width: calc(100% / 3 - 6px);
}
.onayami .list li {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: calc(100% / 3 - 20px);
	padding: 38px 20px;
	background: rgba(255,255,255,.77);
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 85%;
}
.onayami .list li:nth-child(n+4) {
	margin-top: 30px;
}

.onayami h3 {
    position: relative;
	padding: 70px 0px 10px 0px;
    text-align: center;
	font-size: 2vw;
	font-family: source-han-serif-japanese,serif;
}

@media screen and (max-width: 1400px) {
	.onayami .title {
		font-size: 27px;
	}
}

@media screen and (max-width: 1270px) {
	.onayami .list ul {
		font-size: 16px;
	}
	.onayami .list li {
		width: calc(100% / 3 - 10px);
		padding: 20px 5px;
	}
	.onayami .list li:nth-child(n+4) {
		margin-top: 13px;
	}
}

@media screen and (max-width: 767px) {
	.onayami .inner {
		width: calc(100% - 5px);
		padding: 10px 0;
	}
	.onayami .title {
		font-size: 18px;
	}
	.onayami .title br {
		display: none;
	}
	.onayami .list {
		margin-top: 20px;
	}
	.onayami .list ul {
		font-size: 100%;
	}
	.onayami .list ul:after {
		display: none;
	}
	.onayami .list li {
		width: calc(48% - 2px);
		padding: 15px 7px;
		text-align: left;
	}
	
	.entry-content .onayami .list li {
		width: calc(47% - 2px);
		padding: 15px 7px;
		text-align: left;
	}
	
	
	.onayami .list li:nth-child(n+3) {
		margin-top: 4px;
	}
	
.onayami h3 {
	padding: 50px 0px 15px 0px;
    text-align: center;
    font-size: 120%;
    line-height: 30px;
    font-weight: bold;
}	
	
}






/*成績　TOPページ*/
.seiseki{
    display: flex;
    flex-wrap: wrap;
    gap:15px;
}

.seiseki div {
    width: calc(100%/3 - 10px);
    background-color: #fff;
    border: solid 1px;
    padding: 10px;
    text-align: center;
    font-size: 90%;
    border: 1px solid #c1261f;
}

.seiseki .inner {
	width: calc(100% - 50px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 0px 0;
}

.seiseki .title {
    color: #444;
    font-weight: 700;
    text-align: center;
    font-size: 125%;
    line-height: 1.6;
}

.seiseki .sub {
	color: #444;
	text-align: center;
	font-size: 90%;
	line-height: 1.6;
}

.seiseki .list {
	margin-top: 40px;
}
.seiseki .list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}
.seiseki .list ul:after {
	content: '';
	display: block;
	width: calc(100% / 3 - 6px);
}
.seiseki .list li {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: calc(100% / 3 - 5px);
	padding: 20px 10px;
	background: rgba(255,255,255,.77);
	border: 3px solid #2ca9e1;
}
.seiseki .list li:nth-child(n+4) {
	margin-top: 30px;
}

.seiseki h3 {
    position: relative;
	padding: 70px 0px 10px 0px;
    text-align: center;
	font-size: 2vw;
	font-family: source-han-serif-japanese,serif;
}

@media screen and (max-width: 768px){
.seiseki .title {
	color: #444;
	font-weight: bold;
	text-align: center;
	font-size: 100%;
	line-height: 1.6;
}

.seiseki .sub {
	color: #444;
	text-align: center;
	font-size: 90%;
	line-height: 1.6;
}

.seiseki div {
width: calc(100%/2 - 10px);
padding: 5px;
text-align: center;
}
	
}

/*経営者からの言葉　TOPページ*/
.ceo-voice{
    display: flex;
    flex-wrap: wrap;
    gap:15px;
}

.ceo-voice div {
    width: calc(100%/3 - 10px);
    background-color: #fff;
    border: solid 1px;
    padding: 10px;
    text-align: center;
    font-size: 90%;
    border: 1px solid #333;
    position: relative;
}

.ceo-voice a.voice-button {
	border: solid 1px #000 !important;
    color: #000;
    line-height: 2;
    display: inline-block;
    margin-top: 15px;
    padding: 7px 20px;
    text-decoration: none;
    border-radius: 1px;
    transition: background-color 0.2s;
    text-align:center;
    position: absolute;
    bottom: 10px;
    left: 50%;
	width: 60%;
	font-size:90%;
transform: translateX(-50%);
	background-color: #fff; /* 通常時の背景色 */
    background-size: 200% 100%;
    background-image: linear-gradient(to right, #fff 50%, #444 50%);
    transition: background-position 0.5s;
}

.ceo-voice a.voice-button:hover {
    opacity:0.8;
	color:#fff;
	background-position: -100% 0;
}

.ceo-voice a.voice-button:after {
	content: "\f054";
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 0px;
	background-size: contain;
    background-repeat: no-repeat;
    margin-right: 9px;
    display: inline-block;
    vertical-align: middle;
}

.ceo-voice .inner {
	width: calc(100% - 50px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 0px 0;
}

.ceo-voice .title {
    color: #444;
    font-weight: 700;
    text-align: left;
    font-size: 125%;
    line-height: 1.6;
    margin: 0;
}

.ceo-voice .voice-text {
    display: inline-block;
    text-align:left;
    font-size: 90%;
	margin-bottom: 70px;
}

.ceo-voice p {
    margin-bottom: 10px!important;
}

.ceo-voice .sub {
	color: #444;
	text-align: center;
	font-size: 90%;
	line-height: 1.6;
}

.ceo-voice .list {
	margin-top: 40px;
}
.ceo-voice .list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}
.ceo-voice .list ul:after {
	content: '';
	display: block;
	width: calc(100% / 3 - 6px);
}
.ceo-voice .list li {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: calc(100% / 3 - 5px);
	padding: 20px 10px;
	background: rgba(255,255,255,.77);
	border: 3px solid #2ca9e1;
}
.ceo-voice .list li:nth-child(n+4) {
	margin-top: 30px;
}

.ceo-voice h3 {
    position: relative;
	padding: 70px 0px 10px 0px;
    text-align: center;
	font-size: 2vw;
	font-family: source-han-serif-japanese,serif;
}




@media screen and (max-width: 768px){
    .ceo-voice .title {
        color: #444;
        font-weight: bold;
        text-align: center;
        font-size: 100%;
        line-height: 1.6;
    }

    .ceo-voice .sub {
        color: #444;
        text-align: center;
        font-size: 90%;
        line-height: 1.6;
    }

    .ceo-voice div {
        width: calc(100%/2 - 10px);
        padding: 10px;
        text-align: center;
        position: relative;
        margin: 0 auto;
    }	
	
.ceo-voice a.voice-button {
        padding: 5px 4px;
        width: 90%;
}
	
.ceo-voice a.voice-button:after {
	background-image:url(https://study-base.jp/fontawesome/webfonts/mobile-right-arrow.svg);
    position: absolute;
    right: 0px;
	top: 10px;
	background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
	content: "";
    display: inline-block;
}	
	
	
}


/*生徒からの言葉　TOPページ*/
.seito-voice{
    display: flex;
    flex-wrap: wrap;
    gap:15px;
}

.seito-voice div {
    width: calc(100%/3 - 10px);
    background-color: #fff;
    border: solid 1px;
    padding: 10px;
    text-align: center;
    font-size: 90%;
    border: 1px solid #333;
    position: relative;
}

.seito-voice a.voice-button {
	border: solid 1px #000 !important;
    color: #000;
    line-height: 2;
    display: inline-block;
    margin-top: 15px;
    padding: 7px 20px;
    text-decoration: none;
    border-radius: 1px;
    transition: background-color 0.2s;
    text-align:center;
    position: absolute;
    bottom: 10px;
    left: 50%;
	width: 60%;
	font-size:90%;
    transform: translateX(-50%);
	background-color: #fff; /* 通常時の背景色 */
    background-size: 200% 100%;
    background-image: linear-gradient(to right, #fff 50%, #444 50%);
    transition: background-position 0.5s;
}

.seito-voice a.voice-button:after {
    content: "\f054";
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 9px;
    display: inline-block;
    vertical-align: middle;
}

.seito-voice a.voice-button:hover {
	opacity:0.8;
	background-color:#444;
	color:#fff;
	background-position: -100% 0;
}

.seito-voice .inner {
	width: calc(100% - 50px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 0px 0;
}

.seito-voice .title {
    color: #444;
    font-weight: 700;
    text-align: left;
    font-size: 125%;
    line-height: 1.6;
    margin: 0;
}

.seito-voice .voice-text {
    display: inline-block;
    text-align:left;
    font-size: 90%;
	margin-bottom: 70px;
}

.seito-voice .voice-text {
    display: inline-block;
    text-align:left;
    font-size: 90%;
}


.seito-voice .sub {
	color: #444;
	text-align: center;
	font-size: 90%;
	line-height: 1.6;
}

.seito-voice .list {
	margin-top: 40px;
}
.seito-voice .list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}
.seito-voice .list ul:after {
	content: '';
	display: block;
	width: calc(100% / 3 - 6px);
}
.seito-voice .list li {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: calc(100% / 3 - 5px);
	padding: 20px 10px;
	background: rgba(255,255,255,.77);
	border: 3px solid #2ca9e1;
}
.seito-voice .list li:nth-child(n+4) {
	margin-top: 30px;
}

.seito-voice h3 {
    position: relative;
	padding: 70px 0px 10px 0px;
    text-align: center;
	font-size: 2vw;
	font-family: source-han-serif-japanese,serif;
}




@media screen and (max-width: 768px){
    .seito-voice .title {
        color: #444;
        font-weight: bold;
        text-align: center;
        font-size: 100%;
        line-height: 1.6;
    }

    .seito-voice .sub {
        color: #444;
        text-align: center;
        font-size: 90%;
        line-height: 1.6;
    }

    .seito-voice div {
        width: 90%;
        padding: 10px;
        text-align: center;
        position: relative;
        margin: 0 auto;
    }	
	
.seito-voice a.voice-button {
        padding: 5px 4px;
        width: 45%;
}
	
.seito-voice a.voice-button:after {
	right: 3px;
}	
	
}


/*ボックス2列横並び*/

.box-yoko-2 .inner {
	width: calc(100% - 50px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 0px 0;
}
.box-yoko-2 .title {
	color: #fff;
	text-shadow: 0 0 12px #000;
	font-weight: bold;
	text-align: center;
	font-size: 36px;
	line-height: 1.6;
}
.box-yoko-2 .list {
	margin-top: 40px;
}
.box-yoko-2 .list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}
.box-yoko-2 .list ul:after {
	content: '';
	display: block;
	width: calc(100% / 2 - 6px);
}
.box-yoko-2 .list li {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: calc(100% / 2 - 20px);
	padding: 38px 20px;
	margin-bottom: 30px;
	background: rgba(255,255,255,.77);
	border: 1px solid #ccc;
	border-radius: 5px;
}
.box-yoko-2 .list li:nth-child(n+4) {
	margin-top: 30px;
}

.box-yoko-2 h3 {
    position: relative;
	padding: 70px 0px 10px 0px;
    text-align: center;
	font-size: 2vw;
	font-family: source-han-serif-japanese,serif;
}

@media screen and (max-width: 1400px) {
	.box-yoko-2 .title {
		font-size: 27px;
	}
}

@media screen and (max-width: 1270px) {
	.box-yoko-2 .list ul {
		font-size: 16px;
	}
	.box-yoko-2 .list li {
		width: calc(100% / 2 - 10px);
		padding: 20px 5px;
	}
	.box-yoko-2 .list li:nth-child(n+4) {
		margin-top: 13px;
	}
	
	.box-yoko-2 h3 {
	padding: 50px 0px 15px 0px;
    text-align: center;
    font-size: 150%;
    line-height: 30px;
    font-weight: bold;
}
	
}

@media screen and (max-width: 767px) {
	.box-yoko-2 .inner {
		width: calc(100% - 5px);
		padding: 10px 0;
	}
	.box-yoko-2 .title {
		font-size: 18px;
	}
	.box-yoko-2 .title br {
		display: none;
	}
	.box-yoko-2 .list {
		margin-top: 20px;
	}
	.box-yoko-2 .list ul {
		font-size: 100%;
	}
	.box-yoko-2 .list ul:after {
		display: none;
	}
	.box-yoko-2 .list li {
		width: calc(47% - 2px);
		padding: 15px 7px;
		text-align: left;
	}
	.box-yoko-2 .list li:nth-child(n+3) {
		margin-top: 4px;
	}
	
.box-yoko-2 h3 {
	padding: 50px 0px 15px 0px;
    text-align: center;
    font-size: 120%;
    line-height: 30px;
    font-weight: bold;
}	
	
}



/*流れ*/
.entry-content .flow {
    margin: 1em 0;
}

.main-bdr, #inner-content .main-bdr {
    border-color: #13284b;
}

.main-bc, .has-sango-main-background-color {
    background-color: #404148;
}

.main-bc, .has-sango-main-background-color {
    background-color: #13284b;
}

.flow_marker {
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: solid 3px;
}

.flow-content {
    position: relative;
    padding: 0 0 1.5em 1.8em;
}

.flow-content:before {
    content: "";
    width: 3px;
    background: #ccd5db;
    display: block;
    position: absolute;
    top: 24px;
    bottom: 0;
    left: 6px;
}

.flow-content:not(:first-of-type):not(:last-of-type) .flow_marker {
    background: transparent;
}

.flow-content:last-of-type:before {
content: none;
}

.flow_label {
    padding-top: 0px;
    color: #90969a;
    font-size: 15px;
    font-weight: bold;
}

.flow_tiflowe {
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.5;
}

.flow_main {
    margin-top: 0.5em;
    padding: 0 0 1.5em;
    font-size: 0.9em;
    line-height: 1.6;
    border-bottom: dashed 1px #ccd5db;
}

.entry-content .flow_main > * {
  margin: 0.7em 0 0;
}
.flow_main > ul,
.flow_main > ol {
  margin: 0;
  padding: 0.3em 0 0.3em 1.3em;
  border: none;
}
.entry-content .flow_main .sng-box {
  margin-top: 1em;
}
.entry-content .flow_main .box28,
.entry-content .flow_main .box30,
.entry-content .flow_main .box31,
.entry-content .flow_main .box32,
.entry-content .flow_main .box33 {
  margin-top: 2.3em;
}




/*記事タイムライン*/
  
.timelineContainer {
    display: flex;
}

.timeline {
    border: solid 1px;
    width: calc(100% / 2);
    margin: 0px 10px 0px 10px;
    padding: 10px 10px;
    box-sizing: border-box;
}

.timeline .timelinetitleContainer {
    background-color: #fff;
    padding: 1em;
}

.timeline .timelinetitleContainer .title {
    text-transform: uppercase;
    font-weight: 700;
}

.timeline .timelineinfoContainer {
    padding: 1em;
    color: #2d3b48;
    box-sizing: border-box;
	text-align: left;
}

.timeline .timelineinfoContainer .timelineprice {
    font-size: 1.35em;
    padding: 1em 0;
    font-weight: 600;
    margin-top: 0;
    display: inline-block;
    width: 80%;
}

.timeline .timelineinfoContainer .timelineprice p {
    font-size: 25px;
    display: inline-block;
    margin: 0;
}

.timeline .timelineinfoContainer .timelineprice span {
    font-size: 70%;
    display: inline-block;
        height: 100px;
}

.timeline .new-entry-card-title{
	padding-left: 10px;
}

p.introleft {
	text-align: left;
	padding-top: 30px;
}

.timeline .timelineinfoContainer .timelinedesc {
    border-bottom: 2px solid #f3f3f3;
    margin: 0 auto;
    width: 90%;
}
  
.timeline .timelineinfoContainer .timelinedesc em {
    font-size: 1em;
    font-weight: 500;
}
  
.timeline .timelineinfoContainer .timelinefeatures {
    font-size: 1em;
    list-style: none;
    padding-left: 0;
    text-align: left;
}
  
.timeline .timelineinfoContainer .timelinefeatures li {
    padding: 0.5em;
}
  
.timeline .timelineinfoContainer .timelineselectPlan {
    border: 3px solid #7cb545;
    padding: 0.45em 1em;
    border-radius: 2.5em;
    cursor: pointer;
    transition: all 0.25s;
    margin: 1em auto;
    box-sizing: border-box;
    max-width: 95%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
}
  
.timeline .timelineinfoContainer .timelineselectPlan:hover {
    background-color: #7cb545;
    color: white;
}
  
.fa-check:before {
    padding-right: 5px;
}

.blogbutton {
    border: 2px solid #7cb545;
    padding: 0.45em 1em;
    border-radius: 2.5em;
    cursor: pointer;
    transition: all 0.25s;
    margin: 20px auto 10px auto;
    box-sizing: border-box;
    max-width: 48%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
    text-align: center;
    text-decoration: none;
}
  
@media screen and (max-width: 767px) {
.timelineContainer {
    margin: 0;
	display: inherit;
}

.timeline {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 20px;
    padding: 0px 5px;
}
	
.timeline .timelinetitleContainer .title {
    font-size: 100%;
}

.timeline .timelineinfoContainer .timelineprice {
    padding: 0;
}	
		
.timeline .timelineinfoContainer .timelineprice p {
    font-size: 100%;
}
		
.timelineContainer .timeline {
    width: 100%;
    margin: 1em 0;
}
	
.timeline .timelineinfoContainer {
    padding: 0em;
    color: #2d3b48;
    box-sizing: border-box;
}
	
.blogbutton{
	display: block!important;
	padding: 3px 0px 3px 0px!important;
}	
	
	

}
  
/*記事タイムライン*/

.search-submit {
    position: inherit;
}


/*生徒の声*/
  
.voiceContainer {
    display: flex;
}

.voice {
    border: solid 1px;
    width: calc(100% / 2);
    margin: 0px 10px 0px 10px;
    padding: 10px 10px;
    box-sizing: border-box;
}

.voice .voicetitleContainer {
    background-color: #fff;
    padding: 1em;
}

.voice .voicetitleContainer .title {
    text-transform: uppercase;
    font-weight: 700;
}

.voice .voiceinfoContainer {
    color: #2d3b48;
    box-sizing: border-box;
	text-align: left;
}

.voice .voiceinfoContainer .voiceprice {
    font-size: 1.35em;
    padding: 1em 0;
    font-weight: 600;
    margin-top: 0;
    display: inline-block;
    width: 80%;
}

.voice .voiceinfoContainer .voiceprice p {
    font-size: 25px;
    display: inline-block;
    margin: 0;
}

.voice .voiceinfoContainer .voiceprice span {
    font-size: 70%;
    display: inline-block;
        height: 100px;
}

.voice .new-entry-card-title{
	padding-left: 10px;
}

p.introleft {
	text-align: left;
	padding-top: 30px;
}

.voice .voiceinfoContainer .voicedesc {
    border-bottom: 2px solid #f3f3f3;
    margin: 0 auto;
    width: 90%;
}
  
.voice .voiceinfoContainer .voicedesc em {
    font-size: 1em;
    font-weight: 500;
}
  
.voice .voiceinfoContainer .voicefeatures {
    font-size: 1em;
    list-style: none;
    padding-left: 0;
    text-align: left;
}
  
.voice .voiceinfoContainer .voicefeatures li {
    padding: 0.5em;
}
  
.voice .voiceinfoContainer .voiceselectPlan {
    border: 3px solid #7cb545;
    padding: 0.45em 1em;
    border-radius: 2.5em;
    cursor: pointer;
    transition: all 0.25s;
    margin: 1em auto;
    box-sizing: border-box;
    max-width: 95%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
}
  
.voice .voiceinfoContainer .voiceselectPlan:hover {
    background-color: #7cb545;
    color: white;
}
  
.fa-check:before {
    padding-right: 5px;
}

.blogbutton {
    border: 2px solid #7cb545;
    padding: 0.45em 1em;
    border-radius: 2.5em;
    cursor: pointer;
    transition: all 0.25s;
    margin: 20px auto 10px auto;
    box-sizing: border-box;
    max-width: 48%;
    display: block;
    font-weight: 700;
    font-size: 80%;
    color: #000;
    text-align: center;
    text-decoration: none;
}
  
@media screen and (max-width: 767px) {
.voiceContainer {
    margin: 0;
	display: inherit;
}

.voice {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 20px;
    padding: 0px 5px;
}
	
	
	
.voice .voicetitleContainer .title {
    font-size: 1.45em;
}

.voice .voiceinfoContainer .voiceprice {
    padding: 0;
}	
		
.voice .voiceinfoContainer .voiceprice p {
    font-size: 100%;
}
		
.voiceContainer .voice {
    width: 100%;
    margin: 1em 0;
}
	
.voice .voiceinfoContainer {
    padding: 0em;
    color: #2d3b48;
    box-sizing: border-box;
}
	
.blogbutton{
	display: block!important;
	padding: 3px 0px 3px 0px!important;
}	
	
	

}
  
/*生徒の声*/


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
