@charset "utf-8";

/*======================================================================*/
/*Module
/*======================================================================*/
.clearfix:after {
  content: " ";
  display: table;
  clear: both
}

.left {
  float: left
}

.right {
  float: right
}

img {
  width: 100%;
  height: auto;
  display: block;
}

.pc {
  display: none !important;
}

body {
  display: none;
  line-height: 1.65;
}

/*======================================================================*/
/*index.html
/*======================================================================*/

/*------------------------------------------*/
/*l_header
/*------------------------------------------*/
.l_header {
  width: 100%;
  background-color: #fff;
}

.l_header .header_inner {
  margin: 0 auto;
}


/*------------------------------------------*/
/*contents
/*------------------------------------------*/
.contents {
  width: 100%;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#06489b+20,06489b+20,7ecef4+100 */
  background: #06489b; /* Old browsers */
  background: -moz-linear-gradient(top,  #06489b 20%, #06489b 20%, #7ecef4 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  #06489b 20%,#06489b 20%,#7ecef4 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  #06489b 20%,#06489b 20%,#7ecef4 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#06489b', endColorstr='#7ecef4',GradientType=0 ); /* IE6-9 */
}

.contents_inner {
  padding: 20px 15px 30px;
}

.contents_inner .contents_ttl {
  margin: 0 auto;
}

.contents_inner .cam {
  width: 100%;
  margin-top: 20px;
}

.contents_inner .cam .cam_contents01 {
  margin: 0 auto;
  box-sizing: border-box;
}

.contents_inner .cam .cam_contents02,
.contents_inner .cam .cam_contents03 {
  margin: 30px auto 0;
  box-sizing: border-box;
}

.ex_cont .contents_inner {
  padding: 50px 15px;
}


/*------------------------------------------*/
/*sub_contents
/*------------------------------------------*/
.chara,
.voice,
.coach_staff {
  width: 100%;
  padding: 40px 0;
}

.sub_ttl_inner {
  padding: 0 10px;
}

.chara .sub_ttl {
  background: url(../img/bg_chara.jpg) center no-repeat;
  background-size: cover;
}

.chara .sub_ttl_inner .photo {
  max-width: 250px;
  margin: 30px auto;
  padding: 0 20px;
}

.chara .sub_ttl_inner h4 {
  margin-bottom: 5px;
  font-size: 1.4rem;
  font-weight: bold;
}

.chara .sub_ttl_inner .sentence {
  max-width: 600px;
  margin: 0 auto;
  padding: 0 20px;
  font-size: 1.2rem;
}

.voice .sub_ttl {
  background: url(../img/bg_voice.jpg) center no-repeat;
  background-size: cover;
}

.voice .pad_30_0 {
  padding: 30px 15px 0;
}

.coach_staff .sub_ttl {
  background: url(../img/bg_coach.jpg) center no-repeat;
  background-size: cover;
}

.coach_staff .sub_ttl_inner .coach_staff_area {
  margin: 0 auto;
  padding: 30px 0;
  border-bottom: solid 1px #ccc;
  overflow: hidden;
  display: block;
}

.coach_staff .sub_ttl_inner .coach_staff_area:last-child {
  border-bottom: none;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview {
  display: table-cell;
  vertical-align: top;
  display: block;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview img {
  width: auto;
  max-height: 26px;
  margin: 0 auto;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview .name {
  margin-top: 10px;
  font-size: 4rem;
  font-weight: lighter;
  line-height: 1.4;
  text-align: center;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview .name span {
  display: inline-block;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview .spell {
  text-align: center;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview h5 {
  margin: 20px 0 10px;
  padding: 2px 0 2px 5px;
  background-color: #CCC;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview ul li {
  letter-spacing: -0.05px;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview ul li span {
  display: inline-block;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview .comment {
  margin-top: 20px;
  text-align: center;
}

.coach_staff .sub_ttl_inner .coach_staff_area .overview .comment span {
  display: inline-block;
}

.coach_staff .sub_ttl_inner .coach_staff_area .staff_photo {
  vertical-align: top;
  padding: 20px 80px;
  display: block;
}


/*------------------------------------------*/
/*flow
/*------------------------------------------*/
.flow {
  padding: 0 30px;
}

.flow img {
  max-width: 696px;
  margin: 0 auto;
}

/*------------------------------------------*/
/*l_footer
/*------------------------------------------*/
.l_footer {
  width: 100%;
}

.l_footer .footer_inner {
  margin: 0 auto;
  padding: 15px;
}

.l_footer .target_store,
.l_footer .other_store {
  margin-top: 30px;
}

.l_footer a {
  margin: 0 auto;
  display: block;
}

.l_footer .target_store a:nth-child(n+2),
.l_footer .other_store a {
  margin-top: 20px;
}

.l_footer .other_store_ttl {
  padding: 0 40px;
  box-sizing: border-box;
}

.l_footer .target_store_ttl {
  max-width: 900px;
  margin: 0 auto;
}

.l_footer .ttl_japanarea {
  margin: 30px auto 0;
  padding: 0 100px;
  box-sizing: border-box;
}

.l_footer .ttl_japanarea img {
  max-width: 300px;
  margin: 0 auto;
}

.l_footer .other_store_ttl {
  max-width: 524px;
  margin: 0 auto;
}

.l_footer .footer_logo {
  padding: 100px 50px;
}

.l_footer .footer_logo img {
  max-width: 300px;
  margin: 0 auto;
}

.l_footer_bottom {
  width: 100%;
}

.l_footer_bottom .copyright {
  padding: 5px 0;
  color: #fff;
  background: #004097;
  text-align: center;
  font-size: 1.2rem
}

/*------------------------------------------*/
/*page_top_button
/*------------------------------------------*/
#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 70%;
	font-weight:800;
}

#page-top a {
	background: #fff;
  opacity: 0.5;
	text-decoration: none;
	color: #333;
	width: 80px;
	padding: 20px 0;
	text-align: center;
	display: block;
  border: solid 1px #777;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

#page-top a:hover {
	text-decoration: none;
  opacity: 0.3;
}

/*======================================================================*/
/*for tablet
/*======================================================================*/
@media screen and (min-width: 600px) {

  .coach_staff .sub_ttl_inner .coach_staff_area {
    margin: 0 auto;
    padding: 30px 0;
    border-bottom: solid 1px #ccc;
    overflow: hidden;
    display: table;
  }

  .coach_staff .sub_ttl_inner .coach_staff_area:last-child {
    border-bottom: none;
  }

  .coach_staff .sub_ttl_inner .coach_staff_area .overview {
    width: 68%;
    display: table-cell;
    vertical-align: top;
  }

  .coach_staff .sub_ttl_inner .coach_staff_area .overview img {
    width: auto;
    max-height: 26px;
    margin: 0;
  }

  .coach_staff .sub_ttl_inner .coach_staff_area .overview .name {
    margin-top: 10px;
    font-size: 5rem;
    font-weight: lighter;
    text-align: left;
  }

  .coach_staff .sub_ttl_inner .coach_staff_area .overview .spell {
    text-align: left;
  }

  .coach_staff .sub_ttl_inner .coach_staff_area .overview h5 {
    margin: 20px 0 10px;
    padding: 2px 0 2px 5px;
    background-color: #CCC;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
  }

  .coach_staff .sub_ttl_inner .coach_staff_area .overview ul li span {
    display: inline-block;
  }

  .coach_staff .sub_ttl_inner .coach_staff_area .overview .comment {
    margin-top: 20px;
    text-align: left;
  }

  .coach_staff .sub_ttl_inner .coach_staff_area .staff_photo {
    padding: 0 0 0 60px;
    display: table-cell;
    vertical-align: top;
  }

}


/*======================================================================*/
/*for pc
/*======================================================================*/
@media screen and (min-width: 937px) {
  /*======================================================================*/
  /*Module
  /*======================================================================*/
  .sp {
    display: none !important;
  }

  .pc {
    display: block !important;
  }
  /*-------------------------------------------*/
  /*l_header
  /*-------------------------------------------*/
  .l_header .main_ttl {
    max-width: 980px;
    margin: 0 auto;
  }


  /*------------------------------------------*/
  /*contents
  /*------------------------------------------*/
  .contents_inner {
    padding: 100px 15px;
  }

  .contents_inner .contents_ttl {
    max-width: 934px;
  }

  .contents_inner .cam .cam_contents01,
  .contents_inner .cam .cam_contents02,
  .contents_inner .cam .cam_contents03 {
    max-width: 980px;
    margin: 70px auto 0;
  }

  .ex_cont .contents_inner {
    padding: 100px 15px;
  }


  /*------------------------------------------*/
  /*sub_contents
  /*------------------------------------------*/
  .sub_ttl_inner {
    width: 980px;
    margin: 0 auto;
    overflow: hidden;
  }

  .chara .sub_ttl_inner h3,
  .voice .sub_ttl_inner h3,
  .coach_staff .sub_ttl_inner h3 {
    max-width: 920px;
  }

  .chara .sub_ttl_inner .wrap {
    margin-top: 50px;
  }

  .chara .sub_ttl_inner .photo {
    margin: 0;
    padding: 0;
  }

  .chara .sub_ttl_inner h4 {
    font-size: 1.7rem;
  }

  .chara .sub_ttl_inner .sentence {
    max-width: 680px;
    margin: 0;
    padding: 0;
    font-size: 1.4rem;
  }

  .chara .sub_ttl_inner .sentence p {
    line-height: 2;
  }

  .chara .pad_50_0,
  .voice .pad_50_0,
  .coach_staff .pad_50_0 {
    padding: 50px 0;
  }

  .voice .sub_ttl_inner img {
    max-width: 920px;
    margin: 0 auto;
  }


  /*------------------------------------------*/
  /*flow
  /*------------------------------------------*/
  .flow {
    margin-top: 50px;
  }


  /*------------------------------------------*/
  /*l_footer
  /*------------------------------------------*/
  .l_footer .target_store,
  .l_footer .other_store {
    margin-top: 60px;
  }

  .l_footer .ttl_japanarea {
    margin: 50px auto 0;
  }

  .l_footer a {
    max-width: 920px;
    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    transition: all .4s;
  }

  .l_footer a:hover {
    opacity: 0.6;
  }

  .l_footer .target_store a:nth-child(n+2),
  .l_footer .other_store a {
    margin-top: 30px;
  }

  .l_footer .footer_logo {
    padding: 200px 50px;
  }
