@charset "UTF-8";

/* INTERFACE */
@media screen and (max-width:660px){
header{
	position:relative;
}

header>h1,
header>div.header_logo{
	margin:0 0 0 20px;
	padding:15px 0;
	font-size:25px;
	line-height:1;
}

header>h1 img,
header>div img{
	width:65%;
	height:auto;
	vertical-align:bottom;
}

header nav{
	width:100%;
	height:100%;
	background-color:rgba(109,208,104,0.9);
	transition:all 0.5s;
	transform:translate(100%);
	z-index:999;
	position:fixed;
	top:0;
	right:0;
}

nav.open{
	transform:translate(0);
}

header>nav ul{
	margin:0;
	padding:30px 0;
	font-size:16px;
	line-height:1;
	letter-spacing:2px;
	list-style-type:none;
}

header>nav>ul.sp_menu{
	padding:80px 0 0 0;
}

header>nav>div .sp_menu{
	padding:0 0 50px 0;
}

header>nav ul>li{
	width:100%;
	padding:10px 0 30px 20px;
}

header>nav ul>li a{
	color:#fff;
	text-decoration:none;
}

header>nav ul>li a:hover,
header>nav ul>li a:active{
	color:#fff;
}

header>nav ul>li span.active,
header>nav ul>li a.active{
	padding:0 0 4px;
	color:#fff;
	border-bottom:1px solid #fff;
}

/*nav_sp*/
span.bar{
	display:block;
	height:2px;
	background-color:#6dd068;
	margin:10px 0;
	transition:all 0.2s;
	transform-origin:0 0;
}

button{
	display:block;
	width:35px;
	padding:0;
	text-align:center;
	letter-spacing:0.1em;
	background:none;
	border:none;
	outline:none;
	position:fixed;
	top:20px;
	right:20px;
	z-index:1001;
	cursor:pointer;
}
}

@media screen and (max-width:499px){
	button{
		top:12px;
	}
}

@media screen and (max-width:660px){
button span.bar{
	display:block;
	height:2px;
	background-color:#6dd068;
	margin:9px 0;
	transition:all 0.2s;
	transform-origin:0 0;
}

button .close{
	letter-spacing:0.08em;
	display:none;
}

button .menu{
	display: block;
}

button.active span.bar{
	width:40px;
}

button.active .bar1{
	margin:9px 0;
	transform:rotate(45deg);
	background-color:#fff;
}

button.active .bar2{
	opacity:0;
}

button.active .bar3{
	margin:15px 0;
	transform:rotate(-45deg);
	background-color:#fff;
}

button.active .menu {
  display: none;
}

button.active .close {
	display: block;

}
/*reservation_area*/
header #header_reservation_area{
	display:flex;
	justify-content:space-around;
	width:100%;
	text-align:center;
	position:fixed;
	bottom:0;
	z-index:99999;
}

header #header_reservation_area>span{
	display:block;
	width:50%;
}

header #header_reservation_area a{
	display:block;
	border:1px solid #fff;
	font-size:12px;
	color:#fff;
	line-height:1;
	letter-spacing:1.5px;
	text-decoration:none;
	padding:10px 20px;
	background:-moz-linear-gradient(45deg, #6dd068 40%, #deedbd 100%);
	background:-webkit-linear-gradient(45deg, #6dd068 40%, #deedbd 100%);
	background:linear-gradient(45deg, #6dd068 40%, #deedbd 100%);
	background-color:#6dd068;
}
}

@media screen and (max-width:320px){
	header #header_reservation_area a{
		font-size:10px;
	}
}

@media screen and (max-width:660px){
header #header_reservation_area a:hover{
	background-image:none;
	background-color:#6dd068;
}

header #header_reservation_area a>span.icon{
	display:block;
	margin:0 auto 10px;
	width:30px;
	height:30px;
	background-repeat:no-repeat;
	background-size:30px 30px;
}

