@charset "UTF-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,textarea,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;}
body{line-height:1.4;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
ul,ol{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
img {vertical-align:top}
em {font-style: normal;}
body {color: #000;}
.font10 { font-size:71.4%; }.font11 { font-size:78.6%; }.font12 { font-size:85.7%; }.font13 { font-size:92.9%; }.font14 { font-size:100%; }.font15 { font-size:107.1%; }.font16 { font-size:114.3%; }.font17 { font-size:121.4%; }.font18 { font-size:128.6%; }.font19 { font-size:135.7%; }.font20 { font-size:142.9%; }
.mt00 { margin-top: 0 !important; }.mt01 { margin-top: 1px !important; }.mt02 { margin-top: 2px !important; }.mt03 { margin-top: 3px !important; }.mt04 { margin-top: 4px !important; }.mt05 { margin-top: 5px !important; }.mt06 { margin-top: 6px !important; }.mt07 { margin-top: 7px !important; }.mt08 { margin-top: 8px !important; }.mt09 { margin-top: 9px !important; }.mt10 { margin-top: 10px !important; }.mt15 { margin-top: 15px !important; }.mt20 { margin-top: 20px !important; }.mt25 { margin-top: 25px !important; }.mt30 { margin-top: 30px !important; }.mt35 { margin-top: 35px !important; }.mt40 { margin-top: 40px !important; }.mt45 { margin-top: 45px !important; }.mt50 { margin-top: 50px !important; }
.mr00 { margin-right: 0 !important; }.mr05 { margin-right: 5px !important; }.mr10 { margin-right: 10px !important; }.mr15 { margin-right: 15px !important; }.mr20 { margin-right: 20px !important; }.mr25 { margin-right: 25px !important; }.mr30 { margin-right: 30px !important; }.mr35 { margin-right: 35px !important; }.mr40 { margin-right: 40px !important; }.mr45 { margin-right: 45px !important; }.mr50 { margin-right: 50px !important; }
.mb00 { margin-bottom: 0 !important; }.mb05 { margin-bottom: 5px !important; }.mb10 { margin-bottom: 10px !important; }.mb15 { margin-bottom: 15px !important; }.mb20 { margin-bottom: 20px !important; }.mb25 { margin-bottom: 25px !important; }.mb30 { margin-bottom: 30px !important; }.mb35 { margin-bottom: 35px !important; }.mb40 { margin-bottom: 40px !important; }.mb45 { margin-bottom: 45px !important; }.mb50 { margin-bottom: 50px !important; }
.ml00 { margin-left: 0 !important; }.ml05 { margin-left: 5px !important; }.ml10 { margin-left: 10px !important; }.ml15 { margin-left: 15px !important; }.ml20 { margin-left: 20px !important; }.ml25 { margin-left: 25px !important; }.ml30 { margin-left: 30px !important; }.ml35 { margin-left: 35px !important; }.ml40 { margin-left: 40px !important; }.ml45 { margin-left: 45px !important; }.ml50 { margin-left: 50px !important; }
.pt00 { padding-top: 0 !important; }.pt05 { padding-top: 5px !important; }.pt10 { padding-top: 10px !important; }.pt15 { padding-top: 15px !important; }.pt20 { padding-top: 20px !important; }.pt25 { padding-top: 25px !important; }.pt30 { padding-top: 30px !important; }.pt35 { padding-top: 35px !important; }.pt40 { padding-top: 40px !important; }.pt45 { padding-top: 45px !important; }.pt50 { padding-top: 50px !important; }
.pr00 { padding-right: 0 !important; }.pr05 { padding-right: 5px !important; }.pr10 { padding-right: 10px !important; }.pr15 { padding-right: 15px !important; }.pr20 { padding-right: 20px !important; }.pr25 { padding-right: 25px !important; }.pr30 { padding-right: 30px !important; }.pr35 { padding-right: 35px !important; }.pr40 { padding-right: 40px !important; }.pr45 { padding-right: 45px !important; }.pr50 { padding-right: 50px !important; }
.pb00 { padding-bottom: 0 !important; }.pb01 { padding-bottom: 1px !important; }.pb02 { padding-bottom: 2px !important; }.pb02 { padding-bottom: 3px !important; }.pb04 { padding-bottom: 4px !important; }.pb05 { padding-bottom: 5px !important; }.pb06 { padding-bottom: 6px !important; }.pb07 { padding-bottom: 7px !important; }.pb08 { padding-bottom: 8px !important; }.pb09 { padding-bottom: 9px !important; }.pb10 { padding-bottom: 10px !important; }.pb15 { padding-bottom: 15px !important; }.pb20 { padding-bottom: 20px !important; }.pb25 { padding-bottom: 25px !important; }.pb30 { padding-bottom: 30px !important; }.pb35 { padding-bottom: 35px !important; }.pb40 { padding-bottom: 40px !important; }.pb45 { padding-bottom: 45px !important; }.pb50 { padding-bottom: 50px !important; }
.pl00 { padding-left: 0 !important; }.pl05 { padding-left: 5px !important; }.pl10 { padding-left: 10px !important; }.pl15 { padding-left: 15px !important; }.pl20 { padding-left: 20px !important; }.pl25 { padding-left: 25px !important; }.pl30 { padding-left: 30px !important; }.pl35 { padding-left: 35px !important; }.pl40 { padding-left: 40px !important; }.pl45 { padding-left: 45px !important; }.pl50 { padding-left: 50px !important; }
.wd100 { width: 100% !important; }.wd90 { width: 90% !important; }.wd80 { width: 80% !important; }.wd70 { width: 70% !important; }.wd60 { width: 60% !important; }.wd50 { width: 50% !important; }.wd40 { width: 40% !important; }.wd30 { width: 30% !important; }.wd20 { width: 20% !important; }.wd10 { width: 10% !important; }
.center { text-align: center; }
.right { text-align: right; }
.bold { font-weight: bold;}
.cl { clear:left; }
.cr { clear:right; }
.fl { float: left; }
.fr { float: right; }
.cf:before,.cf:after {content: " ";display: table;}
.cf:after {clear: both;}
.cf {*zoom: 1;}
@media screen and (max-width:  767px) {
  .fl { float: none; }
  .fr { float: none; }
}

a,
a:link,
a:visited {
  color: #f64b9c;
  text-decoration: underline;
}
a:hover,
a:focus,
a:active {
  color: #f64b9c;
  text-decoration: none;
}

@media screen and (min-width:  768px) {
  .vsp { display: none; }
  .vpc-inline { display: inline; }
  .vsp-inline { display: none; }
  .container {
    width: 970px;
    margin: 0 auto;
  }
  .container imgm {
  }

}
@media screen and (max-width:  767px) {
  .vpc { display: none; }
  .vpc-inline { display: none; }
  .vsp-inline { display: inline; }
  .container {
    width: 100%;
    margin: 0;
  }
  .container img {
    width: 100%;
  }
}

/** common **/

body {
  font: 14px/1.6 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  color: #464646;
}

@media screen and (min-width:  768px) {
  body {
    background: 50% 0 url(../img/bg.png) repeat;
  }
  #body {
  }
}
@media screen and (max-width:  767px) {
  #body {
  }
}


/** fixed **/
@media screen and (min-width:  768px) {
  #header-navi {
    width: 100%;
    position: absolute;
    top: 108px;
    left: 0;
    padding-top: 0px;
    height: 43px;
    z-index: 100;
  }
  #header-navi ul {
    position: absolute;
    top: 0px;
    left: 50%;
    margin-left: -485px;
  }
  #header-navi.fixed {
    position: fixed;
    top: 0;
    z-index: 100;
  }
  #header-navi li {
    position: absolute;
    height: 43px;
    top: 0px;
    left: 0;
  }
  #header-navi li a {
    display: block;
    font-size: 0;
    width: 100%;
    height: 100%;
  }
  #header-navi li.on,
  #header-navi li a:hover {
  }
  #header-navi li.navi01 {
    left: 0px;
  }
  #header-navi li.navi02 {
    left: 162px;
  }
  #header-navi li.navi03 {
    left: 324px;
  }
  #header-navi li.navi04 {
    left: 486px;
  }
  #header-navi li.navi05 {
    left: 648px;
  }
  #header-navi li.navi06 {
    left: 810px;
  }
}

