@charset "utf-8"; /* 〠 */

/*----------------------------------------------*/
/* sonicfit CSS [PC]
/*----------------------------------------------*/
.sub-main-common {
	max-width: 1200px;
	margin: 0px auto;
	height: 280px;
	background-image: url(../img/common/common_sub_main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.sub-lead-link {
	float: right;
	width: 74%;
}

/*---- SONIC FIT ----*/
.sonicfitbox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}

.sonicfitbox.reverse {
	flex-direction: row-reverse;
}

.sonicfit-photo {
	width: 48%;
}

.sonicfit-photo img {
	width: 100%;
}

.sonicfit-text {
	width: 44%;
}

.sonicfit-text p {
	margin-bottom: 20px;
}

.sonicfit-text-price {
	margin-top: 20px;
	padding: 20px;
	border: 1px solid #e97e35;
}

.sonicfit-text-price-title {
	font-size: 18px;
	font-size: 1.8rem;
}

.sonicfit-historybox {
	margin-bottom: 100px;
}

.sonicfit-history-text {
	margin-bottom: 50px;
}

.sonicfit-history-text p {
	margin-bottom: 20px;
}

.sonicfit-history-pic-pc {
	text-align: center;
}

.sonicfit-history-pic-pc img {
	max-width: 100%;
}

.sonicfit-history-pic-sp {
	display: none;
}

/*---- SUBNAVI ----*/
.sonicfit-subnavibox {
	width: 660px;
	margin: 0px auto;
}

.sonicfit-subnavi {
	display:table;
	width: 660px;
	margin-bottom: 20px;
	padding: 15px 20px 10px 20px;
	font-size: 18px !important;
	font-size: 1.8rem !important;
	line-height: 1;
	
	box-shadow: 4px 4px 0 0 #dcb1ba;
	background-color: #f6ebed;
	
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

a .sonicfit-subnavi {
	color: #505050;
}

a:hover .sonicfit-subnavi {
	color: #838080;
}

.sonicfit-subnavi-num {
	display:table-cell;
	vertical-align:middle;
	width: 5%;
	height: 30px;
	line-height:30px;
	margin-right: 1%;
x	padding: 5px 8px;
	text-align: center;
	
	font-size: 20px;
	font-size: 2.0rem;
	font-family: 'Barlow Condensed', sans-serif;
	color: #FFFFFF;
	background-color: #dcb1ba;
}
.sonicfit-subnavi-text {
	display:table-cell;
	vertical-align:middle;
	width: 89%;
	padding: 0px 0px 0px 5px;
	text-align: left;
}

.sonicfit-subnavi-icon {
	display:table-cell;
	vertical-align:middle;
	width: 5%;
	width: 25px;
x	background-color: #669933;
}

.sonicfit-subnavi-text2 {
}

.sonicfit-subnavi-text br {
	display: none;
}

/*---- SHORTEST ----*/
.sonicfit-shortest {
	margin-bottom: 70px;
}

.sonicfit-shortest-title {
	margin-bottom: 20px;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	color: #E97E35;
}

/*---- SMAS ----*/
.sonicfit-smasbox {
	margin-bottom: 100px;
	padding: 75px 4.5%;
	background-color: #EEECE7;
}

.sonicfit-smas-inner {
	display: table;
	width: 100%;
	margin: 0x auto;
}

.sonicfit-smas {
	display: table-cell;
	width: 25%;
	max-width: 300px;
}

.sonicfit-smas-catetitle {
	margin-bottom: 30px;
	font-size: 18px;
	font-size: 1.8rem;
	color: #A48B78;
	text-align: center;
	line-height: 1.5;
}

.sonicfit-smas img {
	width: 100%;
}

.sonicfit-smas p {
	margin-top: 20px;
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing:-0.08rem;
	line-height: 1.5;
	text-align: center;
}

.sonicfit-smas p br {
}

.sonicfit-smas-arrow {
	display: table-cell;
	min-width: 18px;
	height: 35px;
	background-image: url(../img/sonicfit/sonicfit_arrow_pc.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 18px;
}

/*---- TABLE ----*/
.table-wrapper {
}

.sonicfit-listtable {
	width: 100%;
	margin-bottom: 100px;
}

.sonicfit-listtable thead th {
	padding: 15px 0px;
	text-align: left;
	background-color: #f2f2f2;
}

.sonicfit-listtable tbody th {
	padding: 15px 0px 15px 20px;
	vertical-align: middle;
	text-align: left;
	background-color: #FFFFFF;
}

.sonicfit-listtable tbody tr {
	border-bottom: solid 1px #C9C9C9;
}

.sonicfit-listtable tbody td {
	padding: 15px 0px;
	vertical-align: top;
	background-color: #FFFFFF;
}

.sonicfit-listtable .cellwidth20 {
	width: 20%;
}

.sonicfit-listtable .cellwidth35 {
	width: 35%;
}

.sonicfit-listtable .cellwidth45 {
	width: 45%;
}

.sonicfit-hifuprice {
	margin-top: 10px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.5;
}

.sonicfit-price {
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 3.5rem;
	line-height: 30px;
}

.forange {
	color: #E97E35;
}

.fgray {
	color: #A4A4A4;
}

/*---- PART ----*/
.sonicfit-partbox {
	overflow: hidden;
	max-width: 1200px;;
	margin: 0px auto 50px;
}

.sonicfit-part-photobox {
	float: left;
	position: relative;
	width: 600px;
	height: 325px;
	margin-bottom: 20px;
x	background-color: #FF0000;
}

.sonicfit-part-photo {
	position: absolute;
	top: 0px;
	left: 250px;
	width: 300px;
	z-index: 1;
}

.sonicfit-part-photo img {
	max-width: 100%;
}

.sonicfit-part-en {
	position: absolute;
	top: 70px;
	left: px;
	
	font-size: 100px;
	font-size: 10.0rem;
	color: #C0B7B3;
	z-index: 2;
}

.sonicfit-part-textbox {
	float: left;
	width: 600px;
}

.sonicfit-part-subt {
x	margin-bottom: 20px;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	color: #E97E35;
}

.sonicfit-part-textbox span {
	color: #000000;
	text-decoration: underline;
}

/*---- DOUJI ----*/
.sonicfit-douji {
	margin-bottom: 50px;
}

/*---- LIFTUP ----*/
.sonicfit-liftupbox {
	overflow: hidden;
	max-width: 1200px;
	margin: 0px auto 50px;
}

.sonicfit-liftup-text {
	float: left;
	width: 70%;
	vertical-align: top;
}

.sonicfit-liftup-text p {
	margin-bottom: 20px;
}

.sonicfit-liftup-photo {
	float: right;
	width: 25%;
	vertical-align: top;
	text-align: center;
}

.sonicfit-liftup-photo img {
	max-width: 100%;
}

.sonicfit-liftup-title {
x	margin-bottom: 20px;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	color: #E97E35;
}

/*---- MEYASU ----*/
.sonicfit-meyasu {
	margin-bottom: 100px;
}

.sonicfit-meyasu-title {
x	margin-bottom: 20px;
x	margin-top: 50px;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	color: #E97E35;
}

/*---- EFFECT ----*/
.sub-titlebox-long {
	display: table;
x	table-layout: fixed;
	width: 100%;
	margin-bottom: 50px;
}

.sub-title-long {
	display: table-cell;
	white-space: nowrap;
	width: 10%;
	padding-right: 50px;
	vertical-align: top;
}

.sub-lead-long {
	display: table-cell;
x	float: right;
	vertical-align: top;
x	background-color: #00FF00;
}

.sonicfit-effect-list-frame {
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
}

.sonicfit-effect-listbox {
	width: 33.3%;
}

.sonicfit-effect-photo {
	max-width: 270px;
	margin: 0px auto 20px;
}

.sonicfit-effect-photo img {
	max-width: 100%;
}

.sonicfit-effect-catch {
	margin-bottom: 15px;
	font-size: 18px;
	font-size: 1.8rem;
	color: #000000;
	text-align: center;
}

.sonicfit-effect-text {
	text-align: center;
	padding: 0px 50px;
}

/*---- TREAT  ----*/
.sonicfit-treatframe {
	overflow: hidden;
	margin: 0px 0px 100px;
}

.sonicfit-treat-list-l {
	float: left;
	width: 46%;
}

.sonicfit-treat-list-r {
	float: right;
	width: 46%;
}

.sonicft-treatlist {
}

.sonicft-treatlist dt {
	margin-bottom: 20px;
	padding: 10px 50px 10px 20px;
	
	background-image: url(../img/common/i_list_open.png);
	background-repeat: no-repeat;
	background-position: center right 20px;
	background-size: 16px 16px;
	cursor: pointer;
	border-bottom: 1px solid #C9C9C9;
}

.sonicft-treatlist dt img {
	width: 60px;
	padding-right: 10px;
	vertical-align: middle;
}

.sonicft-treatlist dd {
	display: none;
	margin-bottom: 20px;
	padding: 0px 20px 50px 20px;
}

/*---- TYPE LIST ----*/
.sonicft-typelist {
	max-width: 900px;
	margin: 0px auto 50px;
}

.sonicft-typelist dt {
	margin-bottom: 20px;
	padding: 10px 20px;
	padding: 10px 50px 10px 20px;
	
	background-image: url(../img/common/i_list_open.png);
	background-repeat: no-repeat;
	background-position: center right 20px;
	background-size: 16px 16px;
	cursor: pointer;
	
x	border: 1px solid #E2E2E2;
	box-shadow: 4px 4px 0 0 #EAE9E9;
x	background-color: #F6DFD1;
	background-color: #FEF2E8;
}

.sonicft-typelist dt img {
	width: 40px;
	margin-right: 10px;
}

.sonicft-typelist dd {
	display: none;
	margin-bottom: 20px;
	padding: 0px 20px 50px 20px;
x	background-color: #CECECE;
}

.sonicfit-typelist-ba {
	margin-top: 30px;
	display: flex;
	justify-content: center;
}

.sonicfit-typelist-ba li {
x	width: 30%;
	width: 47%;
	margin: 0px 3%;
x	margin: 0px 1.6%;
}

.sonicfit-typelist-ba li img {
x	width: 350px;
	max-width: 100%;
}

/*---- PRICE ----*/
.sonicfit-pricebox {
	width: 680px;
	margin: 0px auto;
	padding: 20px;
	background-color: #FFFAF6;
x	background-color: #FEF2E8;
	box-shadow: 10px 10px 0 0 #F2F2F2;
}

.sonicfit-price-title {
	width: 310px;
	margin: 0px auto 15px;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	border-bottom: 1px solid #999999;
}

.sonicfit-pricetable {
	width: 310px;
	margin: 0px auto 10px;
}

/*---- Flow ----*/
.sonicfit-flowframe {
	margin-bottom: 100px;
}

.sonicfit-flowbox {
	display: table;
	width: 100%;
	margin-bottom: 25px;
}

.sonicfit-flow-numbox {
	display: table-cell;
	width: 180px;
	vertical-align: top;
	margin-borrom: 30px;
	padding-right: 50px;
}

.sonicfit-flow-num {
	position: relative;
	
	color: #706b5d;
	font-size: 32px;
	font-size: 3.2rem;
	font-weight: 100;
	text-align: center;
	background-color: #FEF2E8;
}

.sonicfit-flow-num:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	bottom: -20px;
	left: 0;
	border-style: solid;
	border-color: #FEF2E8 transparent transparent transparent;
	border-width: 20px 90px 0 90px;
	z-index: 1;
}

.sonicfit-flow-photo {
x	display: table-cell;
	width: 100px;
	margin: 0px auto;
x	vertical-align: top;
}

.sonicfit-flow-photo img {
	width: 100px;
}

.sonicfit-flow-text {
	display: table-cell;
	vertical-align: top;
}

.sonicfit-flow-catetitle {
	margin-bottom: 10px;
	font-weight: bold;
}

.sonicfit-shortest {
	margin-bottom: 50px;
}

/*---- BEFORE/AFTER ----*/
.sonicfit-baframe {
	margin-bottom: 100px;
}

.basliderframe-pc {
	width: auto;
	max-width: 850px;  /* = 400(slideWidth) x 2 + 50(slideMargin) x 1 */
	margin: 0px auto;
	padding: 0px 50px;  /* for left & right arrow */
x	background-color: #00FF00;
}

.basliderframe-sp {
	display: none;
}

#baslider-pc {
}

#baslider-pc > li {
	display: none;  /* Init hide until download all image */
x	width: 25%;
}