header #header_reservation_area #reservation a>span.icon{
	background-image:url(/import/tenant_1/133.167.75.183/lfort_htmldocs/img/interface/icon_reservation.svg);
}

header #header_reservation_area #header_tel a>span.icon{
	background-image:url(/import/tenant_1/133.167.75.183/lfort_htmldocs/img/interface/icon_tel.svg);
}

a.flow-navi{
	display:none;
}


/* FOOTER */
/*クーポン修正*/
footer>#coupon_1st{
	width:90%;
	margin:0 auto 40px;
	text-align:center;
	border:1px solid #6dd068;
}

footer>#coupon_1st .coupon_1st_ttl p{
	margin:0 auto;
	padding:8px 0;
	color:#fff;
	font-size:14px;
	font-weight:700;
	line-height:1;
}
footer>#coupon_1st .triangle{
	width:20px;
	margin:0 auto 10px;
	height:calc(20px/2);
	clip-path:polygon(0 0, 100% 0, 50% 100%);
}

footer>#coupon_1st .coupon_1st_main .coupon_1st_txt{
	margin:0 20px;
	padding:0 0 10px 0;
	border-bottom:2px dotted #6dd068;
}

footer>#coupon_1st .coupon_1st_main .coupon_1st_txt p{
	font-size:14px;
	line-height:1.4;
}

footer>#coupon_1st .coupon_1st_main .coupon_discount{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	margin:10px auto;
}

footer>#coupon_1st .coupon_1st_main .coupon_discount .coupon_info{
	margin:0 20px;
}

footer>#coupon_1st .coupon_1st_main .coupon_discount .coupon_info p:first-child{
background-color:#6dd068;
margin:0 0 8px 0;
padding:6px 2px;
color:#fff;
font-size:12px;
font-weight:700;
line-height:1;
}

footer>#coupon_1st .coupon_1st_main .coupon_discount .coupon_info p:nth-of-type(2){
margin:0;
font-size:16px;
font-weight:700;
line-height:1;
}

footer>#coupon_1st .coupon_1st_main .coupon_discount .coupon_1st_price p{
margin:0;
text-align:left;
font-size:56px;
font-weight:900;
line-height:1;
}

footer>#coupon_1st .coupon_1st_main .coupon_discount .coupon_1st_price p>span.marker{
background: linear-gradient(transparent 70%, #fffaa9 30%);	
}

footer>#coupon_1st .coupon_1st_main .coupon_discount .coupon_1st_price p span.small{
font-size:18px;
}

footer>#coupon_1st .coupon_1st_btn{
	margin:0 20px;
	padding:15px 0 ;
	border-top:2px dotted #6dd068;
}

footer>#coupon_1st .coupon_1st_btn>a{
	width:80%;
	font-size:16px;
}

/*--------------------------
footer #coupon{
	padding:0 20px;
	margin:0 0 80px;
}

footer #coupon>p{
	display:table;
	margin:0 auto 15px;
	padding:0 25px;
	font-size:22px;
	line-height:1;
	text-align:center;
	color:#6dd068;
	position:relative;
}

footer #coupon>p:before,
footer #coupon>p:after{
	content:"";
	position:absolute;
	top:50%;
	display:inline-block;
	width:22px;
	height:2px;
	background-color:#6dd068;
}

footer #coupon>p:before{
	right:0;
	transform:rotate(-60deg);
}

footer #coupon>p:after{
	left:0;
	transform:rotate(60deg);
}

footer #coupon img{
	width:100%;
	vertical-align:bottom;
}
-------------------------- */

footer>#footer_inner01{
	padding:30px 20px;
}

footer #footer_info{
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 auto 20px;
}

footer #footer_info a>img{
	display:block;
	width:90px;
	height:auto;
	margin:0 auto 10px;
	vertical-align:bottom;
}

footer #footer_info>address{
	padding:0 0 0 20px;
	font-size:13px;
	line-height:1;
}

footer #footer_info>address>span{
	font-size:20px;
	line-height:1.8;
	color:#6dd068;
}

