@CHARSET "utf-8";
/*------------------------------------------------------------------------------
	共通
------------------------------------------------------------------------------*/
html	{
	background-color: white;
	font-size: calc(112.5% + 0.25vw);
	height: 100%;
}

body	{
	background-color: #303030;
	color: #000;
	width: 100%;
	height: 100%;
	min-width: unset;
	-webkit-text-size-adjust: 100%;
	font-size: 1.3em;
}

img {
/* 	max-width: 100%;
	height: auto; */
}

ul, li	{
	list-style: none;
}

input, textarea, select	{
	font-size: 0.7rem;
}

dd {
	margin: 0 0 20px;
}

.full_screen {
	width: 100%;
	height: 100%;
}

.relative	{
	position: relative;
}

.wd_full {
	width: 100% !important;
}

.wd_half_left {
	width:calc(50% - 5px) !important;
	margin-right: 5px !important;
}
.wd_half_right {
	width:calc(50% - 5px) !important;
	margin-left: 5px !important;
}

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

.inline_block	{
	display: inline-block;
}

.error	{
	color: #fc2757;
}

.require_txt {
    color: #ce4360;
    font-size: 0.6rem;
}

input[type="button"]:focus {
	outline: 0;
}

.frame {
	padding: 10px;
}

.btn_lg {
	display: inline-block;
	padding: 8px 0;
	border: 0;
 	cursor: pointer;
	text-align: center;
	background-color: #091B29;
	color: white;
}

.btn_lg2 {
	font-size: 0.7rem;
	display: inline-block;
	padding: 10px 0;
	border: 0;
	text-align: center;
	color: white;
	-moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}

.btn_nippou {
	font-size: 0.7rem;
	display: inline-block;
    padding: 8px 5px;
    cursor: pointer;
    text-align: center;
    background-color: #eee;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    color: #df3b19;
    border: 1px solid #df3b19;
    position: absolute;
    top: 6px;
    right: 5px;
}

.caption h2 {
	color: #ccb224;
	position: relative;
    padding-left: 12px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: .01em;
    word-break: break-all;
    margin: 10px 5px;
}

.caption h2:before {
	content: "";
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: -10px;
	margin-top: -20px;
	border-radius: 50%;
	background-color: #eae3c0;
	opacity: .18;
}

.caption h2:after {
	content: "";
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 5px;
	margin-top: -20px;
	border-radius: 50%;
	background-color: #ffffff;
	opacity: .18;
}
/*------------------------------------------------------------------------------
	iOSでのデフォルトスタイルをリセット
------------------------------------------------------------------------------*/
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}
/*------------------------------------------------------------------------------
	DatePicker
------------------------------------------------------------------------------*/
.ui-widget {
	font-size: 0.7rem !important;
	z-index: 503 !important;
}
.ui-datepicker-calendar a.ui-state-default::after	{
	content: attr(data-item);
	display: block;
	font-size: 11px;
	line-height: 1;
	height: 11px;
	visibility: visible;
}

.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button	{
	font-size: 13px !important;
}

.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary	{
	font-weight: normal !important;
}

.ui-datepicker-year, .ui-datepicker-month {
	background: #fff;
}
/*------------------------------------------------------------------------------
	jquery ui
------------------------------------------------------------------------------*/
.ui-widget-header	{
	color: #FFF !important;
	font-weight: normal !important;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
	border: 1px solid #000 !important;
	background: #000!important;
	font-weight: normal!important;
	color: #FFF!important;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
	border: 1px solid #000 !important;
	background: #FFF !important;
	font-weight: normal !important;
	color: #000 !important;
}

.ui-widget-header {
	background: #000 !important;
}


.ui-widget {
	font-family: "Roboto", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", sans-serif !important;
}

.ui-dialog {
	width: 90% !important;
	height: 90% !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	margin: auto !important;
	z-index: 1002 !important;
}

.ui-dialog-buttonpane {
	display: none;
}
/*------------------------------------------------------------------------------
	フォーム
------------------------------------------------------------------------------*/
/* ラジオボタン */
.form_radio input[type="radio"] {
  display: none;
}
.form_radio input[type="radio"] + label{
  padding-left: 20px !important;
  position:relative;
  margin: 0 20px 7px 0;
}
.form_radio input[type="radio"] + label::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 50%;
}
.form_radio input[type="radio"]:checked + label::after{
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 9px;
  height: 9px;
  background: #000;
  border-radius: 50%;
}

/* チェックボックス */
.form_checkbox input[type="checkbox"] {
	display: none;
}

.form_checkbox input[type="checkbox"] + label {
	padding-left: 20px;
	margin: 0 20px 7px 0;
}

