@charset "utf-8";
/* CSS Document */

@media screen and (max-width:736px) {
html, body {
	min-width: 0;
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust : 100%;
}

img {
	max-width: 100% !important;
	height: auto;
}

.sp_only {
	display: inherit !important;
}

.pc_only {
	display: none !important;
}

.inner {
	width:100%;
	padding: 0 2%;
	box-sizing:border-box;
	overflow:hidden;
	clear:both;
	margin: 0 auto;
}

h2.ttl {
	text-align:center;
	font-size:5.2vw;
	color:#333333;
	margin: 0 0 30px;
}

.sp_header {
	overflow:hidden;
	padding: 3%;
	box-sizing:border-box;
    background: #f1f1f3;
    border-bottom: 0.1875rem solid #f24579;
}

.sp_header h1 {
	float: left;
	width: 38%;
}

.sp_header ul.contact_btn {
	float: right;
	width: 60%;
}

.sp_header ul.contact_btn li {
	float: right;
	width: 48%;
	margin: 0 1%;
}
.training-free{
	width: 90%;
    height: 60px;
    line-height: 60px;
    text-align: center;
    display: block;
    margin: 2rem auto;
    font-size: 4vw;
    font-weight: bold;
    box-sizing: border-box;
    border-radius: 20px;
}

/*-media_area--*/

.main_area {
	overflow:hidden;
	padding: 10% 0;
	background: #f4f4f4;
	background-size:cover;
	position:relative;
}

.vegas-slide-inner {
	background-position:bottom right 20% !important;
	background-size: cover !important;
}

.main_box01 {
	width: 60%;
}

.main_box02 {
	width: 60%;
}

h1.logo {
	display:none;
}

h2.main_ttl {
	margin: 0 0 20px;
	text-align:center;
}

h3.main_ttl {
	text-align:center;
}

p.main_img01 {
	margin: 20px 0;
}
p.main_img01.main_004_02{
	width: 90vw;
	margin-top: 10px;
}
p.main_txt001 {
	font-size:3vw;
}

ul.main_list01 {
	text-align:center;
	/*margin: 0 0 10%;*/
	/*background-color: #f24579;*/
	padding: 0 ;
	font-size:0;
}

ul.main_list01 li {
	width: 43%;
	margin: 0 1% 2%;
	display:inline-block;
}
	
p.main_list01_txt {
	font-size: 2vw;
	text-align: center;
	margin: 0 0 10%;
}

/*
.main_area {
	overflow:hidden;
	padding: 10% 4%;
	box-sizing:border-box;
	background: url(../images/page/top/main_bg.webp) no-repeat left top;
	background-size: 100%;
}

h1.logo {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
	background:url(../images/page/top/hd_logo.png) no-repeat top center;
	background-size: 50%;
	width:100%;
	height: 95px;
	position:relative;
	z-index:9;
}

.main_cont01 {
	overflow: hidden;
	margin: 5% 0 2%;
	position:relative;
	z-index:10;
}

.main_left {
	float: none;
	text-align:center;
}

.main_left h2 {
	font-size:10vw;
	color: #f24579;
	background:#fff;
}

.main_left h3 {
	font-size:6vw;
	font-weight:bold;
	margin: 0 0 5%;
}

p.main_left_txt {
	margin: 0 0 1%;
}

p.main_left_txt + p.main_left_txt {
	margin: 0;
}

p.main_txt001 {
	font-size:14px;
	padding: 10px 0 0;
	margin: 0 0 10%;
}

ol.main_list {
	margin: 0 0 5%;
}

ol.main_list li + li {
	margin: 5px 0 0;
}


p.main_right_img {
    width: 90%;
    float: none;
    text-align: center;
    padding: 4% 4% 0;
    background-color: #f24579;
    margin: 0 auto;
}

ul.main_list01 {
	clear: both;
}

ul.main_list01 li {
	float: none;
	text-align:center;
}

*/
p.bnr_202106 img{width: 58%;margin-top: 10px;}
	


/*-afterfollow_area--*/

.afterfollow_area {
	overflow:hidden;
	padding: 0 4% 10%;
	box-sizing:border-box;
	text-align:center;
	color:#333;
}

p.afterfollow_txt001 {
	font-size:4vw;
	margin: 0 0 1%;
}

h2.afterfollow_ttl {
	font-size:6vw;
	font-weight:bold;
	margin: 0 0 5%;
}


/*-media_area--*/

.media_area {
	clear:both;
	background:url(../images/page/top/media_bg01.png),
	url(../images/page/top/media_bg02.png);
	background-repeat:no-repeat;
	background-position:left top, right top;
	overflow:hidden;
	padding: 10% 4%;
	box-sizing:border-box;
	text-align:center;
	color:#333;
}

p.media_txt001 {
	font-size:5.6vw;
}

h2.media_area_ttl {
	font-size:6.2vw;
	font-weight:bold;
}

/*-price_area--*/

.price_area {
	clear:both;
	overflow:hidden;
	padding: 10% 5%;
	text-align:center;
}

h2.price_area_ttl {
	font-size:7vw;
	margin: 0 0 5%;
}

table.price_table {
	width: 960px;
	margin: 0 0 10%;
	
	display:none;
}

p.sp_tabel_price {
	text-align:center;
	margin: 0 0 3%;
}

table.price_table,
table.price_table td, 
table.price_table th {
	border: 1px solid #ccc;
	border-collapse: collapse;
}
table.price_table td, 
table.price_table th {
	padding: 10px;
	width: 30px;
	height: 25px;
}

table.price_table th {
	font-weight:bold;
	font-size:20px;
}

th.tti01 {
	width: 35% !important;
	background-color:#f24579;
	color:#fff;
}

th.tti02 {
	width: 20% !important;
	background-color:#666666;
	color:#fff;
}

td.area01 {
	background-color:#f7e4eb;
	font-size:24px;
}

td.area02 {
	background-color:#f4f4f4;
	font-size:20px;
}

span.del {
    color: #e6245e;
    text-decoration : line-through ;
}
span.del span.txt01 {
	font-size:16px;
	color:#333;
}

span.txt02 {
	display:block;
	font-size:16px;
	padding: 0 20px;
	color:#333;
}

p.price_txt {
	font-size:3.6vw;
	text-align: center;
}

#sp_tabel {
    box-sizing: border-box;
    border-right: 1px solid #4f4d47;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
}
#sp_tabel table { border-right: none;}