footer #footer_info>address a{
	display:block;
	margin:5px 0 0;
	font-size:16px;
	line-height:2;
	letter-spacing:1.5px;
}

footer #footer_info>address a>span{
	margin:0 5px 0 0;
	width:15px;
	height:15px;
	background-size:15px 15px;
}

footer #footer_skd{
	width:85%;
	margin:0 auto;
}
}

@media screen and (max-width:499px){
	footer #footer_skd{
		width:100%;
	}
}

@media screen and (max-width:330px){
	footer #footer_info a>img{
		width:60px;
	}
	footer #footer_info>address>span{
		font-size:16px;
	}
	footer #footer_info>address a{
		font-size:14px;
	}
}

@media screen and (max-width:660px){
#footer_inner02{
	padding:50px 20px 90px;
}

#footer_inner02 ul{
	width:85%;
	margin:0 auto 40px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
}

@media screen and (max-width:499px){
	#footer_inner02 ul{
		width:100%;
	}
}

@media screen and (max-width:660px){
#footer_inner02 ul>li{
	display:block;
	align-items:center;
	width:50%;
	padding:0 0 20px 0;
	font-size:13px;
	line-height:1;
}

#footer_inner02>small{
	font-size:10px;
}

#btn_top,
#btn_top>a,
#btn_top>a>span{
	display:none;
}

/* ボタン */
.btn>a{
	display:table;
	padding:10px 50px 10px 30px;
	background-image:url(/import/tenant_1/133.167.75.183/lfort_htmldocs/img/interface/btn_arrow_g.svg);
	background-repeat:no-repeat;
	background-size:8px 13px;
	background-position:right 20px center;
	border:1px solid #6dd068;
	font-size:14px;
	line-height:1;
	letter-spacing:2px;
	color:#6dd068;
	text-decoration:none;
	transition:.4s;
}

.btn>a:hover{
	border:1px solid #fff;
	background-color:#6dd068;
	background-image:url(/import/tenant_1/133.167.75.183/lfort_htmldocs/img/interface/btn_arrow_w.svg);
	color:#fff;
}


/* HOME----------------- */
/* HOME_key */
#home_key_area{
	box-sizing:border-box;
	width:100%;
	margin:0 0 50px;
	padding:0 20px 0 0;
	position:relative;/*
	overflow:hidden;*/
}

#home_key_area picture{
	width:100%;/*
	float:left;*/
}

#home_key_area picture img{
	width:100%;
	vertical-align:bottom;
}

#home_key_area>#home_key_text{
	width:150px;
	position:absolute;
	top:6%;
	right:9%;
}

#home_key_area>#home_key_text>p{
	font-size:22px;
	line-height:1.7;
	letter-spacing:1.5px;
}

#home_key_area>#home_key_text>p>span{
	display:block;
}

#home_key_area>#home_key_info{
	width:10px;
	font-size:8px;
	letter-spacing:1px;
	line-height:1;
	color:#767676;
	position:absolute;
	top:0;
	right:5px;
}
}

@media screen and (max-width:499px){
	#home_key_area>#home_key_text{
		position:absolute;
		top:5%;
		right:0;
	}
	#home_key_area>#home_key_text>p{
		font-size:19px;
		line-height:1.5;
	}
	#home_key_area>#home_key_info{
		position:absolute;
		top:0;
		right:5px;
	}
}

@media screen and (max-width:660px){
/* HOME共通--- */
.home_contents_text>p{
	margin:0 0 35px 0;
	font-size:14px;
	line-height:1.8;
	letter-spacing:1px;
	text-align:justify;
	text-justify:inter-ideograph;
}

/* HOME_about */
#home_about{
	margin:0 0 50px;
	padding:0 20px;
	position:relative;
}

#home_about .home_contents_text>h2{
	margin:0 0 15px;
	font-size:24px;
	font-weight:normal;
	line-height:1;
	color:#6dd068;
}

