body{
	word-wrap: break-word;
	margin:0px;
	padding:0px;
	font:14px/1.4 "メイリオ","Meiryo","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;
	color:#000000;
	}


header,h1,h2,h3,section,div,ul,li,p,span,label,select,input,textarea,table,tr,td,dl,dt,dd{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	}

.clear{
	clear:both;
	}

.clearfix:after{
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0;    
    clear: both; 
    visibility:hidden;
}
.clearfix{
    display: inline-block;
} 
/* Hides from IE Mac */
* html .clearfix{
    height: 1%;
}
.clearfix{
    display:block;
}
/* End Hack */



.pc{display:inline;}
.pc_tab{display:inline;}
.s_device{display:none;}
.tab{display:none;}
.sp{display:none;}


.enter_modal {
	width:400px;
	height:200px;
	margin:-120px 0 0 -200px;
	padding:20px;
	background: rgba(255,255,255,1);
	text-align:center;
	display:none;
	position:fixed;
	top:40%;
	left:50%;
	z-index:99999;
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.enter_modal img{
	margin: 10px auto;
}

.enter_modal .enter_wrap{
	width: 250px;
	margin: 10px auto;
	display: flex;
	justify-content : center;
	align-items: center;
}

.enter_modal .enter_wrap img.r18{
	width: 40px;
	height: 40px;
}

.enter_modal p {
	margin-bottom:20px;
	color: #434343;
}
.enter_modal a {
	margin: 5px 10px;
	display: inline-block;
	cursor:pointer;
	color: #434343;
	font-size: 25px;
}


/*header*/
header{
	width:100%;
	margin:0;
	padding:0;
	}

#h_text{
	position: absolute;
	top: 5px;
	right: 5px;
	font-size: 10px;
}

#h_wrapper{
	width:1200px;
	height:104px;
	margin:0 auto;
	padding:0;
	position:relative;
	top:0;
	left:0;
	}

#h_wrapper #logo{
	width: 186px;
	height: 35px;
	position: absolute;
	top: 32px;
	left: 100px;
	}

#h_wrapper #logo img{
	width: 186px;
	height: 35px;
	}

#h_wrapper .head_search{
	padding: 1px;
	position: absolute;
	top: 32px;
	left: 300px;
}

#h_wrapper .head_search input[type='text']{
	height: 30px;
	margin-right: 0;
	padding: 5px;
	border: #cbccce solid 1px;
	border-top-left-radius: 5px; 
	-webkit-top-left-border-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-bottom-left-radius: 5px; 
	-webkit-bottom-left-border-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	outline: none;
}

#h_wrapper .head_search input[type='text']:focus {
	outline: none;
	}

#h_wrapper .head_search select{
	height: 30px;
	padding: 5px;
	margin-left: -5px;
	background: #ebecf0;
	border: #cbccce solid 1px;
	border-top-right-radius: 5px; 
	-webkit-top-right-border-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-right-radius: 5px; 
	-webkit-bottom-right-border-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
	color: #434343;
	outline: none;
}

#h_wrapper .head_search option{
	outline: none;
	border: none;
}

#h_wrapper .head_search button{
	height: 30px;
	border: none;
	background-color: #ffffff;
	padding: 5px;
	border: #cbccce solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}


#nav{
	width: 100%;
	padding: 10px 0;
	background: #fc99ad;
}

#nav ul{
	width: 1200px;
	margin: auto;
	display: flex;
	justify-content: center;
}

#nav li{
	height: 55px;
	margin: 5px;
	font-size: 14px;
	line-height: 55px;
	letter-spacing: .1em;
	position: relative;
}

#nav li > a{
	padding: 0 20px 0 40px;
	background: #ffffff;
	text-align: center;
	color: #434343 !important;
	text-decoration: none;
	display: block;
	/* transition: .5s; */
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

#nav li > a:hover{
	color: #fc9aac !important;
	text-decoration: none;
	/* transition: .5s; */
}

#nav li .nav01::before{
	position:absolute;
	left:15px;
	top: 13px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/01.png) no-repeat;
	background-size:contain;
}
#nav li .nav02::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/02.png) no-repeat;
	background-size:contain;
}
#nav li .nav03::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/03.png) no-repeat;
	background-size:contain;
}
#nav li .nav04::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/04.png) no-repeat;
	background-size:contain;
}
#nav li .nav05::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/05.png) no-repeat;
	background-size:contain;
}
#nav li .nav06::before{
	position:absolute;
	left:15px;
	top: 13px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/06.png) no-repeat;
	background-size:contain;
}
#nav li .nav07::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/07.png) no-repeat;
	background-size:contain;
}
#nav li .nav08::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/08.png) no-repeat;
	background-size:contain;
}
#nav li .nav01:hover::before{
	position:absolute;
	left:15px;
	top: 13px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/01h.png) no-repeat;
	background-size:contain;
}
#nav li .nav02:hover::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/02h.png) no-repeat;
	background-size:contain;
}
#nav li .nav03:hover::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/03h.png) no-repeat;
	background-size:contain;
}
#nav li .nav04:hover::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/04h.png) no-repeat;
	background-size:contain;
}
#nav li .nav05:hover::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/05h.png) no-repeat;
	background-size:contain;
}
#nav li .nav06:hover::before{
	position:absolute;
	left:15px;
	top: 13px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/06h.png) no-repeat;
	background-size:contain;
}
#nav li .nav07:hover::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/07h.png) no-repeat;
	background-size:contain;
}
#nav li .nav08:hover::before{
	position:absolute;
	left:15px;
	top: 14px;
	content:"";
	display:inline-block;
	width: 25px;
	height: 25px;
	background:url(../images/common/08h.png) no-repeat;
	background-size:contain;
}

/*nav2*/
#nav2_box{
	display: none;
	width:100%;
	height:60px;
	position:fixed;
	top:-60px;
	background:rgba(255,255,255,1);
	z-index:10000;
	box-shadow: 0px 6px 12px -6px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0px 6px 12px -6px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 6px 12px -6px rgba(0,0,0,0.2);
	transition: .5s;
	}

#nav2_box.transform{
	top:0;
	}

#nav2{
	display:none;
	position:fixed;
	top:-100%;
	width:100%;
	height:100%;
	background:rgba(255,255,255,1);
	left: 0;
	z-index:9998;
	box-sizing:border-box;
	overflow: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	}

#nav2.transform{
	top:0;
	}

#nav2 ul{
	display:flex;
	flex-direction:column;
	align-content:center;
	width:100%;
	height:100%;
	position: absolute;
	top:0;
	right: 0px;
	bottom: 0px;
	left: 0px;
	margin:auto;
	}

#nav2 ul li{
	width:100%;
	margin:0.2em auto;
	text-align: left;
	padding:0.5em 0;
	}

#nav2 ul li:first-child{
	padding-top:60px;
	}

#nav2 ul li a{
	display: block; 
	color:#4f4f4f !important;
	}

#nav2 ul li a:hover{
	color:#000 !important;
	text-decoration:none;
	}

#nav_logo{
	width:100%;
	height:60px;
	padding-top:13px;
	text-align:center;
	z-index:9999;
	background:rgba(255,255,255,1);
	position: fixed;
	top:-60px;
	left:0;
     transition: .5s;
	}
	
#nav_logo.transform{
	top:0;
	}

#nav_logo img{
	width: 186px;
	height: 35px;
	}


/*開閉ボタン*/
#nav_toggle{
	display: block;
	width:60px;
	height:60px;
	position: fixed;
	top:-60px;
	right:0;
	z-index:10000;
	background:rgba(255,255,255,1);
	cursor:pointer;
	font-family: YuMincho,'Yu Mincho',serif;
	font-size:11px;
     transition: .5s;
	}
	
#nav_toggle.transform{
	top:0;
	}

#nav_toggle div {
	position: relative;
	}

#nav_toggle span{
	display: block;
	height:2px;
	background:#e7dbc3;
	position:absolute;
	width:30px;
	left:15px;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;	
	}
	
#nav_toggle span:nth-child(1){
	top:15px;
	}

#nav_toggle span:nth-child(2){
	top:27px;
	}

#nav_toggle span:nth-child(3){
	width:100%;
	background:none;
	top:38px;
	left:0;
	color:#e7dbc3;
	text-align:center;
	}

/*開閉ボタンopen時*/
.open #nav_toggle span{
	background:#e7dbc3;
	}

.open #nav_toggle span:nth-child(1) {
	top:21px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
	}

.open #nav_toggle span:nth-child(2) {
	top:21px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
	}

.open #nav_toggle span:nth-child(3){
	background:none;
	}

#sph_contact{
	display:none;
	}



/**********
main
**********/
#wrapper {
	width: 1200px;
	height: auto;
	margin: 45px auto 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

#main{
	width: 852px;
	margin: 10px 78px 10px 0;
}

#side{
	width: 250px;
	margin: 10px 20px 10px 0;
}

.main_wrap {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}



.title,
.rank_title{
	width: 100%;
	margin: 5px auto 20px;
	padding: 10px;
	color: #666;
	font-size: 20px;
	letter-spacing: .1em;
	border-left: #fc99ad solid 2px;
}

.page_title {
	width: 100%;
	margin-bottom: 30px;
	padding: 1em;
	display: block;
	color: #454545;
	text-align: center;
	border-top: #cccdd1 solid 1px;
	border-bottom: #cccdd1 solid 1px;
}

.page_head_img {
	width: 852px;
	margin: 30px auto;
}

.page_head_img img{
	width: 852px;
}

.more_btn{
	width: 300px;
	height: 40px;
	background: white;
	margin:10px auto;
	padding: 0;
	text-align: center;
	border: #fb938a solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.more_btn a{
	width: 100%;
	height: 100%;
	line-height: 40px;
	text-align: center;
	color: #fb938a;
	display: block;
	text-decoration: none;

}

.top_btn_margin{
	margin: 50px auto 100px;
}


/****************
	pager
****************/
.pager {
	width:100%;
	margin:50px auto 100px;
	}

.pager ul {
	width:100%;
	margin:10px auto;
	display: flex;
	justify-content: center;
	}

.pager ul li {
	width:	40px;
	height: 40px;
	margin: 0 1px;
	text-align:center;
	float: left;
	}

.pager ul li a {
	display: block;
	font-size: 16px;
	line-height: 38px;
	}

.pager ul li a {
	color: #1b1b1b;
	text-decoration: none;
	}

.pager ul li a.current {
	color: #f16f91;
	pointer-events: none;
	cursor: default !important;
	}

/**********
レーティング用
**********/
.star5_rating{
	position: relative;
	z-index: 0;
	display: inline-block;
	white-space: nowrap;
	color: #CCCCCC; /* グレーカラー 自由に設定化 */
	font-size: 30px;
	font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
		}

.star5_rating:before, .star5_rating:after{
	content: '★★★★★';
}

.star5_rating:after{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	overflow: hidden;
	white-space: nowrap;
	color: #e7597f; /* イエローカラー 自由に設定化 */
}
	

/**********
top_banner
**********/
.swiper{
	width: 100%;
	max-width: 1920px;
	min-width: 1200px;
	margin: 40px 0;
	position: relative;
	opacity: 0;
	animation: fadeIn .3s linear;
	animation-fill-mode: both;
}

@keyframes fadeIn{
	0%{opacity: 0;}
	90%{opacity: 0;}
	100%{opacity: 1;}
  }


.swiper-wrapper {
	/* wrapperのサイズを調整 */
	width: 100%;
	margin: 40px 0;
	padding: 45px 0;
	position: relative;
}

.swiper-slide {
	/* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
	color: #ffffff;
	width: 100%;
	height: 100%;
	text-align: center;
	text-align: center;
	overflow: hidden;
	transition: 0;
	background-color: #666;
	transform: scale(1);
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

.swiper-slide img{
	width: 100%;
	opacity: 0.4;
}

.swiper-slide-active{
	width: 1500px;
	height: 500px;
	opacity: 1;
	transform: scale(1.46); /* スライドの大きさ調整 */
	z-index: 100;
}

.swiper-slide-active img{
	opacity: 1;
}

.swiper-slide-next,
.swiper-slide-prev{
	z-index: 50;
}

/* 前への矢印 */
.swiper-button-prev {
	position: absolute;
	left: 20% !important;
	display: none;
	--swiper-navigation-color: #fff; 
}
/* 次への矢印 */
.swiper-button-next {
	right: 20% !important;
	display: none;
	--swiper-navigation-color: #fff; 
}
/* ページネーション */
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: -25px;
}


/**********
top_search
**********/
.top_accordion_box{
	height: 50px;
	margin-bottom: 30px;
	position: relative;
}

.ta_toggle {
	display: none;
}
.ta_Label {
	padding: 1em;
	display: block;
	color: #454545;
	text-align: center;
	border-top: #cccdd1 solid 1px;
	border-bottom: #cccdd1 solid 1px;
}

.ta_Label::before{
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #454545;
	border-right: 2px solid #454545;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 5px );
	right: 20px;
	transform: rotate(135deg);
}

.ta_Label::after{
	content:"";
	width: 852px;
	height: 100%;
	position: absolute;
	top:0;
	left: 0;
}

.ta_Label,
.ta_content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.ta_content {		/*本文*/
	height: 0;
	margin-left: 412px;
	margin-bottom:10px;
	background-color: #fff;
	overflow: hidden;
	z-index: 999;
}

.ta_content li{
	padding: 12px 0 10px 40px;
	font-size: 18px;
	/* line-height: 55px; */
	border: #ebecee solid 1px;
	border-top: none;
	position: relative;
}

.ta_content li::before{
	content:"";
	width: 10px;
	height: 10px;
	border-top: 1px solid #454545;
	border-right: 1px solid #454545;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 7px );
	left: 15px;
	transform: rotate(45deg);
}

.ta_content li a{
	width: 100%;
	height: 100%;
	color: #454545;
	text-decoration: none;
	display: block;
}

.ta_content li:hover{
	color: #fff;
	background: #fc9aac;
	text-decoration: none;
}

.ta_content li:hover::before{
	content:"";
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 7px );
	left: 15px;
	transform: rotate(45deg);
}

.ta_content li:hover a{
	color: #fff;
}

.ta_toggle:checked + .ta_Label + .ta_content {	/*開閉時*/
	width: 440px;
	height: auto;
	margin-left: 412px;
	margin-top: 0;
	transition: all .3s;
	position: absolute;
}
.ta_toggle:checked + .ta_Label {
	background-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(241, 241, 241, 1));
}
.ta_toggle:checked + .ta_Label::before {
	transform: rotate(-45deg) !important;
}
.ta_toggle:checked + .ta_Label::after {
	height: 50px;
}

.rank_select{
	width: 100%;
	margin: 0 auto 50px;
}

.rank_select select{
	width: 100%;
	padding: 1em;
	color: #454545;
	text-align: center;
	border-top: #cccdd1 solid 1px;
	border-bottom: #cccdd1 solid 1px;
	border-left: none;
	border-right: none;
	background-color: #fff;
	outline: none;
}

.rank_select option{
	font-size: 20px;
}

.rank_select option:first-child{
	font-size: 0px;
	display: none;
}


#therapist_ranking,
#shop_ranking,
#shop_ranking_review,
#newface_ranking,
#therapist_ranking1020,
#therapist_ranking30,
#therapist_ranking40{
	display: block;
    padding-top: 50px;
    margin-top: -50px;
}


/**********
top_therapist_ranking
**********/
.therapist_rank_list{
	width:852px;
	height:493px;
    margin: 20px auto 0;
	padding-left:0px;
	}

.therapist_rank_list2{
	margin-bottom: 40px;
	display: flex;
}

