/* ---------------------------------------------
●共通設定●
--------------------------------------------- */
@charset "UTF-8";

/* ---------------------------------------------
Body
--------------------------------------------- */
body{
    font-size:12px;
    line-height:1.8;
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","ＭＳ Ｐゴシック","MS PGothic",Arial,Helvetica,sans-serif;
    background:#fff; color:#333;
}
body#under { overflow-x:hidden; }
a { text-decoration:none; color:#333; }
a:hover {text-decoration:none;}
p { font-size:10px; line-height:1.6em; }
.gray { color:#999; }
.left { float:left;}
.right { float:right;}
.center { float:center;}

/* ---------------------------------------------
オンマウス
--------------------------------------------- */
a:hover img {opacity: 0.7;}

/*---------------------------------------------
ヘッダー
/*---------------------------------------------*/

#header {
	margin-bottom:15px;
	width:100%;
	height:130px;
	background:url(../img/header_bg.jpg);
    background-color: #f0e68c;
	bottom: center repeat-x;
	padding:0;
}

#header_top {
	margin: 0 auto;
        /*-background-color: #f8dce0; --*/
        /*-height:50px;-*/
	width:980px;
}
#header .logo {
	float:left;
        /*-background-color: #f8dce0;--*/
	margin-top:5px;
}
#header .head_button {
	float:right;
}

#header h1 {
	font-size:12px;
	color:#333;
	font-weight:normal;
}

/*---------------------------------------------
ヘッダー　ナビゲーションメニュー
/*---------------------------------------------*/
#grobalnavi {
	margin: 0 auto;
    background-color: #4169e1;       
	width:980px;
        /*-height:50px;--*/
	position: relative;
	z-index: 99;
}
#grobalnavi ul {
	float:left;
	margin:8px
	auto 5px;
	list-style:none;
}
#grobalnavi ul li {
	position:relative;
	float:left;
	margin:0;
	padding:0;
	width:162px;
	height:28px;
	border-left:1px
	solid #ccc;
}

/*メニュー最後の幅だけ変える*/
#grobalnavi ul li:last-child {
	width:161px;
	border-right: 1px solid #ccc;
}
/*メニューリンクをblock化して設定*/
#grobalnavi ul li a {
	position:relative;
	display: block;
	padding-top:3px;
	text-align:center;
	z-index:10;
	cursor : pointer;
	width:162px;
	height: 28px;
	font-size: 1.2em;
	font-weight: bold;
}


#grobalnavi ul.sub {
	margin-top:0;
	z-index:15;  /*重なり順序指定*/
	overflow:hidden;
	height: 0; /*オフマウスはメニューバープルダウン非表示 */
	transition: .4s;   /*オフマウスはメニューバープルダウン非表示 */
}
#grobalnavi ul.sub > li {
	float:none;
	margin:0;
	padding:2px 0 30px;
	height:50px;
	border-left:none;
	border-right:1px solid #eaeaea;
	border-left:1px solid #eaeaea;
	border-bottom:1px solid #eee;
	background:#fff;
	font-size:12px;
	color:#0091ee;
}

#grobalnavi ul.sub li a {
	color:#0091ee;
	font-weight:bold;
}
#grobalnavi ul.sub li {
	padding-top:8px;
	height:54px;
	background: #f5f5f5;
	border-left:none;
	border-bottom:1px solid #ccc;
	text-align:center;
	line-height: 1.2;
}
#grobalnavi ul.sub li:last-child {
	width:162px;
}
#grobalnavi ul.sub li span {
	font-size:11px;
	font-weight:normal;
	color:#666;
}

/* オンマウスでメニューバープルダウン表示*/
ul#navigation li:hover ul.sub {
	overflow: visible;
	height: 50px;
}

/*---------------------------------------------
メイン
---------------------------------------------*/
#contents {
	margin: 0 auto;
	width:980px;
        /*-background-color: #ffc0cb;--*/     
 	/*--height:500px;--*/             
}

#main {
        float: left;
	    width:100%;
        padding: 0;
        margin: 0px 0px 0px 20px;
        background: #fff;
        /*background-color: #ffa500;--*/        
 	/*-height:300px; --*/            
}

.mainvisual {
	margin-top:10px;
}

table td .new{
	padding:1px 5px;
	background:#fcaa00;
	color:#fff;
	font-size:10px;
}

h3 span {
	float:right;
	margin-right:20px;
	padding-left:10px;
	background:url(../img/link_arrow.png) left center no-repeat;
	font-size:10px;
	font-weight:normal;
}

/*---------------------------------------------
サイドバー
---------------------------------------------*/
#sidebar {
	float:right;
    margin-right:20px;
	width:220px;
	padding: 0 0 0 0px;
        /*-background-color: #00ced1;  --*/   
 	/*--height:700px;--*/      
}

#sidebar_cont {
	width:220px;
}

#sidebar  ul li { 
    margin-bottom:20px; 
}

.side_twitter {
	margin:20px 0; 
	height:370px;	
}
.blog_year {
	margin:0 0 20px 10px;
}