#home_about .btn{
	position:absolute;
	bottom:-60px;
	left:35%;
}
}

@media screen and (max-width:499px){
	#home_about .btn{
		left:30%;
	}
}

@media screen and (max-width:320px){
	#home_about .btn{
		left:24%;
	}
}

@media screen and (max-width:660px){
#home_about .btn>a{
	margin:0 auto;
}

#home_about>.home_contents_pic{
	width:100%;
	margin:0 auto;
}

#home_about>.home_contents_pic img{
	width:100%;
	vertical-align:bottom;
}

/* HOME_symptom */
#home_symptom{
	margin:0 0 80px 0;
}

#home_symptom>div{
	padding:150px 20px 80px;
}

#home_symptom h2{
	margin:0 0 15px;
	font-size:24px;
	font-weight:normal;
	line-height:1;
	text-align:center;
	color:#6dd068;
}

.home_symptom_item>.home_symptom_item_bar{
	width:100%;
	height:20px;
	display:block;
	background-image:url(/import/tenant_1/133.167.75.183/lfort_htmldocs/img/home_symptom_item_bar.png);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center top;
}

#home_symptom .home_symptom_item_pic{
	margin:15px 15px 30px;
	border:1px solid #6dd068;
	text-align:center;
	position:relative;
}

#home_symptom .home_symptom_item_pic>h3>img{
	position:absolute;
}

#home_symptom .home_symptom_item_pic>img{
	width:100%;
	vertical-align:bottom;
}

.home_symptom_item{
	margin:0 0 50px;
}

.home_symptom_item>ul{
	padding:0 15px 50px;
	font-size:14px;
	line-height:1.5;
	letter-spacing:1.5px;
	overflow:hidden;
}

.home_symptom_item>ul>li{
	width:50%;
	padding:0 0 15px;
	display:block;
}
}

@media screen and (max-width:499px){
	.home_symptom_item>ul{
		letter-spacing:0.5px;
	}
	#home_symptom ul>li:before{
		padding:0 1.5em 0 0;
	}
}

@media screen and (max-width:660px){
.home_symptom_item>ul>li:nth-child(odd){
	float:left;
}

.home_symptom_item>ul>li:nth-child(even){
	float:right;
}

/*腰*/
#home_symptom_item01 .home_symptom_item_pic>h3>img{
	width:70px;
	height:auto;
	position:absolute;
	top:10%;
	left:6%;
}

/*首肩*/
#home_symptom_item02 .home_symptom_item_pic>h3>img.kubi{
	width:70px;
	height:auto;
	position:absolute;
	top:19%;
	right:20%;
}

#home_symptom_item02 .home_symptom_item_pic>h3>img.kata{
	width:70px;
	height:auto;
	position:absolute;
	bottom:21%;
	right:7%;
}
}

@media screen and (max-width:499px){
	#home_symptom_item02 .home_symptom_item_pic>h3>img.kubi{
		width:60px;
		top:20px;
		right:60px;
	}
	#home_symptom_item02 .home_symptom_item_pic>h3>img.kata{
		width:60px;
		bottom:15px;
		right:16px;
	}
}

@media screen and (max-width:320px){
	#home_symptom_item02 .home_symptom_item_pic>h3>img.kubi,
	#home_symptom_item02 .home_symptom_item_pic>h3>img.kata{
		width:50px;
		height:auto;
	}
}

@media screen and (max-width:660px){
/*手*/
#home_symptom_item03 .home_symptom_item_pic>h3>img{
	width:70px;
	height:auto;
	position:absolute;
	top:13%;
	left:12%;
}

/*頭*/
#home_symptom_item04 .home_symptom_item_pic>h3>img{
	width:70px;
	height:auto;
	position:absolute;
	top:13%;
	right:12%;
}

/*足*/
#home_symptom_item05 .home_symptom_item_pic>h3>img{
	width:70px;
	height:auto;
	position:absolute;
	top:13%;
	right:12%;
}