.therapist_rank_list .slick-next{
	position:absolute;
	right:-30px;
	margin-top:-15px;
	content:url(../images/common/next2.png);
	z-index: 100;
	}
	
.therapist_rank_list .slick-next:before{
	content:url(../images/common/next2.png);
	z-index: 100;
	}
	
.therapist_rank_list .slick-prev{
	position:absolute;
	left:-40px;
	margin-top:-15px;
	content:url(../images/common/prev2.png);
	z-index: 100;
	}
	
.therapist_rank_list .slick-prev:before{
	content:url(../images/common/prev2.png);
	z-index: 100;
	}


.therapist_rank {
	width: 273px !important;
	height: 493px;
	background: #fff;
	margin:0 16px 10px 0 !important;
	padding: 0;
	position: relative;
	border: #ebecee solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.therapist_rank:nth-child(3n){
	margin:0 0 10px 0;
}

.therapist_rank .rank_bn,
.therapist_rank .rank_bn1,
.therapist_rank .rank_bn2,
.therapist_rank .rank_bn3{
	width: 56px;
	height: 62px;
	text-align: center;
	font-size: 25px;
	line-height: 50px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 20px;
}


.therapist_rank .rank_bn{
	background:url(../images/common/no04.png) no-repeat;
}

.therapist_rank .rank_bn1{
	background:url(../images/common/no01.png) no-repeat;
}

.therapist_rank .rank_bn2{
	background:url(../images/common/no02.png) no-repeat;
}

.therapist_rank .rank_bn3{
	background:url(../images/common/no03.png) no-repeat;
}

.therapist_rank .therapist_img {
	width: 227px;
	height: 227px;
	margin: 25px auto;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	overflow: hidden;
	position: relative;
}

.therapist_rank .therapist_img img{
	width: 100%;
	height: 227px;
	object-fit: cover;
	margin-top: 113px;
	margin-left: 113px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.therapist_rank .name {
	width: 227px;
	height: 50px;
	color: #454545;
	text-align: center;
	font-size: 16px;
	line-height: 1.2em;
	display: flex;
	justify-content:center;
	align-items: center;
	overflow: hidden;
	position: absolute;
	left: 23px;
	top: 260px;
}

.therapist_rank .name a{
	color: #454545;
	text-decoration: none;
}

.therapist_rank .datetime {
	width: 227px;
	color: #fc99ad;
	text-align: center;
	font-size: 18px;
	position: absolute;
	left: 23px;
	top: 307px;
}

.therapist_rank .schedule {
	width: 227px;
	color: #80CBC4;
	text-align: center;
	font-size: 18px;
	position: absolute;
	left: 23px;
	top: 307px;
}

.therapist_rank .area {
	width: 200px;
	margin: 90px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 16px;
	position: relative;
}

.therapist_rank .area::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/area_l.png) no-repeat;
	background-size:contain;
}

.therapist_rank .industry {
	width: 200px;
	margin: 5px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 16px;
	position: relative;
}

.therapist_rank .industry::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/industry_l.png) no-repeat;
	background-size:contain;
}

.therapist_rank .shop_name {
	width: 200px;
	margin: 5px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 16px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: relative;
}

.therapist_rank .shop_name::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/shop_l.png) no-repeat;
	background-size:contain;
}

.therapist_rank .shop_name a{
	color: #454545;
	text-decoration: none;
}

.therapist_rank .sns_list{
	width: 160px;
	position: absolute;
	left: 57px;
	top: 430px;
	display: flex;
	justify-content: space-around;
}

.therapist_rank .sns_list img{
	width: 44px;
	height: 44px;
}

/**********
top_shop_ranking
**********/
.shop_rank_list{
	width:852px;
	height:493px;
    margin: 20px auto 0;
	padding-left:0px;
	}

.shop_rank_list2{
	margin-bottom: 40px;
	display: flex;
}

.shop_rank_list .slick-next{
	position:absolute;
	right:-30px;
	margin-top:-15px;
	content:url(../images/common/next2.png);
	z-index: 100;
	}
	
.shop_rank_list .slick-next:before{
	content:url(../images/common/next2.png);
	z-index: 100;
	}
	
.shop_rank_list .slick-prev{
	position:absolute;
	left:-40px;
	margin-top:-15px;
	content:url(../images/common/prev2.png);
	z-index: 100;
	}
	
.shop_rank_list .slick-prev:before{
	content:url(../images/common/prev2.png);
	z-index: 100;
	}

.shop_rank {
	width: 273px !important;
	height: 493px;
	background: #fff;
	margin:0 16px 10px 0 !important;;
	padding: 0;
	position: relative;
	border: #ebecee solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.shop_rank:nth-child(3n){
	margin:0 0 10px 0;
}

.shop_rank .rank_bn,
.shop_rank .rank_bn1,
.shop_rank .rank_bn2,
.shop_rank .rank_bn3{
	width: 56px;
	height: 62px;
	text-align: center;
	font-size: 25px;
	line-height: 50px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 20px;
}

.shop_rank .rank_bn{
	background:url(../images/common/no04.png) no-repeat;
}

.shop_rank .rank_bn1{
	background:url(../images/common/no01.png) no-repeat;
}

.shop_rank .rank_bn2{
	background:url(../images/common/no02.png) no-repeat;
}

.shop_rank .rank_bn3{
	background:url(../images/common/no03.png) no-repeat;
}

.shop_rank .shop_img {
	width: 227px;
	height: 227px;
	margin: 25px auto;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	overflow: hidden;
	position: relative;
}

.shop_rank .shop_img img{
	width: 100%;
	height: 227px;
	object-fit: cover;
	margin-top: 114px;
	margin-left: 114px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.shop_rank .name {
	width: 227px;
	height: 50px;
	color: #454545;
	text-align: center;
	font-size: 22px;
	line-height: 1em;
	display: flex;
	justify-content:center;
	align-items: center;
	position: absolute;
	left: 23px;
	top: 255px;
}

.shop_rank .name a{
	color: #454545;
	text-decoration: none;
}

.shop_rank .industry_name {
	width: 227px;
	color: #fc99ad;
	text-align: center;
	font-size: 18px;
	position: absolute;
	left: 23px;
	top: 307px;
}

.shop_rank .review {
	width: 227px;
	color: #fc99ad;
	text-align: center;
	font-size: 18px;
	position: absolute;
	left: 23px;
	top: 307px;
}

.shop_rank .review .star_rating_box {
	margin-right: 5px;
	position: relative; /* position: abosoluteの基準 */
	display: inline-block; /* 最大星数に応じてdivのwidthを伸縮させるため */
	font-size: 20px;
	font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
	letter-spacing: 0;
}

.shop_rank .review .star_rating_box::after {
	content: '★★★★★';
	color:#ccc;
}

.shop_rank .review .filled_star {
	position: absolute; /* .filled-starと.empty-starを重ねる */
	top: 0; /* 左上の基準位置に移動させる */
	overflow: hidden; /* widthが足りない時、はみ出た分は表示しない */
	white-space: nowrap; /* widthが足りない時に、折り返さないようにする。 */
	color: #ec6484;
}

.shop_rank .review .filled_star::after{
	content: '★★★★★';
}

.shop_rank .area {
	width: 200px;
	margin: 90px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 16px;
	position: relative;
}

.shop_rank .area::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/area_l.png) no-repeat;
	background-size:contain;
}

.shop_rank .industry {
	width: 200px;
	margin: 5px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 16px;
	position: relative;
}

.shop_rank .industry::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/industry_l.png) no-repeat;
	background-size:contain;
}

.shop_rank .timer {
	width: 200px;
	margin: 5px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 16px;
	position: relative;
}

.shop_rank .timer::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/timer_l.png) no-repeat;
	background-size:contain;
}

.shop_rank .shop_name {
	width: 200px;
	margin: 5px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 16px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: relative;
}

.shop_rank .shop_name::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/shop_l.png) no-repeat;
	background-size:contain;
}

.shop_rank .count {
	width: 200px;
	margin: 5px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: relative;
}

.shop_rank .count::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/count_l.png) no-repeat;
	background-size:contain;
}

.shop_rank .sns_list{
	width: 200px;
	position: absolute;
	left: 37px;
	top: 430px;
	display: flex;
	justify-content: space-around;
}

.shop_rank .sns_list img{
	width: 44px;
	height: 44px;
}

/**********
top_shop_news
**********/
.top_shop_news {
	width: 203px;
	height: 340px;
	margin:0 13px 1px 0;
	padding: 10px 0 0;
	position: relative;
}

.top_shop_news:nth-child(4n){
	margin:0 0 10px 0;
}

.top_shop_news .shop_img {
	width: 203px;
	height: 203px;
	margin: 0 auto 15px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	overflow: hidden;
	position: relative;
}

.top_shop_news .shop_img img{
	width: 100%;
	height: 203px;
	object-fit: cover;
	margin-top: 102px;
	margin-left: 102px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.top_shop_news .area {
	width: 100px;
	height: 30px;
	background: #fc99ad;
	color: #ffffff;
	text-align: center;
	font-size: 12px;
	line-height: 19px;
	position: absolute;
	right: 10px;
	top: 0px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}


.top_shop_news .area span {
	height: 30px;
	padding-left: 12px;
	line-height: 30px;
	display: inline-block;
	position: relative;
}

.top_shop_news .area::before{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	right: 10px;
	bottom: -5px;
	border-top: 5px solid #fc99ad;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
  }

.top_shop_news .area span::before {
	position:absolute;
	left:0;
	top: 8px;
	content:"";
	display:inline-block;
	width:9px;
	height:14px;
	background:url(../images/common/area_w.png) no-repeat;
	background-size:contain;
}

.top_shop_news .shop_name {
	width: 203px;
	padding:5px 5px 5px 25px;
	color: #686868;
	text-align: left;
	font-size: 11px;
	line-height: 17px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border: #cbccce solid 1px;
	position: relative;
}

.top_shop_news .shop_name a{
	color: #686868;
	text-decoration: none;
}

.top_shop_news .shop_name::before {
	position:absolute;
	left:5px;
	top: 4px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/shop_l.png) no-repeat;
	background-size:contain;
}

.top_shop_news .news_title {
	width: 203px;
	margin: 10px auto 0;
	color: #454545;
	text-align: left;
	font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top_shop_news .news_title a{
	color: #454545;
}

.top_shop_news .date {
	width: 203px;
	margin: 10px auto 0;
	color: #454545;
	text-align: left;
	font-size: 12px;
}


/**********
top_therapist
**********/
.therapist_set {
	width: 203px;
	height: 370px;
	background: white;
	margin:0 13px 10px 0;
	padding: 0;
	position: relative;
	border: #ebecee solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.therapist_set2 {
	margin-bottom:40px !important;
}

.therapist_set:nth-child(4n){
	margin:0 0 10px 0;
}

.therapist_set a {
	color: #434343;
	text-decoration: none;
}

.therapist_set .rank_bn,
.therapist_set .rank_bn1,
.therapist_set .rank_bn2,
.therapist_set .rank_bn3{
	width: 41px;
	height: 45px;
	text-align: center;
	font-size: 20px;
	line-height: 45px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 20px;
}

.therapist_set .rank_bn{
	background:url(../images/common/no04.png) no-repeat;
	background-size: 41px 45px;
}

.therapist_set .rank_bn1{
	background:url(../images/common/no01.png) no-repeat;
}

.therapist_set .rank_bn2{
	background:url(../images/common/no02.png) no-repeat;
}

.therapist_set .rank_bn3{
	background:url(../images/common/no03.png) no-repeat;
}

.therapist_set .therapist_img {
	width: 170px;
	height: 170px;
	margin: 15px auto;
	border-radius: 100px; 
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	overflow: hidden;
	position: relative;
}

.therapist_set .therapist_img img{
	width: 100%;
	height: 170px;
	object-fit: cover;
	margin-top: 85px;
	margin-left: 85px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.therapist_set .name {
	width: 193px;
	height: 36px;
	color: #454545;
	text-align: center;
	font-size: 14px;
	display: flex;
	justify-content:center;
	align-items: center;
	overflow: hidden;
	position: absolute;
	left: 7px;
	top: 187px;
	/* top: 195px; */
}

.therapist_set .datetime {
	width: 193px;
	color: #fc99ad;
	text-align: center;
	font-size: 12px;
	position: absolute;
	left: 7px;
	top: 225px;
}

.therapist_set .schedule {
	width: 193px;
	color: #80CBC4;
	text-align: center;
	font-size: 12px;
	position: absolute;
	left: 7px;
	top: 225px;
}

.therapist_set .area {
	width: 173px;
	margin: 65px auto 0;
	padding-left: 15px;
	color: #454545;
	text-align: left;
	font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: relative;
}

.therapist_set .area::before {
	position:absolute;
	left:0;
	top: -1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/area.png) no-repeat;
	background-size:contain;
}

.therapist_set .industry {
	width: 173px;
	margin: 3px auto 0;
	padding-left: 15px;
	color: #454545;
	text-align: left;
	font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: relative;
}

.therapist_set .industry::before {
	position:absolute;
	left:0;
	top: -1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/industry.png) no-repeat;
	background-size:contain;
}

.therapist_set .shop_name {
	width: 173px;
	margin: 3px auto 0;
	padding-left: 15px;
	color: #454545;
	text-align: left;
	font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: relative;
}

.therapist_set .shop_name::before {
	position:absolute;
	left:0;
	top: -1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/shop.png) no-repeat;
	background-size:contain;
}

.therapist_set .sns_list{
	width: 128px;
	position: absolute;
	left: 37px;
	top: 318px;
	display: flex;
	justify-content: space-around;
}

.therapist_set .sns_list img{
	width: 34px;
	height: 34px;
}


/**********
shop
**********/
.shop_set {
	width: 203px;
	height: 370px;
	background: white;
	margin:0 13px 10px 0;
	padding: 0;
	position: relative;
	border: #ebecee solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.shop_set2 {
	margin-bottom:40px !important;
}

.shop_set:nth-child(4n){
	margin:0 0 10px 0;
}

.shop_set a {
	color: #434343;
	text-decoration: none;
}

.shop_set .rank_bn,
.shop_set .rank_bn1,
.shop_set .rank_bn2,
.shop_set .rank_bn3{
	width: 41px;
	height: 45px;
	text-align: center;
	font-size: 20px;
	line-height: 45px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 20px;
}

.shop_set .rank_bn{
	background:url(../images/common/no04.png) no-repeat;
	background-size: 41px 45px;
}

.shop_set .rank_bn1{
	background:url(../images/common/no01.png) no-repeat;
}

.shop_set .rank_bn2{
	background:url(../images/common/no02.png) no-repeat;
}

.shop_set .rank_bn3{
	background:url(../images/common/no03.png) no-repeat;
}

.shop_set .shop_img {
	width: 170px;
	height: 170px;
	margin: 15px auto;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	overflow: hidden;
	position: relative;
}