/** header **/
@media screen and (min-width:  768px) {
  #header {
    width: 100%;
    position: relative;
    overflow: hidden;
    height: 160px;
    z-index: 10;
  }
  .home #header {
    height: 524px;
  }
  #header .container {
    position: relative;
  }
  #header .inner {
    height: 100%;
  }
  #header .main-image-wrapper {
    position: absolute;
    top: 151px;
    width: 100%;
    height: 400px;
  }
  #header .main-image {
    width: 970px;
    margin: 0 auto;
    position: relative;
  }
  #header .anim01 {
    position: absolute;
    top: 114px;
    left: 161px;
  }
  /*
  #header .anim02 {
    position: absolute;
    top: 26px;
    left: 5px;
  }
  */
  #header .anim03 {
    position: absolute;
    top: 178px;
    left: 492px;
  }
  #header .anim04 {
    position: absolute;
    top: 300px;
    left: 211px;
  }
  #header h1 {
    position: absolute;
    top: 10px;
    left: 0px;
    color: #000;
    font-weight: normal;
    font-size: 77%;
    width: 100%;
    text-align: right;
  }
  #header .logo {
    position: absolute;
    top: 43px;
    left: 0px;
  }
  #header .tel {
    position: absolute;
    top: 45px;
    right: 00px;
  }
}
@media screen and (max-width:  767px) {
  #header .inner {
    padding-top: 85px;
  }
  #header .fixed-block {
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff076;
    background-size: 1px 4px;
    height: 60px;
  }

  #header .fixed-block img {
    width: auto;
  }
  #header .logo {
    position: absolute;
    top: 0;
    left: 0px;
    padding: 15px;
    height: 30px;
  }
  #header .logo img {
    height: 100%;
    width: auto;
  }
  #header .button-menu,
  #header .button-tel {
    position: absolute;
    top: 0;
    right: 0;
  }

  #header .header-navi-sp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 80%;
    color: #2e2f2f;
    overflow-y: scroll;
    background: #2a5ee2;
    opacity: 0.95;
    height: 100%;
    max-height: 100%;
  }
  #header .header-navi-sp .inner {
    padding-top: 85px;
    background: transparent;
  }
  #header .header-navi-sp h3 {
    padding: 25px;
    font-weight: bold;
  }
  #header .header-navi-sp img {
    width: 50%;
  }
  #header .header-navi-sp ul {
    padding: 0 0 25px 0;
  }
  #header .header-navi-sp li {
    font-weight: bold;
    margin: 0 25px;
    padding: 10px 0 0px 0;
    font-weight: normal;
    border-bottom: solid 1px #a6bbfd;
  }
  #header .header-navi-sp li a {
    color: #fff;
  }
  #header .header-navi-sp li a {
    display: block;
    height: 100%;
    width: 100%;
  }
  #header .header-navi-sp li a,
  #header .header-navi-sp li a:link,
  #header .header-navi-sp li a:visited,
  #header .header-navi-sp li a:hover,
  #header .header-navi-sp li a:focus,
  #header .header-navi-sp li a:active {
    color: #a6bbfd;
    text-decoration: none;
  }
  #header .header-navi-sp .close {
    padding: 20px;
    text-align: center;
  }
  #header .header-navi-sp .close img {
    width: 30%;
  }
  #header .notice {
    z-index: 100;
    position: fixed;
    top: 60px;
    background: #fff8bb;
    text-align: center;
    padding: 5px;
    font-size: 0;
    height: auto;
    width: 100%;
  }
  #header .notice img,
	#header .notice_02 img{
    width: auto;
	max-width: 100%;
    height: auto;
  }
	#header .notice_02 {
    z-index: 100;
    position: fixed;
    top: 80px;
    background: #fff8bb;
    text-align: center;
    padding: 5px;
    font-size: 0;
    height: 12px;
    width: 100%;
  }
}