.blog_year ul {
	margin-left:10px;
}
.blog_year ul li {
	margin-bottom:0px !important;
	padding-left:10px;
	background:url(../img/link_arrow.png) left center no-repeat;
	font-size:12px;
}

/*---------------------------------------------
フッタ―
---------------------------------------------*/
/* ページトップ移動ボタン */
#page-top {
    position:fixed; 
    bottom:30px; 
    right:20px; 
    padding:24px; 
    z-index:9999; 
}
#footer {
 	border-top:1px solid #009944;
	background:#fff;
}

#footerInner {
	margin: 0 auto;
	padding:20px 0px 20px 0px;
	width:980px;
}

#footer .copy {
	border-top:1px solid #009944;
	margin-top:10px;
	height:50px;
	background: #009944;
	color: #FFF;
	font-size:14px;
	text-align:center;
	padding:10px 0px 0px 10px;
}

#footerInner ul {
	margin:0 5px 5px 0;
	width:180px;
	float:left;
}

#footerInner ul li {
	margin-top:5px;
}

/* ---------------------------------------------
パンくずリスト
/*---------------------------------------------*/
.bread_list {
	margin:40px 0 0 0;
	width:100%;
	border: none;
	border-top:1px solid #009944;
}

.breadcrumb {
	margin:0 auto;
	width:980px;
	background: #fff;
	overflow: hidden;
}

.breadcrumb li{
	float: left;
	position: relative;
	padding: .7em 0 .7em 0;
	text-decoration: none;
	color: #333;
}
.breadcrumb a::after {
	padding:-10px 0 0 0;
	content: "　　>"
}
.breadcrumb li a {
	margin-right:30px;
}
.breadcrumb li a.current::after {
	content:"";
}

/*---------------------------------------------
 float等のクリア設定
/*---------------------------------------------*/
.clearfix,
.grobalnavi ul:after,
#contents:after,
ul.single_day_cat:after,
.anker_links:after,
.anker_links2:after,
.guide_links:after,
.koushi_tab:after,
#footerInner:after,
.class_map:after
{
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* ---------------------------------------------
●TOPページ●
---------------------------------------------- */

/* ---------------------------------------------
TOPクラス紹介
---------------------------------------------- */
.top_class {
	margin:40px 0 40px;
}
/* 未選択タブヘッダのレイアウト設定 */
#detailTrigger a {
	margin-right:1.5px;
	width:170px;
	border:1px solid #c9c9c9;
	/* タブの角丸指定 */
	border-radius: 10px 10px 0 0;
	/* タブのグラデーション指定 */
	background: #f4f4f4;  /*Old browsers */
    background-image: linear-gradient(to bottom, #f4f4f4, #dddddd);
	color:#333;
	font-size:13px;
	text-align:center;
	cursor:pointer;
}
#detailTrigger a._detail_info { padding:3px 52px; }
#detailTrigger a.detail_kids { padding:3px 50px; } /* --2015/11/28 padding 68から50に変更--- */
#detailTrigger a.detail_jr { padding:3px 58px; }
#detailTrigger a.detail_adult { padding:3px 70px; }
/* 選択タブヘッダのレイアウト設定 */
#detailTrigger a._open {
	margin-right:1.5px;
	width:170px;
    /* タブの角丸指定 */
	border-radius: 10px 10px 0 0;
    /* タブのグラデーション指定 */
	background: #28bf6b; /* Old browsers */
	background-image: linear-gradient(to bottom, #28bf6b, #069f4a);
	color:#fff;
	cursor:pointer;
}
.generation_tab { margin-top:3px; }
#detailTrigger a.detail_adult {
	margin-right:-40px;
}
/* タブ本体のレイアウト設定 */
.detail_body {
	width:695px;
	height:170px;
	border:1px solid #009944;
}
.detail_body .left_photo {
	float:left;
	margin:20px;
}
.detail_body h4 {
	float:left;
	margin:20px 10px 10px 0;
	padding-bottom:10px;
	width:520px;
	border-bottom:1px solid #009944;
}
.detail_body p {
	width:96%;
	line-height:1.4em;
	font-size:14px;
}

.detail_body .btn_right {
	float:right;
	margin:0 20px 20px 0;
}
/*.img-float ul{
  margin-bottom:15px;
}*/
/* 非表示タブ本体のレイアウト設定 */
.tab_hidden {
	display: none;
}

/* ---------------------------------------------
TOPお知らせ
---------------------------------------------- */

.top_news {
	margin:0 0 20px 0;
	width:680px;
}
.top_news table {
	margin:20px 0 0;
	padding:0;
	width:700px;
	border:1px solid #cfcfcf;
	background:#fff;
	font-size:12px;
	font-weight:normal;
	line-height:1.4em;
}
.top_news table th {
	padding:10px 0 10px 20px;
	width:90px;
	border:none;
	font-size:11px;
	color:#555;
}
.top_news table tr {
	border-bottom:1px solid #cfcfcf;
}
.top_news table tr.last {
	border-bottom:none;
}
.top_news table td {
	padding:10px;
	border:none;
	color:#333;
}