.shop_set .shop_img img{
	width: 100%;
	height: 170px;
	object-fit: cover;
	margin-top: 85px;
	margin-left: 85px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.shop_set .name {
	width: 193px;
	height: 36px;
	color: #454545;
	text-align: center;
	font-size: 14px;
	display: flex;
	justify-content:center;
	align-items: center;
	overflow: hidden;
	position: absolute;
	left: 5px;
	top: 187px;
}

.shop_set .name a{
	color: #454545;
	text-decoration: none;
}

.shop_set .industry_name {
	width: 193px;
	color: #fc99ad;
	text-align: center;
	font-size: 14px;
	position: absolute;
	left: 5px;
	top: 225px;
}

.shop_set .review {
	width: 193px;
	color: #fc99ad;
	text-align: center;
	font-size: 14px;
	position: absolute;
	left: 5px;
	top: 226px;
}

.shop_set .review .star_rating_box {
	margin-right: 5px;
	position: relative; /* position: abosoluteの基準 */
	display: inline-block; /* 最大星数に応じてdivのwidthを伸縮させるため */
	font-size: 14px;
	font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
	letter-spacing: 0;
}

.shop_set .review .star_rating_box::after {
	content: '★★★★★';
	color:#ccc;
}

.shop_set .review .filled_star {
	position: absolute; /* .filled-starと.empty-starを重ねる */
	top: 0; /* 左上の基準位置に移動させる */
	overflow: hidden; /* widthが足りない時、はみ出た分は表示しない */
	white-space: nowrap; /* widthが足りない時に、折り返さないようにする。 */
	color: #ec6484;
}

.shop_set .review .filled_star::after{
	content: '★★★★★';
}

.shop_set .area {
	width: 180px;
	margin: 65px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 13px;
	position: relative;
}

.shop_set .area::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/area_l.png) no-repeat;
	background-size:contain;
}

.shop_set .industry {
	width: 180px;
	margin: 5px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 13px;
	position: relative;
}

.shop_set .industry::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/industry_l.png) no-repeat;
	background-size:contain;
}

.shop_set .timer {
	width: 180px;
	margin: 3px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 13px;
	position: relative;
}

.shop_set .timer::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/timer_l.png) no-repeat;
	background-size:contain;
}

.shop_set .shop_name {
	width: 180px;
	margin: 5px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: relative;
}

.shop_set .shop_name::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/shop_l.png) no-repeat;
	background-size:contain;
}

.shop_set .count {
	width: 180px;
	margin: 3px auto 0;
	padding-left: 18px;
	color: #454545;
	text-align: left;
	font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: relative;
}

.shop_set .count::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/count_l.png) no-repeat;
	background-size:contain;
}

.shop_set .sns_list{
	width: 128px;
	position: absolute;
	left: 37px;
	top: 318px;
	display: flex;
	justify-content: space-around;
}

.shop_set .sns_list img{
	width: 34px;
	height: 34px;
}


/**********
top_diagnose
**********/

.top_diagnose{
	width: 100%;
	margin: 20px auto 100px;
	text-align: center;
}


/**********
top_movie
**********/
.top_movie {
	width: 258px !important;
	height: 315px;
	background: #fff;
	margin:0 39px 10px 0;
	padding: 0;
	position: relative;
	border: #ebecee solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.top_movie:nth-child(3n){
	margin:0 0 10px 0;
}

.top_movie a{
	text-decoration: none;
}

.top_movie .movie_img {
	width: 256px;
	height: 144px;
	margin: 58px auto 0;
	overflow: hidden;
	position: relative;
}

.top_movie .movie_img a{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}

.top_movie .movie_img a::after{
	position:absolute;
	left:50%;
	top: 50%;
	margin: -30px 0 0 -30px;
	content:"";
	display:inline-block;
	width:61px;
	height:61px;
	background:url(../images/common/movie_play.png) no-repeat;
	background-size:contain;
}

.top_movie .movie_img img{
	width: 100%;
	height: 144px;
	object-fit: cover;
	margin-top: 72px;
	margin-left: 128px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.top_movie .area {
	width: 100px;
	height: 30px;
	background: #fc99ad;
	color: #ffffff;
	text-align: center;
	font-size: 12px;
	position: absolute;
	right: 15px;
	top: 15px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

.top_movie .area span {
	height: 30px;
	padding-left: 12px;
	line-height: 30px;
	display: inline-block;
	position: relative;
}

.top_movie .area span::before {
	position:absolute;
	left:0;
	top: 8px;
	content:"";
	display:inline-block;
	width:9px;
	height:14px;
	background:url(../images/common/area_w.png) no-repeat;
	background-size:contain;
}

.top_movie .shop_name {
	width: 236px;
	margin: 10px auto 0;
	padding:5px 5px 5px 25px;
	color: #686868;
	text-align: left;
	font-size: 11px;
	line-height: 17px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border: #cbccce solid 1px;
	position: relative;
}

.top_movie .shop_name a{
	color: #686868;
	text-decoration: none;
}

.top_movie .shop_name::before {
	position:absolute;
	left:5px;
	top: 4px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/shop_l.png) no-repeat;
	background-size:contain;
}

.top_movie .news_title {
	width: 236px;
	margin: 10px auto 0;
	color: #454545;
	text-align: left;
	font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top_movie .date {
	width: 236px;
	margin: 5px auto 0;
	color: #454545;
	text-align: left;
	font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/**********
top_column
**********/
.top_column {
	width: 203px;
	height: 340px;
	margin:0 13px 1px 0;
	padding: 10px 0 0;
	position: relative;
}

.top_column:nth-child(4n){
	margin:0 0 10px 0;
}

.top_column .column_img {
	width: 203px;
	height: 203px;
	margin: 0 auto 15px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	overflow: hidden;
	position: relative;
}

.top_column .column_img img{
	width: 100%;
	height: 203px;
	object-fit: cover;
	margin-top: 105px;
	margin-left: 105px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.top_column .new {
	width: 100px;
	height: 30px;
	background: #fc99ad;
	color: #ffffff;
	text-align: center;
	font-size: 12px;
	line-height: 19px;
	position: absolute;
	right: 10px;
	top: 0px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}


.top_column .new span {
	height: 30px;
	line-height: 30px;
	display: inline-block;
	position: relative;
}

.top_column .new::before{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	right: 10px;
	bottom: -5px;
	border-top: 5px solid #fc99ad;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
  }

.top_column .column_cat {
	width: 203px;
	padding:5px 5px 5px 25px;
	color: #686868;
	text-align: left;
	font-size: 11px;
	line-height: 17px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border: #cbccce solid 1px;
	position: relative;
}

.top_column .column_cat a{
	color: #686868;
	text-decoration: none;
}

.top_column .column_cat::before {
	position:absolute;
	left:5px;
	top: 4px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/column_l.png) no-repeat;
	background-size:contain;
}

.top_column .column_title {
	width: 203px;
	margin: 10px auto 0;
	color: #454545;
	text-align: left;
	font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top_column .column_title a{
	color: #454545;
}

.top_column .date {
	width: 203px;
	margin: 10px auto 0;
	color: #454545;
	text-align: left;
	font-size: 12px;
}


/**********
top_review
**********/
.top_review{
	width: 100%;
	background: #eeeeee;
}

.top_review .top_review_wrap{
	width: 1200px;
	margin: 0 auto;
	padding: 50px 0;
}


.top_review_list{
	width:1200px;
	height:230px;
    margin: 20px auto;
	padding-left:0px;
	}

.top_review_list .slick-next{
	position:absolute;
	right:-30px;
	margin-top:-15px;
	content:url(../images/common/next.png);
	z-index: 100;
	}
	
.top_review_list .slick-next:before{
	content:url(../images/common/next.png);
	z-index: 100;
	}
	
.top_review_list .slick-prev{
	position:absolute;
	left:-40px;
	margin-top:-15px;
	content:url(../images/common/prev.png);
	z-index: 100;
	}
	
.top_review_list .slick-prev:before{
	content:url(../images/common/prev.png);
	z-index: 100;
	}

.top_review_set {
	width: 593px !important;
	height: 230px !important;
	margin:0 14px 1px 0 !important;
	padding: 20px 0 0 0;
	background-color: #ffffff;
	position: relative;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.top_review_set a {
	text-decoration: none;
}

.top_review_set .review_img {
	width: 120px;
	height: 120px;
	margin: 0 0 0 20px;
	overflow: hidden;
	position: relative;
	border-radius: 75px; 
	-webkit-border-radius: 75px;
	-moz-border-radius: 75px;
}

.top_review_set .review_img img{
	width: 100%;
	margin-top: 60px;
	margin-left: 60px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.top_review_set .name {
	max-width: 260px;
	height: 30px;
	padding: 0 10px;
	background: #fc99ad;
	color: #ffffff;
	text-align: center;
	font-size: 18px;
	line-height: 32px;
	position: absolute;
	left: 150px;
	top: 20px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top_review_set .name a{
	color: #ffffff;
}

/* .top_review_set .review_rank {
	width: 383px;
	height: 20px;
	padding:0 5px;
	color: #e7597f;
	text-align: left;
	font-size: 11px;
	line-height: 17px;
	text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	right: 35px;
	top: 28px;
} */

.top_review_set .review_rank {
	width: 140px;
	color: #fc99ad;
	text-align: center;
	font-size: 16px;
	position: absolute;
	right: 35px;
	top: 23px;
}

.top_review_set .review_rank .star_rating_box {
	margin-right: 5px;
	position: relative; /* position: abosoluteの基準 */
	display: inline-block; /* 最大星数に応じてdivのwidthを伸縮させるため */
	font-size: 16px;
	font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
	letter-spacing: 0;
}

.top_review_set .review_rank .star_rating_box::after {
	content: '★★★★★';
	color:#ccc;
}

.top_review_set .review_rank .filled_star {
	position: absolute; /* .filled-starと.empty-starを重ねる */
	top: 0; /* 左上の基準位置に移動させる */
	overflow: hidden; /* widthが足りない時、はみ出た分は表示しない */
	white-space: nowrap; /* widthが足りない時に、折り返さないようにする。 */
	color: #ec6484;
}

.top_review_set .review_rank .filled_star::after{
	content: '★★★★★';
}

.top_review_set .area {
	width: 400px;
	color: #686868;
	text-align: left;
	font-size: 16px;
	line-height: 25px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	left: 150px;
	top: 65px;
}

.top_review_set .area span{
	padding:0 0 0 20px;
	display: inline-block;
	position: relative;
}

.top_review_set .area span::before {
	position:absolute;
	left:0px;
	top: 2px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/area_l.png) no-repeat;
	background-size:contain;
}

.top_review_set .shop_name {
	width: 400px;
	padding:0 5px;
	color: #686868;
	text-align: left;
	font-size: 16px;
	line-height: 17px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	left: 145px;
	top: 95px;
}

.top_review_set .shop_name a{
	color: #686868;
}

.top_review_set .shop_name span{
	padding:0 0 0 20px;
	display: inline-block;
	position: relative;
}

.top_review_set .shop_name span::before {
	position:absolute;
	left:0px;
	top: -2px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/shop_l.png) no-repeat;
	background-size:contain;
}

.top_review_set .review_name {
	width: 400px;
	padding:0 5px;
	color: #686868;
	text-align: left;
	font-size: 16px;
	line-height: 17px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	left: 145px;
	top: 120px;
}

.top_review_set .review_name span{
	padding:0 0 0 20px;
	display: inline-block;
	position: relative;
}

.top_review_set .review_name span::before {
	position:absolute;
	left:0px;
	top: -2px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/count_l.png) no-repeat;
	background-size:contain;
}

.top_review_set .review {
	width: 553px;
	height: 60px;
	color: #454545;
	text-align: left;
	font-size: 15px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	position: absolute;
	left: 20px;
	top: 160px;
}

.top_review_set .date {
	width: 190px;
	color: #454545;
	text-align: left;
	font-size: 12px;
	position: absolute;
	right: -70px;
	top: 110px;
	transform: rotate(90deg);
}


/**********
top_recommendation
**********/
.top_recommendation{
	width: 100%;
}

.top_recommendation .top_recommendation_wrap{
	width: 1200px;
	margin: 50px auto;
	padding: 50px 0;
}


.top_shop_list{
	width: 1200px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	}

.top_shop {
	width: 228px;
	height: 290px;
	margin:0 15px 20px 0;
	padding: 31px 0 0 0;
	position: relative;
	border: #cbccce solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.top_shop:nth-child(5n){
	margin:0 0 10px 0;
}

.top_shop .shop_img {
	width: 226px;
	height: 226px;
	margin: 0px;
	overflow: hidden;
	position: relative;
}

.top_shop .shop_img img{
	width: 226px;
	height: 226px;
	object-fit: cover;
	margin-top: 113px;
	margin-left: 113px;
	position: absolute;
	left: -50%;
	top: -50%;
}




/**********
therapist_search,
shop_search
**********/
#search_box{
	width: 852px;
	margin: 0px auto 20px;
	padding: 10px 0 8px;
	background:#fc9aac ;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

#search_box form{
	width: 787px;
	margin: 10px auto;
}

#search_box .select_wrap{
	width: 252px;
	height: 44px;
	margin: 5px 10px 5px 0;
	display: inline-block;
	position: relative;
}

#search_box .select_wrap:nth-child(3n){
	width: 252px;
	height: 44px;
	margin: 5px 0 5px 0;
}

#search_box .select_wrap:after {
	content: "";
	position: absolute;
	right: 30px;
	top: 19px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #d7d8da;
	border-left: 2px solid #d7d8da;
	transform: translateY(-50%) rotate(-135deg);
	font-size: 20px;
	pointer-events: none;
  }


#search_box .area::before,
#search_box .industry::before,
#search_box .select_age::before,
#search_box .scale::before,
#search_box .hmeter::before,
#search_box .price::before,
#search_box .schedule::before,
#search_box .newface::before{
	position:absolute;
	left:20px;
	top: 12px;
	content:"";
	display:inline-block;
	width:21px;
	height:21px;
	background-size:contain;
}

#search_box .area::before{background:url(../images/common/area_ll.png) no-repeat;}
#search_box .industry::before{background:url(../images/common/industry_ll.png) no-repeat;}
#search_box .select_age::before{background:url(../images/common/age_ll.png) no-repeat;}
#search_box .scale::before{background:url(../images/common/scale_ll.png) no-repeat;}
#search_box .hmeter::before{background:url(../images/common/hmeter_ll.png) no-repeat;}
#search_box .price::before{background:url(../images/common/price_ll.png) no-repeat;}
#search_box .schedule::before{background:url(../images/common/schedule_ll.png) no-repeat;}
#search_box .schedule::before{background:url(../images/common/schedule_ll.png) no-repeat;}
#search_box .newface::before{background:url(../images/common/newface_ll.png) no-repeat;}

#search_box select.therapist{
	width: 252px;
	height: 44px;
	padding-left:45px;
	border: none;
	outline: none;
	color: #434343;
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
/* ie対応 */
#search_box select.therapist::-ms-expand {
	display: none;
  }

#search_box  input.therapist{
	width: 252px;
	height: 44px;
	margin: 5px 0 5px 0;
	padding: 10px 0 10px 25px;
	border: none;
	outline: none;
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

#search_box input.therapist:focus {
	border: none;
	outline: none;
}

#search_box .select_wrap2{
	width: 386px;
	height: 44px;
	margin: 5px 10px 5px 0;
	display: inline-block;
	position: relative;
}

#search_box .select_wrap2:nth-child(2n){
	width: 386px;
	height: 44px;
	margin: 5px 0 5px 0;
}

#search_box .select_wrap2:after {
	content: "";
	position: absolute;
	right: 30px;
	top: 19px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #d7d8da;
	border-left: 2px solid #d7d8da;
	transform: translateY(-50%) rotate(-135deg);
	font-size: 20px;
	pointer-events: none;
  }

#search_box select.shop{
	width: 386px;
	height: 44px;
	padding-left:45px;
	border: none;
	outline: none;
	color: #434343;
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
/* ie対応 */
#search_box select.shop::-ms-expand {
	display: none;
  }

#search_box  input.shop{
	width: 386px;
	height: 44px;
	margin: 5px 0 5px 0;
	padding: 10px 0 10px 25px;
	border: none;
	outline: none;
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

