@charset "UTF-8";

#container{
	float:none;
}
#rightmain, #leftmain{
	background:#fff;
	padding:30px;
	width:670px !important;
	margin:0 2px 50px;
	box-shadow: 0 0px 2px #999;
	-moz-box-shadow: 0 0px 2px #999;
	-webkit-box-shadow: 0 0px 2px #999;
	overflow: hidden;
}
.profile{
	border-bottom:2px solid #dfdfdf;
	padding:0 10px 10px;
	overflow:hidden;
	position:relative;
	margin-bottom:40px;
}
.profile h2{
	color:#a5a5a5;
	font-size:14px;
	padding-right:250px;
}
.profile h3{
	font-size:18px;
	font-weight:bold;
	padding-right:250px;
}
.profile h3 span{
	color:#a5a5a5;
	font-size:12px;
	vertical-align:baseline;
	margin-left:5px;
}
.sns{
	position:absolute;
	bottom:10px;
	right:0px;
}
.photo{
	overflow:hidden;
	float:left;
}
#photo_loading{
	padding-left: 102px;
	padding-top: 150px;
	position: absolute;
}
.photo dl{
	margin-bottom:20px;
	overflow:hidden;
	float:left;
}
.photo dt{
	border:1px solid #dfdfdf;
	background: #fff;
	display: block;
	overflow: hidden;
	position: relative;
	width:233px;
	margin-bottom:2px;
	height: 319px;
}
.photo dt a {
	cursor: -webkit-zoom-in;
	position: absolute!important;
	background: #fff;
	overflow: hidden;
	margin: -2px 0 0 -1px;
	height: 321px;
	width: 235px;
	display: table;
}
.photo dt a img{
	float: left;
	display: none;
	margin: auto !important;
}
.photo dd{
	border:1px solid #dfdfdf!important;
	float:left;
	margin-right: 2px;
}
.photo dd a{
	width: 75px;
	height: 103px;
	display: block;
	overflow: hidden;
}
.reserve_btn{
	float:left;
	clear:both;
	width: 240px;
}
.reserve_btn img{
	width: 100%;
	height: auto;
}
.profile_data{
	float:right;
	width:400px;
	/*width: 325px;*/
	overflow:hidden;
}
/*
.profile_data tr{
	border-bottom:1px dotted #aeaeae;
}*/
.profile_data th{
	color:#a5a5a5;
	width:calc( 110px - 10px );
	vertical-align:middle;
	padding: 20px 0 20px 10px;
	text-align:left;
	font-size:12px;
	border: 1px solid #F5F3EF;
}
.profile_data td{
	padding: 20px 10px;
	text-align:left;
	font-size:12px;
	border: 1px solid #F5F3EF;
}
.border_top{
	border-top: 1px dotted #aeaeae;
}
.profile_data td p{
	color:#a5a5a5;
}
.style{
	clear:both;
	border-top:1px solid #f0f0f0;
	border-bottom:1px solid #f0f0f0;
	padding:20px 0;
	font-size:14px;
	font-weight:bold;
	text-align:center;
	margin-bottom:20px;
}
.style span{
	background:url(/images/ico_contents.png) no-repeat 0 -1px;
	padding-left:20px;
}
.style_list{
	width:670px;
	height:182px;
	margin-bottom:80px;
}
.style_list li{
	margin-right:10px;
	float:left;
	text-align:center;
	overflow:hidden;
	position:relative;
}
.style_list .style_photo{
	border-radius:4px;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	border:1px solid #dfdfdf;
	width:124px;
	height:176px;
}
.style_list .style_photo p{
	border:4px solid #fff;
	width:116px;
	height:168px;
	overflow: hidden;
	position: relative;
}
.style_list .frame:before{
	content: " ";
	position:absolute;
	top:0;
	left:0;
	width:126px;
	height:182px;
	display:block;
	background:url(/images/bg_frame_124.png) no-repeat;
}
.style_list .img{
	border:4px solid #fff;
	display: table-cell;
	vertical-align: middle;
	/*width:124px;
	height:174px;*/
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
    height: 100%;
    object-fit: cover;
}
.style_list li a{
	color:#fff;
	text-decoration:none;
	font-size:11px;
	text-align:left;
}
.style_list li a span{
	padding:5px;
	display:block;
}
.style_list li a span img{
	width:50px;
	margin:6px auto 2px;
	display:table;
	border:none;
}
.blog_icon, .check{
	border-top:1px solid #dfdfdf;
	border-bottom:1px solid #dfdfdf;
	padding:20px 0;
	font-size:14px;
	font-weight:bold;
	text-align:center;
	margin-bottom:20px;
	clear:both;
}
.check span{
	background:url(/images/ico_contents.png) no-repeat 0 -108px;
	padding:5px 0 5px 20px;
}
.blog_icon span{
	background:url(/images/ico_contents.png) no-repeat 0 -304px;
	padding:5px 0 5px 20px;
}
.style_list li .title{
	font-weight:bold;
	width:126px;
	height:40px;
	text-align:left;
}
.blog{
	overflow:hidden;
	padding:0 0 30px 0;
	margin-bottom:30px;
}
.blog_photo{
	border:1px solid #d3d3d3;
	float:left;
	margin-right:20px;
	text-align:center;
	text-align:center;
}
.blog div{
	width:380px;
	float:right;
}
.blog_photo span{
	border:4px solid #fff;
	background:#fff;
	display:block;
	width:260px;
	height: 190px;
	overflow: hidden;
}
.blog_title{
	font-size:18px;
	font-weight:bold;
	margin-bottom:15px;
	display:block;
	color:#0044cc;
}
.article{
	border-bottom:1px dotted #dfdfdf;
	margin-bottom:10px;
	padding-bottom:10px;
}
.blog li{
	float:left;
	font-size:11px;
}
.pv{
	background:url(/images/ico_sprites.png) no-repeat -22px -36px;
	padding:5px 0 0 25px;
	margin-right:4px;
}
.pv p{
	position: relative;
	background: #fff;
	border: 1px solid #c8c8c8;
	padding:0 3px;
}
.pv p:after,.pv p:before{
	right: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.pv p:after{
	border-color: rgba(255, 255, 255, 0);
	border-right-color: #fff;
	border-width: 3px;
	margin-top: -3px;
}
.pv p:before{
	border-color: rgba(200, 200, 200, 0);
	border-right-color: #c8c8c8;
	border-width: 4px;
	margin-top: -4px;
}
.entry{
	background:url(/images/ico_sprites.png) no-repeat -20px -15px;
	padding:6px 0 1px 25px;
}
.blog .entry{
	margin-right:15px;
}
.blog .staff{
	font-size:10px;
	border:1px solid #dfdfdf;
	margin-right:5px;
	overflow: hidden;
	width: 23px;
	height: 34px;
	position: relative;
}
.blog .staff img{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
    height: 100%;
    object-fit: cover;
}
.blog li.link{
	float:right;
}
.blog li a{
	display:block;
	width:103px;
	height:31px;
	text-indent:-9999px;
	background:url(/images/bt_blog_result.png) no-repeat;
}
/*side*/
h4{
	background:url(/images/bg_h4.png) no-repeat;
}
h4.side_title{
	width:280px;
	height:62px;
	text-align:center;
	line-height:50px;
	font-weight:bold;
	font-size:14px;
}
/*style*/
.staff_photo{
	float:left;
	margin-right:10px;
	text-align:center;
	border:1px solid #dfdfdf;
	width:83px;
	height: 120px;
	display: block;
	overflow: hidden;
}
.staff_photo:hover{
	opacity:0.7;
	transition:all 0.2s ease-out 0s;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity:0.7;
	-khtml-opacity: 0.7;
	zoom:1;
}
.staff_style{
	float:left;
	width:155px;
}
.staff_style:hover{
	background-position:138px -380px;
}
.staff_style span{
	color:#a5a5a5;
	font-size:11px;
}
.staff_style a{
	font-weight:bold;
	font-size:13px;
	display:block;
}
.side .style_title{
	padding-bottom:7px;
	margin-bottom:7px;
	border-bottom:1px solid #dfdfdf;
}
.side .style dd{
	font-size:12px;
	color:#a5a5a5;
}
/*style*/
/*blog*/
.side li p.photo{
	border:1px solid #dfdfdf;
	float:left;
	margin-right:11px;
	position:relative;
	width:93px;
	text-align:center;
}
.side li p.photo:hover{
	border:1px solid #709cff;
	opacity:0.7;
	transition:all 0.2s ease-out 0s;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity:0.7;
	-khtml-opacity: 0.7;
	zoom:1;
}
.side li p.photo span{
	position:absolute;
	width:22px;
	height:18px;
	background:#2e2e2e;
	color:#fff;
	font-weight:bold;
	font-size:10px;
	text-align:center;
	top:0;
	left:0;
	padding-top:4px;
}
.side .recommend{
	overflow:hidden;
}
.side .recommend dt{
	font-size:12px;
	font-weight:bold;
}
.side .recommend dd{
	float:left;
	font-size:10px;
}
.side .pv{
	background:url(/images/ico_sprites.png) no-repeat -22px -36px;
	padding:5px 0 0 25px;
	margin-right:4px;
}
.side .pv p{
	position: relative;
	background: #fff;
	border: 1px solid #c8c8c8;
	padding:0 3px;
}
.side .pv p:after, .side .pv p:before{
	right: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.side .pv p:after{
	border-color: rgba(255, 255, 255, 0);
	border-right-color: #fff;
	border-width: 3px;
	margin-top: -3px;
}
.side .pv p:before{
	border-color: rgba(200, 200, 200, 0);
	border-right-color: #c8c8c8;
	border-width: 4px;
	margin-top: -4px;
}
.side .recommend .entry{
	background:url(/images/ico_sprites.png) no-repeat -20px -15px;
	padding:6px 0 1px 25px;
}
/*staff*/
.side .voice_photo{
	float:left;
	margin-right:10px;
}
.side .voice_photo a{
	border:1px solid #dfdfdf;
	display:block;
	margin-bottom:5px;
	width: 78px;
}
.side .voice_photo a img{
	border:3px solid #fff;
}
.voice{
	position: relative;
	background: #ffffff;
	border: 1px solid #dfdfdf;
	float:left;
	width:135px;
	padding:5px;
	font-size:12px;
	border-radius:4px;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
}
.voice:after, .voice:before{
	right: 100%;
	top: 15%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.voice:after{
	border-color: rgba(255, 255, 255, 0);
	border-right-color: #ffffff;
	border-width: 8px;
	margin-top: -8px;
}
.voice:before{
	border-color: rgba(223, 223, 223, 0);
	border-right-color: #dfdfdf;
	border-width: 9px;
	margin-top: -9px;
}
.name{
	font-size:12px;
	font-weight:bold;
}
.name span{
	display:block;
	font-weight:normal;
	font-size:11px;
	color:#666;
}

#socialbuttons li{
	float:left;
	position: relative;
}
#socialbuttons li.google>*{
	position:absolute;
	top:0px;
	left:0px;
}
object{
	margin: 20px 0;
}
#staffblog{
	width: 400px;
	float: right;
	margin: 20px 0 10px;
}
#comment{
	clear: both;
	padding: 20px;
	line-height: 1.8;
}
#comment img{
	max-width: 100%;
}
/** NEW STAFF スケジュール **/
#staff_contents #schedule{
	width: 670px;
	position: relative;
}
#staff_contents #schedule tbody{
	width: 100%;
	display: inline-block;
}
#staff_contents #schedule #week{
	padding: 6px;
	display: block;
	font-size: 11px;
	margin-bottom: 50px;
	border: none;
}
#staff_contents .date_line th:nth-of-type(1),#staff_contents .date_line th:nth-of-type(1){
	width: 76px !important;
	height: 48px;
	display: block;
}
#staff_contents #schedule tr th,#staff_contents #schedule tr td{
	width: 75px;
	text-align: center;
	border: 1px solid #F5F3EF;
	background: #fff;
	height: 22px;
	vertical-align: middle;
	font-weight: bold;
	display: table-cell;
	padding: 0;
}
#staff_contents #schedule tr td span{
	margin: 0 auto;
}
#staff_contents #schedule tr.date_line th.Sat,#staff_contents #schedule tr td.Sat{
	background: rgb(223, 241, 254);
	color: #112c4d;
}
#staff_contents #schedule tr.date_line th.Sun,#staff_contents #schedule tr td.Sun{
	background: rgb(255, 231, 233);
	color: #9f114a;
}
#staff_contents #schedule tr td a{
	display: block;
	width: 90%;
	margin: 0 auto;
}
#staff_contents #schedule tr td a img{
	width: 100%;
	height: auto;
}
.staff_profile_base{
	overflow: hidden;
}
/* CALENDER */
.staff_detailcalender {
	margin: 0 1px 20px -1px;
	box-shadow: 0 1px 1px rgba(000,000,000,0.1);
	border-radius: 3px;
	overflow: hidden;
}
.staff_detailcalender table{
	width: 100%;
	table-layout: fixed;
	display: block;
	font-size: 11px;
	border: none;
}
.staff_detailcalender table thead,
.staff_detailcalender table tbody{
	width: calc( 100% - 1px );
	display: table;
}
.staff_detailcalender table thead tr th{
	background: #ff7884;
	padding: 10px 0;
	font-size: 14px;
}
.staff_detailcalender table thead tr th i{
	font-style: normal;
	display: block;
	color: #fff;
}
.staff_detailcalender table thead tr th em {
	display: block;
	color: #fff;
	font-size: 22px;
}
.staff_detailcalender table thead tr th span {
	color: #fff;
	font-size: 8px;
	margin-top: -6px;
	display: block;
}
.staff_detailcalender table tbody tr:last-child{
	border-bottom: none;
}
.staff_detailcalender table tr.week_day_calender{
	background: #ff7884;
}
.staff_detailcalender table tr.week_day_calender th{
	background: none!important;
	color: #fff;
}
.staff_detailcalender table th,
.staff_detailcalender table td{
	position: relative;
	width: 92px;
	text-align: center;
	border: none!important;
	height: 35px;
	vertical-align: middle;
	font-weight: bold;
	border-top: none;
	border-bottom: none;
}
.staff_detailcalender table td span{
	font-size: 14px;
	color: #ccc;
}
.staff_detailcalender table td a{
	display: block;
	line-height: 1;
	z-index: 9;
	position: relative;
}
.staff_detailcalender table td a:hover{
	text-decoration: none;
}
.staff_detailcalender table td.staff_holi span{
	color: #fff;
	display: block;
	font-size: 16px;
}
.staff_detailcalender table td.staff_holi::after,
.staff_detailcalender table td.staff_cats::after{
	content: '-';
	display: block;
	position: absolute;
	top: 10px;
	left: 0;
	right: 0;
	margin: 0 auto;
	color: #ccc;
	font-size: 8px;
}
.staff_detailcalender table td.staff_circle span{
	color: #666;
}
.staff_detailcalender table td.staff_circle::after{
	content: '　';
	display: block;
	width: 28px;
	height: 28px;
	border-radius: 14px;
	border:1px solid pink;
	position: absolute;
	top: 3px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.staff_detailcalender table td.staff_triangle::after {
    content: '△';
    display: block;
    width: 33px;
    height: 33px;
    position: absolute;
    top: -9px;
    left: 0;
    right: 0;
    margin: 0 auto;
    color: #ccc;
    font-size: 35px;
    font-weight: bold;
}
.staff_detailcalender table td.staff_triangle span{
	color: #666;
}
.staff_detailcalender table td.staff_cats span{
	color: #666;
}
#leftmain .staff_detailcalender table th.satday{
	background: rgb(223, 241, 254);
}
#leftmain .staff_detailcalender table th.sunday{
	background: rgb(255, 231, 233);
}
.staff_photo img,
.side .voice_photo a img,
.blog_photo span img{
	width: 100%!important;
    height: 100%;
    object-fit: cover;
}