/* ---------------------------------------------
●コンテンツページ●
---------------------------------------------- */
.mainvisual-title {
    margin:0 0 40px; 
    padding:20px 0 20px 20px; 
    width: 100%; 
    border-bottom:1px solid #009944; 
}
.mainvisual-title h1 { 
    font-size:20px; 
    color:#333; 
    line-height:1.4em;
}

h3 {
    margin:30px 0px 0px 0px;
    padding:10px 5px 5px 10px;
    width:100%;
    height: 40px;
    font-size:18px;
	line-height:1.2em;
    background:url(../img/title_back.jpg) no-repeat;
}

h3.tokushu  {
    margin:30px 0px 0px 0px;
    padding:10px 5px 5px 10px;
    width:100%;
    height: 40px;
	font-size:18px;
 	background-image:url(../img/sassi.png),
	                 url(../img/title_back.jpg);
	background-repeat:no-repeat,
	                  no-repeat;
	background-position:270px 8px,
	                    0px 0px;
}

h4 {
    margin:30px 20px 0px; 
    padding:0 0 0 0; 
    width:92%; 
    font-size:20px; color:#ffa100; 
    line-height:1.2em; 
}


/* コンテンツページの文字　*/
article {
    margin:0; 
    padding:10px 20px 10px;
    font-size:14px; /*--　20161008 ADD  */
}
strong {
    margin:5; 
	font-size:14px;
	font-weight:bold; color:#faa81b;
}


.post_image { 
    margin:0; 
	margin: 10px auto 20px;
	text-align: center;
}

.anker_links { 
    margin:20px auto;
	padding: 0 20px;
}
.anker_links ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.anker_links ul li { 
    float:left;
    margin:0;
    width:50%;
    border:2px solid #ffe4b4;
    border-left:3px solid #faa81b;
    background:url(../img/anker_navi_bg.jpg) bottom right no-repeat;
    font-size:14px;
    color:#009944;
    text-align:center;
	display: block;
}
.anker_links ul li.current {
    border: 2px solid #faa81b;
    background: url(../img/anker_navi_bg_on.jpg) center center repeat-x;
	background-size: cover;
    color: #fff
}
.anker_links ul li a, .anker_links ul li.current {
	display: block;
	padding:15px 10px 15px 10px;
}
.anker_links2 { 
    margin:20px auto;
	padding-left:120px;
}

/*
.anker_links2 ul li.current {
    border: 2px solid #faa81b;
    background: url(../img/anker_navi_bg_on.jpg) bottom right no-repeat;
    color: #fff
}
*/

/*.anker_links2 ul li{ */
/*
    float:left;
    margin:0 1px 2px 0;
    padding:15px 10px 15px 10px;
    width:220px;
    border:2px solid #ffe4b4;
    border-left:3px solid #faa81b;
    background:url(../img/anker_navi_bg.jpg) bottom right no-repeat;
    font-size:14px;
    color:#009944;
    text-align:center;
*/
/*
    float:left;    
    margin:0 1px 2px 0;
    padding:15px 10px 15px 10px;
    width:220px;    
  border-left: 5px solid #000;
  background: #f4f4f4;    
*/
/*}*/

.anker_links2 ul li{ 
    float:left;    
    margin:0 1px 2px 0;
    padding:15px 10px 15px 10px;  
    width:230px;    
    border-left: solid 5px #ffaf58;/*左線（実線 太さ 色）*/
    border-bottom: solid 3px #d7d7d7;/*下線*/    
    background: #fffaf4;/*背景色*/
    font-size:15px;    
/*  color: #494949;文字色→効いてない*/
}
    

.image_right{ 
    float:right;
    padding: 0 0 10px 10px;
}

table {
	width:calc(100% - 40px);
	border:1px solid #d9f2e4;
	margin: 20px;
}
table tr {
	border-bottom:2px solid #d9f2e4;
}

table.no-border { 
	border:none; 
}
table tr.no-border {
	border:none; 
 }
table td.no-border { 
	border:none; 
}

table th {
	padding:10px 15px;
	width:15%;
	border:1px solid #d9f2e4;
	background:#eff8fb;
	vertical-align:middle;
	text-align:left;
	font-size:14px;
	font-weight:normal;
	line-height:1.4em;
	color:#0091ee;
}
table td {
	padding:10px 15px;
	border:1px solid #d9f2e4;
	vertical-align:middle;
	font-size:14px;  /*-- 20161008 ADD --*/
}
table td img {
	padding:20px;
}
table th.point, table td.point { 
    padding:20px 0 10px 65px; 
    border:none; 
    background:url(../img/icon_point.png) 15px 18px no-repeat; 
    font-size:16px; color:#0091ee; 
    font-weight:bold; 
}
table th.point_pink, table td.point_pink { 
    padding:20px 0 10px 65px; 
    border:none; 
    background:url(../icon_point_pink.png) 15px 18px no-repeat;
    font-size:16px; color:#ec2d75; 
    font-weight:bold; 
}

