header {
  width: 100%;
  background: rgba(9, 142, 86, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  z-index: 150;
}
section{
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#full {
  background: url(images/bg_green.jpg) repeat;
  background-position: left top;
  margin: 50px 0;
}
.b_text {font-weight: bold;}
span.red {color: #F00;}
span.gray {
  color: #777;
  font-size: 14px;
}


/*-----ファーストビュー-----*/
.sp{display: none;}
#top {line-height: 0;}
#top img {width: 100%;}
#main .box {
  width: 96%;
  margin: 50px auto;
  text-align: center;
}
#main .box h2,section#staff .box1 h2 {
  padding: 0% 1px 3%;
  background: transparent;
  margin: 0 auto 40px auto;
  position: relative;
  font-size: 2em;
  color: #098e56;
  letter-spacing: 0.1em;
  border-bottom: none;
}
#main .box h2:after,section#staff .box1 h2:after {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: #d9de2b;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -20px;
}


/*-----concept-----*/
#concept .box {
  font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
#concept .box ul{
  width: 80%;
  margin: 0 auto;
  text-align: left;
}
#concept .box ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -webkit-align-items: center;/* Safari etc. */
  -ms-align-items: center;/* IE10 */
  align-items: center;/*上下中央*/
  background: #efffeb;
  color: #098e56;
  border-radius: 5px;
  margin-bottom: 10px;
  padding: 1.8%;
}
#concept .box ul li img,#concept .box ul li p {
  height: 100%;
  vertical-align: middle;
}
#concept .box ul li p {
  font-weight: bold;
  font-size: 24px;
  padding-left: 15px;
}


/*-----staff-----*/
#staff .box1 {
  width: 100%;
  padding: 5% 0 8%;
  text-align: center;
}
#staff .a_staff {
  display: inline-block;
  width: 30%;
  text-align: center;
}
#staff .a_staff img.s_link {
  width: 75%;
  border-radius: 100%;
  border: solid 8px #fff;
  transition: cubic-bezier(0.075, 0.82, 0.165, 1) 2s transform, ease-out 1.8s opacity;
  margin-bottom: 5%;
}
/*ボタンホバー時*/
#staff .a_staff img.s_link:hover {
  opacity: 0.6;
  -webkit-transform: scale(1.1);
    transform: scale(1.1);
}


/*-----service-----*/
.stf_check {
  width: 100%;
  text-align: center;
}
.hidden_box {
  display: block;
  max-width: 820px;
  width: 100%;
  margin: 0 auto;
  line-height: 0;
}
.hidden_box:hover {
  opacity: 0.6;
}
ul.hidden_show {
  display: none;
  background: url(images/hidden_show_bg.jpg) repeat-y;
  background-size: auto;
  max-width: 820px;
  width: 100%;
  margin: 0 auto 8%;
  padding-bottom: 4%;
  height: auto;
}
ul.hidden_show li {padding: 4% 0;}
.hidden_show a img {
  max-width: 700px;
  width: 65%;
}

/*-----info-----*/
#info .box {
  background: #fff;
  border: 3px solid #52b362;
  padding: 5%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#info ul li {
  border-bottom: 1px dashed #ccc;
  padding-top: 10px;
}


/*-----access-----*/
#access .box .map-right {
  margin: 0 auto;
}
#access .map p {
  padding-bottom: 30px;
}
#access .box .map_access {
  border: 3px solid #52b362;
  padding: 5%;
  margin-top: 6%;
  text-align: left;
}
#access .box .map_access h3 {padding: 20px 0;}
#access .box ol {
  padding-left: 1.4em;
}
#access .box ol li {
  list-style: decimal;
  margin-bottom: .8em;
}
#access .box .access_img,#access .box .pk_img {
  padding: 6% 0;

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;

  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
}
#access .box .pk_img {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
#access ul.access_img li {
  width: 32.2%;
  margin: 0.2em;
  color: #d9de2b;
}
.cell.is-empty {
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}
#access .pk_img img {
  width: 30%;
  margin: 0.2em;
}


