@import url("style-item.css");
@import url("style-nav.css");
@import url("style-option.css");
@import url("style-search.css");
@import url("style-separate.css");
@import url("style-table.css");
@import url("style-tag.css");
@import url("style-spot.css");
@import url("style-toppage.css");
@import url("style-uloldl.css");
@import url("style-card.css");
@import url("style-modelcourse.css");



/*==============================================================*/
/* WordPressが付与するCSSクラス                                    */
/* fujimoto add                                                 */
/*==============================================================*/

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
    outline: 0;
}
/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
    max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
}

.wp-caption-text {
    text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
    margin-bottom: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
}

.gallery-columns-2 .gallery-item {
    max-width: 50%;
}

.gallery-columns-3 .gallery-item {
    max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
    max-width: 25%;
}

.gallery-columns-5 .gallery-item {
    max-width: 20%;
}

.gallery-columns-6 .gallery-item {
    max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
    max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
    max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
    max-width: 11.11%;
}

.gallery-caption {
    display: block;
}
/*==============================================================*/


:root {
	--main-color: #4B8698;
	--accent-color: RGBA(18, 78, 156, 0.8);	/* #985C4A; */
	--dark-main-color: RGBA(18, 78, 156, 1.00);	/* #326859; */
	--text-color: RGBA(0, 0, 0, 0.8); /* #333; */
	--white: RGBA(255, 255, 255, 1); /* #ffffff; */
	--light-gray: RGBA(0, 0, 0, 0.1); 
	--dark-gray: RGBA(0, 0, 0, 0.4); /* #999; */
	--light-beige: RGBA(196, 192, 183, 0.1);
	--dark-beige: RGBA(196, 192, 183, 1.00);
	--red: RGBA(175, 37, 40, 1.00); /* #B71C1C */
}



/*/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

/* 幅制限
section:not(.hero) {max-width: 1500px;
		margin-left: auto;
		margin-right: auto;
}
*/


@media (min-width: 641px) {
.hamburger {display: none !important;}
}

section {
	padding-top:2rem;
}

body {
/*	background-image: linear-gradient(rgba(237, 237, 237, 0.3), rgba(237, 237, 237, 0.3)), url(images/dust_scratches.png); */
	color:#333;
	color:var(--text-color);
	font-size: 1rem ; /* 16px */
	line-height: 1.75;
	font-family: "HelveticaNeue", "Arial", sans-serif; 
}

p {
	padding: 0 0.625rem; /* 10px */
	margin-bottom: 1rem; /* 16px */
}

.lead,
.lead p {
font-size: 100%;
line-height: inherit;
font-weight: bold;
}

section.ranking {
	margin-top:50px;
	clear:both;
	background: #fff;
}


@media (min-width: 641px) {
	.title-logo img {
	width: 300px;
	height: 60px;
}
}
@media (max-width: 640px) {
	.logo {
		text-align: center;
	}
	.logo img {
	width: 180px;
}
}

.main-menu a{
	padding-top:0;
	margin-top: 0;
}

.main-menu .school a, 
.main-menu .private a {
	color: #fff;
}


a {
    outline: none;
    color:#1565C0;
    text-decoration: underline;
}
a, a:focus, a:hover {
}

a:visited {
	color:#4527A0;
}


.card {
	flex-grow: 0 !important;
}
.card a{
	    text-decoration: none;	
}
.button {
	line-height: 1.4;
    text-decoration: none;	
	margin-top:0.5rem;
	margin-bottom: 0.5rem;
	padding:0.5rem 1rem;
	background: rgb(96, 189, 69);
	border-radius: 5px;
	color:#fff;

}

.button.rounded {
	border-radius:50px;
}

.button.hollow {
border-color: #222;
color: #222;
}

.button.hollow:focus, .button.hollow:hover {
border-color: #D50000;
color: #D50000;
transition: all 0.6s ease;
}

.whatsnew-area h2 {
	padding-bottom: 0;
}
.whatsnew-area section {
	padding-top:0;
}

.button:hover,
.button:focus {
	background: rgb(0, 146, 69);
}
.button:visited {
	color:#eeffff;
}

.radius {
	border-radius:3px;
} 

h1,h2,h3,h4,h5,h6 {
	clear:both;
	display: block;
	font-weight: bold;
	font-family: "HelveticaNeue", "Arial", sans-serif; 

}
h3:before,h3:after,
h4:before,h4:after,
h5:before,h5:after,
h6:before,h6:after
 {
	clear: both;
}

