/*========= Smart ==========*/
@media screen and (max-width:460px){


* {
    font-family: serif, 'Noto Serif JP', sans-serif;
}

body {
	line-height: 2.0;
	margin: 0;
	color: #331907;
}
img{
max-width: 100%;
height: auto;
width /***/:auto;　
}

h1 {
	margin-top: 0;
	font-size: 10px;
	font-weight: normal;
}

/* レイアウト */
.main {
	width: 100%;
	margin: 0 auto;
	padding: 15px;
	box-sizing: border-box;
}
#header {
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	background: #f6f4f2;
	text-align: center;
	padding: 10px 0 0 0;
}
#footer {
	width: 100%;
	margin: 0 auto;
	padding: 15px;
	background: #f6f4f2;
	box-sizing: border-box;
}

#header2 {
	display: none; 
}
#header3 {
	display: none; 
}
.phone_none {
	display: none; 
}

#page_ttl {
	margin: 10px 20px 0 20px;
	background-image: url("../img/bg.jpg");
	padding: 10px 0;
	text-align: center;
	box-sizing: border-box;
	font-size: 28px;
}
/* 現在地 */
.now_link {
	width: 100%;
	background: #f6f4f2;
	box-sizing: border-box;
	padding: 5px 10px;
	margin-top: 10px;
}
.now_link2 {
	font-size: 12px;
}
.now_link2 a {
	color: #333;
}

/* 横幅調整 */
.full-width {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}

/* フォント */
.emp {
	font-weight: bold;
}

.emp2 {
	font-weight: bold;
	font-size: 20px;
}
.font_big_center {
	font-weight: bold;
	font-size: 20px;
	text-align: center;
}
.font_12 {
	font-size: 12px;
}
.font_14 {
	font-size: 14px;
}
.font_16 {
	font-size: 16px;
}
.font_20 {
	font-size: 20px;
}
/* タイトル文章 */
.ttl_font {
	font-size: 18px;
	padding: 30px 0 5px 20px;
	color: #222;
}
.ttl_font2 {
	font-size: 27px;
	padding: 10px 20px;
	color: #222;
}

.f_right_main {
	display: none; 
}
/* 左右 */

.box_left_main {
	font-size: 12px;
}
.box_right_main {
	font-size: 12px;
}

.box_left_con {
	font-size: 12px;
}
.box_right_con {
	font-size: 12px;
}

/* 強制改行 */
.css-br::after {
  content: "\A" ;
  white-space: pre;
}

/* タイトルレイアウト */
.qua_ttl {
	color: #382620;
	font-weight: bold;
	font-size: 18px;
	margin-top: 20px;
}
.ttl_con {
	text-align: center;
	padding-bottom: 10px;
}
/* メインサブタイトル */
.main_sub {
	box-sizing: border-box;
	background: #f6f4f2;
	padding: 10px 20px;
	width: 100%;
}

.vertical {
	font-size: 20px;
	padding: 15px 0;
	margin: 0 auto;
	background: #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.main_sub_ttl {
	font-size: 24px;
	text-align: center;
}

/* 詳しくはこちら */
.btn-more {
	position: relative;
	display: inline-block;
	padding: 0.4em 1.5em;
	text-decoration: none;
	color: #FFF;
	background: #bca091;
	transition: .4s;
	border-radius: 5px;
	margin: 5px 0;
}

.btn-more a {
	color: #FFF;
	text-decoration: none;
}

.btn-more:hover {
	background: #cdbab0;
	color: #fff;
	text-decoration: none;
}

/* アコーディオン */

.menu ul {
	list-style: none;
	text-align: left;
	padding-left: 20px;

}
.menu {
	list-style: none;
	text-align: left;
	padding-left: 0px;
}


.menu__item {
  background: #BCA091;
  color: #fff;
  cursor: pointer;
  display: block;
  margin-bottom: 1px;
}
.menu__item__link {
  color: #fff;
  display: block;
  line-height: 40px;
  padding: 0 1rem;
  position: relative;
	text-decoration: none;
}
.menu__item__link:after {
  background: #382620;
  content: '＋';
  display: block;
  line-height: 40px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 40px;
}
.menu__item__link.on:after {
  content: '−';
}
 
