/* CSS Document */
/*-----PC-----*/
@media screen and (min-width: 961px) {
  #mv {
    margin: 0;
    padding: 0;
  }
  #mv h2.mv img {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }
  #news {
    margin: 20px 0;
    padding: 30px 10px;
  }
  #news h2.title {
    margin: 30px auto;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
  }
  .news_list {
    width: 700px;
    height: auto;
    margin: 0 auto;
  }
  .news_list li {
    margin: 20px auto;
    padding: 20px 0;
    text-align: center;
  }
  .news_list li .date {
    margin: 0 10px;
  }
  .news_list li .text {
    margin: 0 10px;
  }
  #reason {
    margin: 20px 0;
    padding: 30px 10px;
    background-color: #9e8c5e;
    color: #fff;
  }
  #reason h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
  }
  #reason h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #reason .reason_box {
    margin: 30px auto;
    padding: 0;
    text-align: center;
  }
  #reason .reason_box h3 {
    font-size: 1.5rem;
  }
  #reason .reason_box h3 span.reason_title_img {
    display: block;
    margin: 10px auto;
  }
  #reason .reason_box ul.reason_photo img {
	border: solid 1px #5f5f5f;
}
  #reason .reason_text {
    text-align: left;
    max-width: 800px;
    margin: 20px auto;
  }
  #reason .reason_photo {
    width: 600px;
    height: auto;
    margin: 20px auto;
    padding: 0;
  }
  #reason .reason_photo li {
    float: left;
    margin: 10px;
  }
  #reason .reason_photo_img {
    margin: 10px auto;
    display: block;
    text-align: center;
	border: solid 1px #5f5f5f;
  }
  #trainer {
    margin: 20px 0;
    padding: 30px 0;
  }
  #trainer h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    color: #9e8c5e;
  }
  #trainer h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #trainer .trainer_box {
    max-width: 600px;
    margin: 30px auto;
    padding: 0;
    text-align: center;
  }
  #trainer img.trainer {
    display: block;
    text-align: center;
    margin: 10px auto;
	border: solid 1px #5f5f5f;
  }
  #trainer .trainer_box .trainer_name {
    text-align: left;
    font-size: 2rem;
    font-weight: 700;
    margin: 20px 0;
  }
  #trainer .trainer_box .trainer_name span {
    display: block;
    text-align: left;
    font-size: 1rem;
  }
  #trainer .trainer_box .trainer_text {
    display: block;
    text-align: left;
    font-size: 1rem;
    margin: 20px 0;
    line-height: 2rem;
  }
  #trainer .trainer_box .trainer_photo {
    width: 600px;
    height: auto;
    margin: 20px auto;
    padding: 0;
  }
  #trainer .trainer_box .trainer_photo li {
    float: left;
    margin: 10px 0;
  }
  #trainer .trainer_box .trainer_photo li img.trainer {
	margin: 0 5px 0 5px;
	border: solid 1px #5f5f5f;
  }
  #trainer .trainer_box h4 {
    color: #fff;
    background-color: #5f5f5f;
    margin: 20px auto;
    padding: 5px;
    text-align: center;
  }
  #trainer .trainer_box .contest_list li {
    text-align: left;
  }
  #trainer .trainer_box .contest_list li::before {
    content: "●";
    margin-right: 5px;
  }
  #price {
    margin: 20px 0;
    padding: 30px 10px;
    background-color: #9e8c5e;
    color: #fff;
  }
  #price h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
  }
  #price h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #price .price_board {
    width: 522px;
    height: 196px;
    background: url("../images/img_price.png") no-repeat top/cover;
    margin: 20px auto;
    padding: 15px 45px;
    color: #5f5f5f;
  }
  #price .price_board h3 {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 10px auto;
    text-align: center;
  }
  #price .price_board h3 span {
    display: block;
    font-size: 1rem;
    font-weight: normal;
  }
  #price .price_board .price {
    margin: 10px auto;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
  }
  #price .price_board .text {
    margin: 10px 30px;
    font-size: 0.8rem;
    text-align: left;
  }
  #price .price_box {
    max-width: 700px;
    margin: 30px auto;
    padding: 30px;
    text-align: center;
    background-color: #fff;
    color: #5f5f5f;
  }
  #price .price_box dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 20px 0;
  }
  #price .price_box dt {
    width: 50%;
    padding: 5px;
    margin-bottom: 10px;
    background-color: #5f5f5f;
    color: #fff;
  }
  #price .price_box dd {
    width: 50%;
    padding: 5px;
    margin-bottom: 10px;
    background-color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
  }
  #price .price_box h3.plan_name {
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    margin: 20px auto;
  }
  #price .price_box p.plan_subtitle {
    font-size: 1.2rem;
    text-align: center;
    margin: 20px auto;
  }
  #price .price_box .plan_list {
    max-width: 510px;
    margin: 20px auto;
  }
  #price .price_box .plan_list li {
    text-align: left;
  }
  #price .price_box .plan_list li::before {
    content: "●";
    margin-right: 5px;
  }
  #price .price_box p.plan_text {
    text-align: center;
  }
  #price p.price_text {
  	width: 700px;
	margin: 0 auto;
  }
  #facility {
    margin: 20px 0;
    padding: 30px 0;
  }
  #facility h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    color: #9e8c5e;
  }
  #facility h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #facility .facility_list {
    max-width: 700px;
    margin: 20px auto;
  }
  #facility .facility_list li {
    margin: 10px 30px;
    float: left;
  }