#baslider-pc > li .sonicfit-ba-photo {
	margin-bottom: 10px;
}

#baslider-pc > li .sonicfit-ba-photo img {
	max-width: 100%;
}

#baslider-pc > li .sonicfit-ba-title {
	display: block;
	margin: 0px auto;
x	padding: 2px 5px 0px 5px;
	line-height: 1;
	font-size: 15px;
	font-size: 1.5rem;
	height: 28px;
	line-height: 28px;
	text-align: center;
	color: #FFFFFF;
	vertical-align: middle;
	background-color: #E7B191;
}

/* bxslider setting */
.basliderframe-pc .bx-wrapper {
x	margin: 0px auto 50px  !important;
	margin: 0px auto 0px  !important;
}

.basliderframe-pc .bx-wrapper .bx-controls-direction a.bx-prev {
	left: -40px;
	top: 40%;
	background-image: url(../img/sonicfit/bxslider_controls.png);
}

.basliderframe-pc .bx-wrapper .bx-controls-direction a.bx-next {
	right: -40px;
	top: 40%;
	background-image: url(../img/sonicfit/bxslider_controls.png);
}

/*---- BLOG ----*/
.sonicfit-blogframe {
}

.sonicfit-bloglist {
	overflow: hidden;
}

.sonicfit-bloglist li {
	float: left;
	width: 23%;
	margin-right: 2%;
}