.submenu {
  background: #F6F2F4;
  display: none;
}

.submenu__item {
  background: #F6F2F4;
  color: #222;
	padding: 10px 20px 10px 0;
}

/* 1行文字制限 */
.ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	box-sizing: border-box;
}

/* 水平メニュー */
.snip1198 {
	padding-left: 0;
}
/*料金表*/
.table_ttl {
	width: 100%;
	box-sizing: border-box;
	padding: 5px 10px;
	text-align: center;
	background: #382620;
	color: #FFF;
}

/* ケアプログラム料金表 */
.table01 th {
        display: none;
}
.table01 td {
        display: block;
	font-size: 12px;
}
.table01 td:nth-child(1) {
        margin-top:10px;
	padding: 5px 0;
        background-color: #F6F2F4;
	font-weight: bold;
	font-size: 16px;
}
.table01 td:nth-child(2):before {
        content: '時間(初診)：';
}
.table01 td:nth-child(3):before {
        content: '料金(円)：';
}
.table01 td:nth-child(4):before {
        content: '';
}

/* ケアプログラム料金表オプション */
.table02 th {
        display: none;
}
.table02 td {
        display: block;
	font-size: 12px;
}
.table02 td:nth-child(1) {
        margin-top:10px;
	padding: 5px 0;
        background-color: #F6F2F4;
	font-weight: bold;
	font-size: 16px;
}
.table02 td:nth-child(1):before {
        content: '【オプション】';
}
.table02 td:nth-child(2):before {
        content: '時間：';
}
.table02 td:nth-child(3):before {
        content: '料金(円)：';
}
.table02 td:nth-child(4):before {
        content: '';
}

/* トレーニングプログラム料金表 */
.table03 th {
        display: none;
}
.table03 td {
        display: block;
	font-size: 12px;
}
.table03 td:nth-child(1) {
        margin-top:10px;
	padding: 5px 0;
        background-color: #F6F2F4;
	font-weight: bold;
	font-size: 16px;
}
.table03 td:nth-child(1):before {
        content: 'コース：';
}
.table03 td:nth-child(2):before {
        content: '30分(円)：';
}
.table03 td:nth-child(3):before {
        content: '60分(円)：';
}
.table03 td:nth-child(4):before {
        content: '人数：';
}
.table03 td:nth-child(5):before {
        content: '';
}

/* パーソナルトレーニング回数券 */
.table04 {
	width: 100%;
}
.table04 th {
        display: none;
}
.table04 td {
        display: block;
	font-size: 12px;
}
.table04 td:nth-child(1) {
        margin-top:10px;
	padding: 5px 0;
        background-color: #F6F2F4;
	font-weight: bold;
	font-size: 16px;
}
.table04 td:nth-child(1):before {
        content: '回数：';
}
.table04 td:nth-child(2):before {
        content: '１回あたり(円)：';
}
.table04 td:nth-child(3):before {
        content: 'トータル(円)：';
}
.table04 td:nth-child(4):before {
        content: '分割払い(8回)：';
}
.table04 td:nth-child(5):before {
        content: '推奨利用ペース：';
}
/* ペアトレーニング回数券 */
.table05 {
	width: 100%;
}
.table05 th {
        display: none;
}
.table05 td {
        display: block;
	font-size: 12px;
}
.table05 td:nth-child(1) {
        margin-top:10px;
	padding: 5px 0;
        background-color: #F6F2F4;
	font-weight: bold;
	font-size: 16px;
}
.table05 td:nth-child(1):before {
        content: '回数：';
}
.table05 td:nth-child(2):before {
        content: '１回1人あたり(円)：';
}
.table05 td:nth-child(3):before {
        content: 'トータル(円)：';
}
.table05 td:nth-child(4):before {
        content: '分割払い(8回)：';
}
.table05 td:nth-child(5):before {
        content: '推奨利用ペース：';
}
/* トレーニング＆ケアプロ */
.table06 {
	width: 100%;
}
.table06 th {
        display: none;
}
.table06 td {
        display: block;
	font-size: 12px;
}
.table06 td:nth-child(1) {
	padding: 5px 0;
        background-color: #F6F2F4;
	font-weight: bold;
	font-size: 16px;
}
.table06 td:nth-child(1):before {
        content: '';
}
.table06 td:nth-child(2):before {
        content: '初回体験90分(円)：';
}
.table06 td:nth-child(3):before {
        content: '90分(円)：';
}
.table06 td:nth-child(4):before {
        content: '120分(円)：';
}
.table06 td:nth-child(5):before {
        content: '内容：';
}
/* アメニティ */
.table07 {
	width: 100%;
}
.table07 th {
        display: none;
}
.table07 td {
        display: block;
	font-size: 12px;
}
.table07 td:nth-child(1) {
	padding: 5px 0;
        background-color: #F6F2F4;
	font-weight: bold;
	font-size: 16px;
}
.table07 td:nth-child(1):before {
        content: '';
}
.table07 td:nth-child(2):before {
        content: '金額(円)：';
}
.table07 td:nth-child(3):before {
        content: '内容：';
}