#facility .facility_list li img {
	border: solid 1px #5f5f5f;
  }
  #access {
    margin: 20px 0 0 0;
    padding: 30px 10px;
    background-color: #9e8c5e;
    color: #fff;
  }
  #access h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
  }
  #access h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #access .img_access {
    display: block;
    text-align: center;
    margin: 0 auto;
	border: solid 1px #5f5f5f;
  }
  #access .access_list {
    display: flex;
    flex-wrap: wrap;
    max-width: 700px;
    width: 100%;
    margin: 20px auto;
  }
  #access .access_list dt {
    width: 30%;
    padding: 5px;
    margin-bottom: 10px;
    border-bottom: 1px dashed #fff;
  }
  #access .access_list dd {
    width: 70%;
    padding: 5px;
    margin-bottom: 10px;
    border-bottom: 1px dashed #fff;
  }
  #accessmap {
    margin: 0;
    padding: 0;
  }
  .googlemap {
    position: relative;
    width: 100%;
    height: 450px;
  }
}
/*-----Tablet-----*/
@media screen and (min-width: 521px) and (max-width: 960px) {
  #mv {
    margin: 0;
    padding: 0;
  }
  #mv h2.mv img {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }
  #news {
    margin: 20px 0;
    padding: 30px 10px;
  }
  #news h2.title {
    margin: 30px auto;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
  }
  .news_list {
    width: 700px;
    height: auto;
    margin: 0 auto;
  }
  .news_list li {
    margin: 20px auto;
    padding: 20px 0;
    text-align: center;
  }
  .news_list li .date {
    margin: 0 10px;
  }
  .news_list li .text {
    margin: 0 10px;
  }
  #reason {
    margin: 20px 0;
    padding: 30px 10px;
    background-color: #9e8c5e;
    color: #fff;
  }
  #reason h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
  }
  #reason h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #reason .reason_box {
    margin: 30px auto;
    padding: 0;
    text-align: center;
  }
  #reason .reason_box ul.reason_photo img {
	border: solid 1px #5f5f5f;
}
  #reason .reason_box h3 {
    font-size: 1.5rem;
  }
  #reason .reason_box h3 span.reason_title_img {
    display: block;
    margin: 10px auto;
  }
  #reason .reason_text {
    text-align: left;
    max-width: 800px;
    margin: 20px auto;
  }
  #reason .reason_photo {
    width: 600px;
    height: auto;
    margin: 20px auto;
    padding: 0;
  }
  #reason .reason_photo li {
    float: left;
    margin: 10px;
  }
  #reason .reason_photo_img {
    margin: 10px auto;
    display: block;
    text-align: center;
	border: solid 1px #5f5f5f;
  }
  #trainer {
    margin: 20px 0;
    padding: 30px 0;
  }
  #trainer h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    color: #9e8c5e;
  }
  #trainer h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #trainer .trainer_box {
    max-width: 600px;
    margin: 30px auto;
    padding: 0;
    text-align: center;
  }
  #trainer img.trainer {
    display: block;
    text-align: center;
    margin: 10px auto;
	border: solid 1px #5f5f5f;
  }
  #trainer .trainer_box .trainer_name {
    text-align: left;
    font-size: 2rem;
    font-weight: 700;
    margin: 20px 0;
  }
  #trainer .trainer_box .trainer_name span {
    display: block;
    text-align: left;
    font-size: 1rem;
  }
  #trainer .trainer_box .trainer_text {
    display: block;
    text-align: left;
    font-size: 1rem;
    margin: 20px 0;
    line-height: 2rem;
  }
  #trainer .trainer_box .trainer_photo {
    width: 600px;
    height: auto;
    margin: 20px auto;
    padding: 0;
  }
  #trainer .trainer_box .trainer_photo li {
    float: left;
    margin: 10px 0;
  }
  #trainer .trainer_box .trainer_photo li img.trainer {
	margin: 0 5px 0 5px;
	border: solid 1px #5f5f5f;
  }
  #trainer .trainer_box h4 {
    color: #fff;
    background-color: #5f5f5f;
    margin: 20px auto;
    padding: 5px;
    text-align: center;
  }
  #trainer .trainer_box .contest_list li {
    text-align: left;
  }
  #trainer .trainer_box .contest_list li::before {
    content: "●";
    margin-right: 5px;
  }
  #price {
    margin: 20px 0;
    padding: 30px 10px;
    background-color: #9e8c5e;
    color: #fff;
  }
  #price h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
  }
  #price h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #price .price_board {
    width: 522px;
    height: 196px;
    background: url("../images/img_price.png") no-repeat top/cover;
    margin: 20px auto;
    padding: 15px 45px;
    color: #5f5f5f;
  }
  #price .price_board h3 {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 10px auto;
    text-align: center;
  }
  #price .price_board h3 span {
    display: block;
    font-size: 1rem;
    font-weight: normal;
  }
  #price .price_board .price {
    margin: 10px auto;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
  }
  #price .price_board .text {
    margin: 10px auto;
    font-size: 0.8rem;
    text-align: left;
  }
  #price .price_box {
    max-width: 700px;
    margin: 30px auto;
    padding: 30px;
    text-align: center;
    background-color: #fff;
    color: #5f5f5f;
  }
  #price .price_box dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 20px 0;
  }
  #price .price_box dt {
    width: 50%;
    padding: 5px;
    margin-bottom: 10px;
    background-color: #5f5f5f;
    color: #fff;
  }
  #price .price_box dd {
    width: 50%;
    padding: 5px;
    margin-bottom: 10px;
    background-color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
  }
  #price .price_box h3.plan_name {
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    margin: 20px auto;
  }
  #price .price_box p.plan_subtitle {
    font-size: 1.2rem;
    text-align: center;
    margin: 20px auto;
  }
  #price .price_box .plan_list {
    max-width: 510px;
    margin: 20px auto;
  }
  #price .price_box .plan_list li {
    text-align: left;
  }
  #price .price_box .plan_list li::before {
    content: "●";
    margin-right: 5px;
  }
  #price .price_box p.plan_text {
    text-align: center;
  }
  #price p.price_text {
  	width: 88%;
	margin: 0 auto;
  }
  #facility {
    margin: 20px 0;
    padding: 30px 0;
  }
  #facility h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    color: #9e8c5e;
  }
  #facility h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #facility .facility_list {
    max-width: 700px;
    margin: 20px auto;
  }
  #facility .facility_list li {
    margin: 10px 30px;
    float: left;
  }