.form_checkbox input[type="checkbox"] + label:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 4px;
}

.form_checkbox input[type="checkbox"]:checked + label:after {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
}

.words-area {
	width: 100%;
	height: 50px;
	position: relative;
	display: block;
    border: 1px solid rgba(170,170,170,0.48);
}

.search-field {
	color: #ccb224;
	width: calc(110% - 60px);
	height: 100%;
	padding: 0 5px;
	border: 0;
	background-color: transparent;
	font-size: 16px;
	transform: scale(0.9);
	margin: 0 0 0 -5%;
}

.btn_search {
	width: 50px;
	height: 50px;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	padding: 0;
	margin: 0;
	border: 0;
	z-index: 1;
	background: #ddd;
}
/*------------------------------------------------------------------------------
	テーブル
------------------------------------------------------------------------------*/
.tb_custom_vm {
	font-size: 0.65rem;
}

.tb_custom_vm select, .tb_custom_vm input {
	font-size: 0.6rem;
}

.tb_custom_mp th {
	color: #000;
	background-color: #fff;
	border: none;
	border-bottom: 1px solid #000;
	font-size: 0.65rem;
}

.tb_custom_mp td {
	font-size: 0.6rem;
}

.tb_custom_mp input[type='button'] {
	color: #fff !important;
    background-color: #000 !important;
    font-size: 0.5rem;
    padding: 5px;
}

.tb_custom {
	font-size: 0.65rem;
}

.tb_custom_nb {
	font-size: 0.7rem;
}
/*------------------------------------------------------------------------------
	フォントサイズ
------------------------------------------------------------------------------*/
.fs_large {
	font-size: 0.8rem;
}

.fs_normal {
	font-size: 0.7rem;
}

.fs_small {
	font-size: 0.65rem;
}
/*------------------------------------------------------------------------------
	入力枠
------------------------------------------------------------------------------*/
.formWrap input:not(.btn_or):not([type="file"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]),
.formWrap textarea,
.formWrap select {
	background-color: #fff;
	border: 1px solid #ddd;
	padding: 5px 3px;
	border-radius: 4px;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box; 
}

.formWrap input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.formWrap select::-ms-expand {
	display: none;
}

.formWrap input:not(.btn_or):not([type="file"]):not([type="checkbox"]):not([type="button"]),
.formWrap textarea,
.formWrap select {
	font-size: 16px;
	transform: scale(0.9);
}

.formWrap select {
	padding: 0 2rem 0 0;
}

.formWrap .selectWrap {
	position: relative;
	display: inline-block;
}

.formWrap .selectWrap_auto {
	width: auto;
	position: relative;
	display: inline-block;
}

.formWrap .selectWrap::after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-bottom: solid 2px #333;
	border-right: solid 2px #333;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -4px;
	pointer-events: none;
}

.formWrap textarea {
	height: 250px;
	/*border: 1px solid #000;*/
	background-color: #F2F2F2;
}

.formWrap input[type=checkbox] {
	display: none;
}

.formWrap input[type=checkbox] + span {
	padding-left: 20px;
	position:relative;
	/*margin-right: 20px;*/
}
.formWrap input[type=checkbox] + span::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 12px;
	border: 1px solid #333;
}

.formWrap input[type=checkbox]:checked + span::after{
	content: "";
	display: block;
	position: absolute;
	top: -4px;
	left: 4px;
	width: 6px;
	height: 12px;
	transform: rotate(40deg);
	border-bottom: 3px solid #333;
	border-right: 3px solid #333;
}

.formWrap input[type=checkbox]:disabled + label::before {
	display: none;
}

.formWrap input[type=checkbox]:disabled + label {
	color:gray;
}

.formWrap input[type="radio"] {
  display: none;
}

.formWrap input[type="radio"] + span {
	padding-left: 15px;
	position:relative;
	/*margin-right: 20px;*/
}

.formWrap input[type="radio"] + span:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  border: 1px solid #000;
  border-radius: 50%;
}

.formWrap input[type="radio"]:checked + span {
  color: #000;
}

.formWrap input[type="radio"]:checked + span:after {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 6px;
  height: 6px;
  background: #000;
  border-radius: 50%;
}

.formWrap.formWrap_inline input:not(.btn_or):not([type="file"]):not([type="checkbox"]):not([type="button"]),
.formWrap.formWrap_inline textarea,
.formWrap.formWrap_inline select {
	display: inline-block;
}

.formWrap.formWrap_inline input:not(.btn_or):not([type="file"]):not([type="checkbox"]):not([type="button"]),
.formWrap.formWrap_inline  textarea,
.formWrap.formWrap_inline  select {
	width: auto;
}

