﻿@charset "utf-8";
body {
	-webkit-text-size-adjust: 100%;
	font-size: 14px;
  margin-top: 70px;
}
img { width:100%; height: auto; }
.sp { display: block; }
.pc { display: none;  }

#wrap { min-width:0; }

.tel {
  pointer-events: auto;
}
.tel a {
  font-size: 20px;
}

/* =============================== footer =============================== */

#footermenu li a {
    max-width: 350px;
}
/* =============================== header =============================== */

#h_nav .btn_b,
#h_nav .btn_d,
#gnav { display: none; }
#header_inner h1 {
  margin-top: 15px;
  margin-bottom: 15px;
}
#header_inner h1 img {
  height: 40px;
  margin-left: 15px;
  width: auto;
}
#header_inner h2 {
  margin-top: 15px;
  margin-bottom: 15px;
}
#header_inner h2 img {
  height: 40px;
  margin-left: 15px;
  width: auto;
}
#h_nav {
  margin-right: 52px;
}
#h_nav li:nth-last-child(n+2){
  margin-right: 6px;
}
#h_nav li.btn_a a ,
#h_nav li.btn_a a:hover{
  border: 1px solid #E79797;
  background: #E79797;
  color: #fff;
  padding: 9px 5px;
  font-size: 13px;
}
#h_nav li.btn_c a {
    background: url("/img/mask_sp.png") no-repeat;
    display: block;
  }
#h_nav li.btn_c a:hover {
    background: url("/img/mask_sp.png") no-repeat;
    display: block;
    }
.sp_hnav01 ,
.sp_hnav02 ,
.sp_hnav03 {
  position: absolute !important;
}
.sp_hnav01 { 
  top: 20px;
  right: 166px;
}
.sp_hnav02 {
  top: 20px;
  right: 96px;
}
.sp_hnav03 {
  top: 20px;
  right: 36px;
}

.drawer-menu .btn_a a ,
.drawer-menu .btn_a a:hover {
  display: inline-block;
  border: 1px solid #E79797;
  background: #E79797;
  color: #fff;
  padding: 6px 5px;
  font-size: 13px;
  font-weight: normal;
  box-shadow: none;
  letter-spacing: normal;
}
.drawer-menu .btn_c a ,
.drawer-menu .btn_c a:hover {
  display: inline-block;
    background: url("/img/mask_sp.png") no-repeat;
  box-shadow: none;
  letter-spacing: normal;
}
.drawer-menu .btn_d a ,
.drawer-menu .btn_d a:hover {
  display: inline-block;
  border: 1px solid #115fad;
  background: #115fad;
  color: #fff;
  padding: 6px 5px;
  font-size: 13px;
  font-weight: normal;
  box-shadow: none;
  letter-spacing: normal;
}
.drawer-menu li:first-child {
  position: relative;
}
.drawer-menu li:first-child > a {
  padding: 15px 0;
}
.drawer-menu li:first-child div {
  display: inline-block;
}
.drawer-menu li:first-child img {
  height: 40px;
  margin-left: 15px;
  width: auto;
}


/* =============================== slider =============================== */
#mainslide {
  width: 100%;
  max-width: 1300px;
  margin-bottom: 60px;
}
#mainslide .slider {
  width:100%;
}
.slick-arrow {
  width: 30px;
  height: 80px;
  z-index: 100;
}
.slick-next {
  right: 0;
  background:url(../img/slide_next.png) no-repeat center;
  background-size: auto 100%;
}
.slick-prev {
  left: 0;
  background:url(../img/slide_prev.png) no-repeat center;
  background-size: auto 100%;
}
.slick-dots li {
  margin: 0 3px;
}
.slick-dots li button::before {
  font-size: 24px;
}

/* =============================== common =============================== */
.inbox {
  width: 100%;
  padding: 0 5%;
  box-sizing: border-box;
}
p.txt {
  font-size: 14px;
  line-height: 180%;
}
.btn a ,
.btn a:hover {
  background: #E79797;
  width: 80%;
  padding: 18px 0;
  border-radius:50px;
  -webkit-border-radius:50px;
  -moz-border-radius:50px;
}
.btn a span ,
.btn a:hover span {
  font-size: 16px;
  color: #fff;
}