/* ---------------------------------------------
渋谷式とは
---------------------------------------------- */
.method_main {
	margin:10px auto 20px; 
	padding:0; height:419px; 
	background:url(../img/method_main.jpg) top center no-repeat; 
}

.method_main ul.btn_left { 
	float:left; 
	margin:0 0 0 120px; 
	width:160px; 
}
.method_main ul.btn_left li:nth-child(1) { margin-bottom:100px; }
.method_main ul.btn_left li:nth-child(2) { margin:0 0 100px -110px; }

.method_main ul.btn_right { float:right; margin:0 120px 0 0; width:160px; }
.method_main ul.btn_right li:nth-child(1) { margin-bottom:100px; }
.method_main ul.btn_right li:nth-child(2) { margin:0 0 100px 110px; }

/* ---------------------------------------------
クラス紹介　チャイルドクラス
---------------------------------------------- */
/* チャイルドクラス テーブル */
table td.child_arrow {
	margin:0;
	padding:0 2px; 
	width:70px; 
	border:none; 
}
  
table td.child_arrow img {
	margin:0;
	padding:0; 
}
table td.no_right_line { 
	border-right:none; 
}
table td.no_right_line img { 
	padding:5px 0;
}
table td.no_left_line {
	border-left:none;
	background:url(../img/table_td_bg.jpg) top right no-repeat; 
}

/* ---------------------------------------------
クラス紹介　キッズ・ジュニアクラス
---------------------------------------------- */
/* キッズクラス テーブル */
table.kids1 th.kids01 {
	width:40px; 
}
table.kids1 th.kids02 {
	padding:10px 0 10px 15px; width:200px
}
table.kids1 th.kids03 {
	padding:10px 0 10px 15px; width:200px
}


/* ---------------------------------------------
入会案内
---------------------------------------------- */
/* 通常授業テーブル */
table.join1 {
    margin: 20px 0 40px 20px;
}

/*
table.join1 th.join01 {
    width: 15%;
}
table.join1 th.join02 {
    width: 20%;
}
table.join1 th.join03 {
    width: 30%;
}
table.join1 th.join04 {
    width: 35%;
}
*/

table.join1 th.join01 {
    width: 18%;      
	text-align:center;        
}
table.join1 th.join02 {
    width: 25%;
	text-align:center;        
}
table.join1 th.join03 {
    width: 32%;
	text-align:center;        
}
table.join1 th.join04 {
    width: 57%;
	text-align:center;        
}

/*
 通常以外授業テーブル 
table.join2 {
    margin: 20px 0 0px 0px;
}

table.join2 th.join05 {
    width: 40px
}
table.join2 th.join06 {
    padding: 10px 15px;
	width: 130px;
}
table.join2 th.join07 {
    padding: 10px 15px;
	width: 300px;
}
*/

/* 料金テーブル */
table.join3 {
    width: 305px;
}

table.join3 th {
    padding: 5px 10px;
	text-align:center;        
}
table.join3 td {
    padding: 5px 10px;
}


/* ---------------------------------------------
教室案内
---------------------------------------------- */
/* 教室案内 テーブル
table.guide1 {
    width: 600px;
}*/
/*
table.guide1 th.guide01 {
    width: 50px;    
	text-align:center;    
}
table.guide1 th.guide02 {
    width: 100px;   
	text-align:center;    
}
table.guide1 th.guide03 {
    width: 10px;
	text-align:center;
}
table.guide1 td.lesson { 
    font-size:16px; 
    text-align:center; 
}
*/

table.guide1 th.guide01 {
    width: 20%;    
	text-align:center;    
}
table.guide1 th.guide02 {
    width: 30%;   
	text-align:center;    
}
table.guide1 th.guide03 {
    width: 10%;
	text-align:center;
}

/* 教室案内マップ */
.class_map { 
	float:left; 
	margin: 10px 20px 10px 10px
}

/* 教室案内リンクボタン */
/*.guide_links { 
    margin:20px auto;
    padding-left:120px;
}*/

.guide_links ul li{ 
    float:left;
    margin:0;
    padding:2px 15px 0px 15px;
    border-left:1px solid #ddd;
    font-size:16px;
    text-align:center;
}

.guide_links ul li:last-child { 
    border-right:1px solid #ddd;
}


/* ---------------------------------------------
生徒さん、保護者様の声
---------------------------------------------- */
article.sayhallo { 
	border: 1px solid #ccc;
	margin:20px 0 20px 15px; 
	width:87%; 
}

article.sayhallo h5 { 
	margin:20px 0 0 30px;
	font-size:16px;
}

ul.single_day_cat { 
	border-bottom: 1px solid #ccc;
	margin:20px 0 10px 20px; 
}


/* 2017.09.19 terada*/
article.shinbun p {
    text-indent: 1em;
    margin:0; 
    padding:10px 5px 10px;
    font-size:15px; 
    line-height:26px;
}
article.shinbun strong {
    margin:5; 
	font-size:15px;
	font-weight:bold; color:#ff1493;
}