@media screen and (min-width:  768px) {
  .home-buttons {
    width: 100%;
  }
  .home-buttons ul {
    overflow: hidden;
    padding: 20px 0;
  }
  .home-buttons li {
    float: left;
    width: 33.3333%;
    text-align: center;
    margin: 10px 0;
    height: 111px;
  }
  .home-buttons li.button02 {
    margin-top: 11px;
  }
  .home-buttons li.button03 {
    margin-top: 12px;
  }
  .home-buttons li.button04 {
    margin-left: 161px;
  }
  .home-buttons li.button05 {
    margin-top: 17px;
  }
}
@media screen and (max-width:  767px) {
  .home-buttons {
    overflow: hidden;
    text-align: center;
  }
  .home-buttons li {
    margin: 5px 0;
    width: 48%;
    display: inline-block;
  }
}

/** footer **/
@media screen and (min-width:  768px) {
  #footer .top {
    background: #9cdddf;
    height: 96px;
  }
  #footer .top .container {
    position: relative;
    background: 100% 30px url(../img/logo_footer.png) no-repeat;
  }
  #footer .pagetop {
    position: absolute;
    top: -24px;
    right: 40px;
  }
  #footer .tel {
    padding: 20px 0 0 40px;
  }

  #footer .bottom {
    padding: 0px;
    background: #cafbfb;
    color: #52310f;
  }
  #footer .bottom h2 {
    padding: 20px 40px 0px 40px;
  }
  #footer .bottom ul {
    padding: 0px 40px 20px 40px;
  }
  #footer .bottom li {
    font-size: 77%;
    color: #52310f;
    margin: 5px 0;
  }
  #footer .bottom a,
  #footer .bottom a:link,
  #footer .bottom a:visited {
    text-decoration: none;
    color: #52310f;
  }
  #footer .bottom a:hover,
  #footer .bottom a:focus,
  #footer .bottom a:active {
    text-decoration: underline;
  }
  #footer .bottom h1 {
    font-size: 77%;
    padding: 0px 40px;
    font-weight: normal;
  }
  #footer .bottom .copyright {
    font-size: 77%;
    padding: 20px 40px;
  }
}
@media screen and (max-width:  767px) {
  #footer {
    margin-top: 0px;
    background: #cafbfb;
  }
  #footer .top {
    padding: 25px;
  }
  #footer .bottom {
    padding: 0px 25px 25px 25px;
    color: #000;
    text-align: left;
  }
  #footer .bottom h1 {
    font-weight: normal;
  }
}