/*-----------staff-page-------------*/
.contents #staff {
  padding: 0;
  max-width: 100%;;
}
.contents #staff.s1 {
  background: url(images/staff1_bk.jpg) no-repeat;
  background-size: contain;
}
.contents #staff.s2 {
  background: url(images/staff2_bk.jpg) no-repeat;
  background-size: contain;
}
.contents #staff.s3 {
  background: url(images/staff3_bk.jpg) no-repeat;
  background-size: contain;
}
#staff .temp_staff {
  display: block;
  width: 75%;
  margin: 0 auto;
}
#staff .temp_staff img {
  border-radius: 100%;
  border: solid 10px #fff;
  box-sizing: border-box;
  box-shadow: #f6f6f6 0px 0px 3px 3px;
}
#staff .s_box {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto 50px;
}
#staff .s_box p.pr {
  background: #fff;
  border: 3px solid #52b362;
  padding: 5%;
  margin-bottom: 10%;
}
.course img {
  margin: 0 auto;
}
.course {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 150px;
}
.course h3 {
  width: 100%;
  font-size: 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px 30px;
  background-color: #efffeb;
  border-left: none;
  border-radius: 12px;
  margin-top: 8%;
}
.course p{
  padding: 20px 20px 0;
}
.course > table {
  width: 90%;
  margin: 0 auto;
  border-collapse: collapse;
}
.course > table tr {
  width: 80%;
  margin: 0 auto;
  border-bottom: 1px solid #e3dad3;
}
.course > table tr > th {
  width: 25%;
  font-size: 16px;
  color: #52b362;
  font-weight: bold;
  text-align: left;
  padding: 20px 0 17px;
}
/*-----------calendar-------------*/
p.yoyaku {
  font-weight: bold;
  text-align: center;
}
p.yoyaku span {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-size: 1.6em;
  color: #098e56;
  letter-spacing: 0.1em;
  border-bottom: none;
}
p.yoyaku span:before, p.yoyaku span:after{
content: '';
position: absolute;
top: 50%;
display: inline-block;
width: 45px;
height: 2px;
background: #d9de2b;
}

p.yoyaku span:before {left:0;}
p.yoyaku span:after {right: 0;}

#staff .timely {
  margin: 0 auto 30px;
}
#staff .ai1ec-pull-left,#staff .ai1ec-pull-right,.ai1ec-calendar-toolbar{
  display: none;
}
/*-----------form-------------*/
#staff form {
  padding: 8%;
  box-sizing: border-box;
  background: #efffeb;
  border: 2px solid #52b362;
}