#search_box input.shop:focus {
	border: none;
	outline: none;
}

#search_box  option{
	padding-left: -50px;
}

.btn_box{
	width: 787px;
	height: 50px;
	position: relative;
}

.btn_box .openModal{
	width: 130px;
	margin: 5px 0 5px 0;
	padding: 12px 0 12px 35px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
}

.btn_box .openModal::before {
	position:absolute;
	left:0;
	top: 7px;
	content:"";
	display:inline-block;
	width: 30px;
	height: 30px;
	background:url(../images/common/search.png) no-repeat;
	background-size:contain;
}

#search_box .modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.4);
}

#search_box .modal-content {
    background-color: #fff;
    margin: 10% auto 0;
	padding-bottom: 20px;
    width: 1000px;
	color: #434343;
	position: relative;
}

#search_box .modal-content .close {
	color: #fff;
	padding: 10px;
	font-size: 21px;
	font-weight: bold;
	text-align: right;
	position: absolute;
	top: -60px;
	right: 0px;		
	background-image: linear-gradient(270deg, rgba(253, 127, 150, 1) 14%, rgba(252, 154, 172, 1) 90%);
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	
}

#search_box .close:hover,
#search_box .close:focus {
	color: #fff;
	text-decoration: none; 
	cursor: pointer;
}


#search_box .modal-content .modal_title{
	width: 100%;
	padding: 20px 20px 20px 20px;
	font-size: 21px;
	border-bottom: #d7d8da solid 1px;
	position: relative;
}

#search_box .modal-content .modal_title #remove{
	position: absolute;
	right: 20px;
	cursor: pointer;
}

#search_box .modal-content h3{
	width: 100%;
	font-size: 23px;
	font-weight: bold;
	padding-left: 20px;
	margin: 25px auto 10px;
}

#search_box .modal-content .modal_check{
	padding: 20px 0px 20px 20px;
	display: flex;
	flex-wrap: wrap;
}

#search_box .modal-content .modal_check .label_box{
	width: 300px;
	margin:15px 20px 15px 0;
	font-size: 21px;
	display: inline-block;
}

#search_box .modal-content .modal_check .label_box:nth-child(3n+1){
	width: 300px;
	display: inline-block;
	margin:15px 20px 15px 40px;
}

#search_box .modal-content .modal_check .label_box:nth-child(3n){
	width: 300px;
	display: inline-block;
	margin:15px 0px;
}


#search_box .modal-content .modal_check  input[type="checkbox"]{
    display: none;
}

#search_box .modal-content .modal_check  input[type="checkbox"]+label{
    display: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding-left: 25px;
    padding-right: 10px;
}

#search_box .modal-content .modal_check  input[type="checkbox"]+label::before{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin-top: -12px;
    left: 0;
    top: 50%;
    border:#d7d8da solid 1px;
    background-color: #FFF; 
}

#search_box .modal-content .modal_check  input[type="checkbox"]:checked+label::before{
    border:#fc9aac solid 1px;
}

#search_box .modal-content .modal_check  input[type="checkbox"]+label::after{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 18px;
    height: 9px;
    margin-top: -9px;
    top: 50%;
    left: 3px;
    transform: rotate(-45deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color:  #d7d8da;
}

#search_box .modal-content .modal_check  input[type="checkbox"]:checked+label::after{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 18px;
    height: 9px;
    margin-top: -9px;
    top: 50%;
    left: 3px;
    transform: rotate(-45deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color:  #fc9aac;
}

#search_box .modal-content .modal_check input[type="checkbox"]+label:before{
    border-radius: 50%;
}

#search_box .modal-content .modal_search_btn_wrap{
	width: 317px;
	height: 40px;
	margin: 25px auto;
	position: relative;
}

#search_box .modal-content .modal_search_btn_wrap::before{
	position:absolute;
	left:20px;
	top: 11px;
	content:"";
	display:inline-block;
	width:21px;
	height:21px;
	background:url(../images/common/search_wll.png) no-repeat;
	background-size:contain;
}

#search_box .modal-content .modal_search_btn_wrap .search_btn{
	width: 317px;
	margin: 0;
	padding: 12px;
	border: none;
	outline: none;
	color: #fff;
	background: #fc95a8;
	border-radius: 30px; 
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	cursor: pointer;

}


.btn_box .search_btn_wrap{
	width: 317px;
	height: 40px;
	margin: 5px 0 5px 0;
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
}

.btn_box .search_btn_wrap::before{
	position:absolute;
	left:20px;
	top: 11px;
	content:"";
	display:inline-block;
	width:21px;
	height:21px;
	background:url(../images/common/search_ll.png) no-repeat;
	background-size:contain;
}

.btn_box .search_btn{
	width: 317px;
	margin: 0 0;
	padding: 12px;
	border: none;
	outline: none;
	color: #434343;
	background: #fff;
	border-radius: 30px; 
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	cursor: pointer;

}

.btn_box2{
	width: 386px;
	position: absolute;
	top: 79px;
	right: 33px;
}

.btn_box2 .search_btn_wrap2{
	width: 386px;
	height: 40px;
	margin: 0;
	display: inline-block;

}

.btn_box2 .search_btn_wrap2::before{
	position:absolute;
	left:20px;
	top: 11px;
	content:"";
	display:inline-block;
	width:21px;
	height:21px;
	background:url(../images/common/search_ll.png) no-repeat;
	background-size:contain;
}

.btn_box2 .search_btn_wrap2 .search_btn2{
	width: 386px;
	margin: 0 0;
	padding: 12px;
	border: none;
	outline: none;
	color: #434343;
	background: #fff;
	border-radius: 30px; 
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	cursor: pointer;

}

#search_box .select_wrap3{
	width: 234px;
	height: 44px;
	margin: 5px 10px 5px 0;
	display: inline-block;
	position: relative;
}

#search_box .select_wrap3:after {
	content: "";
	position: absolute;
	right: 30px;
	top: 19px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #d7d8da;
	border-left: 2px solid #d7d8da;
	transform: translateY(-50%) rotate(-135deg);
	font-size: 20px;
	pointer-events: none;
  }

#search_box select.review{
	width: 234px;
	height: 44px;
	padding-left:44px;
	border: none;
	outline: none;
	color: #434343;
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
/* ie対応 */
#search_box select.review::-ms-expand {
	display: none;
  }

#search_box  input.review{
	width: 234px;
	height: 44px;
	margin: 5px 0 5px 0;
	padding: 10px 0 10px 15px;
	border: none;
	outline: none;
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

#search_box input.review:focus {
	border: none;
	outline: none;
}

#search_box .review_search_btn_wrap{
	width: 200px;
	height: 44px;
	margin: 5px 0 5px 0;
	display: inline-block;
	position: relative;
}

#search_box .review_search_btn_wrap::before{
	position:absolute;
	left:20px;
	top: 9px;
	content:"";
	display:inline-block;
	width:21px;
	height:21px;
	background:url(../images/common/search_ll.png) no-repeat;
	background-size:contain;
}

#search_box .review_search_btn_wrap .search_btn{
	width: 298px;
	margin: 0 0;
	padding: 12px;
	border: none;
	outline: none;
	color: #434343;
	background: #fff;
	border-radius: 30px; 
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	cursor: pointer;

}

/**********
search_list
**********/
.search_accordion{
	width: 852px;
	height: auto;
	min-height: 50px;
	margin: 10px auto 30px;
	padding: 10px 0 1px;
	background:#fc9aac ;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.search_accordion_box{
	margin-bottom: 0px;
	position: relative;
	display:flex;
	flex-wrap:wrap;
}

.search_accordion_box .search_set{
	width: 660px;
	margin:0 0 10px 20px;
	font-size: 18px;
	padding: 10px 10px 10px 40px;
	text-align: left;
	color: #fff;
	position: relative;
}

.search_accordion_box .search_set::before{
	position:absolute;
	left:0px;
	top: 50%;
	content:"";
	display:inline-block;
	width:25px;
	height:25px;
	margin-top: -15px;
	background:url(../images/common/search_wll.png) no-repeat;
	background-size:contain;
}

.sa_toggle {
	display: none;
}
.sa_Label {		/*タイトル*/
	width: 130px;
	margin:0 0 10px 20px;
	font-size: 18px;
	padding: 10px 40px 10px 10px;
	text-align: right;
	color: #fff;
	cursor: pointer;
	display:flex;
	flex-wrap:nowrap;
	align-items: center;	
	justify-content: flex-end;
}

.sa_Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 6px );
	right: 20px;
	transform: rotate(135deg);
}
.sa_Label{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.sa_Label,
.sa_content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	/* transform: translateZ(0); */
	transition: all 0.3s;
}

.sa_content {		/*本文*/
	height: 0;
	margin: 0;
	padding:0;
	overflow: hidden;
}
.sa_toggle:checked + .sa_Label + .sa_content {	/*開閉時*/
	height: auto;
	padding:5px 0;
	transition: all .3s;
}
.sa_toggle:checked + .sa_Label::before {
	transform: rotate(-45deg) !important;
}

.search_info{
	width: 100%;
	height: 30px;
	margin: 10px auto 20px;
	position: relative;
}

.search_info .search_count{
	position: absolute;
	left: 60px;
	top: 0;
}

.search_info .search_count > span{
	font-size: 16px;
}


.search_info .search_recommendation{
	text-align: right;
	font-size: 12px;
	color:#fc9aac;
	position: absolute;
	right: 60px;
	top: 0;
}


/**********
recommendation
**********/

.recommendation_shop {
	width: 203px;
	height: 251px;
	margin:0 13px 10px 0;
	padding: 25px 0 0 0;
	position: relative;
	border: #cbccce solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.recommendation_shop:nth-child(4n){
	margin:0 0 10px 0;
}

.recommendation_shop .shop_img {
	width: 201px;
	height: 201px;
	margin: 0px;
	overflow: hidden;
	position: relative;
}

.recommendation_shop .shop_img img{
	width: 201px;
	height: 201px;
	object-fit: cover;
	margin-top: 101px;
	margin-left: 101px;
	position: absolute;
	left: -50%;
	top: -50%;
}



/**********
search_list(shop)
**********/
.shop_box{
	width: 852px;
	height: 305px;
	margin-bottom: 40px;
	border: #cbccce solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

.shop_box .shop_name {
	color: #454545;
	text-align: left;
	font-size: 22px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	left: 40px;
	top: 25px;
}

.shop_box .shop_name a{
	color: #454545;
	text-decoration: none;
}

.shop_box .shop_img {
	width: 204px;
	height: 204px;
	margin: 0 auto;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	overflow: hidden;
	position: absolute;
	left: 35px;
	bottom: 30px;
}

.shop_box .shop_img img{
	width: 100%;
	height: 204px;
	object-fit: cover;
}

.shop_box .shop_data{
	width: 550px;
	font-size: 12px;
	line-height: 1.5em;
	position: absolute;
	left: 260px;
	top: 70px;
}

.shop_box .area {
	padding-left: 15px;
	color: #454545;
	text-align: left;
	position: relative;
}

.shop_box .area::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/area.png) no-repeat;
	background-size:contain;
}

.shop_box .industry {
	padding-left: 15px;
	color: #454545;
	text-align: left;
	position: relative;
}

.shop_box .industry::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/industry.png) no-repeat;
	background-size:contain;
}

.shop_box .timer {
	padding-left: 15px;
	color: #454545;
	text-align: left;
	position: relative;
}

.shop_box .timer::before {
	position:absolute;
	left:0;
	top: 2px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/timer.png) no-repeat;
	background-size:contain;
}

.shop_box .count {
	margin: 5px auto 0;
	padding-left: 15px;
	color: #454545;
	text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: relative;
}

.shop_box .count::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/count_l.png) no-repeat;
	background-size:contain;
}

.shop_box .shop_comment{
	width: 550px;
	font-size: 13px;
	line-height: 1.5em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	position: absolute;
	left: 260px;
	top: 135px;
}

.shop_box .sns_list{
	width: 160px;
	position: absolute;
	left: 255px;
	bottom: 30px;
	display: flex;
	justify-content: space-around;
}

.shop_box .sns_list img{
	width: 32px;
	height: 32px;
}


/**********
movie_list
**********/
.movie_box{
	width: 852px;
	height: 275px;
	margin: 0 auto 60px;
	border-bottom: #cccdd1 solid 1px;
	position: relative;
}

.movie_box .shop_name {
	max-width: 852px;
	height: 38px;
	background: #fc99ad;
	color: #ffffff;
	text-align: right;
	font-size: 12px;
	border-radius: 15px; 
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	float: right;
	position: relative;
}

.movie_box .shop_name::before {
	position:absolute;
	left:8px;
	top: 10px;
	content:"";
	display:inline-block;
	width:18px;
	height:18px;
	background:url(../images/common/shop_wl.png) no-repeat;
	background-size:contain;
}

.movie_box .shop_name::after{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	right: 15px;
	bottom: -5px;
	border-top: 5px solid #fc99ad;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
  }

.movie_box .shop_name a{
	color: #ffffff;
	text-decoration: none;
	width: 100%;
	height: 38px;
	display: block;
}

.movie_box .shop_name span {
	width: 100%;
	height: 38px;
	padding: 0 10px 0 30px;
	line-height: 38px;
	display: inline-block;
	position: relative;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.movie_box .movie_img {
	width: 288px;
	height: 162px;
	margin: 0 auto;
	overflow: hidden;
	position: absolute;
	left: 0px;
	bottom: 60px;
}

.movie_box .movie_img img{
	width: 100%;
	height: 162px;
	object-fit: cover;
}

.movie_box .movie_img a{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}

.movie_box .movie_img a::after{
	position:absolute;
	left:50%;
	top: 50%;
	margin: -30px 0 0 -30px;
	content:"";
	display:inline-block;
	width:61px;
	height:61px;
	background:url(../images/common/movie_play.png) no-repeat;
	background-size:contain;
}

.movie_box .movie_title{
	width: 550px;
	font-size: 17px;
	line-height: 1.5em;
	overflow: hidden;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	right: 0;
	top: 55px;
}

.movie_box .movie_title a{
	color: #434343;
}

.movie_box .movie_comment{
	width: 550px;
	font-size: 13px;
	line-height: 1.4em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	position: absolute;
	right: 0;
	top: 83px;
}

.movie_box .movie_data{
	width: 550px;
	font-size: 12px;
	line-height: 1.5em;
	position: absolute;
	right: 0;
	bottom: 60px;
}

.movie_box .area {
	padding-left: 15px;
	color: #454545;
	text-align: left;
	position: relative;
}

.movie_box .area::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/area.png) no-repeat;
	background-size:contain;
}

.movie_box .industry {
	padding-left: 15px;
	color: #454545;
	text-align: left;
	position: relative;
}

.movie_box .industry::before {
	position:absolute;
	left:0;
	top: 1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/industry.png) no-repeat;
	background-size:contain;
}

.movie_box .movie_date{
	width: 550px;
	text-align: right;
	color: #a6a7ac;
	font-size: 12px;
	line-height: 1.5em;
	position: absolute;
	right: 0;
	bottom: 60px;
}

/**********
column_list
**********/
.column_box{
	width: 852px;
	height: 275px;
	margin: 0 auto 60px;
	border-bottom: #cccdd1 solid 1px;
	position: relative;
}

.column_box .category {
	max-width: 852px;
	height: 38px;
	background: #fc99ad;
	color: #ffffff;
	text-align: right;
	font-size: 14px;
	border-radius: 15px; 
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	float: right;
	position: relative;
}

.column_box .category::after{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	right: 15px;
	bottom: -5px;
	border-top: 5px solid #fc99ad;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
  }