/** main **/
@media screen and (min-width:  768px) {
  #main {
    position: relative;
    z-index: 0;
    text-align: left;
    background: #fff url(../img/bg_sidebar.png) repeat-y;
  }
}
@media screen and (max-width:  767px) {
  #main {
    padding: 0;
    text-align: left;
    background: #cafbfb;
  }
}


/** contents **/
#contents h3 {
  font-weight: bold;
}
#contents strong {
  font-weight: bold;
}
#contents em {
  font-weight: bold;
  color: #f64b9c;
}
#contents p {
  margin: 0 0 10px 0;
}
#contents h2.text {
  padding: 15px 0px 7px 40px;
  background: 0px 100% url(../img/bg_heading.png) no-repeat;
  color: #905317;
  margin-bottom: 30px;
  font-family: 'Noto Sans Jp', sans-serif;
  font-size: 142.9%;
  font-weight: normal;
}
@media screen and (min-width:  768px) {
  #contents {
    line-height: 1.6;
    width: 675px;
    padding: 20px 25px 20px 25px;
    float: right;
  }
  #sidebar {
    width: 240px;
    padding: 0px 0 100px 0px;
    float: left;
  }
  #contents h2 {
    padding: 0px 0 15px 0;
  }
}
@media screen and (max-width:  767px) {
  #contents {
    margin: 10px;
    padding: 15px;
    background: #fff;
    line-height: 1.6;
  }
  #contents h2 {
    padding: 0px 0 20px 0;
  }
  #contents h2 img {
    width: 100%;
    height: auto;
  }
}