h1 {
	font-size: medium;
	margin:0;
}

h2 {
	font-size: 1.25rem; /* 20px */ 
	color: #222;  
	text-align: center;
	padding:20px 10px;
	margin-top: 1rem; /* 16px */ 
	margin-bottom: 1rem; /* 16px */ 
	color:rgb(0, 146, 69);
}

@media (min-width: 641px) {
h2 {
	font-size: 1.875rem; /* 30px */ 
}
}

h3 {
	font-size: 1.125rem; /* 18px */
	background: RGBA(255, 140, 0, 0.9);
	padding: 0.2em 0.5em;
	color: #fff;
	border-radius: 0.5em;
	margin-bottom: 20px;
}

.content-private h3,
#private h3 {
	background: rgb(1, 119, 193);
}

@media (min-width: 641px) {
h3 {
	font-size: 1.25rem; /* 20px */ 
}
}

h4 {
	font-size: 1.063rem; /* 17px */
	color:rgb(96, 189, 69);
	color:rgb(0, 146, 69);
}

#lesson .lesson-nagare h4 {
	background:#E3F2FD;
	color:rgb(1, 119, 193);
	padding:2px 4px;
}

@media (min-width: 641px) {
h4 {
	font-size: 1.125rem; /* 18px */ 
}
}


h5 {
	font-size: 1rem; /* 16px */
}

.hikaku h5 {
	text-align: center;
}

@media (min-width: 641px) {
h5 {
	font-size: 1rem; /* 16px */
}
}

h6 {
	font-size: 1rem; /* 16px */
}
@media (min-width: 641px) {
h6 {
	font-size: 1rem; /* 16px */
}
}




/* メインエリア */
.main-area {
	padding-top: 3rem; /* 48px */
	padding-bottom: 3rem; /* 48px */
}




/* カードのホバー */ 

figure {
    margin: 0;
    overflow: hidden;
    position: relative;
    text-align: center;
}
 
figcaption.search-result {
    background-color: rgba(0,0,0,0.3);
    color: #FFF;
    opacity: 0;
    font-size: 16px;
    font-size: 1.6rem;
    position: absolute;
    text-align: center;
    -webkit-transition:all 0.5s ease-in-out;
        transition:all 0.5s ease-in-out;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    padding-top: 25%;
}
 
a:hover>figure p {
        transform: scale(1.15,1.15);
        -webkit-transform:scale(1.15,1.15);
        -moz-transform:scale(1.15,1.15);
        -ms-transform:scale(1.15,1.15);
        -o-transform:scale(1.15,1.15);
                transition:all 0.5s ease-in-out;

}
 
a:hover>figure figcaption {
    opacity: 1;
}



/*/////////////////////////////////////////////////////////////////////*/
/*//////////////////////// トップページ sections ////////////////////////*/
/*/////////////////////////////////////////////////////////////////////*/


.logo-area {
	padding-top: 0;
}


.cell figure {
  box-shadow: 0px 3px 15px rgba(62,58,57,0.4);
  transition: .3s;
}
.cell figure:hover {
  box-shadow: 0px 20px 40px rgba(0,0,0,0.4);
  transform: scale(1.05,1.05);
}




/* 印刷 */
@media print {
 a[href]:after {
 content: "" !important;
 }
 
 abbr[title]:after {
 content: "" !important;
 }
}

@media print {
  *,
  *:before,
  *:after {
    color: inherit !important;
    text-shadow: none !important;
    background: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
}  
  



 
 
a .over:hover	{
opacity: 0.8;
}



/*/////////////////////////////////////////////////////////////////////*/
/*////////////////////////     お問い合わせ      ////////////////////////*/
/*/////////////////////////////////////////////////////////////////////*/


.submit-soshin{
display: block;
width: 160px;
height: 50px;
line-height: 1;
color: #FFF;
font-weight: bold;
text-align: center;
background-color: #f39800;
border-radius: 5px;
-webkit-transition: all 0.5s;
transition: all 0.5s;
border: none;
}
.submit-soshin:hover{
     background-color: #f9c500; /*ボタン色*/
}

.contact-x-small {
	width: 5em;
}

.contact-small {
	width: 8em;
}

.contact-medium {
	width: 20em;
}


#contact-form [type=text] {
	display: inline;
}

/***** コンタクトフォーム *****/
.table-contactform7{
  overflow: hidden;
table-layout: fixed;
}
 