.column_box .category span {
	width: 100%;
	height: 38px;
	padding: 0 20px;
	line-height: 38px;
	display: inline-block;
	position: relative;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.column_box .column_img {
	width: 288px;
	height: 144px;
	margin: 0 ;
	overflow: hidden;
	position: absolute;
	left: 0px;
	bottom: 66px;
}

.column_box .column_img img{
	width: 100%;
	height: 144px;
	object-fit: cover;
}

.column_box .column_img a{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}

.column_box .column_title{
	width: 550px;
	font-size: 17px;
	line-height: 1.5em;
	overflow: hidden;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	right: 0;
	top: 55px;
}

.column_box .column_title a{
	color: #434343;
}

.column_box .column_comment{
	width: 550px;
	font-size: 13px;
	line-height: 1.4em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	position: absolute;
	right: 0;
	top: 83px;
}

.column_box .column_date{
	width: 550px;
	text-align: left;
	color: #a6a7ac;
	font-size: 12px;
	line-height: 1.5em;
	position: absolute;
	right: 0;
	bottom: 60px;
}

/**********
column_detail
**********/
.column_detail{
	width: 852px;
	margin: 0 auto 60px;
}

.column_detail .column_date{
	width: 100%;
	margin-bottom: 30px;
	padding: 10px;
	font-size: 15px;
	color: #a6a7ac;
	text-align: right;
}

.column_detail .column_title{
	width: 100%;
	margin-bottom: 50px;
	padding: 10px;
	font-size: 35px;
	color: #434343;
	text-align: center;
	border-top: #cccdd1 solid 1px;
	border-bottom: #cccdd1 solid 1px;
}

.column_detail .column_headline{
	width: 100%;
	margin-bottom: 50px;
	padding: 10px;
	font-size: 26px;
	color: #434343;
	text-align: center;
	border-top: #cccdd1 solid 1px;
	border-bottom: #cccdd1 solid 1px;
}

.column_detail .image_box{
	width: 800px;
	margin: 0 auto 50px;
}

.column_detail .image_box img{
	width: 100%;
}

.column_detail .column_comment{
	width: 100%;
	font-size: 20px;
	margin: 0 auto 50px;
}


/**********
review_list
**********/

.review_box {
	width: 852px;
	height: 180px;
	margin-bottom: 40px;
	border: #cbccce solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

.review_box a {
	text-decoration: none;
}

.review_box .date {
	width: 190px;
	color: #454545;
	text-align: right;
	font-size: 12px;
	position: absolute;
	right: 20px;
	top: 10px;
}

.review_box .review_img {
	width: 120px;
	height: 120px;
	margin: 0 ;
	overflow: hidden;
	border-radius: 75px; 
	-webkit-border-radius: 75px;
	-moz-border-radius: 75px;
	position: absolute;
	top: 30px;
	left: 30px;
}

.review_box .review_img img{
	width: 100%;
	margin-top: 60px;
	margin-left: 60px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.review_box .name {
	max-width: 530px;
	height: 30px;
	padding: 0 10px;
	background: #ced8e0;
	color: #ffffff;
	text-align: left;
	font-size: 18px;
	line-height: 32px;
	position: absolute;
	left: 175px;
	top: 30px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.review_box .name a{
	color: #ffffff;
}

.review_box .review_rank {
	font-size: 12px;
	color: #ec6484;
	line-height: 20px;
	position: absolute;
	top: 65px;
	left: 175px;
}

.review_box .review_rank .star_rating_box {
	margin-right: 5px;
	position: relative; /* position: abosoluteの基準 */
	display: inline-block; /* 最大星数に応じてdivのwidthを伸縮させるため */
	font-size: 20px;
	font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
	letter-spacing: 0;
}

.review_box .review_rank .star_rating_box::after {
	content: '★★★★★';
	color:#ccc;
}

.review_box .review_rank .filled_star {
	position: absolute; /* .filled-starと.empty-starを重ねる */
	top: 0; /* 左上の基準位置に移動させる */
	overflow: hidden; /* widthが足りない時、はみ出た分は表示しない */
	white-space: nowrap; /* widthが足りない時に、折り返さないようにする。 */
	color: #ec6484;
}

.review_box .review_rank .filled_star::after{
	content: '★★★★★';
}

.review_box .review_cat {
	font-size: 12px;
	line-height: 20px;
	position: absolute;
	top: 67px;
	left: 320px;
}

.review_box .review_cat span{
	font-size: 13px;
	color: #ec6484;
	margin: 0 10px 0 3px;
	display: inline-block;
}

.review_box .review_data {
	max-width: 650px;
	font-size: 12px;
	position: absolute;
	top: 90px;
	left: 175px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.review_box .review_data .area,
.review_box .review_data .industry,
.review_box .review_data .shop_name{
	padding-left: 15px;
	color: #454545;
	text-align: left;
	position: relative;
}

.review_box .review_data .shop_name a{
	color: #454545;
}

.review_box .review_data .area::before,
.review_box .review_data .industry::before,
.review_box .review_data .shop_name::before {
	position:absolute;
	left:0px;
	top: 1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background-size:contain;
}

.review_box .review_data .area::before {background:url(../images/common/area.png) no-repeat;}
.review_box .review_data .industry::before {background:url(../images/common/industry.png) no-repeat;}
.review_box .review_data .shop_name::before {background:url(../images/common/shop.png) no-repeat;}

.review_box .review_name {
	width: 120px;
	padding:0;
	color: #686868;
	text-align: right;
	font-size: 12px;
	position: absolute;
	right: 20px;
	top: 30px;
}

.review_box .review_name span{
	max-width: 100%;
	padding:0 0 0 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	display: inline-block;
	position: relative;
}

.review_box .review_name span::before {
	position:absolute;
	left:0px;
	top: 0px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/user.png) no-repeat;
	background-size:contain;
}

.review_box .review {
	width: 653px;
	color: #454545;
	text-align: left;
	font-size: 15px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	position: absolute;
	top: 115px;
	left: 175px;
}

#review_form dl {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px;
	font-size: 18px;
}

#review_form dl dt {
	width: 20%;
	margin-bottom: 0.5rem;
	font-size: 21px;
	padding: 15px;
	text-align: right;
	display: inline-block;
}
#review_form dl dt::first-line {
	line-height: 40px;
}


#review_form dl dt span.req {
	font-size: 12px;
	color: #ff0000;
	display: block;
	margin: -5px auto 10px;
}

#review_form dl dd {
	width: 80%;
	margin-bottom: 0.5rem;
	font-size: 21px;
	padding: 12px 0 12px 20px;
	line-height: 40px;
}

#review_form select{
	width: 100%;
	height: 45px;
	padding: 5px;
	font-size: 18px;
	border: #d7d8da solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px; 
	-moz-border-radius: 5px;
	outline: none;
}

#review_form select:focus {
	outline: none;
  }


#review_form .select_date{
	display: flex;
	justify-content: space-between;
}

#review_form select#year,
#review_form select#month,
#review_form select#date{
	width: 33%;
	height: 45px;
	padding: 5px;
	font-size: 18px;
	border: #d7d8da solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px; 
	-moz-border-radius: 5px;
	outline: none;
}

#review_form input[type='range']{
	accent-color: #ff3c63;
	width: 90%;
}

#review_form dl dd span#current-value0,
#review_form dl dd span#current-value1,
#review_form dl dd span#current-value2,
#review_form dl dd span#current-value3,
#review_form dl dd span#current-value4{
	width: 10%;
	padding-left: 10px;
	color: #f16f91;
	text-align: right;
	font-size: 18px;
	display: inline-block;
}

#review_form input[type='text']{
	width: 100%;
	height: 45px;
	padding: 5px;
	font-size: 18px;
	border: #d7d8da solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px; 
	-moz-border-radius: 5px; 
	outline: none;
}

#review_form input[type='text']:focus {
	outline: none;
  }

#review_form textarea{
	width: 100%;
	height: 250px;
	padding: 5px;
	font-size: 18px;
	border: #d7d8da solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px; 
	-moz-border-radius: 5px; 
	outline: none;
}

#review_form textarea:focus {
	outline: none;
  }

#review_form #inputlength{
	width: 100%;
	margin: -10px 0 0;
	color: #868686;
	text-align: right;
	font-size: 14px;
}

.review_send{
	width: 100%;
	margin: 20px auto;
	text-align: center;
}

.send_btn{
	width: 300px;
	height: 40px;
	margin: auto;
	background: #fc97a9;
	color: #fff;
	border: none;
	cursor: pointer;
	border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}

.back_btn{
	width: 300px;
	height: 40px;
	margin: auto;
	background: #fff;
	color: #fc97a9;
	border: none;
	cursor: pointer;
	border: #fc97a9 solid 1px;
	border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}

#review_form dl dd .bar-rating-box {
	width: 86%;
    height: 8px;
	margin: 0 10px;
    position: relative; /* position: abosoluteの基準 */
    display: inline-block; /* 最大星数に応じてdivのwidthを伸縮させるため */
    background-color: #ebeced;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;

}

#review_form dl dd .filled-bar {
    height: 8px;
    position: absolute; /* .filled-starと.empty-starを重ねる */
    top: 0; /* 左上の基準位置に移動させる */
    white-space: nowrap; /* widthが足りない時に、折り返さないようにする。 */
    background-color: #ff3c63;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

#review_form dl dd .filled-bar::after{
    content: '●';
    font-size: 22px;
	line-height: 22px;
	color: #ff3d61;
    position: absolute;
    top: -5.5px;
    right: -11px;
}

.send_complete_txt{
	width: 100%;
	margin-bottom: 0.5rem;
	font-size: 21px;
	line-height: 40px;
	text-align: center;
}


/**********
diagnose
**********/
.diagnose{
	width:100%;
	margin: 30px auto 100px;
	text-align: center;
	position: relative;
	color: #676565;
	font-size: 21px;
}

.diagnose img{
	margin: 30px auto;
}

.diagnose .q_text{
	height: 50px;
	margin: 0px auto 100px;
}

.diagnose label{
	width:466px;
	height: 49px;
	margin: 10px auto;
	text-align: center;
	line-height: 49px;
	border: #bbb solid 1px;
	display:block;
}

.question,
.answer{
	display: none;
	opacity: 0;
	visibility: hidden;
	transition: 300ms;/* ←ここ */
}

.q_display{
	display: inline;
	opacity: 1;
	visibility: visible;
}

.diagnosis{
	font-size: 31px;
	margin: 30px auto;
	color: #676565;
	text-align: center;
}

.diagnosis_img{
	margin: 30px auto;
	color: #e24d79;
	text-align: center;
}

.diagnosis_title{
	font-size: 31px;
	margin: 30px auto;
	color: #e24d79;
	text-align: center;
}

.diagnosis_comment{
	font-size: 18px;
	line-height: 2em;
	margin: 30px auto;
	color: #676565;
	text-align: center;
}

.diagnosis_link{
	width: 100%;
	padding: 50px 0 100px;
	text-align: center;
}

.diagnosis_btn{
	width: 418px !important;
	height: 58px !important;
	font-size: 21px !important;
	line-height: 58px !important;
	margin: 20px auto !important;
	color: #ffffff !important;
	text-align: center !important;
	background: #fd8298 !important;
	display: block !important;
	border-radius: 30px !important; 
	-webkit-border-radius: 30px !important;
	-moz-border-radius: 30px !important;
}


/**********
shop_page
**********/
#shop_head{
	width: 100%;
	padding: 50px 0;
	text-align: center;
}

#shop_head #head_img{
	width: 1000px;
	height: 500px;
	margin: auto;
	overflow: hidden;
	border: #cbccce solid 1px;
	border-radius: 50%; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

#shop_head #head_img img{
	width: 100%;
	margin-top: 249px;
	margin-left: 499px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.shop_spacer{
	height: 60px;
}

.shop_spacer2{
	height: 30px;
}

#shop_detail{
	width: 100%;
	padding: 50px 0;
	background: #f6f7fb;
}

#detail_box{
	width: 1200px;
	margin: auto;
	padding: 45px;
	background: #fff;
	border: #cbccce solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

#detail_box .shop_name{
	width: 100%;
	margin: 0 auto 10px;
	text-align: left;
	font-size: 33px;
	color: #434343;
}

#detail_box .shop_name a{
	color: #434343;
}

#detail_box .review_rank {
	width: 100%;
	font-size: 25px;
	color: #ec6484;
	line-height: 25px;
	text-align: left;
}

#detail_box .review_rank .star_rating_box {
	position: relative; 
	display: inline-block; 
	font-size: 25px;
	font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
	letter-spacing: 0;
}

#detail_box .review_rank .star_rating_box::after {
	font-size: 25px;
	content: '★★★★★';
	color:#ccc;
}

#detail_box .review_rank .filled_star {
	font-size: 25px;
	position: absolute; 
	top: 0; 
	overflow: hidden; 
	white-space: nowrap;
	color: #ec6484;
}

#detail_box .review_rank .filled_star::after{
	content: '★★★★★';
}

#detail_box .shop_data{
	width: 100%;
	margin: 10px auto;
	font-size: 18px;
	line-height: 1.5em;
	text-align: left;
}

#detail_box .review_rank .area {
	padding-left: 23px;
	color: #454545;
	text-align: left;
	font-size: 18px;
	position: relative;
}

#detail_box .review_rank .area::before {
	position:absolute;
	left:0;
	top: 2px;
	content:"";
	display:inline-block;
	width:21px;
	height:21px;
	background:url(../images/common/area_ll.png) no-repeat;
	background-size:contain;
}

#detail_box .review_rank .industry {
	padding-left: 23px;
	color: #454545;
	text-align: left;
	font-size: 18px;
	position: relative;
}

#detail_box .review_rank .industry::before {
	position:absolute;
	left:0;
	top: 2px;
	content:"";
	display:inline-block;
	width:21px;
	height:21px;
	background:url(../images/common/industry_ll.png) no-repeat;
	background-size:contain;
}

#detail_box .review_rank .timer {
	padding-left: 22px;
	color: #454545;
	text-align: left;
	font-size: 18px;
	position: relative;
}

#detail_box .review_rank .timer::before {
	position:absolute;
	left:0;
	top: 2px;
	content:"";
	display:inline-block;
	width:21px;
	height:21px;
	background:url(../images/common/timer_ll.png) no-repeat;
	background-size:contain;
}

#detail_box .shop_contact{
	width: 1110px;
	height: 51px;
	margin: 20px auto;
	line-height: 51px;
	text-align: left;
	font-size: 36px;
	position: relative;
}

#detail_box .shop_contact .tel{
	width: 400px;
	height: 51px;
	margin: 0;
	color: #434343;
	text-align: center;
	line-height: 55px;
	background: #f6f7fb;
	border-radius: 15px; 
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	display:inline-block;
}


#detail_box .sns_list{
	display: inline-block;
	position: absolute;
	top: 0;
	left: 420px;
}

#detail_box .sns_list img{
	width: 51px;
	height: 51px;
	margin: 0 3px;
	line-height: 51px;
}

#detail_box .shop_comment {
	width: 100%;
	height: 190px;
	font-size: 20px;
	color: #434343;
	text-align: left;
	overflow: auto;
}

#detail_box .home_btn {
	margin-top: 20px;
	padding: 10px 40px 10px 55px;
	font-size: 16px;
	color: #fff;
	text-align: left;
	text-decoration: none;
	background: #fc99ad;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	display:inline-block;
	position: relative;
}

#detail_box .home_btn::before {
	position:absolute;
	left:37px;
	top: 12px;
	content:"";
	display:inline-block;
	width:12px;
	height:14px;
	background:url(../images/common/home_w.png) no-repeat;
	background-size:contain;
}

