@charset "utf-8";

/* -----------------------------------------------
Default
----------------------------------------------- */

img {
  max-width: 100%;
  vertical-align: top;
}
.clear {
  clear: both;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}


a {
  color: #1fa0da;
  text-decoration: underline;
}

::-moz-selection {
  color: #fff;
  background: #1fa0da;
}

::selection {
  color: #fff;
  background: #1fa0da;
} 

.blue {
  color: #229fd7;
}

.red {
  color: #d60a0a;
}
/* -----------------------------------------------
Common
----------------------------------------------- */

html {
  font-size: 62.5%;
  /* sets the base font to 10px for easier math */
}

body {
  width: 100%;
  font-size: 16px;
  color: #555;
  background: #fff;
  letter-spacing: 0.1em;
  line-height: 1.4;
  font-family:Roboto, "Titillium Web", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',Meiryo,sans-serif;
}

.container {
  width: 960px;
  margin: 0 auto;
  position: relative;
}

.mainvisual {
  height: 555px;
  background-image: url(../images/bg_mv.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

.mainvisual.mainvisual-junior {
  background-image: url(../images/bg_mv_junior.jpg);
}

.mainvisual .container {
  position: relative;
}

.logo {
  padding-top: 20px;
}

.page-title {
  margin-top: 30px;
  position: absolute;
  left: 30px;
}

.mainvisual-junior .page-title {
  margin-top: 20px;
}

.mainvisual-txt {
  margin-top: 50px;
}

.junior-catch {
  margin: 40px 0; 
}

.records-single {
  margin-top: 50px;
}

.box-secret-pic,
.box-extensive-reading {
  background: url(../images/common/bg_dot.gif);
}

.tit-extensive-reading {
  margin: 50px 0 30px;
}

.box-extensive-reading {
  padding: 70px 0 50px;
  line-height: 1.8;
}

.box-extensive-reading .container {
  position: relative;
  padding: 60px 30px 50px;
  background-color: #fff;
}

.all-extensive-signature {
  text-align: right;
}

.subtit-extensive-reading {
  position: absolute;
  top: -28px;
  left: 30px;
  margin-bottom: 30px;
}

.btn-extensive {
  position: relative;
  margin: 30px 0 0;
  text-align: center;
  line-height: 0;
}

.btn-extensive:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #eeeeee;
  z-index: 0;
}

.btn-extensive a {
  display: inline-block;
  position: relative;
}

.all-extensive-content {
  margin-top: 30px;
}

.all-extensive-content p:first-child {
  margin-top: 0;
}

.all-extensive-content p {
  margin: 15px 0;
  font-size: 13px;
}

.tit-all-extensive {
  color: #229fd7;
}

.btn-close-extensive {
  text-align: center;
}

.btn-close-extensive a {
  background-color: #1fa0da;
  color: #fff;
  width: 300px;
  display: inline-block;
  padding: 10px;
  text-decoration: none;
  transition: 0.6s;
}


.btn-close-extensive a:hover {
  background-color: #75cdf5;
}

.section-voice {
  background-image: url(../images/voice/bg_voice.png);
  background-repeat: no-repeat;
  background-size: 1550px;
  background-position: top 82px center;
}

.section-voice .container {
  padding-bottom: 50px;
  border-bottom: 1px solid #ccc;
}

.voice-list li {
  position: relative;
  margin: 30px 0;
}

.voice-title {
  position: absolute;
  left: 0;
  top: -20px;
}

.voice-txt {
  width: 700px;
  padding: 20px 30px;
  border: 1px solid #dff3fc;
  background-color: #fff;
  border-radius: 10px;
  float: right;
  line-height: 1.5;
}

.voice-txt-pink {
  border: 1px solid #ffebeb;
}

.section-gallery .container {
  overflow: hidden;
}

.gallery-list {
  margin-left: -30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ccc;
}

.gallery-list li {
  width: 300px;
  float: left;
  margin-left: 30px;
}

.gallery-pic {
  margin-bottom: 20px;
}

.info-table {
  width: 100%;
  display: table;
  margin-top: 10px;
}

.info-table dt {
  width: 60px;
  display: table-cell;
}

.info-table dd {
  display: table-cell;
}

.info-table span {
  font-size: 13px;
}

.info-pic {
  float: left;
}

.info-txt {
  width: 385px;
  float: right;
}

.info-txt h4 {
  margin-top: 40px;
}

.other-school {
  list-style: disc;
  padding-left: 1.5em;
}

.other-school li {
  margin: 6px 0;
}






/* ====================
school-list
====================== */

.school-list li {
  width: 100%;
  display: table;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #ccc;
}

.school-list-photo,
.school-list-contents {
  display: table-cell;
  vertical-align: top;
}

.school-list-photo {
  width: 250px;
}

.school-list-contents {
  padding-left: 20px;
}

.school-list-contents p {
  margin: 0 0 10px;
  font-size: 14px;
}

.school-list-contents p:last-child {
  margin: 10px 0 0;
}

.school-list-contents p.school-list-address {
  font-size: 16px;
}

.school-list-title {
  margin-bottom: 15px;
  font-size: 22px;
  color: #229fd7;
}

.footer-top {
  background: url(../images/common/bg_dot.gif);
  margin-top: 100px;
  padding: 35px 0;
}

.footer-pic {
  float: left;
}

.footer-txt {
  width: 730px;
  float: right;
}

.footer-txt p {
  margin-bottom: 30px;
  line-height: 1.6;
}

.footer-txt .footer-link {
  margin: 0;
  text-align: center;
}

.footer-btn {
  text-align: center;
}

.footer-btn a {
  display: inline-block;
  position: relative;
  width: 490px;
  padding: 15px;
  background-color: #002c3c;
  border-radius: 7px;
  overflow: hidden;
}

.footer-btn a img {
  position: relative;
  z-index: 10;
}

.footer-btn a:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #1fa0da;
  position: absolute;
  border-radius: 7px;
  top: 0;
  left: -100%;
  transition: 0.1s;
}