.sonicfit-blog-photo {
}

.sonicfit-blog-photo img {
	max-width: 100%;
}

.sonicfit-blog-title {
}

.sonicfit-blog-title a {
	display: block;
}

/*---- BTN ----*/
.sonicfit-btnbox {
	width: 300px;
	margin: 20px auto 20px;
}

.btn01-full {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	padding: 0px 100px 0px 80px;
	position: relative;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 300;
	letter-spacing: -0.03em;
	
	color: #5b574e;
	background: #BFB7A2;
	text-decoration: none;
	
	box-shadow: 5px 5px #DDDDDD;
}

.btn01-full span {
	margin-left: 10px;
	margin-top: 7px;
	font-size: 13px;
	font-size: 1.3rem;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

a.btn01-full {
	color: #000000;
}

.btn01-full:after {
	content: "";
	display: block;
	width: 32px;
	height: 12px;
	margin-top: -8px;
	background: url(../img/common/i_arrow_white.png) no-repeat right center/auto 100%;
	position: absolute;
	top: 50%;
	right: 25px;
	transition: .8s cubic-bezier(0.65, 1, 0.45, 1);
}

.btn01-full:hover:after {
	right: 10px;
}

.btn01-full:hover {
	color: #FFFFFF;
	background: #9D9064;
}