.btn.kaisoku a ,
.btn.kaisoku a:hover {
  background: #63c0ab;
}
.btn.entry a span ,
.btn.entry a:hover span {
  background: url(../../img/ico_01.png) no-repeat left center;
  background-size: 16px;
  padding-left: 30px;
}
.btn.kaisoku a span ,
.btn.kaisoku a:hover span {
  background: url(../../img/ico_02.png) no-repeat left center , url(../../img/ico_03.png) no-repeat right center;
  background-size: 16px , 16px;
  padding-left: 30px;
  padding-right: 26px;
  color: #fff;
}
.btn.page a ,
.btn.page a:hover {
  background: #63c0ab;
}
.btn.page a span ,
.btn.page a:hover span {
  background-size: 16px , 16px;
  padding-left: 30px;
  padding-right: 26px;
  color: #fff;
}

/* =============================== sec =============================== */
#sec01 h2 {
  font-size: 24px;
  margin-bottom: 30px;
}
#sec01 h2 strong {
  display: block;
  width: 6em;
  margin-left: auto;
  margin-right: auto;
  font-size: 18px;
  margin-bottom: 5px;
}
#sec01 {
  padding: 30px 5%;
}
#sec01 h3 {
  font-size: 18px;
  margin-bottom: 15px;
}
#sec01 .fbox { display: block; }
#sec01 .fbox .photo {
  width: 100%;
  max-width: inherit;
}
#sec01 .fbox .text {
  padding-top: 15px;
  padding-left: 0;
  width: 100%;
  max-width: inherit;
}

.ttl01 {
  font-size: 22px;
  padding-bottom: 13px;
  margin-bottom: 30px;
}
.ttl01:after {
  width: 40%;
  height: 2px;
}
.ttl02 {
  font-size: 20px;
  margin-top: 20px;
  margin-bottom: 15px;
}
.ttl03 {
  font-size: 20px;
  letter-spacing: .03em;
  padding: 12px 0 14px;
  margin-bottom: 20px;
}
.sttl01 {
  font-size: 18px;
  margin-bottom: 15px;
}
.sttl02 {
  padding: 8px 2em 10px;
  font-size: 16px;
  margin-bottom: 15px;
}
.sttl03 {
  font-size: 16px;
  margin-bottom: 30px;
}

#strength {
  margin-bottom: 80px;
}
#strength ul {
  width: 100%;
  max-width: inherit;
  margin-bottom: 50px;
}
#strength li {
  padding: 0 5% 20px;
  margin-top: 20px; 
}
#strength li .num {
  font-size: 22px;
  padding: 8px 0;
  width: 40px;
  margin-right: 20px;
}
#strength li p {
  font-size: 20px;
  display: block;
  line-height: 115%;
  margin-top: 5px;
}
#strength li p small {
  font-size: 14px;
}


#result {
  margin-bottom: 60px;
}

#strong {
  margin-bottom: 60px;
}
#ordermade {
  margin-bottom: 60px;
}
#online {
  margin-bottom: 60px;
}
#onlinelessons {
  margin-bottom: 60px;
}
#environment {
  margin-bottom: 60px;
}
#monthly {
  margin-bottom: 60px;
}
#location {
  margin-bottom: 60px;
}
#online .fbox ,
#onlinelessons .fbox ,
#environment .fbox ,
#monthly .fbox ,
#location .fbox { 
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#online .fbox .photo ,
#onlinelessons .fbox .photo ,
#environment .fbox .photo ,
#monthly .fbox .photo ,
#location .fbox .photo {
  width: 100%;
  max-width: inherit;
  -ms-flex-order:2;
  order:2;
}
#online .fbox .text ,
#onlinelessons .fbox .text ,
#environment .fbox .text ,
#monthly .fbox .text ,
#location .fbox .text {
  padding-top: 0;
  padding-bottom: 15px;
  padding-left: 0;
  width: 100%;
  max-width: inherit;
  -ms-flex-order:1;
  order:1;
}

#teacher {
  margin-bottom: 60px;
}
#teacher .inblock {
  margin-bottom: 50px;
}
#teacher .inblock .photo p {
  margin: 10px 0 0 0;
  font-size: 14px;
  line-height: 150%;
}
#teacher .inblock .photo p small {
  margin-top: 0;
  font-size: 12px;
}
#teacher .inblock .tx_r small {
  font-size: 12px;
}
#teacher .fbox {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
  