article.shinbun h1 {
    font-family:"MS UI Gothic";
	font-size:22px;    
    padding: 0.5em;/*文字周りの余白*/
    color: #494949;/*文字色*/
    background: #f4f4f4;/*背景色*/
    border-left: solid 5px #7db4e6;/*左線（実線 太さ 色）*/
}

article.shinbun h2 {
  	font-size:16px;  
    padding-bottom: .0em;
    border-bottom: 1px solid #d2b48c;
    padding:3px;
    margin:15px 5px 5px;
}

article.shinbun h5 {
    color:dimgray;
    background-color:#f5f5f5;
    font-family:"MS UI Gothic";
	font-size:16px;  
    text-align:left;
    text-indent: 10px;
    border: thin solid dimgray;  
    padding:3px;
    margin:15px 5px 5px;
}

article.shinbun h6 {
    margin:10px 0px 10px; 
    padding:0 0 0 0; 
    text-align:center;
    font-size:20px; color:#ffa100; 
    line-height:1.2em; 
}


/* 2017.09.19 terada*/

/* ---------------------------------------------
講師募集
---------------------------------------------- */
.koushi_cv { 
	margin:20px auto; 
	text-align:center; 
}

/* ---------------------------------------------
よくある質問
---------------------------------------------- */
/* --共通・チャイルド・キッズタブdiv枠組み--*/
.qa_tab { 
	margin: 0 0 40px 0;	
}

/* --タブの全体：サイズ指定--*/
.qa_tab ul { 
	width:100%; 
	height:37px; 
	border-bottom: 2px solid #78daa3;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
/* --タブ個別：3分割--*/
.qa_tab ul li {
	display: block;
	width: auto;
	min-width: 4em;
	height: 37px;
	border: 1px solid #ccc;
	border-bottom: none;
	border-radius: 4px 4px 0 0;
	padding: 0 10px;
	font-size: 16px;
	line-height: 35px;
	text-align: center;
}
.qa_tab ul li a {
	display: block;
}
.qa_tab ul li.current {
	font-weight:bold;
	color:#fff;
	background:#009944;
	height: 42px;
	line-height: 40px;
	transform: translateY(-5px);
	flex-grow: 1;
}
/* --QAプルダウンリスト（dt.ddタグ）--*/
#QandA {
    display: block;
    margin: 0 0 40px 20px;
    width: 85%;
}

#QandA dt {
	display:block;
	padding:20px 60px 20px 20px;
	height:auto;
	border:1px solid #ddd;
	background:url(../img/qa_icon01.png) 95% 22px no-repeat;
	font-size:16px;
	color:#333;
	cursor:pointer;
}

/* --QAプルダウン：Aデフォルト非表示--*/
#QandA dd {
	padding:20px;
	height:auto;
	border:none;
	background:#f8f8f8;
	display:none;
}

/* --QAプルダウン：A表示時--*/
#QandA dt.active{
	background:url(../img/qa_icon02.png) 95% 22px no-repeat;
}

/* --QAプルダウン：文字フォント--*/
#QandA dt span, #QandA dd span { 
	margin-right:10px; 
	color:#009944; 
	font-size:16px; 
	font-weight:bold; 
}

/* ----------------------
投稿欄ブログ関連
----------------------- */
.blog_arrow {
 	margin-bottom:20px; 
	padding-left:10px;
	background:url(../img/link_arrow.png) left center no-repeat;
	font-size:12px;
}
.news_top {
	margin:0 auto 20px;
	width:670px;
}
.news_top table {
	margin:20px auto 0;
	padding:0;
	width:670px;
	border:1px solid #cfcfcf;
	background:#fff; 
	font-size:12px;
	font-weight:normal;
	line-height:1.4em;
}
.news_top table tr {
	border-bottom:1px solid #cfcfcf;
}
.news_top table th {
	padding:5px 10px;
        width:75px;
	border:none;
	font-size:11px;
	color:#555;
}

.news_top table td {
	padding:5px 10px;
	width:68%;
	border:none;
	color:#333;
}

/* ----------------------
体験授業
----------------------- */
table.taiken1 th.taiken01 { width:20%; }
table.taiken1 th.taiken02 { width:15%; text-align:center; }
table.taiken1 td.gray { width:20%; }
table.taiken1 td { text-align:center; }



.center {
    text-align: center;
}