/** sidebar **/
#sidebar .links a,
#sidebar .links a:link,
#sidebar .links a:visited {
  color: #000;
  text-decoration: none;
}
#sidebar .links a:hover,
#sidebar .links a:focus,
#sidebar .links a:active {
  text-decoration: underline;
}
@media screen and (min-width:  768px) {
  #sidebar {
    font-size: 85%;
  }
  #sidebar .links {
    padding: 20px;
  }
  #sidebar .links a {
    display: block;
    padding: 8px 20px;
    background: 10px 50% url(../img/icon_arrow_sidebar.png) no-repeat;
    border-bottom: solid 1px #ebdd6f;
  }
  #sidebar .banners {
    padding: 0 20px;
  }
  #sidebar .banners li {
    margin: 20px 0;
  }
  #sidebar .information {
    padding: 20px;
  }
  #sidebar .banners .time {
    font-size: 71.4%;
    font-weight: bold;
    display: block;
    margin: 2px 0;
  }
  #sidebar .banners .notice {
    font-size: 71.4%;
    display: block;
    line-height: 1.5em;
    padding: 5px 15px;
    color: #333;
  }
}
@media screen and (max-width:  767px) {
  #sidebar {
    padding: 25px;
    background: #fff076;
  }
  #sidebar h2 {
    margin-bottom: 20px;
  }
  #sidebar .information {
    margin: 20px 0;
  }
  #sidebar .banners li {
    margin-bottom: 20px;
  }
}

/** common **/
/** .contents-section **/
@media screen and (min-width:  768px) {
  .contents-section .content {
    width: 600px;
  }
}
@media screen and (max-width:  767px) {
}

/** section-block **/
@media screen and (min-width:  768px) {
  .section-block {
    margin-bottom: 20px;
  }
}
@media screen and (max-width:  767px) {
  .section-block {
    margin-bottom: 20px;
  }
}

/** taiken **/
.star-box {
  border: 3px solid #f2c94c; /* かろ罫線 */
  border-radius: 20px;
  padding:20px 10px 5px 20px;
  margin: 20px 0 40px 0;
  position: relative;
  background: #fff7cc;
}
.star-box p span {
    font-weight: bold;
    color: brown;
    font-size: 20px;
}
.star-box p span .01 {
    font-weight: bold;
    color: brown;
    font-size: 20px;
}
.star-box p span .02 {
    font-weight: bold;
    color: purple;
    font-size: 20px;
}
.star-title {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff7cc;
  padding: 0px;
  color: #e85b6e;
  font-weight: bold;
  font-size: 18px;
}

.taiken-box {
  border: 3px solid #f2c94c;
  border-radius: 18px;
  padding: 24px 28px;
  margin: 30px 0;
  line-height: 1.8;
}
#contents .taiken h3{
    /*margin-top: 30px;
    border-bottom: 3px solid #8e3a11;
    border-top: 3px solid #8e3a11;    
    color: #8e3a11;
    font-size: 150%;
    text-align: center;
    padding: 15px 0 15px 0;*/
    margin-top: 0px;
    margin-bottom: 15px;
    font-size: 150%;
  color: #8e3a11;
  text-align: center;
  padding: 15px 0 15px 0;
  border-top: solid 2px #f2c94c;
  border-bottom: solid 2px #f2c94c;
  background: -webkit-repeating-linear-gradient(-45deg, #fff7cc, #fff7cc 3px,#fff 3px, #fff 7px);
  background: repeating-linear-gradient(-45deg, #fff7cc, #fff7cc 3px,#fff 3px, #fff 7px);
}
#contents .taiken h4{
    color: #e85b6e;
    font-size: 120%;
    padding: 0px 10px 0px 10px;
    text-align: center;
}
#contents .taiken p{
    text-align: justify;
  text-align-last: left;
  line-height: 1.8;
}
#contents .taiken h5{
    color: #71c05e;
    font-size: 120%;
    padding: 0;
    margin: 0;
}
#contents .taiken .notice{    
    color: #8e3a11;
    font-size: 150%;
    font-weight: bold;
}