/*-before_after--*/

.before_after {
	clear:both;
	overflow:hidden;
	padding: 22% 4% 10%;
	box-sizing:border-box;
	text-align:center;
	background: url(../images/page/top/bg_left.jpg),
	url(../images/page/top/bg_right.jpg) #f24579;
	background-repeat:no-repeat;
	background-position:top left, top right;
	background-size: 50.111%;
}

.before_after p.txt001,
.before_after h2.trainer_area_ttl{
	color:#fff;
}

ul.before_after_list {
	overflow:hidden;
	padding: 0;
}

ul.before_after_list li.before_after_list_cont {
	width: 100%;
	min-height: inherit;
	background-color:#fff;
	padding: 10% 5%;
	box-sizing:border-box;
	float: none;
	margin: 0 0 10%;
	text-align:center;
}

p.before_afte_course {
	font-size:4vw;
	margin: 0 0 5%;
}

h3.before_after_ttl {
	font-size:5vw;
	margin: 0 0 5%;
}

ul.before_after_list li:nth-child(even){
	float: none;
	margin: 0 0 10%;
}

.slide_area {
	overflow:hidden;
}

ol.slide_area_img {
	overflow:hidden;
	padding: 0 4%;
}

ol.slide_area_img li.slide_area_img_img {
	width: 50%;
	float: left;
}

ol.slide_area_img li.slide_area_img_img img {
	width: 100%;
}

p.before_after_position {
	clear:both;
	padding: 0 0;
	font-size:5vw;
	color:#f24579;
}

span.before {
	background-color:#8e8e8e;
	color:#fff;
	font-size:15px;
	padding: 10px 0;
	display:inline-block;
	width:100%;
}

span.after {
	background-color:#f24579;
	color:#fff;
	font-size:15px;
	padding: 10px 0;
	display:inline-block;
	width:100%;
}


p.before_after_txt {
	clear:both;
	font-size:3.6vw;
	line-height:1.8em;
	text-align:left;
	color: #fff;
}

/*-point_area--*/

.point_area {
	clear:both;
	overflow:hidden;
	padding: 10% 4%;
	box-sizing:border-box;
	text-align:center;
}

ul.point_list {
	width: 96%;
	margin:0 auto 2%;
	overflow:hidden;
	text-align:center;
}

ul.point_list li {
	float:none;
	width: 100%;
	min-height: inherit;
	margin: 0 0 5% 0;
	background-color:#f24579;
	text-align:center;
	color:#fff;
	padding: 10px 10px;
	box-sizing: border-box;
}


ul.point_list li:last-child{
	float:none;
	margin: 0;
}

p.point_number {
	font-size:10vw;
	margin: 0 0 1%;
	padding: 5% 0 0;
}

p.point_number span {
	font-size:5vw;
	display:block;
}

h3.point_ttl {
	font-size:5vw;
	margin: 0 0 5%;
}

h3.point_ttl span {
	font-size:4vw;
	display:block;
}


p.point_img img {
	width:100%;
}

.point_txt_area {
	background-color:#fff;
	min-height: inherit;
	padding: 4%;
	box-sizing:border-box;
	text-align:left;
	color:#333;
}

p.point_txt {
	font-size:3.6vw;
	line-height:1.8em;
}

p.point_txt + p {
	margin: 20px 0 0;
}


ul.point_list02 {
	width: 96%;
	margin:0 auto;
	overflow:hidden;
	text-align:center;
}