.kojin_arrow {
	margin: 0 0 20px 20px;
	padding-left:10px;
	background:url(../img/link_arrow.png) left center no-repeat;
	font-size:12px;
}
.taiken_comment { font-size:14px; color:#fe0000; }
.tel_taiken { margin:10px 0 0px 30px;  }


/* 2018.9.2 terada */
.taiken h4 {
color:#474747;
background: linear-gradient(transparent 70%, #a7d6ff 70%);
}


.index h4 {
padding: 0.25em 0.5em;/*上下 左右の余白*/
color: #4169e1;/*文字色*/ 
background: transparent;/*背景透明に*/
border-left: solid 5px #7db4e6;/*左線*/  
}

/* 体験申込フォーム */
table.taiken_form th { width:120px; font-size:13px; } 

table.taiken_form1{
	margin:0 auto;
	border-collapse:collapse;
}
table.taiken_form1 td,table.taiken_form1 th,table.taiken_form1 tr{
	border:1px solid #ccc;
	padding:10px;
    font-size:13px;   
}
table.taiken_form1 th{
	width:120px;
	font-weight:normal;
    color:#474747;
	background:#efefef;
	text-align:left;
}
/* 2018.9.2 terada */

select {
	width:130px;
	height:30px;
	font-size:12px;
}


/**************************************************************
2025.10 レスポンシズ対応
**************************************************************/
html {
	scroll-behavior: smooth;
}
* {
	box-sizing: border-box; /* すべての要素でbox-sizingをborder-boxに設定 */
}
#wrapper {
	width: 1024px;
	margin: 0 auto;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: baseline;
}
.mb-1 {
	margin-bottom: 30px;
}
img.shibuya-soroban-logo {
	width: 1.4em;
	vertical-align: -0.4em;
}
img.mailaddress {
	width: auto;
	height: 1.5em;
	vertical-align: -0.4em;
}

/*　ヘッダー　タイトル
**************************************************************/
/*ヘッダー*/
#header {
	width: 100%;
	height: auto;
	min-height: 130px;
	padding: 10px 20px;
	background: none;
}
/*ヘッダロゴ*/
#header .logo {
	width: 360px;
}
/*ヘッダーボタン*/
#header .head_button {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.head_btn {
	width: 80px;
	height: 80px;
	margin-right: 15px;
}
/*ヘッダー電話番号*/
.head_tel {
	width: 240px;
}
.description-copy {
	font-size: 12px;
	display: inline-block;
	margin: 5px 0 10px 0;
}
/*モバイルメニュー*/
#header #nav-wrap {
	display: none;
}

/*　メインコンテンツ
**************************************************************/
#contents {
	width: 100%;
	max-width:980px;
}
#main {
	width: 700px;
}
/*メインビジュアル*/
.mainvisual {
	max-width: 100%;
}
h3.oshirase {
	font-size: 16px;
	padding: 10px 10px 10px 10px;
	background: none;
	border: 1px solid #ccc;
	height: unset;
}
h3.oshirase::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 24px;
	background: rgba(0, 152, 68, 1.0);
	margin-right: 8px;
	vertical-align: -6px;;
}
p.oshirase-link {
	font-size: 14px;
	text-align: right;
	padding: 5px;
}

/*　クラス紹介　タブ切り替え
**************************************************************/
#detailTrigger {
	display: flex;
	flex-direction: row;
}
#detailTrigger a {
	width: calc(100% / 3)!important;
}
#detailTrigger a._detail_info,
#detailTrigger a.detail_kids,
#detailTrigger a.detail_jr {
	font-size: 14px;
	line-height: 1.4;
	padding: 5px;
}
#detailTrigger a._open {
	width: calc(100% / 3)!important;
}
.detail_body {
	width: 100%;
	display: flex;
	flex-direction: row;
	height: auto;
	border: 1px solid #009944;
	padding: 15px;
}
.detail_body .left_photo {
	width: 122px;
	height: auto;
	float: unset;
	margin: 0 15px 0 0;
}
.detail_body .right_text {
	width: calc(100% - 137px);
}
.detail_body h4 {
	float: unset;
	width: auto;
	margin: 0 0 12px 0;
}
.detail_body p {
	width: auto;
	margin-bottom: 12px;
}
.detail_body .btn_right {
	float: unset;
	text-align: right;
	margin: 0;
}

/*　サイドバー
**************************************************************/
#sidebar {
	width: 240px;
}
#sidebar_cont {
	width: 220px;
	margin: 10px auto;
}
ul.side-bannar-box {
	display: flex;
	flex-direction: column;
}
/* twitter */
.side_twitter {
	width: 100%;
}

/*　フッター
**************************************************************/
#footer {
	width: 100%;
}
#footerInner {
	width: 100%;
	max-width: 1040px;
	padding: 20px;
	margin: 0 auto;
}