.formWrap.formWrap_inline input.wd_180 {
	width: 180px !important;
}

.formWrap.formWrap_inline input.wd_380 {
	width: 380px !important;
}

.formWrap.formWrap_inline input.wd_440 {
	width: 440px !important;
}

.formWrap.formWrap_inline input.wd_590 {
	width: 590px !important;
}

.formWrap.formWrap_inline input.wd_640 {
	width: 640px !important;
}

.form_tb	{
	table-layout: fixed;
}

.form_tb th	{
	height: 55px;
	font-size: 14px;
	font-weight: bold;
	text-align: left;
}

.form_tb td	{
	height: 55px;
	font-size: 12px;
	font-weight: normal;
	text-align: left;
}
/*------------------------------------------------------------------------------
	ヘッダー
------------------------------------------------------------------------------*/
#header {
	width: 100%;
	height: 50px;
	background: #fff;
	position: relative;
	z-index: 1;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.5));
}

#header h1 {
	height: 100%;
}

#header h1 img {
	height: 40px;
}
/*------------------------------------------------------------------------------
	フッター
------------------------------------------------------------------------------*/
#footer {
	width: 100%;
	height: 50px;
	position: relative;
}

#footer_dummy {
	width: 100%;
	height: 100%;
	background-color: transparent;
}

#footer_fixed {
	width: 100%;
	height: 50px;
	color: #303030; 
	background-color: #eae3c0;
	position: fixed;
    bottom: 0;
    z-index: 100000;
    filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.6));
}

.footer_item {
	height: 100%;
	flex-grow: 1;
}

.footer_item > div {
	width: 45px;
	height: 45px;
	text-align: center;
}

.footer_item .icon {
	width: 100%;
	height: 30px;
	display: inline-block;
}

.footer_item .icon img {
	width: 25px;
	height: auto;
	margin: 3px 0 0;
}
.footer_item .text {
	width: 100%;
	height: 15px;
	text-align: center;
	font-size: 0.5rem;
}
/*------------------------------------------------------------------------------
	コンテンツ
------------------------------------------------------------------------------*/
#wrapper {
	background-color: #303030;
}

#content {
	max-width: 768px;
	margin: 0 auto;
	background-color: #303030;
}
/*------------------------------------------------------------------------------
	ログイン
------------------------------------------------------------------------------*/
.login_form {
	width: 80%;
	max-width: 350px;
    height: 170px;
    font-size: 0.9rem;
    padding: 10px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: #ff9541;
    -moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.login_bg2 {
	height: 140px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
/*------------------------------------------------------------------------------
	サイドメニュー
------------------------------------------------------------------------------*/
#overlay {
	width: 100%;
	height: 100%;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100001;
	background: rgba(0, 0, 0, 0.6);
}

#side_menu {
	width: 70%;
	height: 100%;
	max-width: 300px;
	font-size: 0.8rem;
	background-color: #fff;
	overflow-y: auto;
	display: none;
	position: fixed;
    top: 0;
    z-index: 100002;
    left: -70%;
}

#side_menu li {
	color: #d17030;
	padding: 10px;
	border-bottom: 1px solid rgba(209,112,48, .32);
}
/*------------------------------------------------------------------------------
	検索
------------------------------------------------------------------------------*/
#therapy_search {
	width: 100%;
	height: 100%;
	background-color: transparent;
	display: none;
	position: fixed;
    top: 0;
    left: 0;
    z-index: 100002;
}

#therapy_search .words-area {
	background-color: #fff;
}
/*------------------------------------------------------------------------------
	サムネイル 
------------------------------------------------------------------------------*/
.vimeo_thumbnail {
	overflow: hidden;
}
/*------------------------------------------------------------------------------
	ランキング
------------------------------------------------------------------------------*/
#ranking {
	font-size: 0.6rem;
	background-color: #fff;	
}

.ranking_image {
	padding: 5px 0;
}

.ranking_info {
	padding: 5px 0;
}

.ranking_info_title {
	font-size: 0.85rem;
	margin: 3px 0;
}

.ranking_info_name {
	font-size: 0.75rem;
}

.ranking_info_type2_title {
	color: #fff;
	background: #8f360b;
}
/*------------------------------------------------------------------------------
	 新着情報
------------------------------------------------------------------------------*/
#new {
	font-size: 0.6rem;
}

.new_info_item {
	font-size: 0.6rem;
}

.new_inro_row {
	width: 100%;
 	position: absolute;
	top: 0;
}