.footer-btn a:hover:after {
  left: 0;
}

.copy {
  padding: 15px 0;
  background-color: #000;
  color: #fff;
  text-align: center;
}

.online{
  margin-bottom: 130px;
}

#online .mainvisual-txt {
  margin-top: 10px;
}

.online h2{
  margin-top: 20px;
}

.online .txt_bg{
/* background-image: url(../images/online/bg_02.png); */
padding-top: 40px;
background-color: #fcfcfc;
background-image: radial-gradient(#a8d7ec 1%, transparent 17%), radial-gradient(#a8d7ec 1%, transparent 17%);
    background-position: 0 0, 4px 4px;
    background-size: 9px 9px;
}

.online h2{
  text-align: center;
}

.online .bg_01{
  background-image: url(../images/online/bg_01.png);
  background-size: cover;
  padding-top: 1px;
}

.online p{
  text-align: center;
}

.online .online-txt01{
  position: relative;
  top: -20px;
  padding: 15px;
}

.online-txt03{
  margin-top: 30px;
}

.section-info{
  padding-bottom: 60px;
}

 .section-info h2{
  text-align: center;
  position: relative;
  top: 50px;
}

.bg_b_dot{
background-color: #fcfcfc;
background-image: radial-gradient(#a8d7ec 1%, transparent 17%), radial-gradient(#a8d7ec 1%, transparent 17%);
background-position: 0 0, 4px 4px;
background-size: 9px 9px;
position: relative;
top: 80px;
padding-bottom: 90px;
}

 .sec-contact__form{
  background-color: #fffcfc;
  border: solid 3px #1fa0da;
  padding: 20px;
  position: relative;
  top: 50px;
}

 .sec-contact__form .u-ta-c{
  text-align: center;
}

 .u-c-orange {
  color: #f68a36 !important;
}

.sec-contact__form dl {
    display: table;
    margin-bottom: 25px;
}

.sec-contact__form dt {
  display: table-cell;
  width: 175px;
  vertical-align: middle;
  font-weight: bold;
}


*, *:before, *:after {
  box-sizing: border-box;
}


.sec-contact__form dd {
    display: table-cell;
}


.sec-contact__form .submit-btn {
  text-align: center;
}

.sec-contact__form input[type="text"] {
  width: 175px;
  height: 40px;
  padding: 0 8px;
  font-size: 16px;
  float: left;
}

.input-fullwidth{
  width: 535px !important;
}

.sec-contact__form textarea {
  width: 535px;
  height: 100px;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
    width: 310px;
    padding: 13px;
    border-radius: 7px;
    color: #fff;
    background-color: #1fa0da;
    -webkit-appearance: button;
    -webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: center;
    align-items: flex-start;
    cursor: pointer;
    font-size: 18px;
}

.d-flex{
  display: flex;
}

#online .footer-top{
  margin-top: 21px;
}

#online .footer-txt{
  display: inline-block;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}

#online .footer-txt p:first-child{
  margin: 25px 0 15px ;
}