/* お悩み */
.contents01 {
	font-size: 12px;
}
.contents01_ttl {
	font-size: 14px;
}
.contents02 {
	font-size: 12px;
}
.contents03_ttl {
	font-size: 14px;
}
.contents03 {
	font-size: 12px;
}
.contents04 {
	font-size: 12px;
}

/* ACCESS */
.table_acc {
	width: 100%;
}
    /* セルをブロックとして表示 */
    .table_acc th {
        display: block;
	padding: 0 10px;
    }
    /* セルをブロックとして表示 */
    .table_acc td {
        display: block;
	padding: 0 10px;
    }
/* お客様の声 */
.voice_ttl01 {
	font-size: 20px;
	font-weight: bold;
}
.voice_ttl02 {
	font-size: 18px;
}
.voice_ttl03 {
	font-size: 12px;
}

/* フォーム */
.a_red_bold { color: red;}
.contact_table {
	width: 100%;
	box-sizing: border-box;
}
.contact_table th {
        display: block;
	font-size: 16px;
	text-align: left;
	box-sizing: border-box;
    }
.contact_table td {
        display: block;
	font-size: 12px;
    }
.contact_table2 {
	width: 100%;
	box-sizing: border-box;
}
.contact_table2 th {
        display: block;
	font-size: 14px;
	text-align: left;
	box-sizing: border-box;
    }
.contact_table2 td {
        display: block;
	font-size: 14px;
    }

.contact_box {
	background: #F6F2F4;
	padding: 10px 30px;
	font-size: 14px;
}

.button_con {
    font-size: 15px;
    font-weight: normal;
    padding: 10px 10px;
    background-color: #bca091;
    color: #FFF;
	border: 0;
	border-radius: 5px;
}

.button_con:hover {
    background-color: #cdbab0;
    color: #FFF;
}

.button2 {
    font-size: 15px;
    font-weight: normal;
    padding: 8px 10px;
    background-color: #FFF;
    color: #382620;
    border-color: #382620;
	border-radius: 5px;
}

.button2:hover {
    background-color: #cdbab0;
    color: #fff;
}

input.name { width: 100%; padding: 5px 10px; margin-bottom: 10px;
	box-sizing: border-box;
}
input.mail { width: 100%; padding: 5px 10px; margin-bottom: 10px;
	box-sizing: border-box;
}
textarea.remarks { width:100%; height: 120px; padding: 5px 10px; margin-bottom: 10px;
	box-sizing: border-box;
}

::placeholder {
  color: #BBB;
}

.con_back {
	text-align: center;
}