.content_svg {
	fill: #d66a0c;
}
/*------------------------------------------------------------------------------
	 閲覧した治療
------------------------------------------------------------------------------*/
.therapy_item {
	width: calc(50% - 2px); 
	margin: 1px;
	font-size: 0.5rem;
	background-color: #fff;
}

.therapy_item .ranking_info_title {
	font-size: 0.6rem !important;
}

.therapy_item .ranking_info_name {
	font-size: 0.5rem !important;
}
/*------------------------------------------------------------------------------
	 一番下のメニュー
------------------------------------------------------------------------------*/
#bottom_menu {
	font-size: 0.8rem;
	color: #fff;
}

#bottom_menu ul {
	background-color: rgba(255,255,255,.05);
}

#bottom_menu li {
	padding: 15px 10px;
	border-top: 1px solid rgba(170,170,170,0.48);
	text-align: center;
}
/*------------------------------------------------------------------------------
	 パンくずリスト
------------------------------------------------------------------------------*/
#pankuzu {
	font-size: 0.6rem;
	border-bottom: 1px solid rgba(170,170,170,0.48);
}

#pankuzu .separator {
	margin: 0 5px;
}
/*------------------------------------------------------------------------------
	 一覧ページ
------------------------------------------------------------------------------*/
#list_title_bg {
	width: 100%;
	height: 100px;
	background: #fff;
}

#list_title {
	color: #fff;
	width: 100%;
	height: 100%;
    position: relative;
    overflow: hidden;
	background: rgb(225,220,185);
	background: linear-gradient(90deg, rgba(225,220,185,0.8491771708683473) 15%, rgba(190,185,155,1) 50%, rgba(225,220,185,0.8463760504201681) 85%);
}

#list_title:before, #list_title:after {
	content: '';
    position: absolute;
    left: 50%;
    width: 50%;
    height: 1px;
    margin-left: -25%;
    background-color: #fff;
    opacity: .34;
    transition: all .8s ease;
    
}

#list_title:before {
	transform: rotate(45deg);
}

#list_title:after {
	transform: rotate(-45deg);
}

#list_title #title {
	font-size: 1.1rem;
}

#list_title #subtitle {
	font-size: 0.65rem;
	margin: 10px 0 0;
}

#list_order {
	border-bottom: 3px double rgba(170,170,170,0.48);
}

#list_order select {
	font-size: 16px;
	transform: scale(0.9);
	padding: 5px 5px 7px;
    border: 1px solid rgba(170,170,170,0.48);
    background: transparent;
    border-radius: 0;
}

.remove_button {
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	right: 0;
}
/*------------------------------------------------------------------------------
	 治療情報詳細
------------------------------------------------------------------------------*/
.therapy_info_item {
	width: calc(50% - 5px);
	font-size: 0.7rem;
	margin-bottom: 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

#therapy_info .left_item {
	margin-right: 5px;
}

#therapy_info .right_item {
	margin-left: 5px;
}

.therapy_info_item .title_normal, .therapy_info_item .title_small {
	width: 30%;
	margin-left: 10px;
	position: relative;
}

 .therapy_info_item .title_small {
 	font-size: 0.6rem !important;
 }

.therapy_info_item .value {
	color: #fff;
	width: calc(70% - 10px);
}

.therapy_info_item .title_normal:before, .therapy_info_item .title_small:before {
	content: "";
    width: 25px;
    height: 25px;
    position: absolute;
    top: -20%;
    left: -10px;
    border-radius: 50%;
    background-color: #eae3c0;
    opacity: .18;
}

.therapy_info_item .title_normal:after, .therapy_info_item .title_small:after {
	content: "";
    width: 25px;
    height: 25px;
    position: absolute;
    top: -20%;
    left: 0px;
    border-radius: 50%;
    background-color: #ffffff;
    opacity: .18;
}

.therapy_info_item .title_small:before, .therapy_info_item .title_small:after {
 	top: -30% !important;
}
 
.therapy_info_item .rank_image_wrap {
	width: 50%;
}
 
.therapy_info_item .rank_image {
	width: 90%;
 	margin: 0 auto;
}
 
.therapy_info_item .rank_level {
 	width: 50%;
 	margin-top: 3px;
}
 
#therapy_info_detail {
 	color: #000;
 	width: 100%;
 	font-size: 0.7rem;
 	padding: 5px;
 	background-color: #fff8e5;
 	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.therapy_info_detail_item {
	padding: 10px 0;
	border-bottom: 1px dashed #000;
}
 
.therapy_info_detail_item .title {
 	width: 30%;
}
 
 .therapy_info_detail_item .value {
 	width: calc(70% - 5px);
 	margin-left: 5px;
 }