/*-----------お問い合わせ-------------*/
.contents p.conta {
  text-align: center;
  padding-top: 5%;
}
.contents form {margin-top: 3.5em;}
form {
  max-width: 700px;
  width: 96%;
  margin: 0 auto;
}
form label {
  font-weight: bold;
}
form span.red {
	font-size: 12px;
}
.typeBox {
  color: #555;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.075) inset;
  display: block;
  font-size: 20px;
  height: 43px;
  line-height: 1.42857;
  padding: 6px 10px;
  width: 100%;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
textarea.typeBox {
  height: 200px;
  resize: vertical;
  font-family: inherit;
}
form div.btnBox {
  padding: 25px 0;
	text-align: center;
}
input[type=submit] {
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 5px;
	line-height: 1;
	user-select: none;
	vertical-align: bottom;
	padding: .7em 3em;
	border: 1px solid;
	border-radius: 0.6em;
	background: transparent;
  background-color: #27353f;
    border-top-color: #f6f6f6;
    border-left-color: #e3dad3;
    border-right-color: #e3dad3;
    border-bottom-color: #3e729a;
	box-shadow: 0 3px 0 0 #3e729a, 0 4px 4px -1px rgba(0, 0, 0, 0.6), 0 4px 6px 1px rgba(0, 0, 0, 0.3), 0 1px 2px 1px transparent inset, 0 18px 32px -2px rgba(255, 255, 255, 0.1) inset;
	transition: box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
	cursor: pointer;
	outline: none;
}
input[type=submit]:hover {
	text-decoration: none;
	box-shadow: 0 3px 0 0 #2c485f, 0 6px 4px -1px rgba(0, 0, 0, 0.3), 0 4px 16px rgba(0, 0, 0, 0.5), 0 1px 2px 1px transparent inset, 0 18px 32px -2px rgba(255, 255, 255, 0.14) inset;
}
input[type=submit]:active {
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
	box-shadow: 0 0px 0 0 #3e729a, 0 3px 0 0 transparent, 0 4px 16px transparent, 0 1px 2px 1px rgba(0, 0, 0, 0.5) inset, 0 -18px 32px -2px rgba(255, 255, 255, 0.1) inset;
	transition: 0s;
}
form p.attention {
  background: #ffdce5;
  border: 2px solid #e2194d;
  padding: 20px;
  margin: 30px 0 0;
}


/*-----------LINE@-------------*/
.line {
  text-align: center;
  padding: 6%;
}
.line p {
  font-weight: bold;
  font-size: 1.35em;
  margin: 2em 0 0.8em;
}
.line img {
  max-width: 232px;
  width: 70%;
}
.line .tel_y {
  font-size: 1.6em;
  font-weight: bold;
  color: #e2194d;
}


/*-----sp-----*/
@media (max-width: 767px){
  header {
    background: rgba(9, 142, 86, 0.96);
  }
  #main .box {margin: 7% auto;}
  #main .box h2,section#staff .box1 h2 {font-size: 5vw;}
  /*-----ファーストビュー-----*/
  #top img {margin-top: 60px;}
  .pc{display: none;}
  .sp{display: block;;}

  /*-----concept-----*/
  #concept .box ul{width: auto;}
  #concept .box ul li img {
    max-width: 98px;
    width: 20%;
  }
  #concept .box ul li p {
    font-size: 3.6vw;
  }

  /*-----staff-----*/
  p.yoyaku {font-size: 4vw;}
  .contents #staff.s1,.contents #staff.s2,.contents #staff.s3 {
    background: none;
  }
  #staff .s_box {
    width: 94%;
  }
  #staff .a_staff {
    display: block;
    width: 80%;
    margin: 0 auto 10%;
  }
  .course {
    padding: 0;
  }
  .course h3 {
    font-size: 16px;
    padding: 10px 20px;
  }
  .course p{
    padding: 10px;
  }
  .course > table tr > th,.course > table tr > td {
    display: block;
    width: 100%;
    font-size: 14px;
    padding: 10px 0;
  }

  /*-----service-----*/
  section#service {
    padding: 0;
  }
  section#service .box {
    width: 100%;
  }
  section#service .box h2 {
    padding: 3% 1px 2%;
  }
  ul.hidden_show {margin: 0 auto;}
  .hidden_show a img {
    width: 90%;
  }

  /*-----access-----*/
  #access .box,#image .box {
    margin: 0 auto;
  }
  #access .box .map {
    display: block;
    padding-top: 0;
    text-align: center;
  }
  #access .map_box{text-align: left;}
  #access .box p {
    width: 100%;
    margin: 0 auto;
  }
  #access .sp_map {
    width: 85%;
    height: auto;
    margin: 0 auto;
  }
  #access .sp_access_img {
    margin-bottom: 35px;
    padding: 15px;
    text-align: center;
    box-sizing: border-box;
    border: 1px solid #CCCCCC;
  }
  #access .sp_access_img p {
    font-size: 14px;
    padding-bottom: 8px;
    text-align: left;
    box-sizing: border-box;
  }
  #access .pk_img img {
    width: 65%;
    height: auto;
    margin: 0 auto;
    margin-top: 2em;
  }
  #access .box .map_access h3 {text-align: center;}
  /*-----------お問い合わせ-------------*/
  .contents p.conta {
    width: 90%;
    margin: 0 auto;
    text-align: left;
  }
}