#shop_feature{
	width: 100%;
	padding: 50px 0;
	text-align: left;
}

#shop_feature ul{
	width: 1200px;
	margin: auto;
	display: flex;
	flex-wrap :wrap;
}

#shop_feature li{
	width: 190px;
	height: 50px;
	margin: 5px;
	padding: 0;
	font-size: 20px;
	line-height: 53px;
	text-align: center;
	color: #676565;
	background: #fee7eb;
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	display: block;
}

.shop_menu ul{
	width: 1200px;
	margin: auto;
	display: flex;
}

.shop_menu li{
	height: 50px;
	margin: 5px 10px;
	font-size: 24px;
	line-height: 53px;
	letter-spacing: .3em;
	text-align: center;
	display: block;
	flex-grow: 1;
}

.shop_menu li:hover,
.shop_menu li.active{
border-bottom: #fc99ad solid 3px;
}

.shop_menu a{
	color: #676565;
text-decoration: none;
}

#shop_wrapper {
	width: 1200px;
	height: auto;
	margin: 45px auto 0;
	padding: 0;
}

#shop_wrapper_detail {
	width: 1200px;
	height: auto;
	margin: 45px auto 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

.shop_search_info{
	width: 80%;
	height: 30px;
	margin: 40px auto 40px;
	position: relative;
}

.shop_search_info .search_count{
	position: absolute;
	left: 60px;
	top: 0;
}

.shop_search_info .search_count > span{
	font-size: 16px;
}


.shop_search_info .search_recommendation{
	text-align: right;
	font-size: 12px;
	color:#fc9aac;
	position: absolute;
	right: 60px;
	top: 0;
}

/**********
shop_therapist_set
**********/

.shop_therapist_wrap_top {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.shop_therapist_wrap {
	width: 1067px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}


.shop_therapist_set_top {
	width: 203px;
	height: 300px;
	background: white;
	margin:0 13px 10px 0;
	padding: 0;
	position: relative;
	border: #ebecee solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.shop_therapist_set_top:nth-child(4n){
	margin:0 0 10px 0;
}

.shop_therapist_set {
	width: 203px;
	height: 300px;
	background: white;
	margin:0 13px 10px 0;
	padding: 0;
	position: relative;
	border: #ebecee solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.shop_therapist_set:nth-child(5n){
	margin:0 0 10px 0;
}

.shop_therapist_set_top a,
.shop_therapist_set a {
	color: #434343;
	text-decoration: none;
}

.shop_therapist_set_top .therapist_img,
.shop_therapist_set .therapist_img {
	width: 170px;
	height: 170px;
	margin: 15px auto;
	border-radius: 100px; 
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	overflow: hidden;
	position: relative;
}

.shop_therapist_set_top .therapist_img img,
.shop_therapist_set .therapist_img img{
	width: 100%;
	height: 170px;
	object-fit: cover;
	margin-top: 85px;
	margin-left: 85px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.shop_therapist_set_top .name,
.shop_therapist_set .name {
	width: 193px;
	height: 36px;
	color: #454545;
	text-align: center;
	font-size: 14px;
	display: flex;
	justify-content:center;
	align-items: center;
	overflow: hidden;
	position: absolute;
	left: 7px;
	top: 187px;
}



.shop_therapist_set_top .name a,
.shop_therapist_set .name a{
	color: #454545;
}

.shop_therapist_set_top .datetime,
.shop_therapist_set .datetime {
	width: 193px;
	color: #fc99ad;
	text-align: center;
	font-size: 12px;
	position: absolute;
	left: 7px;
	top: 225px;
}

.shop_therapist_set_top .schedule,
.shop_therapist_set .schedule {
	width: 193px;
	color: #80CBC4;
	text-align: center;
	font-size: 12px;
	position: absolute;
	left: 7px;
	top: 225px;
}

.shop_therapist_set_top .sns_list,
.shop_therapist_set .sns_list{
	width: 128px;
	position: absolute;
	left: 37px;
	top: 250px;
	display: flex;
	justify-content: space-around;
}

.shop_therapist_set_top .sns_list img,
.shop_therapist_set .sns_list img{
	width: 34px;
	height: 34px;
}

/**********
shop_schedule
**********/
#select_day{
	width: 1190px;
	margin: 20px auto;
	display: flex;
	font-size: 18px;
	color: #434343;
}

#select_day li{
	width: 170px;
	height: 68px;
	text-align: center;
	line-height: 68px;
	background: #f4f5f7;
	border-right:#d1d1d2 solid 1px ;
}

#select_day li:last-child{
	border-right:none ;
}

#select_day li:hover a,
#select_day li.active a{
	color: #FFF;
	background: #fc9aac;
}

#select_day li a{
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: #434343;
	display: block;
}

/**********
shop_profile
**********/
.shop_profile_wrap {
	width: 1200px;
	margin: auto;
	display: flex;
	align-items:flex-start;
	flex-wrap: wrap;
	color: #434343;
}

.profile_title{
	width: 300px;
	height: 35px;
	margin: 50px auto;
	color: #fff;
	text-align: center;
	font-size: 15px;line-height: 35px;
	background: #fc9aac;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}


.shop_profile_wrap .profile_1{
	width: 540px;
	margin: 0 65px 0 0;
}

.shop_profile_wrap .profile_1 .profile_img{
	width:540px;
	}

.shop_profile_wrap .profile_1 .profile_img img{
	width:540px;
	}

.shop_profile_wrap .profile_1 .profile_img li img{
	width:180px;
	}

.shop_profile_wrap .profile_3{
	width: 540px;
	margin: 0 65px 0 0;
}

.shop_profile_wrap .profile_3 #canvas_box{
	margin: -50px auto 0;
}

.shop_profile_wrap .profile_3 #canvas_box #myRadarChartBox{
	width: 540px;
	text-align: center;
	margin: -50px auto 0;
	overflow: hidden;
}

.shop_profile_wrap .profile_3 #canvas_box #myRadarChartBox #myRadarChart{
	width: 200%;
	margin-left: -50%;
}

.shop_profile_wrap .profile_3 .review_btn{
	width: 240px;
	height: 40px;
	background: white;
	margin:0px auto;
	padding: 0;
	font-size: 13px;
	text-align: center;
	border: #fc9aac solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;

}

.shop_profile_wrap .profile_3 .review_btn a{
	width: 100%;
	height: 100%;
	line-height: 40px;
	text-align: center;
	color: #fc9aac;
	display: block;
	text-decoration: none;
}


.shop_profile_wrap .profile_5{
	width: 540px;
	margin: 0 65px 0 0;
}

.shop_profile_wrap .profile_5 .twitter{
	width: 350px;
	height: 600px;
	margin: 0 auto 50px;
   }

.shop_profile_wrap .profile_1 .twitter a{
	color: #fe1e67 !important;
   }

.shop_profile_wrap .profile_2{
	width: 595px;
	min-height: 1010px;
	margin: 0 auto;
}

.shop_profile_wrap .profile_4{
	width: 595px;
	margin: 0 auto;
	padding-top: 50px;
}

.shop_profile_wrap .profile_6{
	width: 595px;
	margin: 0 auto;
}

.shop_profile_wrap .profile_2 .name_box{
	width: 595px;
	margin: 0 auto 20px;
	padding:0 0 10px ;
	font-size: 40px;
	border-bottom: #ecedef solid 1px;
	display: flex;
	align-items: center;
}

.shop_profile_wrap .profile_2 .name_box .name{
	width: 445px;
}

.shop_profile_wrap .profile_2 .name_box .sns_list{
	width: 150px;
	padding: 0;
	line-height: 0;
}

.shop_profile_wrap .profile_2 .name_box .sns_list img{
	width: 44px;
	height: 44px;
	margin: 0 3px;
}

.shop_profile_wrap .profile_2 .therapist_data{
	width: 595px;
	margin: 0 auto 20px;
	padding:0 0 20px ;
	font-size: 21px;
	line-height: 1.8em;
	border-bottom: #ecedef solid 1px;
}

.shop_profile_wrap .profile_2 h4{
	width: 595px;
	margin: 0 auto 10px;
	font-size: 21px;
}

.shop_profile_wrap .profile_2 .therapist_check{
	width: 595px;
	margin: 0 auto 20px;
	font-size: 17px;
	line-height: 1.8em;
}

.shop_profile_wrap .profile_2 .therapist_check span{
	margin: 0 auto 5px;
	padding: 0 10px;
	background: #f4f5f7;
	border: #dfe0e2 solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	display: inline-block;
}

.shop_profile_wrap .profile_4 .tabs {
	width: 595px;
	margin-top: 50px;
	padding-bottom: 40px;
	background-color: #fff;
	margin: 0 auto;
}
  
  /*タブのスタイル*/
.shop_profile_wrap .profile_4 .tab_item1,
.shop_profile_wrap .profile_4 .tab_item2,
.shop_profile_wrap .profile_4 .tab_item3,
.shop_profile_wrap .profile_4 .tab_item4 {
	height: 37px;
	margin-right: 8px;
	line-height: 37px;
	font-size: 18px;
	text-align: center;
	color: #434343;
	text-align: center;
	float: left;
	border: #dadadb solid 1px;
	border-bottom: none;
	border-top-left-radius: 5px; 
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px; 
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	display: block;
	transition: all 0.2s ease;
  }

  .shop_profile_wrap .profile_4 .tab_item1 hr,
  .shop_profile_wrap .profile_4 .tab_item2 hr,
  .shop_profile_wrap .profile_4 .tab_item3 hr,
  .shop_profile_wrap .profile_4 .tab_item4 hr {
	display: none;
	}

  .shop_profile_wrap .profile_4 .tab_item1 {
	width: 125px;
	position: relative;
  }

  .shop_profile_wrap .profile_4 .tab_item2 {
	width: 87px;
	position: relative;
  }

  .shop_profile_wrap .profile_4 .tab_item3 {
	width: 201px;
	position: relative;
  }

  .shop_profile_wrap .profile_4 .tab_item4 {
	width: 158px;
	margin-right: 0;
	position: relative;
  }

 .shop_profile_wrap .profile_4 .tab_item:hover {
	opacity: 0.75;
  }
  
  input[name="tab_item"] {
	display: none;
  }
  
.tab_content {
	margin-bottom: 40px;
	padding: 5px 0 0;
	border-top: #dadadb solid 1px;
	display: none;
	clear: both;
	overflow: hidden;
  }

.tab_content .prof_review{
	width: 595px;
	padding-right: 10px;
	max-height: 460px;
	overflow: auto;
}

.tab_content .prof_review_box{
	width: 100%;
	padding: 25px 0;
	border-bottom: #ecedef solid 1px;
}

.prof_review_box .rev_box{
	width: 100%;
	height: 30px;
	margin: 10px auto 0;
	color: #686868;
	position: relative;
}

.prof_review_box .rev_box .review_rank {
	font-size: 12px;
	color: #ec6484;
	line-height: 20px;
	display: inline-block;
	margin-bottom:5px;
  }
  
  .prof_review_box .rev_box .review_rank .star_rating_box {
	margin-right: 5px;
	position: relative; /* position: abosoluteの基準 */
	display: inline-block; /* 最大星数に応じてdivのwidthを伸縮させるため */
	font-size: 20px;
	font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
	letter-spacing: 0;
  }
  
  .prof_review_box .rev_box .review_rank .star_rating_box::after {
	content: '★★★★★';
	color:#ccc;
  }
  
  .prof_review_box .rev_box .review_rank .filled_star {
	position: absolute; /* .filled-starと.empty-starを重ねる */
	top: 0; /* 左上の基準位置に移動させる */
	overflow: hidden; /* widthが足りない時、はみ出た分は表示しない */
	white-space: nowrap; /* widthが足りない時に、折り返さないようにする。 */
	color: #ec6484;
  }
  
  .prof_review_box .rev_box .review_rank .filled_star::after{
	content: '★★★★★';
  }

.prof_review_box .rev_box .review_name {
  width: 350px;
  padding:0;
  text-align: left;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: absolute;
  left: 140px;
  top: 4px;
}

.prof_review_box .rev_box .review_name span{
  padding:0 0 0 20px;
  display: inline-block;
  position: relative;
}

.prof_review_box .rev_box .review_name span::before {
  position:absolute;
  left:0px;
  top: 0px;
  content:"";
  display:inline-block;
  width:14px;
  height:15px;
  background:url(../images/common/user.png) no-repeat;
  background-size:contain;
}

.prof_review_box .rev_box .date {
	width: 100%;
	text-align: right;
	position: absolute;
	right: 0;
	top: 4px;
  }

.prof_review_box .review_cat {
	font-size: 12px;
	line-height: 20px;
	display: inline-block;
}

.prof_review_box .review_cat span{
	font-size: 13px;
	color: #ec6484;
	margin: 0 10px 0 3px;
	display: inline-block;
}

.prof_review_box .review_data {
	width: 100%;
	font-size: 12px;
	position: absolute;
	top: 90px;
	left: 175px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.prof_review_box .review_data .area,
.prof_review_box .review_data .industry,
.prof_review_box .review_data .shop_name{
	padding-left: 15px;
	color: #454545;
	text-align: left;
	position: relative;
}

.prof_review_box .review_data .area::before,
.prof_review_box .review_data .industry::before,
.prof_review_box .review_data .shop_name::before {
	position:absolute;
	left:0px;
	top: 1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background-size:contain;
}

.prof_review_box .review_data .area::before {background:url(../images/common/area.png) no-repeat;}
.prof_review_box .review_data .industry::before {background:url(../images/common/industry.png) no-repeat;}
.prof_review_box .review_data .shop_name::before {background:url(../images/common/shop.png) no-repeat;}


.prof_review_box .review_comment {
	width: 100%;
	margin: 10px auto;
	color: #454545;
	text-align: left;
	font-size: 15px;
}

.tab_content .qa_table{
	width: 595px;
}

.tab_content .qa_table tr{
	width: 595px;
	border-bottom: #dadadb solid 1px;
}

.tab_content .qa_table th{
	width: 130px;
	padding: 25px;
	font-weight: normal;
}

.tab_content .qa_table td{
	padding: 25px;
	padding-left:1em;
	text-indent:-1.7em;
}

.tab_content .qa_table th span,
.tab_content .qa_table td span{
	color: #f16f91;
}

.tab_content .comment_box{
	width: 100%;
	padding: 25px;
}

  
/*選択されているタブのコンテンツのみを表示*/
#review_tab:checked ~ #review_content,
#qa_tab:checked ~ #qa_content,
#therapist_tab:checked ~ #therapist_content,
#shop_tab:checked ~ #shop_content {
	display: block;
}
  
/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item1,
.tabs input:checked + .tab_item2,
.tabs input:checked + .tab_item3,
.tabs input:checked + .tab_item4 {
	color: #434343;
	z-index: 10;
}

.tabs input:checked + .tab_item1::after,
.tabs input:checked + .tab_item2::after,
.tabs input:checked + .tab_item3::after,
.tabs input:checked + .tab_item4::after {
	content: '';
	height: 3px;
	background-color: #fff;
	border: none;
	position: absolute;
	bottom: -2px;
	left: 0px;
	z-index: 10;
	display: block;
}

.tabs input:checked + .tab_item1::after{	width: 123px;  }
.tabs input:checked + .tab_item2::after{	width: 85px;  }
.tabs input:checked + .tab_item3::after{	width: 199px;  }
.tabs input:checked + .tab_item4::after{	width: 156px;  }

.shop_profile_wrap .profile_6 .profile_schedule{
	width: 595px;
	margin-bottom: 50px;
	color: #434343;
	font-size: 20px;
}