ul.point_list02 li {
	float:none;
	width: 100%;
	min-height: inherit;
	margin: 0 0 5% 0;
	background-color:#f24579;
	text-align:center;
	color:#fff;
	padding: 10px 10px;
	box-sizing: border-box;
}

ul.point_list02 li:last-child{
	float:right;
	margin: 0;
}

ul.point_list02 li .point_txt_area {
	background-color:#fff;
	min-height:160px;
	padding: 20px;
	box-sizing:border-box;
	text-align:left;
	color:#333;
}

/*--method_area--*/

.method_area {
	clear:both;
	overflow:hidden;
	padding: 10% 4%;
	box-sizing:border-box;
	background: url(../images/page/top/bg_img01.webp) no-repeat center;
	background-size:cover;
	text-align:center;
}

p.method_txt {
	font-size:3.6vw;
	line-height:2.0em;
	margin: 0 0 10%;
	text-align:left;
}

p.method_txt br {
	display:none;
}

p.method_txt strong {
	color: #e6245e;
	font-weight:bold;
	font-size:4.4vw;
}

ol.method_number {
	overflow:hidden;
	background: none;
}

ol.method_number li {
	width: 50%;
	float: left;
    box-sizing: border-box;
    display: inherit;
    vertical-align: top;
	margin: 0;
}

ol.method_number li img {
    padding: 2%;
	box-sizing:border-box;
}

/*--faq_area--*/

.faq_area {
	clear:both;
	overflow:hidden;
	padding: 10% 0;
	box-sizing:border-box;
}


.faq_box {
	margin:  0 0 40px;
}


.faq_info {
	clear: both;
}

.faq_info + div {
	margin: 10px 0 0;
}

.faq a {
	display: block;
}

.faq .child {
	display: none;
	padding: 0;
}

.child .menu {
	background: #eaeaea;
	color: #5e5e5e;
}

.child .menu:hover {
	background: #d0d0d0;
}

.child > li {
	margin: 4% 0 0;
	box-sizing:border-box;
	overflow:hidden;
	background: #f4f4f4;
	padding: 5%;
	font-size: 4vw;
}

.child > li:last-child {
	border-bottom: 0;
}


.switch .menu.active:after {
	content: url(../images/page/top/btn_on001.png);
	margin-top: -1.4rem;
}

.menu {
	display: block;
	position: relative;
	margin: 1px 0 0;
	padding: 12px 0;
	cursor: pointer;
}