#teacher .sidelist li {
  vertical-align:top;
  width: 50%;
  margin-bottom: 20px;
}
#teacher .sidelist li p {
  margin: 10px 0 0 0;
  font-size: 14px;
  line-height: 150%;
}
#teacher .sidelist li p small {
  margin-top: 0;
  font-size: 12px;
}
#teacher .left { margin-right: 0; }
#teacher .photo {
  width: 100%;
  max-width: inherit;
  -ms-flex-order:2;
  order:2;
  margin-top: 15px;
}
#teacher .text {
  width: 100%;
  -ms-flex-order:1;
  order:1;
}


#shiritsu {
  margin-bottom: 60px;
}
#kaisoku .fbox ,
#shiritsu .fbox {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#kaisoku .fbox {
  margin-bottom: 35px;
}
#kaisoku .fbox .photo ,
#shiritsu .fbox .photo {
  width: 100%;
  max-width: inherit;
  -ms-flex-order:2;
  order:2;
  text-align: center;
}
#kaisoku .fbox .text ,
#shiritsu .fbox .text {
  padding-top: 0;
  padding-bottom: 15px;
  padding-left: 0;
  width: 100%;
  max-width: inherit;
  -ms-flex-order:1;
  order:1;
}
#shiritsu .point,
#onlinelessons .point {
  margin-bottom: 30px;
}
#shiritsu .point p strong,
#onlinelessons .point p strong {
  font-size: 18px;
}
#shiritsu .point ul li,
#onlinelessons .point ul li {
  font-size: 15px;
  line-height: 170%;
}
#shiritsu .point ul li span,
#onlinelessons .point ul li span {
  font-size: 15px;
}

#course {
  margin-bottom: 60px;
}
#course dt {
  padding: 25px 5%;
  font-size: 16px;
}
#course dt::after {
  right: 2%;
}
#course dd {
  display: none;
  background: #fff;
  padding: 15px 5%
}
#course dd h4 {
  font-size: 16px;
}
#course dd th ,
#course dd td {
  border-right: 1px solid #2e9980;
  border-bottom: 1px solid #2e9980;
  padding: 8px 12px;
  color: #555;
  font-size: 14px;
}
#course ul.caution li,
#onlinelessons ul.caution li {
  font-size: 14px;
}
#course dd ul.caution li,
#onlinelessons dd ul.caution li {
  font-size: 13px;
}


#setsumeikai {
  margin-bottom: 60px;
}
#shiritsu h5, #setsumeikai h5, #online h5, #onlinelessons h5 {
  font-size: 18px;
  margin-top: 20px;
}
.s_date {
	width:100%;
	overflow-x:scroll;
	padding-bottom:1.0em;
	margin-bottom:2.0em;
	padding-top:8%;
	background-size:100%;
}
.s_date::-webkit-scrollbar {
  height: 8px;
}
.s_date::-webkit-scrollbar-track {
  border-radius: 8px;
  background: #eee;
}
.s_date::-webkit-scrollbar-thumb {
  border-radius: 8px;
  background: #666;
}
.s_date::after {
    content:"※このエリアは横にスクロールできます";
    color:#666;
    font-size:12px;
}
.s_date table {
  width: 800px;
  margin-bottom: 10px;
}
.s_date thead th {
  font-size: 16px;
  text-align: left;
}
.s_date td ,
.s_date td a {
  font-size: 14px;
}

#flow {
  margin-bottom: 60px;
}

#flow li h4 {
  width: auto;
  position: absolute;
  top: 0;
  padding-left: 30px;
}
#flow li .arrow {
  left: -45px;
}
#flow li .flow_text {  
  width: 100%;
  padding-top: 65px;
  padding-left: 30px;
}
#flow li .flow_text h5 {
  font-size: 18px;
  margin-top: 20px;
}
#flow .btn a span {
  font-size: 14px;
  padding-left: 24px;
}
#flow .tellink {
  pointer-events: auto;
}


#inquiry {
  margin-bottom: 60px;
} 
#inquiry .tel {
  pointer-events: auto;
}
#inquiry .tel a {
  font-size: 20px;
}

/* =============================== mainimg =============================== */