.required-contactform7{
  padding: 5px;
  background: #DE8686;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}
 
.unrequired-contactform7{
  padding: 5px;
  background: #BDBDBD;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}
 
.table-contactform7 th{
  font-weight:bold;
}
 
.table-contactform7 input,
.table-contactform7 textarea{
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
}
 
.address-100 input{
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
}
 
.message-100 textarea{
  width: 100%;
  margin: 5px 10px 10px 5px;
}


.table-contactform7 input {
	display: inline;
}

@media screen and (min-width: 900px){
  .table-contactform7 th{
    width:28%;
  }
    }
     
@media screen and (max-width: 900px){
.table-contactform7{
  display:block;
}     
       
  .table-contactform7 tbody,
  .table-contactform7 tr{
    display: block;
    width: 100%;
  }
  .table-contactform7 th{
  width:100%;
  display:block;
  margin: 0 auto;
  border:none;
}
.table-contactform7 td{
  display: list-item;
  list-style-type:none;
  margin:0;
  padding:0;
  width: 100%;
  border-top: none !important;
}
}

/* sticky */

[data-sticky] {
  width: 100%;
}

/* 新着情報 */
.info-list h3{
	margin-bottom:0;
}
.info-list dl {
	background: rgb(255, 250, 240);
}
.info-list dt {
	width: 6rem;
}


/* コールアウトの色 */
section .callout {
	background: RGBA(255, 255, 224, 0.4);
	border: 2px solid #a9a9a9;
}
.taiken .callout {
	background: RGBA(229, 244, 253, 1.00);
}


/* コールアウト内のtable */
.callout table tbody {
	background: transparent;
}
.callout th {
	width: 30%;
}
.callout td {
	width: 70% ;
}

.hikaku table tbody {
	background: #fff;
}
.callout th {
	width: 40%;
}
.callout td {
	width: 60% ;
}

.youkou th {
	width: 15%;
}

.point-3 h4{
	text-align: center;
}

@media (max-width: 640px) {
.description {
	margin-top:10px;
	margin-bottom: 0;
}	
	
}

/* ランディングページ */
#landing {
	width: 700px;
    max-width: 100%;
    margin: auto;
    float: none;
    	background: #fff;
	}

.private-landing {
	font-size: 90%;
	line-height: 2;
	
}



@media (min-width: 641px) {
.private-landing .grid-container {
	margin: 0 30px;
}
.aomoji {
	width: 65%;
	margin-top: 20px;	
}
}

@media (max-width: 640px) {
#landing {
	width: 100%;
    max-width: 100%;
    margin: auto;
    float: none;
    	background: #fff;
	}

.private-landing {
	font-size: 100%;
	line-height: 2;
	
}
	
}

/* 英会話スクールコースページ */
.lesson-contents {
	background: RGBA(173, 255, 47, 0.2);
}

.lesson-class td span {
	font-weight: bold;
	font-size:1.25em;
	color:#004623;
}

/* 会社概要 */
#about th {
	width:7em;
}

/* プライベートメニュー */
.private-menu img {
	height:50px;
}

/* 派遣 */
.callout.haken {
	margin-top:20px;
	border-color: #E91E63;
	padding:0;
}
.callout.haken h4{
	text-align: center;
	background-color: #E91E63;
	color:#fff;
	padding:5px;
}
.callout.haken p{
	padding:20px;
}

/* スライダーキャッチコピー */
.hero.top {
	position: relative;
}
.slider-catch-copy {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 1;
	font-size: 36px;
	line-height: 1.6;
	color:#fff;
	font-weight:bold;
	text-shadow: 0 0 3px rgba(0,0,0,0.5), 0 0 5px rgba(0,0,0,0.5), 0 0 10px rgba(0,0,0,0.5);
}

@media (max-width: 640px) {
.slider-catch-copy {
	font-size: 18px;
	top:40%;
	width: 100%;
	text-align: center;
}	
}

/* 語学留学・会社概要 */
#ryugaku .school-menu, #about .school-menu {
	display: none;
}
#ryugaku .main-menu .cell.current p,
#about .main-menu .cell.current p{
	padding-bottom:0;
	margin-bottom:1rem;
}

/* サンクスページの無料案内非表示 */
#thanks .taiken,#cafe-thanks .taiken,#entry-thanks .taiken, #teacher-thanks .taiken,#teacher-jp .taiken,#teacher-en .taiken,#download-for-teachers .taiken {display: none;}