.faq_main .menu {
	color: #333;
	position: relative;
	text-align: left;
	letter-spacing: 0.05em;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.faq_main .menu:hover {
	background: #fff;
	text-decoration: none;
	color: #333 !important;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.faq_main li span.faq_q {
	position: absolute;
	top: 8px;
	left: 20px;
}


.faq_main li span.faq_txt {
	display: inline;
	margin: 0 2% 0 0;
	padding: 3% 3% 6%;
}

h3.faq__q {
	font-size: 4vw;
	line-height: 1.8em;
	padding: 0 20% 0 0;
	box-sizing:border-box;
    padding-left: 2em;
    text-indent: -3em;
}

.active h3.faq__q:hover {
	color:#fff !important;
}


span.faq_txt img {
	width:10%;
}

.faq_main dl {
	width: 100;
	overflow: hidden;
	margin: 0 auto;
}

.faq_main dl dt {
	width: 100%;
	float: none;
	text-align:left;
}

.faq_main dl dt img {
	width: 8%;
}


.faq_main dl dd {
	width: 100%;
	float: none;
	font-size: 4vw;
	color: #595757;
	text-align: left;
	line-height: 2.0em;
}

h3.faq__q {
	width: 96%;
	margin: 0 auto;
}

p.beforeafter_txt001 {
	width: 100%;
	font-size: 20px;
	text-align: center;
	color: #333;
	margin: 0 0 40px;
}

/*--service_area--*/

.service_area {
	clear:both;
	overflow:hidden;
	padding: 10% 4%;
	background:url(../images/page/top/bg_img.png) no-repeat center;
	background-size:cover;
	text-align:center;
}

h2.service_area_ttl {
	font-size:6vw;
	margin: 0 0 1%;
}

h3.service_area_ttl02 {
	font-size:5vw;
	margin: 0 0 5%;
}

p.service_area_txt {
	font-size:3.6vw;
	line-height: 1.8em;
	margin: 0 0 10%;
}

ul.service_list {
	overflow:hidden;
}


ul.service_list li {
	width: 100%;
	min-height: inherit;
	background-color:#fff;
	float: none;
	padding: 7%;
	box-sizing:border-box;
	margin: 0 0 10%;
}

ul.service_list li:nth-child(even){
	float: none;
}

p.service_txt01 {
	background-color:#f24579;
	font-size:4vw;
	color:#fff;
	border-radius:10px;
	padding: 3%;
	box-sizing:border-box;
	margin: 0 0 5%;
}

dl.service_cont {
	overflow:hidden;
	text-align:left;
}

dl.service_cont dt {
	float:none;
	width:100%;
}

dl.service_cont dt img {
	width:100%;
}

dl.service_cont dd {
	float:none;
	width:100%;
	padding: 20px 0 0;
}

h2.service_cont_ttl {
	font-size:6vw;
	text-align:center;
	font-weight:bold;
	margin: 0 0 4vw;
}

h2.service_cont_ttl span {
	font-size:5vw;
	font-weight: normal;
	display:block;
	letter-spacing:0.1em;
}

p.service_price {
	color:#f24579;
	font-size:8vw;
	text-align:center;
}

p.service_price span {
	font-size:13px
}

dl.service_cont01 {
	clear:both;
	text-align: left;
	margin: 5% 0;
	overflow:hidden;
}

dl.service_cont01 dt {
	width: 100%;
	float: none;
	box-sizing:border-box;
	line-height: 40px;
	border: 2px solid #f24579;
	font-size: 4.2vw;
	text-align:center;
	margin: 0 0 4%;
}

dl.service_cont01 dd {
	width: 100%;
	float: none;
}

dl.service_cont01 dd p {
	font-size:3.6vw;
}

dl.service_cont01 dd p strong {
	font-size:4.2vw;
	padding: 0 0 0 1%;
	font-weight:normal;
	color:#f24579;
}

p.service_plus {
	padding: 4% 0;
	text-align:center;
}


p.service_list01 {
	clear:both;
	text-align:left;
	font-size: 3.6vw;
	border:1px solid #f24579;
	color:#f24579;
	border-radius:30px;
	padding: 5px 20px;
	box-sizing:border-box;
}

p.service_list01 + p.service_list01 {
	margin: 5px 0 0;
}

p.service_txt02 {
	text-align:left;
	padding: 5% 0 0;
	font-size:3.6vw;
	line-height: 1.8em;
}

.sp_plan {
	clear:both;
	background-color:#fff;
	padding: 7%;
	box-sizing:border-box;
	text-align:left;
}

p.sp_plan_txt {
	font-size:14px;
	color:#fff;
	margin: 0;
	width:100%;
	background-color:#f24579;
	text-align:center;
	border-radius: 10px;
    padding: 3%;
	box-sizing:border-box;
	margin: 0 0 5%;
}

p.sp_plan_txt span {
	background-color:#f24579;
	border-radius: 10px;
    padding: 3%;
}

ul.sp_plan_course {
	overflow:hidden;
	margin: 0 0 10%;
}

ul.sp_plan_course li {
	overflow:hidden;
	width:100%;
	float: none;
	border-right: none;
	border-bottom:1px solid #ccc;
	padding: 0 0 5%;
	margin: 0 0 5%;
	box-sizing:border-box;
}

p.sp_plan_txt01 {
	font-size:5vw;
	text-align:center;
}

p.sp_plan_txt02 {
	font-size:3.6vw;
}


ul.sp_plan_course li:last-child{
	border:none;
	padding: 0;
}

dl.sp_plan_area {
	clear:both;
	border:1px solid #f24579;
	padding: 20px 25px;
	box-sizing: border-box;
	overflow:hidden;
}

dl.sp_plan_area dt {
	float: none;
	text-align:center;
	font-size:5vw;
	font-weight:bold;
	color:#f24579;
	margin: 0 0 1%;
}

dl.sp_plan_area dd {
	float: none;
	font-size:4vw;
	margin: 0;
	line-height:1.8em;
	text-align:center;
}


/*--profile_area--*/

.profile_area {
	clear:both;
	overflow:hidden;
	padding: 10% 3%;
	background: url(../images/page/top/profile_bg.png) no-repeat bottom right;
	background-size:100%;
	text-align:center;
}

.profile_main {
	width: 100%;
	float: none;
	margin: 0 0 5%;
}

p.profile_main_img {
	width: 100%;
	float: none;
}


.profile_cont {
	text-align:left;
}

.profile_cont + .profile_cont {
	margin: 10% 0 0;
}

p.profile_ttl01 {
	width: 100%;
	padding: 5px 0;
	font-size:4.8vw;
	border-radius:10px;
	text-align:center;
	color: #fff;
	background-color:#f24579;
	margin: 0 0 5%;
}

h3.profile_main_name {
	font-size:5.6vw;
	margin: 0 0 2%;
	text-align:center;
}

p.profile_main_txt {
	font-size:4vw;
	line-height:1.8em;
}

.profile_cont dl {
	overflow:hidden;
	clear:both;
	border-top: 1px solid #f1f1f1;
	padding: 3% 0;
}

.profile_cont dl:last-child{
	border-bottom: 1px solid #f1f1f1;
}

.profile_cont dl dt {
	width: 100%;
	float: none;
	text-align:left;
	font-size: 4.2vw;
	margin: 0 0 1%;
}

.profile_cont dl dd {
	width: 100%;
	float: none;
	font-size: 4vw;
	line-height:1.8em;
}

.profile_comment {
	font-size:3.6vw;
	line-height:2.0em;
	text-align:left;
	padding: 4%;
	box-sizing:border-box;
	clear:both;
	background:#fff;
}


/*--trainer_profile--*/

.trainer_profile {
	clear:both;
	padding: 20px 0 30px;
}

.panel-head {
   position: relative;
}
.panel-head span {
  	text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
 
.panel-head:after {
	content: '';
  	display: inline-block;
  	background-image: url(../images/page/top/btn01_off.png);
  	background-size: contain;
	background-position:center;
  	vertical-align: middle;
	position: absolute;
    width: 100%;
    top: 0 !important;
    left: 0;
	height: 30px;
	background-repeat: no-repeat;
	cursor:pointer;
}

 
.panel-head.ac:after {
	content: '';
  	display: inline-block;
  	background-image: url(../images/page/top/btn01_on.png);
  	background-size: contain;
	background-position:center;
  	vertical-align: middle;
	position: absolute;
    width: 100%;
    top: 0 !important;
    left: 0;
	height: 30px;
	background-repeat: no-repeat;
	cursor:pointer;
}
 
.qa-answer{
    display:none;
	padding:10px 0 0;
}

p.profile_ttl {
	width: 100%;
    padding: 5px 0;
    font-size: 4vw;
    border-radius: 30px;
    text-align: center;
    color: #fff;
    background-color: #f24579;
    margin: 5% auto;
	float:none;
}

.profile_main_inner {
	width: 100%;
	float: none;
}

p.profile_inner_txt {
	font-size:4vw;
	line-height:2.0em;
	border-top:1px solid #cccccc;
	padding: 5% 0 0;
	margin: 5% 0;
}

ul.profile_inner_list {
	border-top:1px solid #cccccc;
	padding: 20px 0 0;
}

ul.profile_inner_list li {
	font-size:4vw;
}

ul.profile_inner_list li + li {
	margin: 5px 0 0;
}


/*--item_area--*/

.item_area {
	clear:both;
	overflow:hidden;
	padding: 10% 3%;
	background-color:#f24579;
	color:#fff;
	text-align:center;
}

p.txt001 {
	font-size:4vw;
	margin: 0 0 1%;
}

h2.trainer_area_ttl {
	font-size:6vw;
	margin: 0 0 10%;
}

ul.item_info {
	overflow: hidden;
	margin: 0 0 40px;
}

ul.item_info li {
	display: inline-block;
	margin: 0 1%;
	border: 3px solid #fff;
	width: 42%;
	padding: 5% 0;
	border-radius: 10px;
}

ul.item_info li h3 {
	font-size: 6vw;
}

ul.item_info li h3 span {
	display:block;
	font-size: 4vw;
}

p.item_txt {
	font-size:4vw;
	line-height: 2.0em;
	text-align:left;
}

/*--voice_area--*/

.voice_area {
	clear:both;
	overflow:hidden;
	padding: 10% 0;
	background:url(../images/page/top/bg_img.png) no-repeat center;
	background-size:cover;
	text-align:center;
}

.voice_main_inner {
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    padding: 20px 0;
    margin: 10px 0 20px;
}

p.voice_inner_txt {
	font-size: 4vw;
    line-height: 2.0em;
	padding: 0 2%;
}

p.voice_inner_txt + p.voice_inner_txt {
	margin: 20px 0 0;
}

.voice_btn:after {
	content: '';
  	display: inline-block;
  	background-image: url(../images/page/top/btn01_off.png);
  	background-size: contain;
	background-position:center;
  	vertical-align: middle;
	position: absolute;
	width: 100%;
	top: 0 !important;
	left: 0;
	height: 30px;
	background-repeat: no-repeat;
	cursor:pointer;
}

.trainer_btn:after {
	content: '';
  	display: inline-block;
  	background-image: url(../images/page/top/btn01_off.png);
  	background-size: contain;
	background-position:center;
  	vertical-align: middle;
	position: absolute;
	width: 100%;
	top: 0 !important;
	left: 0;
	height: 30px;
	background-repeat: no-repeat;
	cursor:pointer;
}

.panel-head.ac:after {
	content: '';
  	display: inline-block;
  	background-image: url(../images/page/top/btn01_on.png);
  	background-size: contain;
	background-position:center;
  	vertical-align: middle;
	position: absolute;
	width: 100%;
	top: 0 !important;
	left: 0;
	height: 30px;
	background-repeat: no-repeat;
	cursor:pointer;
}

.qa-answer{
    display:none;
	padding:10% 0 0;
}

p.voice_inner_txt01 {
	font-size:3.6vw;
	line-height:1.8em;
	color:#000;
}

.cont_info {
	overflow:hidden;
	clear:both;
	padding: 10% 4%;
	box-sizing:border-box;
	background:#fff;
	border-radius:20px;
	text-align:left;
}

.cont_info + .cont_info {
	margin: 10% 0 0;
}

p.cont_img {
	float: none;
	text-align:center;
}

.main_cont {
	width: 100%;
	float: none;
	padding: 10% 0 0;
}

p.cont_txt {
	font-size:4vw;
	line-height:1.8em;
	border-bottom:2px solid #e6245e;
	padding: 0 0 10px;
	margin: 0 0 10px;
}

h3.cont_name {
	font-size:4.4vw;
}

/*--access_area--*/

.access_area {
	clear:both;
	overflow:hidden;
	padding: 10% 3%;
	box-sizing:border-box;
}

h3.access_name {
	font-size: 4.4vw;
	line-height: 45px;
	padding: 0 0 0 4%;
}

h3.access_name span {
	font-size: 3vw;
}

.switch .menu:after {
	position: absolute;
	top: 53%;
	right: 3% !important;
	content: url(../images/page/top/btn_off.png);
	margin-top: -1.4rem;
	font-weight: bold;
}

.access  > li {
	margin: 10px 0 0 0 !important;
	box-sizing:border-box;
	overflow:hidden;
	background: #f4f4f4;
	padding: 10% 4%;
	font-size: 14px;
}

.access_main .menu:hover {
	background: #f7e4eb;
	text-decoration: none;
	color: #333 !important;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

ol.access_shop_list {
	text-align:center;
	margin: 0 0 10%;
}

ol.access_shop_list li {
	width: 30%;
	display:inline-block;
	margin:0 1% 4%;
	vertical-align:top;
}

ol.access_shop_list span {
	display:block;
	padding: 4% 0 0;
	font-size:3vw;
}

.access_main_map {
	clear:both;
	overflow:hidden;
}

.access_main_map {
	width: 100%;
	float: none;
	margin: 0 0 10%;
}

.access_cont + .access_cont {
	margin: 10% 0 0;
}

p.access_ttl01 {
	width: 100%;
	padding: 5px 0;
	font-size:15px;
	border-radius:10px;
	text-align:center;
	color: #fff;
	background-color:#f24579;
	margin: 0 0 10px;
}

p.access_tel {
	font-size:5vw;
	text-align:center;
}

p.access_time {
	font-size:4vw;
	text-align:center;
}

p.access_txt01 {
	font-size:4vw;
	line-height:1.8em;
}

p.access_txt01 + p {
	margin: 10px 0 0;
}

.map_iframe {
	width: 100%;
	float:none;
}

.map_iframe iframe {
	width: 100%;
	height: 300px;
}

/*--contact_area--*/

.contact_area {
	clear:both;
	overflow:hidden;
	padding: 10% 5% 15%;
	box-sizing:border-box;
	background: url(../images/page/top/contact_bg.png) no-repeat center;
	background-size:cover;
	text-align:center;
	color:#fff;
}

h2.contact_area_ttl {
	font-weight:bold;
	font-size:7vw;
	margin: 0 0 10%;
}
h2.contact_area_ttl span {
	display:block;
	font-size:5vw;
	letter-spacing:0;
}

ol.contact_step {
	overflow:hidden;
	margin: 0 0 10%;
}

ol.contact_step li {
	width:50%;
	float: left;
	box-sizing:border-box;
	display: inline;
	vertical-align:top;
}

ol.contact_step li img {
	padding: 4%;
	box-sizing:border-box;
}

ol.contact_step li:nth-child(even) img{
	display:none;
}

ul.contact_list {
	overflow:hidden;
	margin: 0 0 10%;
}

ul.contact_list li {
	font-size:6vw;
	line-height: 1.8em;
	display:inline-block;
	margin: 0;
	border:3px solid #fff;
	width:100%;
	padding: 4% 0;
	box-sizing:border-box;
}

ul.contact_list li + li {
	margin: 3% 0 0;
}

h3.contact_area_ttl01 {
	font-size:6vw;
	font-weight: bold;
	margin: 0 0 30px;
}

h3.contact_area_ttl01 span {
	display:block;
	font-size:5vw;
	font-weight:normal;
}

.btn a {
	width: 90%;
	height:60px;
	line-height:60px;
	text-align:center;
	display:block;
	margin:0 auto;
	color: #fff !important;
	font-size:5vw;
	font-weight:bold;
	background-color:#f24579;
	border:1px solid #f24579;
	box-sizing:border-box;
	border-radius:20px;
}

.btn01 a {
	width: 90%;
	height:60px;
	line-height:60px;
	text-align:center;
	display:block;
	margin:0 auto;
	color: #fff !important;
	font-size:5vw;
	font-weight:bold;
	background-color:#59d1ba;
	border:1px solid #59d1ba;
	box-sizing:border-box;
	border-radius:20px;
}

.btn a:hover {
	border:1px solid #fff;
	background-color:#f7931e;
}


/*--form_area--*/

.form_area {
	overflow:hidden;
	clear:both;
	padding: 10% 4%;
	box-sizing:border-box;
	text-align:center;
}

.form_inner {
	width:100%;
	margin: 0 auto;
}

h2.form_area_ttl {
	font-size:5vw;
	font-weight:bold;
	letter-spacing:0.05em;
	margin: 0 0 5%;
}

p.subTitle {
	font-size:4vw;
	line-height: 1.8em;
	margin: 0 0 5%;
}


.contact_cont{
    background: 
        url("../images/page/contact/bg_dot.png") 90% top no-repeat,
        url("../images/page/contact/bg_dot.png") 10% 90% no-repeat,
        url("../images/page/contact/bg_gray.gif") left bottom no-repeat;
    background-size: auto,auto,95% 80%;
    margin-top: 20px;
    padding: 25px 0 80px;
}

.contact_cont .inner{
    background: #fff url("../images/page/contact/bg_sankaku.png") left top no-repeat;
    background-size: 12%;
    padding:60px 40px;
    box-sizing: border-box;
}

.contact_head{margin-bottom: 30px;}

.contact_head h2{
    font-size: 30px;
    text-align: center;
    margin-bottom: 40px;
}
.contact_head p{
    margin-bottom: 30px;
}
.contact_head ul li{
    font-size: 14px;
    list-style: disc;
    margin: 0 0 10px 20px;
}

.cautintext{color:#ffff00;}

.contact_body table{width: 100%;}
.contact_body table tr th,
.contact_body table tr td{
    box-sizing: border-box;
    border-top:1px solid #b2a570;
    padding:20px;
}

.contact_body table tr th{
    text-align: left;
    font-weight: normal;
    width: 100%;
	display:block;
	background:#f24579;
	color:#fff !important;
}

.contact_body table tr td{
    position: relative !important;
    text-align: left;
    width: 100%;
	display:block;
}
.contact_body table tr td input.w90,
.contact_body table tr td textarea.w90{
    width: 100%;
	box-sizing:border-box;
    padding: 15px;
}

.contact_body table tr td input.w30 {
    width: 50%;
	box-sizing:border-box;
	font-size:14px;
}

#calendar,
#calendar1,
#calendar2 {
    width: 80%;
    padding: 15px;
	box-sizing:border-box;
	margin:5px 0 0;
	font-size:14px;
}

.contact_body table tr td {font-size: 14px;}
.contact_body table tr td select{padding: 10px;}
.contact_body table tr td label{margin-right: 20px; font-size: 14px;}



.contact_body p.submitbtn{margin: 30px auto; text-align: center;}
.contact_body p.submitbtn input#submitbtn{
    width: 100%;
    background-color: #fe3c78;
    color: #fff;
    font-size: 4vw;
    padding: 20px 0;
    text-align: center;
    border: none;
    cursor: pointer;
	border-radius:10px;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.contact_body p.submitbtn input#submitbtn:hover{
    background-color: #59d1ba;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.formError{
    position: absolute;
    left: 40% !important;
}

.contact_head .backbtn a{
    display: block;
    width: 40%;
    margin: 0 auto;
    background: #b2a570;
    border: 1px solid #b2a570;
    color: #fff;
    text-align: center;
    padding: 20px 0;
    border-radius: 6px;
}
.contact_head .backbtn a:hover{
    background: #fff;
    border: 1px solid #b2a570;
    color: #333;
}


.policy{margin: 80px auto;}
.policy h2{
    font-size: 30px;
    margin-bottom: 30px;
}
.policy_cont div.poli_list{
    margin-top: 40px;
}

.policy_cont div.poli_list h3{
    font-size: 16px;
    font-weight: 550;
    margin-bottom: 10px;
}

.policy_cont div.poli_list p{margin-bottom: 10px;}
.policy_cont div.poli_list ul li{
    list-style: disc;
    margin: 0 0 10px 20px;
    font-size: 15px;
}


h2.error_ttl {
	text-align: center;
	padding: 100px 0 20px;
	font-size: 24px;
	font-weight: bold;
}

p.error_txt {
	text-align: center;
	font-size: 16px;
	line-height: 1.8em;
	margin: 0 0 20px;
	font-weight: bold;
}

p.error_btn {
	margin: 0 0 100px !important;
}

p.error_btn a {
	display: block;
	width: 40%;
	padding: 20px 0;
	border-radius: 20px;
	margin: 0 auto;
	text-align: center;
	background-color: #fe3c78;
	color: #333 !important;
	font-size: 16px;
	transition: background-color 1s;
}

p.error_btn a:hover {
	background-color: #f4a929;
	transition: background-color 1s;
	text-decoration: none !important;
}

.contactbnr002{
    margin-top: 80px;
    background:
        url("../images/common/bg_footer_center.png") center no-repeat,
        url("../images/common/bg_footer_left.jpg") left center no-repeat,
        url("../images/common/bg_footer_right.jpg") right center no-repeat;
    background-size:55%,50%,50%;
}

.contactbnr002::before{background: #fff; display: block;}

/*--footer--*/

footer {
	clear:both;
	overflow:hidden;
	text-align:center;
	padding: 10% 0;
	color:#333;
}

footer h2.footer_logo {
	margin: 0 0 5%;
}

p.footer_txt {
	font-size:4vw;
	margin: 0 0 5%;
}

p.privacy_policy {
	font-size:4vw;
	margin: 0 0 5%;
}

p.privacy_policy a {
	color:#333 !important;
}

p.privacy_policy a:hover {
	text-decoration:underline !important;
}

p.privacy_address {
	font-size:4vw;
	line-height:1.8em;
	margin:0 0 5%;
}

p.copyright {
	font-size:3vw;
	padding: 0 0 14vw;
}


.sp_contact {
	width: 100%;
	z-index: 999;
	position: fixed;
	bottom: 0;
	overflow: hidden;
	border-top: 2px solid #f24579;
	background-color:#fff;
	padding: 2%;
	box-sizing:border-box;
	background-color:#fff;
}


.page .pagettl {
    text-align:center;
    padding: 10% 0 0;
    display: block;
}

.page .pagettl h2{font-size: 4.5vw;}
.page .pagettl h2 span{
    font-size: 3vw;
    display: block;
    letter-spacing: 0.1em;
}

.thanks_btn a {
	width: 80%;
	height:60px;
	line-height: 60px;
	text-align:center;
	display:block;
	margin:0 auto;
	color: #fff !important;
	font-size:17px;
	font-weight:bold;
	background-color:#f24579;
	box-sizing:border-box;
	border-radius:20px;
}

.thanks_btn a:hover {
	background-color: #59d1ba;
}


/*--txt_area--*/

.txt_area {
	clear:both;
	overflow:hidden;
	padding: 10% 4%;
	box-sizing: border-box;
	text-align:center;
	background-color: #f24579;
	color:#fff;
}

h2.txt_ttl {
	font-size: 6.8vw;
	margin: 0 0 5%;
}

h2.txt_ttl span {
	background: linear-gradient(transparent 70%, #59d1ba 70%);
}

p.txt_001 {
	font-size: 4vw;
	line-height: 1.8em;
	margin: 0 0 5%;
	text-align: left;
}

dl.txt_area_list {
	overflow: hidden;
	clear: both;
	border-bottom: 1px solid #fff;
	padding: 0 0 20px;
	margin: 0 0 20px;
}

dl.txt_area_list dt {
	font-size: 4.4vw;
	text-align: left;
	margin: 0 0 10px;
	line-height: 30px;
}

dl.txt_area_list dt span {
	background: #59d1ba;
	width: 30px;
	height: 30px;
	line-height: 30px;
	display: block;
	text-align: center;
	font-size: 20px;
	float: none;
	font-style:italic;
	font-family:Times New Roman,"ＭＳ Ｐゴシック";
	margin: 0 0 4% 0;
}

dl.txt_area_list dd {
	text-align: left;
	font-size: 3.6vw;
	line-height: 1.8em;
	clear: both;
}



	.result table {
		float: none;
		width: 100%;
		border-collapse: separate;
		border-spacing: 0px 10px;
	}

	.result table th.g1,
	.result table th.p1 {
		padding: 10px 0;
		display: none;
	}

	.result table td.g2 {
		font-size: 18px;
		text-align: center;
	}

	.result table th.g2 {
		width: 150px;
	}

	.result table th.g2 p {
		padding: 15px 0;
		width: 80%;
		margin: 0 auto;
		color: #fff;
		letter-spacing: 0.1em;
		font-size: 14px;
	}

	.result table td.g2 span.weight {
		font-size: 20px;
		padding-left: 0;
	}

	td.g2 span.weight::before {
		content: "";
		margin-right: 0;
		margin-left: 8px;
		vertical-align: middle;
		background-image: url(../images/pages/beforeafter/arrow.png);
		background-repeat: no-repeat;
		background-size: contain;
		width: 20px;
		height: 20px;
		display: inline-block;
	}

	.result table td.g2 span.weight span {
		font-size: 17px;
	}

	.result table td.p2 {
		font-size: 25px;
		padding: 14px 5px 14px 10px;
		margin-left: 20px;
		width: 100%;
		box-sizing: border-box;
	}

	.result table td.p2 span {
		font-size: 20px;
	}

	.result table th.g2,
	.result table td.g2 {
		padding: 14px 0;
	    line-height: 1.3;
		width: 70%;
		box-sizing: border-box;
	}


	.top_attention{
		margin: 10px auto;
	}
	
	.top_attention p{
		font-size: 3.5vw;
		line-height: 1.5;
	}


	h3.food-ttl {
		font-size: 30px;
		padding: 1em 0;
		margin-top: 4em;
	}
	.arrow-img {
		width: 30%;
		margin: 0% auto 1%;
	}

	.sidebnr{
		position: fixed;
		top: auto;
		bottom:0 ;
		right:0;
		z-index: 999;
}

.sidebnr li{
		width: 50%;
		float: left;
		margin: 0 0 0 0;
}

.sidebnr li img{
		max-width: 300px;
}

}