#facility .facility_list li img {
	border: solid 1px #5f5f5f;
  }
  #access {
    margin: 20px 0 0 0;
    padding: 30px 10px;
    background-color: #9e8c5e;
    color: #fff;
  }
  #access h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
  }
  #access h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #access .img_access {
    display: block;
    text-align: center;
    margin: 0 auto;
	border: solid 1px #5f5f5f;
  }
  #access .access_list {
    display: flex;
    flex-wrap: wrap;
    max-width: 700px;
    width: 100%;
    margin: 20px auto;
  }
  #access .access_list dt {
    width: 30%;
    padding: 5px;
    margin-bottom: 10px;
    border-bottom: 1px dashed #fff;
  }
  #access .access_list dd {
    width: 70%;
    padding: 5px;
    margin-bottom: 10px;
    border-bottom: 1px dashed #fff;
  }
  #accessmap {
    margin: 0;
    padding: 0;
  }
  .googlemap {
    position: relative;
    width: 100%;
    height: 450px;
  }
}
/*-----SP-----*/
@media screen and (max-width: 520px) {
  #mv {
    margin: 0;
    padding: 0;
  }
  #mv h2.mv img {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }
  #news {
    margin: 20px 0;
    padding: 30px 10px;
  }
  #news h2.title {
    margin: 30px auto;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
  }
  .news_list {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .news_list li {
    margin: 20px auto;
    padding: 20px 0;
    text-align: left;
  }
  .news_list li .date {
    margin: 0 10px;
  }
  .news_list li .text {
    margin: 0 10px;
    display: block;
  }
  #reason {
    margin: 20px 0;
    padding: 30px 10px;
    background-color: #9e8c5e;
    color: #fff;
  }
  #reason h2.title {
    margin: 30px auto;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
  }
  #reason h2.title span {
    font-size: 1rem;
    display: block;
  }
  #reason .reason_box {
    margin: 30px auto;
    padding: 0;
    text-align: center;
  }
  #reason .reason_box h3 {
    font-size: 1.5rem;
  }
  #reason .reason_box h3 span.reason_title_img {
    display: block;
    margin: 10px auto;
  }
  #reason .reason_text {
    text-align: left;
    max-width: 100%;
    margin: 20px auto;
  }
  #reason .reason_photo {
    max-width: 100%;
    height: auto;
    margin: 20px auto;
    padding: 0;
  }
  #reason .reason_box ul.reason_photo img {
	border: solid 1px #5f5f5f;
}
  #reason .reason_photo li {
    width: 46%;
    float: left;
    margin: 5px;
  }
  #reason .reason_photo_img {
    margin: 10px auto;
    display: block;
    text-align: center;
	border: solid 1px #5f5f5f;
  }
  #trainer {
    margin: 20px 0;
    padding: 30px 0;
  }
  #trainer h2.title {
    margin: 30px auto;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    color: #9e8c5e;
  }
  #trainer h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #trainer .trainer_box {
    max-width: 100%;
    margin: 10px auto;
    padding: 5px;
    text-align: center;
  }
  #trainer img.trainer {
    display: block;
    text-align: center;
    margin: 5px auto;
	border: solid 1px #5f5f5f;
  }
  #trainer .trainer_box .trainer_name {
    text-align: left;
    font-size: 2rem;
    font-weight: 700;
    margin: 10px 0;
  }
  #trainer .trainer_box .trainer_name span {
    display: block;
    text-align: left;
    font-size: 1rem;
  }
  #trainer .trainer_box .trainer_text {
    display: block;
    text-align: left;
    font-size: 1rem;
    margin: 20px auto;
    line-height: 1.5rem;
  }
  #trainer .trainer_box .trainer_photo {
    max-width: 100%;
    height: auto;
    margin: 10px auto;
    padding: 0;
  }
  #trainer .trainer_box .trainer_photo li {
    width: 46%;
    float: left;
    margin: 5px;
  }
  #trainer .trainer_box h4 {
    color: #fff;
    background-color: #5f5f5f;
    margin: 20px auto;
    padding: 5px;
    text-align: center;
  }
  #trainer .trainer_box .contest_list li {
    text-align: left;
  }
  #trainer .trainer_box .contest_list li::before {
    content: "●";
    margin-right: 5px;
  }
  #price {
    margin: 20px 0;
    padding: 30px 10px;
    background-color: #9e8c5e;
    color: #fff;
  }
  #price h2.title {
    margin: 30px auto;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
  }
  #price h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #price .price_board {
    width: 100%;
    height: 196px;
    background: url("../images/img_price.png") no-repeat;
    background-position: center;
    background-size: contain;
    margin: 20px auto;
    padding: 35px;
    color: #5f5f5f;
  }
  #price .price_board h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 5px auto;
    text-align: center;
  }
  #price .price_board h3 span {
    display: block;
    font-size: 0.8rem;
    font-weight: normal;
  }
  #price .price_board .price {
    margin: 5px auto;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
  }
  #price .price_board .text {
    margin: 5px auto;
    font-size: 0.7rem;
    text-align: left;
	line-height: 0.8rem;
  }
  #price .price_box {
    max-width: 100%;
    margin: 10px auto;
    padding: 10px;
    text-align: center;
    background-color: #fff;
    color: #5f5f5f;
  }
  #price .price_box dl {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin: 10px 0;
  }
  #price .price_box dt {
    width: 50%;
    padding: 5px;
    margin-bottom: 10px;
    background-color: #5f5f5f;
    color: #fff;
  }
  #price .price_box dd {
    width: 50%;
    padding: 5px;
    margin-bottom: 10px;
    background-color: #fff;
    font-size: 1rem;
    font-weight: 700;
  }
  #price .price_box h3.plan_name {
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    margin: 20px auto;
  }
  #price .price_box p.plan_subtitle {
    font-size: 1.2rem;
    text-align: left;
    margin: 20px auto;
  }
  #price .price_box .plan_list {
    max-width: 100%;
    margin: 20px auto;
  }
  #price .price_box .plan_list li {
    text-align: left;
  }
  #price .price_box .plan_list li::before {
    content: "●";
    margin-right: 5px;
  }
  #price .price_box p.plan_text {
    text-align: left;
  }
  #facility {
    margin: 20px 0;
    padding: 30px 0;
  }
  #facility h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    color: #9e8c5e;
  }
  #facility h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #facility .facility_list {
    max-width: 100%;
    margin: 20px auto;
  }
  #facility .facility_list li {
    width: 46%;
    margin: 5px 7px;
    float: left;
  }
#facility .facility_list li img {
	border: solid 1px #5f5f5f;
  }
  #access {
    margin: 20px 0 0 0;
    padding: 30px 10px;
    background-color: #9e8c5e;
    color: #fff;
  }
  #access h2.title {
    margin: 30px auto;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
  }
  #access h2.title span {
    font-size: 1.3rem;
    display: block;
  }
  #access .img_access {
    display: block;
    text-align: center;
    margin: 0 auto;
	border: solid 1px #5f5f5f;
  }
  #access .access_list {
    display: flex;
    flex-wrap: wrap;
    max-width: 700px;
    width: 100%;
    margin: 20px auto;
  }
  #access .access_list dt {
    width: 30%;
    padding: 5px;
    margin-bottom: 10px;
    border-bottom: 1px dashed #fff;
  }
  #access .access_list dd {
    width: 70%;
    padding: 5px;
    margin-bottom: 10px;
    border-bottom: 1px dashed #fff;
  }
  #accessmap {
    margin: 0;
    padding: 0;
  }
  .googlemap {
    position: relative;
    width: 100%;
    height: 450px;
  }
}