/*---------------------------------------------------------------*/
/*=|||　基本　|||||||||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

img,
iframe {
  max-width: 100%;
  height: auto;
}

a[href^="tel:"] {
  pointer-events: auto;
  text-decoration: underline;
}

.pcnone { display: block; }
.spnone { display: none; }

.sp_nowrap {
  white-space: nowrap;
}
.sp_block {
  display: block;
}
.sp_center {
  text-align: center;
}

.font12rem { font-size: 1.2rem; }
.font14rem { font-size: 1.4rem; }
.font16rem { font-size: 1.6rem; }

.txtarea {
  margin-bottom: 10px;
}

#page-top {
    bottom: 80px;
}

#breadcrumbs > div {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    padding-bottom: 20px;
}

/* 2カラム */
.colLeft {
  float: none;
  margin-bottom: 10px;
}
.colRight {
  float: none;
  margin-left: 0;
  margin-bottom: 10px;
}
.colLeft img,
.colRight img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.colSize200,
.colSize300,
.colSize460,
.colSize560
{ width: 100%; }

.section_t1 .item_txt {
    padding-right: 10px;
}
.section_t1.r_img .item_txt {
    padding-left: 10px;
}

@media (max-width: 928px) {
    .section_t1 .item_txt {
	margin-right: calc((100% - 800px) / 2);
	margin-left: 50px;
	flex-shrink: 0;
	width: 400px;
    }
    .section_t1.r_img .item_txt {
	margin-left: calc((100% - 800px) / 2);
	margin-right: 50px;
    }
}
@media (max-width: 799px) {
    .section_t1 .item_txt {
	margin-right: calc((100% - 600px) / 2);
	margin-left: 50px;
	flex-shrink: 0;
	width: 300px;
    }
    .section_t1.r_img .item_txt {
	margin-left: calc((100% - 600px) / 2);
	margin-right: 30px;
    }
}
@media (max-width: 599px) {
    .section_t1 {
	display: block;
	padding: 0 10px;
    }
    .section_t1 .item_img {
	display: block;
	width: 100%;
	position: initial;
	text-align: center;
	padding-right: 0;
    }
    .section_t1 .item_txt,
    .section_t1.r_img .item_txt {
	display: block;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
    }
}


/* タイトル */
.title_main01 {
    font-size: 1.5rem;
    padding: 5px 10px;
    height: 100px;
    background-size: auto 25%;
    background-size: cover;
}

.title_sub01 {
    font-size: 1.75rem;
    letter-spacing: 2px;
}

a.link_t1 {
    max-width: 90%;
    font-size: 1.125rem;
    padding: 15px 20px;
}
a.link_t1::after {
    right: 10px;
}

.inpage_links li {
    display: inline-block;
    width: 45%;
    max-width: 275px;
    margin: 5px;
}
.inpage_links li a {
    width: 100%;
    padding: 15px 25px;
}
.inpage_links li a::after {
    left: 10px;
}

.tbl_t1 colgroup {
    display: none;
}
.tbl_t1 th {
    display: block;
    width: 100%;
    border: none;
}
.tbl_t1 td {
    display: block;
    width: 100%;
    border: none;
    border-bottom: 1px solid #c0c0c0;
}

.btn_t01 {
  display: block;
}
.btn_t01 a {
  display: block;
  padding: 10px;
  width: 100%;
  font-size: 1.8rem;
}

.anchor {
  display: block;
  padding-top: 80px;
  margin-top: -80px;
}

.contact_info .contact_list li {
    display: block;
    text-align: center;
}

ul.fl2_t1 li {
    float: none;
    width: 100%;
}

.fl3_t1 li {
    float: none;
    margin-right: 0;
    width: 100%;
}

.gmaps {
  position: relative;
  padding-bottom: 100%; // これが縦横比
  height: 0;
  overflow: hidden;
}
.gmaps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.youtube {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
.youtube iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}