.tbl-taiken th {
font-weight: normal;
  padding: 5px;
}
.tbl-taiken td {
  padding: 5px;
}
@media screen and (min-width:  768px) {
    #contents .taiken table{
    border: 1px solid #9e9f9f;
    -webkit-border-radius:15px;
	-moz-border-radius:15px;
    border-radius: 15px;
    border-collapse:separate;
    width: 90%;
    margin: 0 auto;
}
    .tbl-taiken th {
        border-bottom: 1px solid #9e9f9f;
        border-collapse: collapse;
        width: 25%;
        text-align: center;
    }
    .tbl-taiken td {
        border-bottom: 1px solid #9e9f9f;
        border-collapse: collapse;
        text-align: center;
    }    
    .tbl-taiken .time{
        border-right: 1px solid #9e9f9f;
        border-left: 1px solid #9e9f9f;
        border-collapse: collapse;
        width: 25%;
        text-align: center;
    }
    .tbl-taiken .last th,
    .tbl-taiken .last td{
        border-bottom: none;
    }
}

@media screen and (max-width: 767px) {
.tbl-taiken th {
    border: none;
    padding: 0;
}
.tbl-taiken td {
border: none;
    padding: 0;
}
    .tbl-taiken .memo{
        border-bottom: 1px solid #9e9f9f;
    }
.tbl-taiken {
    margin: 0;
      padding: 0;
    width: 90%;
  }
  .tbl-taiken th,
  .tbl-taiken td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
    #contents .taiken h4{
    font-size: 100%;
}
    #contents .taiken .sp_br{
        padding-top: 20px;
    }
}


/** news **/
#contents .news {
  border-radius: 15px;
  background: #fee7be;
  color: #8e3a11;
  padding: 10px 30px;
  margin: 20px 0;
  height: 500px;
  overflow-y: scroll;
}
#contents .news li {
  display: block;
  padding: 5px 0;
  margin: 10px 0;
  border-bottom: dashed 1px #8e3a11;
}
#contents .news li {
  position: relative;
  padding-left: 8em;
}
#contents .news span.date {
  position: absolute;
  left: 0;
  padding-left: 15px;
  background: 0px 50% url(../img/icon_arrow_news.png) no-repeat;
}
#contents .news span.attention{
  font-weight:700;
  color:#ff00a8;
}
#contents .news a,
#contents .news a:link,
#contents .news a:visited {
  /*color: #8e3a11;*/
  color: #004efe;
  text-decoration: underline;
}
#contents .news a:hover,
#contents .news a:focus,
#contents .news a:active {
  /*color: #8e3a11;*/
  color: #004efe;
  text-decoration: none;
}
@media screen and (max-width:  767px) {
#contents .news li {
  padding-left: 0;
}
#contents .news span.date {
  position: static;
  margin:0 auto 10px auto;
  display:block;
  clear:both;
}
}

@media screen and (min-width:  768px) {
#contents .news li {
  position: relative;
  padding-left: 8em;
}
}
@media screen and (max-width:  767px) {
}

/** home-kimochi **/
.home-kimochi .image {
  text-align: center;
}
@media screen and (min-width:  768px) {
  #contents .home-kimochi .image {
    margin: 40px 0;
  }
}
@media screen and (max-width:  767px) {
}

/** home-lesson-block **/
@media screen and (min-width:  768px) {
  .home-lesson-block div {
    position: relative;
  }
  #contents .home-lesson-block p.image {
    width: 230px;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
  }
  .home-lesson-block p.image img {
    width: 100%;
    height: auto;
  }
  .home-lesson-block div.contents {
    float: left;
    padding-left: 250px;
  }
}
@media screen and (max-width:  767px) {
}