/* HOME_access */
#home_access{
	margin:0 0 80px;
	padding:0 20px;
}

#home_access h2{
	margin:0 0 15px;
	font-size:24px;
	font-weight:normal;
	line-height:1;
	text-align:center;
	color:#6dd068;
}

#home_access>div:first-of-type{
	margin:0 0 50px;
}

table#home_access_info{
	margin:0 0 40px;
	border-collapse:collapse;
	border:none;
	border-spacing:0;
	font-size:14px;
	line-height:1.5;
}

table#home_access_info th{
	display:block;
	padding:0 0 5px;
	text-align:left;
	letter-spacing:1.5px;
	font-weight:bold;
	vertical-align:top;
}

table#home_access_info td{
	display:block;
	letter-spacing:2px;
}

table#home_access_info tr:first-of-type td{
	padding:0 0 20px;
}

table#home_access_info a{
	display:block;
	margin:0;
	font-size:10px;
	letter-spacing:1px;
}

a#home_access_tel{
	margin:0 auto 10px;
	font-size:22px;
	line-height:1;
	text-align:center;
}

a#home_access_tel>.icon{
	margin:0 10px 0;
	width:20px;
	height:20px;
	background-size:20px 20px;
}

a#home_access_reserve{
	margin:0 auto 10px;
	padding:14px 80px 14px 40px;
	font-size:20px;
	line-height:1;
	background-position:right 40px center, center;
}
}

@media screen and (max-width:320px){
	a#home_access_reserve{
		font-size:16px;
	}
}

@media screen and (max-width:660px){
a#home_access_reserve:hover{
	background-position:right 40px center, center;
}

a#home_access_reserve+span{
	display:block;
	margin:0 0 40px;
	font-size:14px;
	text-align:center;
}


#home_access_map>iframe{
	width:100%;
	height:300px;
	margin:0 auto;
}

/*HOME_access&Footer営業時間table*/
table#home_access_skd,
#footer_skd>table{
	width:100%;
	margin:0 auto 5px;
	border-collapse:collapse;
	border:none;
	border-spacing:0;
	font-size:13px;
	line-height:1.5;
}

table#home_access_skd th,
#footer_skd>table th{
	padding:8px 30px 8px 0;
	text-align:left;
	letter-spacing:1.5px;
	font-weight:500;
	vertical-align:top;
	border-bottom:1px solid #6dd068;
	border-right:1px solid #6dd068;
}

#footer_skd>table th{
	padding:5px 20px 5px 0;
}

table#home_access_skd td,
#footer_skd>table td{
	padding:8px 10px;
	letter-spacing:2px;
	border-bottom:1px solid #6dd068;
}

#footer_skd>table td{
	padding:5px 10px;
}

table#home_access_skd td:first-of-type{
	padding:8px 10px 8px 30px;
}

#footer_skd>table td:first-of-type{
	padding:5px 10px 5px 20px;
}

table#home_access_skd tr:last-of-type th,
table#home_access_skd tr:last-of-type td,
#footer_skd>table tr:last-of-type th,
#footer_skd>table tr:last-of-type td{
	border-bottom:none;
}

table#home_access_skd+small,
#footer_skd>table+small{
	font-size:12px;
	line-height:1;
}
}

@media screen and (max-width:499px){
	table#home_access_skd th,
	#footer_skd>table th{
		padding:7px 7px 7px 0;
	}
	table#home_access_skd td,
	#footer_skd>table td{
		padding:7px;
	}
	table#home_access_skd td:first-of-type,
	#footer_skd>table td:first-of-type{
		padding:7px 7px 7px 10px;
	}
}


@media screen and (max-width:330px){
	table#home_access_skd th>span,
	#footer_skd>table th>span{
		display:block;
	}
	table#home_access_skd th,
	#footer_skd>table th{
		padding:5px 10px 5px 0;
	}
	table#home_access_skd td:first-of-type,
	#footer_skd>table td:first-of-type{
		padding:5px 10px 5px 10px;
	}
}


