.shop_profile_wrap .profile_6 .profile_schedule th{
	width: 40%;
	padding: 15px 0;
	text-align: center;
	font-weight: normal;
	background: #f4f5f7;
	border: #d3d3d4 solid 1px;
}

.shop_profile_wrap .profile_6 .profile_schedule td{
	width: 60%;
	padding: 15px 0;
	text-align: center;
	font-weight: normal;
	border: #d3d3d4 solid 1px;
}

/**********
shop_review_list
**********/
.review_box .shop_review {
	width: 653px;
	color: #454545;
	text-align: left;
	font-size: 15px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	position: absolute;
	top: 90px;
	left: 175px;
}

#review_detail{
	width: 852px;
	height: 350px;
	margin: auto;
	/* border-top: #cbccce solid 1px;
	border-bottom: #cbccce solid 1px; */
	position: relative;

}

#review_detail .detail_rank_box{
	width: 300px;
	font-size: 22px;
	color: #434343;
	text-align: center;
	position: absolute;
	left: 55px;
	top: 70px;
}

#review_detail .detail_rank_box .detail_rank {
	font-size: 33px;
	color: #ec6484;
	line-height: 33px;
	display: inline-block;
	margin:20px auto;
}

#review_detail .detail_rank_box .detail_rank .star_rating_box {
	margin-right: 5px;
	position: relative; /* position: abosoluteの基準 */
	display: inline-block; /* 最大星数に応じてdivのwidthを伸縮させるため */
	font-size: 33px;
	font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
	letter-spacing: 0;
}

#review_detail .detail_rank_box .detail_rank .star_rating_box::after {
	content: '★★★★★';
	color:#ccc;
}

#review_detail .detail_rank_box .detail_rank .filled_star {
	position: absolute; /* .filled-starと.empty-starを重ねる */
	top: 0; /* 左上の基準位置に移動させる */
	overflow: hidden; /* widthが足りない時、はみ出た分は表示しない */
	white-space: nowrap; /* widthが足りない時に、折り返さないようにする。 */
	color: #ec6484;
}

#review_detail .detail_rank_box .detail_rank .filled_star::after{
	content: '★★★★★';
}

#review_detail .detail_rank_box .review_count{
	font-size: 13px;
}


#review_detail .detail_rank_box .review_btn{
	width: 240px;
	height: 40px;
	background: white;
	margin:20px auto;
	padding: 0;
	font-size: 13px;
	text-align: center;
	border: #fc9aac solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;

}

#review_detail .detail_rank_box .review_btn a{
	width: 100%;
	height: 100%;
	line-height: 40px;
	text-align: center;
	color: #fc9aac;
	display: block;
	text-decoration: none;
}

#review_detail .detail_rating_box{
	width: 500px;
	color: #434343;
	text-align: right;
	position: absolute;
	right: 55px;
	top: 50px;
}

#review_detail .detail_rating_box .detail_rank {
	width: 350px;
	height: 5px;
	font-size: 12px;
	display: inline-block;
	margin:20px auto;
	position: relative;
	padding-left: 0px;
	padding-right: 40px;
}

#review_detail .detail_rating_box .detail_rank span.cat{
	display: inline-block;
	position: absolute;
	top: 3px;
	left: 0;
}

#review_detail .detail_rating_box .detail_rank span.point{
	display: inline-block;
	position: absolute;
	top: 3px;
	right: 0px;
}

#review_detail .detail_rating_box .detail_rank .bar-rating-box {
    width: 200px;
    height: 4px;
	margin: 0 10px;
    position: relative; /* position: abosoluteの基準 */
    display: inline-block; /* 最大星数に応じてdivのwidthを伸縮させるため */
    background-color: #ebeced;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;

}

#review_detail .detail_rating_box .detail_rank .filled-bar {
    height: 4px;
    position: absolute; /* .filled-starと.empty-starを重ねる */
    top: 0; /* 左上の基準位置に移動させる */
    white-space: nowrap; /* widthが足りない時に、折り返さないようにする。 */
    background-color: #fd859b;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

#review_detail .detail_rating_box .detail_rank .filled-bar::after{
    content: '●';
    font-size: 15px;
	line-height: 22px;
	color: #ff3d61;
    position: absolute;
    top: -8px;
    right: -8px;
}

#review_search{
	width: 852px;
	height: 148px;
	margin: 20px auto 20px;
	padding: 10px 0 8px;
	background:#fc9aac ;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

#review_search form{
	width: 787px;
	margin: 10px auto;
}

#review_search .label_box{
	width: 143px;
	height: 44px;
	margin: 5px 13px 10px 0;
	padding: 0;
	display: inline-block;
	color: #434343;
	background-color: #fff;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
  }

#review_search .label_box:nth-child(5n){
	margin: 5px 0 10px 0;
}


#review_search label{
	width: 143px;
	height: 44px;
	margin: 0 ;
	display: inline-block;
	text-align: center;
	line-height: 44px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	position: relative;
}

#review_search input[type="checkbox"]{
	display: none;
  }

 
#review_search input[type="checkbox"]:checked + label{
	background-color: #fee7eb;
  }

#review_search .therapist_name{
	width: 500px;
	height: 44px;
	padding-left: 10px;
	border: none;
	outline: none;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

#review_search .btn_box{
	width: 270px;
	height: 44px;
	padding: 0;
	position: absolute;
	top: 79px;
	right: 35px;
}

#review_search .btn_box .search_btn_wrap{
	width: 270px;
	height: 44px;
	margin: 0;
	position: relative;
}

#review_search .search_btn_wrap::before{
	position:absolute;
	left:20px;
	top: 11px;
	content:"";
	display:inline-block;
	width:21px;
	height:21px;
	background:url(../images/common/search_ll.png) no-repeat;
	background-size:contain;
	z-index: 99;
}

#review_search .btn_box .search_btn_wrap .search_btn{
	width: 270px;
	height: 44px;
	margin: 0;
	background: #fff;
	border-radius: 25px; 
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	position: relative;
}

.shop_review_wrap {
	width: 852px;
	margin: auto;
	}

.shop_review_box {
	width: 852px;
	margin-bottom: 40px;
	border: #cbccce solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.shop_review_box .date {
	width: 100%;
	padding: 20px 30px 0 0;
	color: #454545;
	text-align: right;
	font-size: 12px;
}

.shop_review_box .shop_review_inner{
	width: 792px;
	margin: 0 auto 20px;
	display: flex;
	align-items:center
}

.shop_review_box .shop_review_inner .review_img {
	width: 120px;
	height: 120px;
	margin: 0 30px 0 0;
	overflow: hidden;
	border-radius: 75px; 
	-webkit-border-radius: 75px;
	-moz-border-radius: 75px;
	position: relative;
}

.shop_review_box .shop_review_inner .review_img img{
	width: 100%;
	margin-top: 60px;
	margin-left: 60px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.shop_review_box .shop_review_inner .name_box{
	width: 642px;
	height: 30px;
	margin: 10px auto;
	position: relative;
}

.shop_review_box .shop_review_inner .name_box .name {
	max-width: 520px;
	height: 30px;
	padding: 0 10px;
	background: #ced8e0;
	color: #ffffff;
	text-align: left;
	font-size: 18px;
	line-height: 32px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	left: 0;
	top: 0;
}

.shop_review_box .shop_review_inner .name_box .name a{
	color: #ffffff;
}

.shop_review_box .shop_review_inner .name_box .review_name {
	width: 120px;
	padding:0;
	color: #686868;
	text-align: right;
	font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	right: 0px;
	top: 9px;
}

.shop_review_box .shop_review_inner .name_box .review_name span{
	padding:0 0 0 20px;
	display: inline-block;
	position: relative;
}

.shop_review_box .shop_review_inner .name_box .review_name span::before {
	position:absolute;
	left:0px;
	top: 0px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/user.png) no-repeat;
	background-size:contain;
}

.shop_review_box .shop_review_inner .review_rank {
	font-size: 12px;
	color: #ec6484;
	line-height: 20px;
	display: inline-block;
	margin-bottom:5px;
}

.shop_review_box .shop_review_inner .review_rank .star_rating_box {
	margin-right: 5px;
	position: relative; /* position: abosoluteの基準 */
	display: inline-block; /* 最大星数に応じてdivのwidthを伸縮させるため */
	font-size: 20px;
	font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
	letter-spacing: 0;
}

.shop_review_box .shop_review_inner .review_rank .star_rating_box::after {
	content: '★★★★★';
	color:#ccc;
}

.shop_review_box .shop_review_inner .review_rank .filled_star {
	position: absolute; /* .filled-starと.empty-starを重ねる */
	top: 0; /* 左上の基準位置に移動させる */
	overflow: hidden; /* widthが足りない時、はみ出た分は表示しない */
	white-space: nowrap; /* widthが足りない時に、折り返さないようにする。 */
	color: #ec6484;
}

.shop_review_box .shop_review_inner .review_rank .filled_star::after{
	content: '★★★★★';
}

.shop_review_box .shop_review_inner .review_cat {
	font-size: 12px;
	line-height: 20px;
	display: inline-block;
}

.shop_review_box .shop_review_inner .review_cat span{
	font-size: 13px;
	color: #ec6484;
	margin: 0 10px 0 3px;
	display: inline-block;
}

.shop_review_box .shop_review_inner .review_data {
	max-width: 642px;
	font-size: 12px;
	position: absolute;
	top: 90px;
	left: 175px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.shop_review_box .shop_review_inner .review_data .area,
.shop_review_box .shop_review_inner .review_data .industry,
.shop_review_box .shop_review_inner .review_data .shop_name{
	padding-left: 15px;
	color: #454545;
	text-align: left;
	position: relative;
}

.shop_review_box .shop_review_inner .review_data .area::before,
.shop_review_box .shop_review_inner .review_data .industry::before,
.shop_review_box .shop_review_inner .review_data .shop_name::before {
	position:absolute;
	left:0px;
	top: 1px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background-size:contain;
}

.shop_review_box .shop_review_inner .review_data .area::before {background:url(../images/common/area.png) no-repeat;}
.shop_review_box .shop_review_inner .review_data .industry::before {background:url(../images/common/industry.png) no-repeat;}
.shop_review_box .shop_review_inner .review_data .shop_name::before {background:url(../images/common/shop.png) no-repeat;}



.shop_review_box .shop_review_inner .review_comment {
	max-width: 642px;
	margin: 10px auto;
	color: #454545;
	text-align: left;
	font-size: 15px;
}



/**********
shop_course
**********/
.shop_course_wrap {
	width: 980px;
	margin: auto;
}

.course_title{
	width: 100%;
	height: 30px;
	margin-bottom: 40px;
	padding-left: 20px;
	font-size: 20px;
	color: #434343;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	border-left:#fa928a solid 2px ;
}

.course_table{
	width: 700px;
	margin: 50px 0;
	font-size: 18px;
	color: #434343;
}

.course_table th{
	width: 250px;
	height: 50px;
	text-align: center;
	font-weight: normal;
	background: #f4f5f7;
	border: #d3d3d4 solid 1px;
	vertical-align: middle;
}

.course_table td{
	width: 450px;
	height: 50px;
	text-align: center;
	border: #d3d3d4 solid 1px;
	vertical-align: middle;
}

.course_comment{
	width: 100%;
	margin: 50px 0 120px;
	font-size: 16px;
	color: #434343;
}

.card_comment{
	width: 100%;
	margin: 50px 0 20px;
	font-size: 18px;
	color: #434343;
}

.card_comment2{
	width: 100%;
	margin: 50px 0 120px;
	font-size: 14px;
	color: #434343;
}

.card_img{
	width: 100%;
	height: 52px;
	display: flex;
}

.card_img img{
	margin-right: 10px;
}

/**********
shop_coupon_list
**********/
.shop_coupon_wrap {
	width: 1200px;
	margin: auto;
}

.shop_coupon_wrap .anchor {
	display: block;
	padding-top: 30px;
	margin-top: -30px;
}

.coupon_box {
	width: 852px;
	height: 150px;
	margin: 0 auto 40px;
	border: #cbccce solid 1px;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

.coupon_box a {
	width: 100%;
	height: 100%;
	color: #434343;
	text-decoration: none;
	display: block;
}

.coupon_box .date {
	color: #454545;
	text-align: right;
	font-size: 12px;
	position: absolute;
	right: 35px;
	top: 10px;
}

.coupon_box .coupon_img {
	width: 100px;
	height: 100px;
	margin: 0 ;
	overflow: hidden;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: absolute;
	top: 25px;
	left: 35px;
}

.coupon_box .coupon_img img{
	width: 100%;
	margin-top: 50px;
	margin-left: 50px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.coupon_box .coupon_title {
	max-width: 653px;
	height: 30px;
	text-align: left;
	font-size: 15px;
	position: absolute;
	left: 175px;
	top: 30px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.coupon_box .coupon_price {
	max-width: 653px;
	height: 35px;
	text-align: left;
	font-size: 19px;
	position: absolute;
	top: 58px;
	left: 175px;
}

.coupon_box .coupon_price .price_base {
	margin-right: 15px;
	color: #454545;
	text-align: left;
	font-size: 19px;
	display: inline-block;
	position: relative;
	text-decoration:line-through;

}

.coupon_box .coupon_price .price_base::after {
	content:"▸";
	position:absolute;
	right:-20px;
	top: 0px;
}

.coupon_box .coupon_price .price_discount {
	color: #e7597f;
	text-align: left;
	font-size: 30px;
	display: inline-block;
}

.coupon_box .coupon_price .price_discount span{
	font-size: 21px;
}

.coupon_box .coupon_comment {
	width: 653px;
	color: #454545;
	text-align: left;
	font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	top: 105px;
	left: 170px;
}

.coupon_box_full {
	width: 852px;
	margin: 0 auto 60px;
	padding-bottom: 60px;
	border-bottom: #cbccce solid 1px;
}

.coupon_box_full .coupon_box_inner {
	width: 782px;
	margin: 20px auto;
	display: flex;
	align-items: flex-start;
}

.coupon_box_full .coupon_box_inner .coupon_img {
	width: 200px;
	height: 200px;
	margin: 0 ;
	overflow: hidden;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

.coupon_box_full .coupon_box_inner .coupon_img img{
	width: 200px;
	height: 200px;
	margin-top: 100px;
	margin-left: 100px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.coupon_box_full .coupon_box_inner .date_box{
	max-width: 553px;
	margin-left: 20px;
}

.coupon_box_full .coupon_box_inner .date_box .coupon_title {
	max-width: 553px;
	text-align: left;
	font-size: 19px;
	color: #e7597f;
}

.coupon_box_full .coupon_box_inner .date_box .coupon_price {
	max-width: 553px;
	margin: 30px auto 10px;
	text-align: left;
	font-size: 19px;
}

.coupon_box_full .coupon_box_inner .date_box .coupon_price .price_base {
	margin-right: 15px;
	color: #454545;
	text-align: left;
	font-size: 25px;
	display: inline-block;
	position: relative;
	text-decoration:line-through;

}

.coupon_box_full .coupon_box_inner .date_box .coupon_price .price_base::before {
	content:"通常価格";
	position:absolute;
	left:0px;
	top: -30px;
	font-size: 15px;
}

.coupon_box_full .coupon_box_inner .date_box .coupon_price .price_base::after {
	content:"▸";
	position:absolute;
	right:-20px;
	top: 0px;
}

.coupon_box_full .coupon_box_inner .date_box .coupon_price .price_discount {
	color: #e7597f;
	text-align: left;
	font-size: 40px;
	display: inline-block;
	position: relative;
}

.coupon_box_full .coupon_box_inner .date_box .coupon_price .price_discount span{
	font-size: 29px;
}

.coupon_box_full .coupon_box_inner .date_box .coupon_price .price_discount::before {
	content:"ヒメユリ割適用で";
	position:absolute;
	left:0px;
	top: -15px;
	font-size: 15px;
	color: #454545;
}

.coupon_box_full .coupon_box_inner .date_box .coupon_comment {
	width: 553px;
	margin-bottom: 10px;
	color: #454545;
	text-align: left;
	font-size: 13px;
}

.coupon_box_full .coupon_box_inner .date_box .date {
	width: 553px;
	color: #454545;
	text-align: left;
	font-size: 12px;
}


/**********
shop_news
**********/
.shop_news_wrap {
	width: 1200px;
	margin: auto;
}

.news_box {
	width: 852px;
	margin: 0 auto 60px;
	padding-bottom: 60px;
	border-bottom: #cbccce solid 1px;
}

.news_box .news_box_inner {
	width: 782px;
	margin: 20px auto;
	display: flex;
	align-items:flex-start;
}


.news_box .news_box_inner .news_img {
	width: 200px;
	height: 200px;
	margin: 0 ;
	overflow: hidden;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

.news_box .news_box_inner .news_img img{
	width: 200px;
	height: 200px;
	margin-top: 100px;
	margin-left: 100px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.news_box .news_box_inner .date_box{
	max-width: 553px;
	margin-left: 20px;

}

.news_box .news_box_inner .date_box .news_title {
	max-width: 553px;
	text-align: left;
	font-size: 19px;
	color: #e7597f;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.news_box .news_box_inner .date_box .news_title a{
	color: #e7597f;
}

.news_box .news_box_inner .date_box .news_comment {
	max-width: 553px;
	margin: 10px auto;
	text-align: left;
	font-size: 13px;
	color: #454545;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 7;
}

.news_box .news_box_inner .date_box .date {
	width: 553px;
	color: #454545;
	text-align: left;
	font-size: 12px;
}

.news_box_full {
	width: 1052px;
	margin: 0 auto 60px;
	padding-bottom: 60px;
}

.news_box_full .news_title {
	width: 1052px;
	text-align: left;
	font-size: 30px;
	color: #e7597f;
}

.news_box_full .news_box_inner {
	width: 1052px;
	margin: 10px auto;
	display: flex;
	align-items:flex-start;
}

.news_box_full .news_box_inner .news_img {
	width: 200px;
	height: 200px;
	margin: 0 ;
	overflow: hidden;
	border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	position: relative;
}

.news_box_full .news_box_inner .news_img img{
	width: 200px;
	height: 200px;
	margin-top: 100px;
	margin-left: 100px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.news_box_full .news_box_inner .date_box{
	width: 832px;
	margin-left: 20px;
	padding: 10px 0;
	border-top: #cbccce solid 1px;
	border-bottom: #cbccce solid 1px;
}


.news_box_full .news_box_inner .date_box .news_comment {
	width: 832px;
	margin: 10px auto;
	text-align: left;
	font-size: 17px;
	color: #454545;
}

.news_box_full .date {
	width: 1052px;
	color: #a6a7ac;
	text-align: right;
	font-size: 15px;
}

/**********
shop_movie
**********/
.shop_movie_wrap {
	width: 1200px;
	margin: auto;
}

.movie_main{
	width: 640px;
	margin: 100px auto;
}

.movie_main .movie_main_img{
	width: 640px;
	height: 360px;
	margin: 10px auto 30px;
	position: relative;
}

.movie_main .movie_main_img iframe{
	width: 640px;
	height: 360px;
}

/* .movie_main .movie_main_img img{
	width: 100%;
	margin-top:180px;
	margin-left: 320px;
	position: absolute;
	left: -50%;
	top: -50%;
}

.movie_main .movie_main_img a{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}

.movie_main .movie_main_img a::after{
	position:absolute;
	left:50%;
	top: 50%;
	margin: -56px 0 0 -56px;
	content:"";
	display:inline-block;
	width:112px;
	height:112px;
	background:url(../images/common/movie_play_l.png) no-repeat;
	background-size:contain;
} */

.movie_main .shop_movie_title{
	width: 100%;
	margin: 10px auto 30px;
	font-size: 30px;
	color: #f86d8a;
	line-height: 1.2em;
}


.movie_main .movie_comment{
	width: 100%;
	margin-bottom: 30px;
	font-size: 17px;
	color: #434343;
	line-height: 1.5em;
}

.movie_box .shop_movie_title{
	width: 550px;
	font-size: 17px;
	color: #f86d8a;
	line-height: 1.5em;
	overflow: hidden;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	position: absolute;
	right: 0;
	top: 55px;
}

.movie_box .shop_movie_title a{
	color: #f86d8a;
	text-decoration: none;
}

.movie_box .shop_movie_date{
	width: 550px;
	font-size: 12px;
	line-height: 1.5em;
	position: absolute;
	right: 0;
	bottom: 60px;
}





/**********
side
**********/
#side .s_shop_set {
	width: 250px;
	height: 100px;
	background: white;
	margin:0 13px 1px 0;
	padding: 10px 0;
	position: relative;
}

#side .s_shop_set .shop_img {
	width: 80px;
	height: 80px;
	margin: 0;
	border-radius: 100px; 
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	overflow: hidden;
	position: relative;
}

#side .s_shop_set .shop_img img{
	width: 100%;
	margin-top: 40px;
	margin-left: 40px;
	position: absolute;
	left: -50%;
	top: -50%;
}

#side .s_shop_set .text {
	width: 165px;
	height: 100px;
	color: #454545;
	text-align: left;
	font-size: 14px;
	position: absolute;
	right: 0px;
	top: 0px;
	display: flex;
	flex-wrap: wrap;
	align-content:center;
}

#side .s_shop_set .text .shop_name {
	width: 165px;
	color: #454545;
	text-align: left;
	font-size: 14px;
    overflow: hidden;
}

#side .s_shop_set .text .shop_name a{
	color: #454545;
}

#side .s_shop_set .text .area {
	width: 165px;
	margin-top: 3px;
	color: #454545;
	text-align: left;
	font-size: 14px;
}

#side .s_shop_set .text .area a{
	color: #454545;
}

#side .s_shop_set .text .area span{
	padding:0 0 0 15px;
	display: inline-block;
	position: relative;
}