/** home-naze-block **/
.home-naze-block ul {
  margin: 30px 0;
}
.home-naze-block li {
  font-weight: bold;
  font-size: 131%;
  color: #13b7f4;
}
@media screen and (min-width:  768px) {
}
@media screen and (max-width:  767px) {
}

/** .access **/
@media screen and (min-width:  768px) {
  #gmap {
	/*margin: 10px 20px;
	width: 630px;*/
    margin: 30px auto 30px 0;
    width: 646px;
    height: 500px;
  }
}
@media screen and (max-width:  767px) {
  #gmap {
	/*margin: 10px 20px;*/
    width: 100%;
    height: 400px;
  }
}

/** .qanda-block **/
#qa {
  margin-top: -60px;
  padding-top: 60px;
}
.qanda-block {
  margin: 0 0 20px 0;
  padding: 0 0 13px 0;
  background: 0 100% url(../img/line_bottom.png) repeat-x;
}
.qanda-block .line-q {
  color: #13b7f4;
  font-size: 128.6%;
}
.qanda-block .line-q a,
.qanda-block .line-q a:link,
.qanda-block .line-q a:visited,
.qanda-block .line-q a:focus,
.qanda-block .line-q a:active {
  text-decoration: none;
  color: #13b7f4;
}
.qanda-block .line-q a:hover {
  text-decoration: underline;
}
.qanda-block .line-a {
  display: none;
}
@media screen and (min-width:  768px) {
  #contents .qanda-block .line-q {
    padding: 7px 0 0 50px;
    margin: 10px 0;
  }
  .qanda-block .line-a {
    background: 7px 0 url(../img/icon_a.png) no-repeat;
    padding: 0 0 0 50px;
  }
  .qanda-block .line-a span {
    display: block;
    padding: 5px 0 0 0;
  }
  .qanda-block .q01 {
    background: url(../img/icon_q01.png) no-repeat;
  }
  .qanda-block .q02 {
    background: url(../img/icon_q02.png) no-repeat;
  }
  .qanda-block .q03 {
    background: url(../img/icon_q03.png) no-repeat;
  }
  .qanda-block .q04 {
    background: url(../img/icon_q04.png) no-repeat;
  }
  .qanda-block .q05 {
    background: url(../img/icon_q05.png) no-repeat;
  }
  .qanda-block .q06 {
    background: url(../img/icon_q06.png) no-repeat;
  }
  .qanda-block .q07 {
    background: url(../img/icon_q07.png) no-repeat;
  }
}
@media screen and (max-width:  767px) {
  .qanda-block .line-q {
    padding: 7px 0 0 50px;
    min-height: 35px;
  }
  .qanda-block .line-a {
    background: 5px 0 url(../img/sp_icon_a.png) no-repeat;
    background-size: 35px auto;
    padding: 0px 0 0 50px;
  }
  .qanda-block .line-a span {
    display: block;
    padding: 5px 0 0 0;
  }
  .qanda-block .q01 {
    background: url(../img/sp_icon_q01.png) no-repeat;
    background-size: 40px auto;
  }
  .qanda-block .q02 {
    background: url(../img/sp_icon_q02.png) no-repeat;
    background-size: 40px auto;
  }
  .qanda-block .q03 {
    background: url(../img/sp_icon_q03.png) no-repeat;
    background-size: 40px auto;
  }
  .qanda-block .q04 {
    background: url(../img/sp_icon_q04.png) no-repeat;
    background-size: 40px auto;
  }
  .qanda-block .q05 {
    background: url(../img/sp_icon_q05.png) no-repeat;
    background-size: 40px auto;
  }
  .qanda-block .q06 {
    background: url(../img/sp_icon_q06.png) no-repeat;
    background-size: 40px auto;
  }
  .qanda-block .q07 {
    background: url(../img/sp_icon_q07.png) no-repeat;
    background-size: 40px auto;
  }
}