@media only screen and (max-width: 600px) {
	body {
		font-size: 15px;
	}
	/* wrapper */
	#wrapper {
		width: 100%;
		margin: 0 auto;
		background: #fff;
		padding: 20px;
	}
	/* header */
	#header {
		width: 100%;
		padding: 0;
	}
	#header_top {
		margin: 0;
		width: 100%;
	}
	#header .logo {
		float: none;
		width: calc(100% - 57px);
	}
	.description-copy {
		font-size: 16px;
		display: inline-block;
		width: calc(100vw - 30px);
	}
	#header .head_button {
		float: none;
		width: 100%;
	}
	.head-tel {
		display: inline-block;
		margin: 0 auto;
	}
	/* globalnavi PC用非表示*/
	#grobalnavi {
		display: none;
	}
	/* モバイル用ナビ */
	#header #nav-wrap {
		display: block;
	}
	/* contents */
	#contents {
		width: 100%;
	}
	/* main contents */
	#main {
		width: 100%;
		float: none;
		padding: 0;
		margin: 0;
	}
	.mainvisual {
		width: 100%;
	}
	/* sidebar */
	#sidebar {
		width: 100%;
		float: none;
	}
	#sidebar_cont {
		width: 100%;
		text-align: center;
	}
	ul.side-bannar-box {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	/* footer */
	#footerInner {
		width: 100%;
	}
	/*モバイルメニュー*/
	nav {
        display: block;
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
		height: 100vh;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transition: all .5s;
        z-index: 3;
        opacity: 0;
    }
    .open nav {
        left: 0;
        opacity: 1.0;
    }
    nav .inner {
        padding: 25px;
    }
    nav .inner h1.nav-logo {
        display:block;
        width:80%;
        margin:50px auto 30px auto;
    }
    nav .inner ul {
        list-style: none;
        margin: 50px;
        padding: 0;
        display:flex;
        justify-content: start;
        flex-direction: column;
    }
    nav .inner ul li {
		line-height: 1.5;
        position: relative;
        margin: 0 0 18px 0;
        margin-right:0;
    }
    nav .inner ul li a {
        font-size: 18px;
		color: #fff;
        display: block;
        text-decoration: none;
        transition-duration: 0.2s;
    }
	nav .inner ul.submenu {
		margin: 21px 0 0 27px;
	}
	nav .inner ul.submenu li span {
		display: inline-block;
		margin-right: 8px;
		margin-left: -27px;
	}
    nav .inner {
        padding:0;
        position:relative;
    }
    /*　toggle_btn */
    #header .toggle_btn {
        display: block;
        background: rgba(0, 152, 68, 1.0);
        position: fixed;
        top: 15px;
        right: 15px;
        width: 42px;
        height: 40px;
        transition: all .5s;
        cursor: pointer;
        z-index: 3;
    }
    .toggle_btn span {
        display: block;
        position: absolute;
        left: 7px;
        width: 28px;
        height: 2px;
        background-color: #fff;
        transition: all .5s;
    }
    .toggle_btn span:nth-child(1) {
        top: 9px;
    }
    .toggle_btn span:nth-child(2) {
        top: 19px;
    }
    .toggle_btn span:nth-child(3) {
        bottom: 9px;
    }
    .open .toggle_btn span {
        background-color: #fff;
    }
    .open .toggle_btn span:nth-child(1) {
        -webkit-transform: translateY(10px) rotate(-315deg);
        transform: translateY(10px) rotate(-315deg);
    }
    .open .toggle_btn span:nth-child(2) {
        opacity: 0;
    }
    .open .toggle_btn span:nth-child(3) {
        -webkit-transform: translateY(-10px) rotate(315deg);
        transform: translateY(-10px) rotate(315deg);
    }
    /* mask */
    #mask {
        display: none;
        transition: all .5s;
    }
    .open #mask {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 152, 68, 0.9);
        opacity: 1.0;
        z-index: 2;
        cursor: pointer;
    }
    nav .inner ul li::before {
        bottom: 0.5em;
    }
    nav .inner ul li::after {
        bottom: 0.2em;
    }
	/* 幅調整 */
	h3.oshirase {
		width: 100%;
	}
	.top_news,.top_news table {
		width: 100%;
	}
	/* バナー横並び*/
	.bannar-box {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.bannar-box a {
		display: inline-block;
		width: 48%;
		height: auto;
	}
	/* footer */
	#footerInner {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
	#footerInner h6 {
		width: 100%;
	}
	#footerInner ul {
		width: calc(50% - 5px);
		padding: 10px;
	}
	#footerInner ul.last {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
		text-align: center;
	}
}

@media only screen and (max-width: 450px) {
	.head_btn {
		width: 60px;
		height: 60px;
	}
	.head_tel {
		width: calc(100% - 160px);
	}
}

