﻿/*
Theme Name:TRAINER'S LAB
Theme URI:
Description:
Author:PLUSIDEA
Author URI:http://plusidea.co.jp/
Version:7.7
*/


@charset "utf-8";

/*----------------------------------------------------------------------
base
----------------------------------------------------------------------*/

html {
	font-size: 16px;
}

body{
	font-family:"Noto Sans JP", "YuGo", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    color: #000000;
    margin:0 auto;
    box-sizing: border-box;
}
.mb-10 {
    margin-bottom: 10px;
}
.mb-20 {
    margin-bottom: 20px;
}
.mb-30 {
    margin-bottom: 30px;
}
.mb-40 {
    margin-bottom: 40px;
}
.mb-50 {
    margin-bottom: 50px;
}
.mb-60 {
    margin-bottom: 60px;
}
.mb-80 {
    margin-bottom: 80px;
}
.mb-100 {
    margin-bottom: 100px;
}
.xsmall {
	font-size: 8px;
}
.small {
	font-size: 12px;
}
.large {
	font-size: 20px;
}
.xlarge {
	font-size: 24px;
}
img {
	max-width: 100%;
  display: block;
  margin: auto;
}
.tac {
    text-align: center;
}
.tar {
    text-align:right;
}
.tal {
    text-align:left;
}
.bold{
  font-weight: bold;
}
a{
  text-decoration: none;
  color: #000;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}
a:hover{
  opacity: 0.7;
}
.strong_point{
  background: linear-gradient(transparent 50%, #F8E300 40%);
  font-weight: bold;
  color: #FF2929;
  font-size: 105%;
}
span.big {
  font-size: 20px;
}
span.red{
  color: #d31108;
}
table{
  border-collapse: collapse;
}
dh{
  color: #555;
  font-size: 20px;
  font-weight: bold;
}
/* For modern browsers */
.clearfix:before,
.clearfix:after {
 content:"";
 display:block;
 overflow:hidden;
}
.clearfix:after {
 clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
 zoom:1;
}

/*------------------パンくずリスト------------*/

.breadcrumg-area ul{
  padding-left: 0;
  margin-bottom: 30px;
}

.breadcrumg-area ul li{
  display: inline-block;
  padding-left: 15px;
  position: relative;
}

.breadcrumg-area ul li::before{
  position: absolute;
  left: 0;
  content:">";
  color: #333;
}

.breadcrumg-area ul li:first-child{
  padding-left: 5px;
}

.breadcrumg-area ul li:first-child::before{
  display: none;
}

/*----------------------BASE-------------------------------*/

.inner{
  width: 1000px;
  margin: auto;
  max-width: 100%;
}

.w600{
  width: 600px;
  margin: auto;
  max-width: 100%;
}
.w700{
  width: 700px;
  margin: auto;
  max-width: 100%;
}
.w800{
  width: 800px;
  margin: auto;
  max-width: 100%;
}
.w900{
  width: 900px;
  margin: auto;
  max-width: 100%;
}
.w1000{
  width: 1000px;
  margin: auto;
  max-width: 100%;
}
.w1100{
  width: 1100px;
  margin: auto;
  max-width: 100%;
}
.w1200{
  width: 1200px;
  margin: auto;
  max-width: 100%;
}

/*----------------------------------------------------------------------
header
----------------------------------------------------------------------*/

header{
  position: relative;
  margin-bottom: 100px;
  /*height: 600px;
  background-size: cover;
  width: 100%;
  background-position: center;
  background: url(./img/top_bg.jpg) no-repeat;
*/}

header a:hover{
  opacity: 1;
}

img.top_bg{
  width: 100%;
}

img.top_text{
  position: absolute;
  width: 50%;
  left: 5%;
  top: 5%;
  margin: auto;
}

img.top_allow {
  position: absolute;
  bottom: -5%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 3;
  width: 5%;
}


/*----------------------------------------------------------------------
main
----------------------------------------------------------------------*/

h2.top_head{
  background: #ffea73;
  border-bottom: 3px solid #0612b1;
  border-top: 3px solid #0612b1;
  padding:30px 10px;
  box-sizing: border-box;
  position: relative;
  font-size: 43px;
  text-align: center;
  color: #0612b1;
  margin-bottom: 80px;
  font-family: ‘Noto Sans JP’, sans-serif;
}

h2.top_head::before{
  position: absolute;
  content: "";
  background: #ffea73;
  width: 25px;
  height: 25px;
  border: 3px solid;
  border-color:  transparent transparent #0612b1 #0612b1;
  transform: rotate(-45deg);
  left: 0;
  right: 0;
  bottom: -16px;
  margin:auto;
}

.sanka_btn{
  width: 600px;
  text-align: center;
  margin: 10px auto;
}

section{
  padding:60px 0;
  position: relative;
}

img.nayami_text{
  margin-bottom: 80px;
}

section.kaiketsu{
  background: url(./img/glay_bg.jpg) no-repeat;
  background-size: cover;
}

section.kaiketsu p {
  font-size: 20px;
}

span.attention{
  text-align: center;
  display: block;
}

.mazuha{
  text-align: center;
  font-size: 20px;
  margin-bottom: 0;
}

.curriculum{
  position: relative;
}

section.tokuchou{
  padding-bottom: 0;
}

.cur_text {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10%;
  margin: auto;
  height: 250px;
  width: 580px;
}

.cur_text h3{
  margin-bottom: 20px;
  width: 
}

.cur_text p{
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  font-style: italic;
  margin-bottom: 30px;
}

.cur_text span{
  display: block;
  color: #fff;
  font-size: 18px;
}

.curriculum.cur3 {
  margin-bottom: 5px;
}

img.cur_ttl1{
  width: 370px;
  display: inline-block;
}

img.cur_ttl2{
  width: 700px;
  display: inline-block;
}

img.cur_ttl3{
  width: 470px;
  display: inline-block;
}

img.cur_ttl4{
  width: 750px;
  display: inline-block;
}

.cur1 {
  margin-top: 50px;
}

.cur2 .cur_text{
  left: auto;
  right: 10%;
  width: 700px;
}

.cur4 .cur_text{
  left: auto;
  right: 10%;
  width: 750px;
}

.cur3 .cur_text{
  height: 320px;
  width: 620px;
}

.cur4 .cur_text{
  height: 500px;
  width: 700px;
}

span.cur4_text{
  width: 620px;
}

section.poligon{
  background: url(./img/poligon_bg.jpg) ;
  position: relative;
}

.tsuyomi{
  position: relative;
  margin: 50px auto;
  width: 1200px;
  max-width: 98%;
}

.tsuyomi_text{
  position: absolute;
  width: 1000px;
  max-width: 98%;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  height: 280px;
}

.tsuyomi_text h3 {
  color: #fffd4f;
  font-size: 38px;
  font-style: italic;
  margin-bottom: 0px;
  margin-top: 20px;
  font-family: ‘Noto Sans JP’, sans-serif;
}

.tsuyomi_text p {
  color: #fff;
  line-height: 1.8;
  font-size: 18px;
  font-weight: bold;
}

.tsuyomi::after {
  position: absolute;
  content: "";
  width: 80px;
  height: 100px;
  background: url(./img/flag1.png) no-repeat;
  background-size: contain;
  right: 40px;
  top: 3px;
}

.tsuyomi.strong2::after{
  background: url(./img/flag2.png) no-repeat;
  background-size: contain;
  right: auto;
  left: 40px;
  top: 3px;
}

.tsuyomi.strong3::after{
  background: url(./img/flag3.png) no-repeat;
  background-size: contain;
}

.tsuyomi.strong4::after{
  background: url(./img/flag4.png) no-repeat;
  background-size: contain;
  right: auto;
  left: 40px;
  top: 3px;
}

.tsuyomi.strong5::after{
  background: url(./img/flag5.png) no-repeat;
  background-size: contain;
}

img.top_allow.b-2{
  bottom: -2%;
}

section.blue_bg{
  background:#deebff;
}

.staff_container{
  background: #fff;
  width: 1200px;
  max-width: 95%;
  margin: 50px auto;
  box-shadow: 0 0 20px #ccc;
  padding: 60px 0 0; 
}

.staff_box{
  box-sizing: border-box;
  padding: 20px 100px;
}

.staff{
  border-bottom: 1px solid #0c5aba;
  padding: 40px 0;
}

.staff:last-child{
  border-bottom: none;
}

.staff_thumb{
  float: left;
  width: 35%;
  text-align: center;
  font-size: 20px;
}

.st_name{
  margin: 1em auto;
}

.staff_prof{
  float: left;
  width: 65%;
  box-sizing: border-box;
  padding: 0 20px;
  font-size: 18px;
}

.sec_staff .staff_thumb{
  float: right;
}

.access h2,
.price h2,
.contact h2{
  text-align: center;
  font-size: 28px;
}

.access h2 .blue_txt,
.price h2 .blue_txt,
.contact h2 .blue_txt{
  display: block;
  color: #0c5aba;
  transform: scale(0.8, 1);
}

.border_1{
  width: 1px ;
  height: 70px;
  background: #000;
  margin: 20px auto;
}

iframe{
  width: 1000px;
  display: block;
  margin: 20px auto;
  max-width: 100%;
}

.form_content{
  margin: 20px auto;
  width: 700px;
}

.form_content{
  margin-bottom: 10px;
}

.ct_ttl {
  margin-bottom: 10px;
  font-size: 18px;
}

.form_content input[type="text"] {
  font-size: 16px;
  box-sizing: border-box;
  padding: 8px;
  box-shadow: none;
  border: 2px solid #ddd;
  width: 100%;
}

.ct_ttl span{
  color: #ff0000;
}

.form_content label{
  display: block;
  width: 100%;

}

.form_content textarea{
  width: 100%;
}

.form_content .submit_btn{
  text-align: center;
}

.contact_form .submit_btn input[type="submit"] {
  width: 400px;
  height: 50px;
  color: #fff;
  background: #0c5aba;
  margin: 40px auto;
  border: none;
  display: block;
  font-size: 18px;
  max-width: 90%;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
  box-sizing: border-box;
  cursor: pointer;
}

.contact_form .submit_btn input[type="submit"]:hover{
  color: #0c5aba;
  background: #fff;
  border:1px solid #0c5aba;
}

.form_content input.age_in {
  width: initial;
}

select.area_list {
    font-size: 16px;
    box-sizing: border-box;
    padding: 8px;
    box-shadow: none;
    border: 2px solid #ddd;
}

section.access {
  padding-bottom: 80px;
}

section.access img.top_allow{
  bottom: -6%;
}

.sanka_btn a {
  display: block;
}

main.lower h1{
  border-bottom: 1px solid #aaa;
  color: #333;
  font-size: 26px;
}

.cur_text span.strong{
  display: inline-block;
  font-size: 30px;
}

.tel_contact{
  padding: 40px 5px;
  box-sizing: border-box;
  font-size: 20px;
  border-top: 1px solid #ccc;

}

.tel_contact h2 span.blue_txt{ 
  transform: none;
}

.tel_contact a{
  text-decoration-line: underline;
  color: #0c5aba;
}

.tel_contact p{
  margin: 10px auto;
}

.pr_table {
    width: 700px;
    max-width: 95%;
    margin: 30px auto;
    font-size: 20px;
}

.pr_table th{
  background: #0c5aba;
  padding: 20px 20px;
  color: #fff;
  box-sizing: border-box;
  border:1px solid #fff;
}

.pr_table td {
    color: #333;
    padding: 10px 20px;
    box-sizing: border-box;
    border: 1px solid #0c5aba;
    background: #fff;
    font-weight: bold;
}

.gentei {
    margin: auto;
    text-align: center;
}

.gentei p {
    font-size: 23px;
}

span.marker {
background: linear-gradient(transparent 60%, #ffff66 60%);
font-weight: bold;
}

span.kinkyu {
    font-weight: bold;
    color: #ff0101;
    font-size: 110%;
}

span.ritsu_gentei {
    font-size: 21px;
    display: block;
    margin-top: 20px;
}


/*----------------------------------------------------------------------

media query

----------------------------------------------------------------------*/

.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

@media screen and (max-width: 767px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
    .mmb-10 {
        margin-bottom: 10px;
    }
    .mmb-20 {
        margin-bottom: 20px;
    }
    .mmb-30 {
        margin-bottom: 30px;
    }
    .mmb-40 {
        margin-bottom: 40px;
    }
    .splogo {
        display: inline-block;
    }

    header, main, aside, footer, .inner{
      max-width: 100%;
      margin: auto;
      float: none;
    }

    header {
      margin-bottom: 0px;
	position: relative;
    }

header .btn_top {
    position: absolute;
    z-index: 222;
    bottom: 5%;
}

img.sp_top_arrow {
    width: 15%;
}

    section.nayami {
      padding-top: 0;
    }

    .sanka_btn,
    .cur_text,
    img.cur_ttl1,
    img.cur_ttl2,
    img.cur_ttl3,
    .form_content{
      max-width: 90%;
    }

h2.top_head {
    padding: 15px 5px;
    font-size: 19px;
    margin-bottom: 35px;
}

    h2.top_head::before{
      width: 20px;
      height: 20px;
      bottom: -13px;
    }

    img.nayami_text {
      max-width: 95%;
      margin-bottom: 30px;
    }

    img.top_allow {
      width: 40px;
      bottom: -29px;
    }

    .sanka_btn {
      margin-top: 10px;
    }

    section.kaiketsu p {
      font-size: 16px;
      box-sizing: border-box;
      padding: 0 5px;
    }

    section {
      padding: 20px 0;
    }

    .cur1{
      background: url(./img/cul_bg1.jpg) no-repeat;
      margin-top: 20px;
    }
    .cur2{
      background: url(./img/cul_bg2.jpg) no-repeat;
      background-position: right center;
    }
    .cur3{
      background: url(./img/cul_bg3.jpg) no-repeat;
    }
    .cur4{
      background: url(./img/cul_bg4.jpg) no-repeat;
      background-position: right center;
    }

    .curriculum.cur3 {
      margin-bottom: 0px;
    }

    .cur_text {
      position: static;
      height: auto;
      width: 100%;
    }

    .cur3 .cur_text {
      height: auto;
    }

    .curriculum {
      padding: 20px 0;
      border-bottom: 1px solid #fff;
    }

    .cur_text h3 img{
      display: none;
    }

    .cur_text h3{
      color: #ffa61a;
      font-size: 24px;
      line-height: 1.4;
    }

    .tokuchou .curriculum.cur4 .cur_text {
      height: auto;
    }

    span.cur4_text{
      max-width: 100%;
    }

    .cur_text span.strong {
      font-size: 25px;
    }

    img.cur_ttl1 {
      width: 60%;
    }
    img.cur_ttl3 {
      display: inline-block;
    }

    .cur_text span {
      font-size: 16px;
    }

    .cur_text p {
      font-size: 20px;
    }

    .tsuyomi,.tsuyomi_text {
      max-width: 100%;
    }

    .tsuyomi_text {
      position: static;
      height: auto;
    }

    .tsuyomi_text h3 {
      font-size: 22px;
    }

    .tsuyomi.strong1 {
        background-color: rgba(0, 0, 0, 0.6196078431372549);
        background-image: url(./img/tsuyomi_bg1.jpg) no-repeat;
        background-position: 20% center;
        border-top: none;
    }
    .tsuyomi.strong2 p {
        color: #000;
    }
    .tsuyomi.strong2 h3 {
        color: #1237c2;
    }
    .tsuyomi.strong3{
      background-color: rgba(0, 0, 0, 0.6196078431372549);
      background-position: 20% center;
    }
    .tsuyomi.strong4{
      border-bottom: 2px solid #0612b1;
    }
    .tsuyomi.strong4 p {
        color: #000;
    }
    .tsuyomi.strong4 h3 {
        color: #1237c2;
    }
    .tsuyomi.strong5{
      background-color: rgba(0, 0, 0, 0.6196078431372549);
      background-position: 20% center;
      border-bottom: 2px solid #0612b1;
    }

    .tsuyomi {
      border-top: 1px solid #0612b1;
      border-bottom: 1px solid #0612b1;
      padding: 20px 0;
      box-sizing: border-box;
      padding-top: 50px;
      margin: auto;
    }

    .tsuyomi_text p {
      font-size: 16px;
      text-align: left;
      box-sizing: border-box;
      padding: 0 10px;
      font-weight: normal;
      line-height: 1.4;
    }

    .tsuyomi::after {
      width: 50px;
      height: 60px;
      right: 20px;
      top: 0;
    }

    .tsuyomi.strong2::after,.tsuyomi.strong4::after{
      top: 0;
      left: 20px;
    }

    img.top_allow.b-2 {
      bottom: -1%;
    }

    section.tsuyomi_area{
      padding-bottom: 0;
      padding-top: 0;
    }

    .sp_text{
      box-sizing: border-box;
      padding: 0 5px;
    }

.staff_box {
    padding: 0 10px 20px 10px;
}

    .staff_prof {
      font-size: 16px;
      float: none;
      width: 100%;
      padding: 0 10px;
    }

    .staff_thumb {
      float: none;
      width: 100%;
      font-size: 18px;
      max-width: 400px;
      margin: 20px auto;
    }

.staff {
    padding: 0 0 20px 0;
}

    .sp_tetsudai{
      color: #b40000;
      font-size: 20px;
      text-align: center;
    }

    .sp_tetsudai {
      color: #b40000;
      font-size: 20px;
      text-align: center;
      box-sizing: border-box;
      padding: 0 15px;
      line-height: 1.4;
      margin: auto;
      font-weight: bold;
      font-family: ‘Noto Sans JP’, sans-serif;
    }

.staff_container {
    padding: 30px 0 0;
    margin-top: 10px;
}

    .access h2, .contact h2 {
      font-size: 22px;
      box-sizing: border-box;
      padding: 0 10px;
    }

    section.access {
      padding-bottom: 40px;
    }

    section.access img.top_allow {
      bottom: -2%;
    }

    .mazuha {
      font-size: 18px;
    }

    section.tsuyomi_area h2.top_head{
      margin-top: -1px;
      margin-bottom: 0;
      z-index: 1;
    }

    .sp_cur_text{
      width: 90%;
      max-width: 400px;
    }

    .sp_shinmi {
      width: 95%;
      max-width: 400px;
      margin-top: 30px;
    }

    section.tokuchou {
      padding-top: 0;
    }

    .cur_text img.cur_ttl1, .cur_text img.cur_ttl2, .cur_text img.cur_ttl3{
      max-width: 100%;
    }

    .curriculum .cur_text {
      max-width: 95%;
    }

    .tel_contact{
      font-size: 18px;
    }

    .pr_table {
      font-size: 18px;
      width: 95%;
      max-width: 500px;
    }

.pr_table th, .pr_table td {
    font-size: 14px;
}

    .pr_table th{
      border:none;
    }

iframe {
    height: 250px;
}

.telarea {
    position: fixed;
    bottom: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.38823529411764707);
}

.telarea a {
    display: block;
    box-sizing: border-box;
    margin: 9px;
    background: #fff;
    padding: 6px;
    box-shadow: 0px 4px 0px #676767;
}

.gentei {
    box-sizing: border-box;
    padding: 0 15px;
}

span.nokori {
    display: block;
}

span.kinkyu {
    display: block;
}

.gentei p {
    font-size: 22px;
}

span.ritsu_gentei {
    font-size: 16px;
    margin-top: 10px;
}

.finish header .btn_top {
    display: none;
}

.finish header {
    height: 42vh;
    overflow: hidden;
}

}
/*media queryここまで*/


@media screen and (max-width: 1300px) {
  .cur_text span {
    font-size: 16px;
    line-height: 1.4;
  }

  .cur4 .cur_text {
    height: 350px;
  }
}