/** staff-block **/
.staff-block {
  margin-bottom: 30px;
}
.staff-block p.pink{
  color: #f64b9c;
}
.staff-block h3 {
  font-size: 128.6%;
  color: #13b7f4;
  font-weight: bold;
  line-height: 1em;
  margin-bottom: 15px;
}
.staff-block h3 span {
  font-size: 75%;
  display: block;
}
@media screen and (min-width:  768px) {
  .staff-block .image {
    float: left;
    padding-left: 15px;
  }
  .staff-block .content {
    margin-left: 255px;
  }
}
@media screen and (max-width:  767px) {
}

/** lesson-block **/
.lesson-block h3 {
  color: #13b7f4;
  font-weight: bold;
  font-size: 128.6%;
  margin-bottom: 15px;
}
.level01 h3,
.level02 h3,
.level03 h3 {
  color: #f64b9c;
}
.lesson-block h4 {
  color: #1526f9;
  margin-bottom: 10px;
}
.lesson-block .blue {
  color: #1526f9;
}
#contents .lesson-block p.photo {
  text-align: center;
  margin: 20px 0 0 0;
}
@media screen and (min-width:  768px) {
  .lesson-block {
    margin: 0 0 25px 0;
    padding: 0 15px 25px 15px;
    background: 0 100% url(../img/line_bottom.png) repeat-x;
  }
  .lesson-block .image {
    float: left;
    padding-left: 0px;
  }
  .lesson-block .content {
    margin-left: 170px;
  }
}
@media screen and (max-width:  767px) {
  .lesson-block {
    margin: 0 0 25px 0;
    padding: 0 0 25px 0;
    background: 0 100% url(../img/line_bottom.png) repeat-x;
    background-size: 5px 1px;
  }
  .lesson-block .image {
    float: right;
    padding-left: 0px;
    width: 33%;
    padding: 15px 10px;
    margin: 0;
  }
  .lesson-block .content {
  }
}

/** .gallery-block **/
@media screen and (min-width:  768px) {
  .gallery-block ul {
    margin: 0px 0 10px 0;
    overflow: hidden;
  }
  .gallery-block li {
    float: left;
    width: 33.3333%;
    text-align: center;
    margin: 10px 0;
  }
}
@media screen and (max-width:  767px) {
  .gallery-block ul {
    margin: 0px 0 20px 0;
    overflow: hidden;
  }
  .gallery-block li {
    float: left;
    width: 50%;
    text-align: center;
    margin: 10px 0;
  }
  .gallery-block li img {
    width: 90%;
  }
}

/** .campaign-block **/
  .campaign-block {
    text-align:center;
    border-bottom:solid 1px #D8D8D8;
    margin:10px auto 50px auto;
    padding-bottom: 50px;
  }
.campaign-block h3{
    margin: 30px; 
    color: #8e3a11;
    font-size: 150%;
    text-align: center;
    padding: 15px 0 15px 0;
}

/** .recruit-block **/
.recruit-block {
    
  }
.recruit-block h3{
    color: #a1724d;
    font-size: 1.5em;
    position:relative;
 padding-bottom:0.2rem;
 border-bottom: 5px dotted currentColor;
    margin: 30px 0;
    text-align: center;
  }
.recruit-block table{
  border-collapse:separate;
  border-spacing: 5px;
  width: 100%;
}

.recruit-block table th,table td{
  border-radius: 5px;
  text-align: center;
  padding: 10px 0;
}

.recruit-block table th{
  background-color: #9cdddf;
  color: white;
  border:solid 1px #9cdddf;
}

.recruit-block table td{
  background-color: #cafbfb;
  border:solid 1px #cafbfb;
  text-align: left;
  padding-left: 10px;
}
@media screen and (min-width:  768px) {
  .recruit-block {
    
  }
}
@media screen and (max-width:  767px) {
  .recruit-block {
    
  }
  .recruit-block h3{
      font-size: 1.0em;
    }
}