#side .s_shop_set .text .area span::before {
	position:absolute;
	left:0px;
	top: 0px;
	content:"";
	display:inline-block;
	width:14px;
	height:15px;
	background:url(../images/common/area.png) no-repeat;
	background-size:contain;
}


#side .s_shop_set:nth-child(2n) .shop_img {
	width: 80px;
	height: 80px;
	margin-left: 170px;
	border-radius: 100px; 
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	overflow: hidden;
	position: relative;
}

#side .s_shop_set:nth-child(2n) .shop_img img{
	width: 100%;
	margin-top: 40px;
	margin-left: 40px;
	position: absolute;
	left: -50%;
	top: -50%;
}

#side .s_shop_set:nth-child(2n) .text {
	width: 165px;
	height: 100px;
	color: #454545;
	text-align: right;
	font-size: 12px;
	position: absolute;
	left: 0px;
	top: 0px;
	display: flex;
	flex-wrap: wrap;
	align-content:center;
}

#side .s_shop_set:nth-child(2n) .text .shop_name {
	width: 165px;
	color: #454545;
	text-align: right;
	font-size: 12px;
    overflow: hidden;
}

#side .s_shop_set:nth-child(2n) .text .area {
	width: 165px;
	color: #454545;
	text-align: right;
	font-size: 12px;
}

#side h3{
	color: #454545;
	margin: 30px 0 10px;
	border-bottom: #cdcdcf solid 1px;
}

#side .side_search{
	width: 250px;
	margin: 10px auto 30px;
	padding: 1px;
} 

#side .side_search input[type='text']{
	width: 150px;
	height: 30px;
	margin-right: 0;
	padding: 5px;
	border: #cbccce solid 1px;
	border-top-left-radius: 5px; 
	-webkit-top-left-border-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-bottom-left-radius: 5px; 
	-webkit-bottom-left-border-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
}

#side .side_search input[type='text']:focus {
	outline: none;
  }

#side .side_search button{
	width: 100%;
	height: 30px;
	margin: 4px auto;
	border: none;
	
	background-color: #ffffff;
	padding: 5px;
	border: #cbccce solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

#side .side_search select{
	width: 100px;
	height: 30px;
	padding: 5px;
	font-size: 11px;
	margin-left: -5px;
	background: #ebecf0;
	border: #cbccce solid 1px;
	border-top-right-radius: 5px; 
	-webkit-top-right-border-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-right-radius: 5px; 
	-webkit-bottom-right-border-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
	color: #434343;
	outline: none;
}

#h_wrapper .head_search option{
	outline: none;
	border: none;
}



#side .detail_text{
	padding: 10px;
	font-size: 14px;
	letter-spacing: .1em;
	line-height: 1.5em;
	border: #cbccce solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

#side .banner{
	width: 250px;
	text-align: center;
	margin: 20px auto;
}

#side .banner img{
	max-width: 100%;
}

#side .twitter_btn{
	width: 250px;
	margin: 10px auto;
	padding: 10px 0 10px 12px;
	background-color: #fc9aac;
	color: #ffffff;
	text-align: center;
	border-radius: 30px; 
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	position: relative;
   }

#side .twitter_btn::before{
	position:absolute;
	left:85px;
	top: 12px;
	content:"";
	display:inline-block;
	width:16px;
	height:14px;
	background:url(../images/common/side_tw.png) no-repeat;
	background-size:contain;
	}

#side .twitter a{
 color: #fe1e67 !important;
}







/*other*/
#other_wrapper {
	width: 1200px;
	height: auto;
	margin: 45px auto 0;
	padding: 0;
}

/*management*/
#management {
	width: 100%;
	height: auto;
	margin: 50px auto 100px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
}

#management dt {
	width: 20%;
	margin-bottom: 0.5rem;
	font-size: 14px;
	text-align: center;
	padding: 12px 0px 12px 15px;
	border-bottom: #efefef solid 1px;
	border-top: #efefef solid 1px;

	display: inline-block;
}

#management dt::first-line {
	line-height: 40px;
}

#management dt.twolines {
	width: 180px;
	margin-bottom: 0.5rem;
	font-size: 14px;
	line-height: 20px;
	padding: 12px 0px 12px 15px;
	background: #eeeeee;
	display: inline-block;
}

#management dt.twolines::first-line {
	line-height: 25px;
}

#management dd {
	width: 80%;
	margin-bottom: 0.5rem;
	padding: 12px 0 12px 20px;
	line-height: 40px;
	border-bottom: #efefef solid 1px;
	border-top: #efefef solid 1px;
}

#management dd a{
	color: #434343;
}

/*link*/
.link_text{
	width: 900px;
	margin: 10px auto 20px;
	text-align: center;
	font-size: 18px;
}

.link_box{
	width: 900px;
	margin: 10px auto;
}

.link_box span{
	margin: 10px 0 5px;
	display: inline-block;
}

.link_box img{
	margin: 0 0 10px;
}

.link_box .link_set{
	margin-bottom: 40px;
	padding: 10px;
	background: #eeeeee;
}

/*contact*/
#contact_form{
	width: 900px;
	height: auto;
	margin:0 auto;
	font-size: 18px;
	color: #434343;
}

#contact_form dl {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px;
	font-size: 18px;
}

#contact_form dl dt {
	width: 25%;
	margin-bottom: 0.5rem;
	font-size: 21px;
	padding: 15px;
	text-align: right;
	display: inline-block;
}

#contact_form dl dt::first-line {
	line-height: 40px;
}

#contact_form dl dt span {
	font-size: 12px;
	color: #ff0000;
	display: block;
	margin: -5px auto 10px;
}

#contact_form dl dd {
	width: 75%;
	margin-bottom: 0.5rem;
	font-size: 21px;
	padding: 12px 0 12px 20px;
	line-height: 40px;
}

#contact_form select{
	width: 100%;
	height: 45px;
	padding: 5px;
	font-size: 18px;
	background: #fff;
	border: #d7d8da solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px; 
	-moz-border-radius: 5px; 
	outline: none;
}

#contact_form select:focus {
	outline: none;
  }

#contact_form input[type='text']{
width: 100%;
height: 45px;
padding: 5px;
font-size: 18px;
border: #d7d8da solid 1px;
border-radius: 5px; 
-webkit-border-radius: 5px; 
-moz-border-radius: 5px; 
outline: none;
}

#contact_form input[type='text']:focus {
outline: none;
}

#contact_form input[type=email]{
	width: 100%;
	height: 45px;
	padding: 5px;
	font-size: 18px;
	border: #d7d8da solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px; 
	-moz-border-radius: 5px; 
	outline: none;
}

#contact_form input[type='email']:focus {
	outline: none;
}

#contact_form textarea{
	width: 100%;
	height: 250px;
	padding: 5px;
	font-size: 18px;
	border: #d7d8da solid 1px;
	border-radius: 5px; 
	-webkit-border-radius: 5px; 
	-moz-border-radius: 5px; 
	outline: none;
}

#contact_form textarea:focus {
	outline: none;
  }


.complete_message{
	margin: 50px auto;
	text-align: center;
	font-size: 18px;
	display: block;
}

.contact_send{
	width: 100%;
	margin: 20px auto 100px;
	text-align: center;
}

.send_btn{
	width: 300px;
	height: 40px;
	margin: 10px auto;
	background: #fc97a9;
	color: #fff;
	border: none;
	cursor: pointer;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

.back_btn{
	width: 300px;
	height: 40px;
	margin: 10px auto;
	background: #fff;
	color: #fc97a9;
	font-size: 18px;
	border: none;
	cursor: pointer;
	border: #fc97a9 solid 1px;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

/*footer*/
footer{
	width:100%;
	background:#fdfae9;
	text-align:center;
	color:#FFF;
	}

footer #f_inner{
	width: 100%;
	margin:0;
	padding: 15px 0 100px;
	font-size: 13px;
	background: #fc9aac;
	position: relative;
}

footer #f_inner a{
	color:#fff;
	text-decoration:none;}

footer #f_inner h3{
	width: 800px;
	margin: auto;
	color: #ffffff;
	text-align: left;
}

footer #f_inner .area{
	width: 800px;
	margin: 10px auto 50px;
	color: #ffffff;
	text-align: left;
}

footer #f_inner .genre{
	width: 800px;
	margin: 10px auto 50px;
	color: #ffffff;
	text-align: left;
}

footer #f_inner .feature{
	width: 800px;
	margin: 10px auto 50px;
	color: #ffffff;
	text-align: left;
	letter-spacing: .1em;
}

footer #f_inner ul{
	margin: 10px auto;
	display: flex;
	justify-content: center;
}

footer #f_inner ul li{
	margin: 0 5px;
}

footer #f_inner #page_top{
	width:100px;
	height:103px;
	margin-left: -50px;
	position:absolute;
	bottom:-35px;
	left:50%;
	}

#f_wrapper{
	width: 100%;
	margin:0;
	padding: 15px 0 0;
	font-size: 13px;
	background: #f6f7fb;
	}

#f_wrapper #f_logo{
	width:296px;
	height:56px;
	margin: 50px auto;
	}

#f_wrapper #copy{
	width:100%;
	margin:auto;
	padding: 5px 0;
	text-align:center;
	font-size:12px;
	color:#000;
	background-color: #FFF;
	}

#f_wrapper #copy a{
	color:#000;
	}