/*　下層ページ
**************************************************************/
h4.h4-num {
	font-size: 24px;
	color: #ec2d75;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}
h4.h4-num span {
	color: #888;
}

/* method */
#method_main {
	display: block;
	width: 100%;
	aspect-ratio: 700 / 419;
	background:url(../img/method_main.jpg) top center no-repeat;
	position: relative;
	margin: 50px 0;
}
#method_main .method-btn {
	width: 160px;
	height: auto;
}
#method_main .btn01 {
	position: absolute;
	top: 0;
	left: 17%;
}
#method_main .btn02 {
	position: absolute;
	top: 0;
	right: 17%;
}
#method_main .btn03 {
	position: absolute;
	top: 35%;
	left: 0;
}
#method_main .btn04 {
	position: absolute;
	top: 35%;
	right: 0;
}
#method_main .btn05 {
	position: absolute;
	bottom: 0;
	left: 17%;
}
#method_main .btn06 {
	position: absolute;
	bottom: 0;
	right: 17%;
}
/*　下層ページ　600px以下
**************************************************************/
@media only screen and (max-width: 600px) {
	.mainvisual-title {
		width: 100%;
	}
	h3 {
		width: 100%;
		height: auto;
		background: none;
		border: 1px solid #ccc;
		background-image: linear-gradient(to bottom, #fff, #eee);
	}
	h4 {
		margin: 30px 10px 0;
	}
	article {
		padding: 10px;
	}
	table {
		width: 100%;
		margin: 15px 0;
	}
	/*パンクズ*/
	.bread_list {
		margin-bottom: 20px;
	}
	.breadcrumb {
		font-size: 14px;
		width: 94%;
		margin: 0 3%;
	}
	/* ページトップ移動ボタン */
	#page-top {
		bottom:0; 
		right:0;
		padding: 10px;
	}
	/*ページ内アンカーリンクボタンリスト*/
	.anker_links2 {
		padding-left: 0;
		margin: 10px auto;
	}
	.anker_links2 ul {
		margin: 0;
	}
	.anker_links2 ul li {
		width: calc(50% - 1px);
	}
	/* 右寄せ画像 */
	.image_right {
		padding: 20px;
	}
	/* 下部クラスリスト */
	ul.side-class-list {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	ul.side-class-list li {
		font-size: 16px;
		line-height: 1.8;
		font-weight: bold;
	}
	ul.side-class-list li span {
		font-size: 14px;
		font-weight: normal;
	}
	ul.side-class-list h4 {
		margin-bottom: 15px;
	}
	/* method 
	*******************************/
	#method_main {
		background:url(../img/method_main.jpg) center center no-repeat;
		background-size: 80%;
	}
	#method_main .method-btn {
		width: 27%;
		height: auto;
	}
	/* tokushu 
	*******************************/
	h3.tokushu {
		width: 100%;
		background-image: linear-gradient(to bottom, #fff, #eee);
		background-position: unset;
		margin: 30px 0px 0px 0px;
		padding: 10px 5px 5px 10px;
		position: relative;
	}
	h3.tokushu::after {
		display: inline-block;
		content: "";
		width: 64px;
		height: 23px;
		background: url("../img/sassi.png") no-repeat;
		position: absolute;
		top: 8px;
		right: 10px;
	}
	/* 入会案内
	*******************************/
	.anker_links ul li {
		width: 100%;
		border: 1px solid #faa81b;
	}
	.anker_links ul li.current {
		background: url(../img/anker_navi_bg_on.jpg) bottom right repeat-x;
		background-size: cover;
		border: 1px solid #faa81b;
	}
	
	table.join1, table.join3 {
		width: calc(100% - 20px);
		margin: 20px 10px;
	}
	/* 教室案内
	*******************************/
	table.guide1 {
		width: calc(100% - 20px);
		margin: 20px 10px;
	}
	table.guide1 th, table.guide1 td {
		padding: 10px;
	}
	/* 体験授業お申し込みフォーム
	*******************************/
	table.taiken_form {
		width: 100%;
	}
	table.taiken_form th, table.taiken_form td {
		display: block;
		width: 100%;
	}
}

/* 教室案内
*******************************/
.class-info {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 15px 20px;
}
.class-info .class-address {
	display: block;
	width: 100%;
	font-size:16px;
	margin: 0 0 20px 0;
}
.class-info .class-overview {
	margin: 0 auto 10px;
}
.class-info .class-map {
	margin: 0 auto 10px;
}
/* GoogleMap */
.gmap-wrap {
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	margin: 20px 0;
}
.gmap-wrap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

@media only screen and (max-width: 450px) {
	/* 右寄せ画像 */
	.image_right {
		float: none;
		display: block;
		padding: 0;
		margin: 0 auto 20px;
		width: 246px;
		height: auto;
	}
}

.news_top {
	width: 100%;
}
.news_top table {
	width: 100%;
}
.news_top table th {
	width: 25%;
}
.news_top table td {
	width: auto;
}

ul.side-class-list li::before {
	content: "●";
	color:rgba(0, 152, 68, 1.0);
}

.anker_links2 {
	padding-left: 0;
	margin: 20px;
}
.anker_links2 ul {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.anker_links2 ul li {
	width: 50%;
	margin: 0;
}

#Main {
	max-width: 700px;
}

#sidebar ul li.twitter-wrap {
	width: 100%;
}
.side_twitter {
	width: 100%;
	height: auto;
}
.twitter-timeline {
  width: 100% !important;   /* 親コンテナに対して100% */
  max-width: 400px;         /* 必要なら上限を指定 */
  height: auto !important; /* 高さは任意 */
  display: block;
}
a {word-break: break-all; }

ul.last li.sns_icon {
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: 10px;
}
@media only screen and (max-width: 600px) {
	#Main {
	max-width: 100%;
	}
}

h4.side-sns-title {
	font-size: 16px;
	color: #009944;
	text-align: center;
	width: 100%;
	margin: 0 0 20px 0;
	padding: 4px 8px;
	border: 1px solid #009944;
}
ul.side-sns {
	display: flex;
	justify-content: center;
}
ul.side-sns li {
	width: 28px;
	height: 28px;
	margin: 0 15px;
}