/*---------------------------------------------------------------*/
/*=|||　レイアウト　|||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.mainWrap,
.mainWrapS {
    width: 100%;
    padding: 0 10px;
}


/*---------------------------------------------------------------*/
/*=|||　ヘッダ関連　|||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
#header {
    padding: 0;
}
#header .tbl {
    height: 80px;
}

#header .logo {
    width: calc(100% - 64px);
    vertical-align: middle;
    padding: 5px 0 5px 5px;
    height: 80px;
}
#header .logo .site_name {
    font-size: 1.375rem;
}
#header .logo .catch {
    font-size: 0.75rem;
}
#header .logo img {
    max-height: 80px;
    width: auto;
}

#header .contact {
    display: none;
}

#header .sp_menu {
    display: table-cell;
    text-align: right;
    vertical-align: middle;
    position: relative;
    width: 80px;
    height: 80px;
}
#header .sp_menu.fixed {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 9999;
    display: block;
}

#header .sp_menu button {
  border-color: transparent;
  background: transparent;
  cursor: pointer;
}

#header .sp_menu .hamburger {
    width: 64px;
    height: 64px;
    position: absolute;
    top: 8px;
    right: 16px;
    z-index: 100;
}
#header .sp_menu .hamburger_bar {
    display: block;
    width: 100%;
    height: 4px;
    position: absolute;
    right: 0;
    background: #000;
    transition: top 0.24s, transform 0.24s, opacity 0.24s;
}
#header .sp_menu .hamburger .menu_txt {
    display: block;
    width: 100%;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    font-weight: bold;
}

#header .sp_menu .hamburger_bar:nth-child(1) {
  top: 0;
}

#header .sp_menu .hamburger_bar:nth-child(2) {
  top: 20px;
  transform: translateY(-50%);
}

#header .sp_menu .hamburger_bar:nth-child(3) {
  top: 40px;
  transform: translateY(-100%);
}

#header .sp_menu .hamburger_bar.is_active:nth-child(1) {
    top: 40%;
    transform: translateY(-50%) rotate(135deg);
}

#header .sp_menu .hamburger_bar.is_active:nth-child(2) {
    transform: translate(50%, -50%);
    opacity: 0;
}

#header .sp_menu .hamburger_bar.is_active:nth-child(3) {
    top: 40%;
    transform: translateY(-50%) rotate(-135deg);
}

.js-menu {
    display: none;
    position: fixed;
    top: 80px;
    left: 0;
    z-index: 99;
    width: 100%;
    height: 100%;
    background: #222222;
    color: #ffffff;
    font-size: 1.125rem;
}
.js-menu .inner {
  overflow-y: scroll;
  height: 80%;
}

.js-menu a {
    text-decoration: none;
    display: block;
    padding: 12px 10px;
}

.js-menu .menu_close {
    margin: 0 auto;
}
.js-menu .menu_close p {
    text-align: center;
    text-decoration: underline;
    padding: 20px 0;
}

.js-menu ul {
    margin: 0;
}
.js-menu li {
    margin: 0;
    padding: 0;
    width: 100%;
    border-bottom: 1px #c0c0c0 solid;
}
.js-menu a {
    color: #ffffff;
}

.js-menu .other li {
    background: #606060;
}

.gnavi {
    display: none;
}


/*---------------------------------------------------------------*/
/*=|||　フッタ　|||||||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.footer,
.footer .mainWrap {
    padding: 0;
}

@media (max-width: 600px) {
    .footer_shop_info {
	padding: 30px 0;
    }
}

.shop_info .leftarea,
.shop_info .rightarea {
    float: none;
    width: 100%;
    padding: 0;
}

.footer .links {
    text-align: left;
    margin: 0 0 30px 0;
    padding: 0;
    background: #f5dae3;
    background: #303030;
    border-top: none;
}
.footer .links ul {
    display: block;
}
.footer .links li {
    display: block;
    border-top: 1px #d1d2d3 solid;
}
.footer .links li a {
    display: block;
    padding: 10px;
    color: #ffffff;
}

.footer .copyright {
    padding-bottom: 80px;
}


/*---------------------------------------------------------------*/
/*=|||　サブコンテンツ関連　|||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
#scroll_body {
    z-index: 0;
}


/*---------------------------------------------------------------*/
/*=|||　トップ関連　|||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.top_main_back .title_sub01 {
    font-size: 1.5rem;
    color: #ffffff;
}

.top_main_img .inner {
    width: 100%;
    height: 75vw;
}
.top_main_img .catch {
    min-width: 100%;
}
.top_main_img .catch p {
    letter-spacing: 2px;
    font-size: 1.5rem;
    left: calc(50% - 20px);
}

.top_news ul {
    width: 100%;
    padding: 0;
}
.top_news li {
    display: block;
}
.top_news .date {
    display: block;
    width: 100%;
    margin-bottom: 5px;
    padding: 0;
}
.top_news .info {
    display: block;
    width: 100%;
    padding: 0;
}


/*---------------------------------------------------------------*/
/*=|||　トレーナー紹介関連　|||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.trainer_photo_t1 li,
.trainer_photo_t2 li {
  max-width: 48.5%;
}
.trainer_photo_t1 li:nth-child(1) {
  float: right;
}

.trainer .name {
  font-size: 1.6rem;
}
.trainer .name span {
  font-size: 1.2rem;
}
.trainer .status {
  margin-top: 0;
  margin-bottom: 10px;
}
.trainer .status li {
  font-size: 1.2rem;
}

.trainer_catch {
  font-size: 1.4rem;
}

.trainer_profile > div > ul > li {
  float: none;
  width: 100%;
  height: auto;
  margin: 0 0 20px 0;
}

.trainer_profile .title {
  font-size: 1.6rem;
  font-weight: bold;
}

.trainer_profile .info {
  width: 100%;
}

.trainer_profile .fl2{
  width: 100%;
}
.trainer_profile .fl2 li {
  width: calc(100% - 1em);
  float: none;
  margin-right: 0;
}


/*---------------------------------------------------------------*/
/*=|||　フォーム関連　|||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.form_t1 colgroup {
    display: none;
}

.form_t1 select {
  display: block;
}
.form_t1 input[type="text"] {
  font-size: 1.0rem;
  padding: 10px 5px;
}
.form_t1 textarea {
  font-size: 1.0rem;
}
.form_t1 label {
    display: block;
    padding: 5px 0;
}

.form_t1 th,
.form_t1 td {
    display: block;
    width: 100%;
    border-top: none;
    border-left: none;
    border-right: none;
}
.form_t1 td {
    padding: 15px 10px;
}
.form_t1 .width70p,
.form_t1 .width90p {
  width: 100%;
}
.form_t1 .buttons {
  text-align: center;
}

.form_t1 .width25p,
.form_t1 .width50p,
.form_t1 .width70p,
.form_t1 .width75p,
.form_t1 .width90p {
  width: 100%;
}
.form_t1 .width10p {
  width: 25%;
}

.form_t1 .button_next {
  padding:15px 30px;
}


/*---------------------------------------------------------------*/
/*=|||　記事関連　|||||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
#textBody {
  padding: 10px 0 15px 0;
}

.prevnext .prev,
.prevnext .next {
  float: none;
  width: 100%;
}

.wp-pagenavi{
  font-size: 1.4rem;
}