.con_back a {
	color: #cdbab0;
	text-decoration: none;
}
/* スケジュール */
.admin {
	font-size: 10px;
	text-align: right;
	color: #cdbab0;
}
.admin a {
	color: #cdbab0;
	text-decoration: none;
}
/* footer */
.btn-flat {
	position: relative;
	display: inline-block;
	padding: 0.5em 1.0em;
	text-decoration: none;
	color: #FFF;
	background: #bca091;
	transition: .4s;
	border-radius: 5px;
	margin: 5px 0;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
}
.btn-flat:hover {
	background: #cdbab0;
	color: #f6f4f2;
	text-decoration: none;
}

/* クリア属性 */
.clear {
	clear: both;
}  

.clear hr {
	display: none;
}

/* フッター */
.footer_contents {
	margin: 0 0 50px 0;
}

.footer_contents a {
	color: #888;
	text-decoration: none;
	font-size: 12px;
}

.footer_contents dl dd {
	float: left;
	font-size: 14px;
	margin: 0 0 0 20px; 
}

address {
	color: #AAA;
	text-align: center;
	font-size: 10px;
}
.copy {
	color: #AAA;
	text-align: center;
	font-size: 12px;
}

/* ページトップ */
#page-top {
    position: fixed;
    bottom: 40px;
    right: 20px;
}
#page-top a {
    background: #bca091;
    text-decoration: none;
    color: #fff;
    width: 50px;
    padding: 10px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    background: #cdbab0;
}
/* ナビスクロール */
.pnavi {
	position: fixed;
	top: 20px;
	left: 0;
	width: 50px;
	height: 50px;
	font-family: 'Encode Sans Condensed', sans-serif;
	font-weight: 300;
	letter-spacing: .03em;
	color: #382620;
	background: #382620;
	border-radius: 0 10px 10px 0;
	z-index: 100;
}

#nav-container {
  position: fixed;
  height: 100vh;
  width: 100%;
  pointer-events: none;
}
#nav-container .bg {
  position: absolute;
  top: -20px;
  left: 0;
  width: 100%;
  height: calc(100% );
  visibility: hidden;
  opacity: 0;
  transition: .3s;
  background: #000;
}
#nav-container:focus-within .bg {
  visibility: visible;
  opacity: .6;
}
#nav-container * {
  visibility: visible;
}

.button {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  border-radius: 0;
  height: 50px;
  width: 20px;
  cursor: pointer;
  pointer-events: auto;
  margin-left: 15px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
.icon-bar {
  display: block;
  width: 100%;
  height: 3px;
  background: #AAA;
  transition: .3s;
}
.icon-bar + .icon-bar {
  margin-top: 5px;
}

#nav-container:focus-within .button {
  pointer-events: none;
}
#nav-container:focus-within .icon-bar:nth-of-type(1) {
  transform: translate3d(0,8px,0) rotate(45deg);
}
#nav-container:focus-within .icon-bar:nth-of-type(2) {
  opacity: 0;
}
#nav-container:focus-within .icon-bar:nth-of-type(3) {
  transform: translate3d(0,-8px,0) rotate(-45deg);
}

#nav-content {
  margin-top: 50px;
  padding: 20px 0 20px 20px;
  width: 90%;
  max-width: 300px;
  position: absolute;
  top: 0;
  left: 0;
  height: calc(100% - 70px);
  background: #382620;
  pointer-events: auto;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  transform: translateX(-100%);
  transition: transform .3s;
  will-change: transform;
  contain: paint;
	border-radius: 0 10px 0 0;
}

#nav-content ul {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style: none;
}

#nav-content li a {
  padding: 10px 5px;
  display: block;
  text-transform: uppercase;
  transition: color .1s;
  text-decoration: none;
	color: #F6F2F4;
}

#nav-content li a:hover {
  color: #BF7497;
  text-decoration: none;
}

#nav-content li:not(.small) + .small {
  margin-top: auto;
}

#nav-container:focus-within #nav-content {
  transform: none;
}
/*========= Smart END ==========*/
}

