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

/*----------------------------------------------*/
/* frontpage CSS [PC]
/*----------------------------------------------*/
.contentsbox-inner-top-top {
	overflow: hidden;  /* preventing height 0 when float */
	max-width: 1200px;
	margin: 0px auto;
	padding: 50px 20px 100px;
}

/*---- MAIN ----*/
.top-main-frame {
	width: 85%;
	margin: 0px auto 50px;
}

.top-mainbox {
	position: relative;
	padding-bottom:45px;
}

.top-main {
	position: relative;
	top: 0px;
	right: 0px;	
	width: 85%;  /* about = 970px / 1200px */
	max-width: 925px;
	height: 567.38px;		
	z-index: 2;
	margin-left:auto;
	margin-bottom:50px;
}

.top-main img {
	max-width: 100%;
}

.top-main-copy {
	position: absolute;
	top: 53%;
	left: 5%;
	z-index: 3;
	
	font-size: 130px;
	font-size: 13.0rem;
	color: #706B5D;
}

.top-main-catch {
	position: relative;
	z-index: 3;
	
	margin-bottom: 10px;
	font-size: 23px;
	font-size: 2.3rem;
	color: #706B5D;
	letter-spacing: -1px;
	font-family: 'Shippori Mincho', serif;
	padding-left:45px;
}

.top-main-lead {
	position: relative;
	z-index: 2;
	
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #706B5D;
	font-family: 'Shippori Mincho', serif;
	padding-left:45px;
	width:80%;
}

.top-main-lead br {
}

.top-main-shadow {
	position: absolute;
	left: 0px;
	width: 90%;  /* about = 890px / 1200px */
	max-width: 890px;
	height: 540px;
	z-index: 1;
	bottom:0;
	
	background-color: #FEF2E8;
}

/*---- HYGIENE ----*/
.top-hygienebox {
	width: 440px;
	margin: 0px auto 75px;
	text-align: center;
	border: 1px solid #DEDEDE;
}

.top-hygienebox a {
	display: block;
	width: 440px;
	height: 45px;
	padding-top: 20px;
	font-size: 18px !important;
	font-size: 1.8rem !important;
	line-height: 1.2;
	font-weight: bold;
	background-color: #FFFFFF;
}

.top-hygienebox a:hover {
	color: #FFFFFF;
	background: #9D9064;
}

.top-i-info {
	vertical-align: bottom;
}

/*---- ABOUT ----*/
.top-aboutbox {
	overflow: hidden;
}

.top-about-photobox {
	float: left;
	width: 47%;
	max-width: 485px;
	padding: 50px 0px 0px 50px;
}

.top-about-photo-gray {
	box-shadow: -50px -50px 0 0 #F2F2F2;
}

.top-about-photobox img {
	max-width: 100%;
}

.top-about-textbox {
	float: right;
	width: 45%;
	line-height: 2.3;
}

.top-about-en {
	padding-top: 30px;
	font-size: 58px;
	font-size: 5.8rem;
	line-height: 8rem;
	color: #917738;
	letter-spacing: -0.03em;
	font-weight: 100;
}

.top-about-ja {
	margin-bottom: 45px;
	font-size: 22px;
	font-size: 2.2rem;
	color: #917738;
}

/*---- SUBNAVI ----*/
.top-subnavibox {
	display: flex;
	max-width: 800px;
	margin: 0px auto 30px;
	justify-content: space-between;
}

.top-subnavibox a {
	display: block;
	width: 120px;
	height: 85px;  /* = 120px - this padding-top */
	padding-top: 20px;
	text-align: center;
	border: 1px solid #B19C76;
	background-color: #FFFFFF;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.top-subnavibox a:hover {
	color: #FFFFFF;
	background: #B19C76;
}

x.top-subnavibox a p {
	margin-top: 10px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1;
}

.top-subnavi-text01 {
	margin-top: 10px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1;
}

.top-subnavi-text02 {
	margin-top: 5px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1;
}

.top-i-subnavi {
	font-size: 35px !important;
	font-size: 3.5rem !important;
}

.top-subnavi-icon {
	width: 40px;
	margin: 0px auto;
}

.top-subnavi-icon img {
	max-width: 100%;
}

/*---- SONIC FIT ----*/
.top-sonicfitbox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 900px;
	margin: 0px auto 70px;
}

.top-sonicfit-photo {
	width: 564px;
	margin: 0px auto 80px;
	text-align: center;
}

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

.top-sonicfit-text {
	width: 46%;
	width: 44%;
}

.top-sonicfit-text p {
	margin-bottom: 20px;
	line-height: 2;
}

.top-sonicfit-subt {
	display: inline;
	margin-bottom:50px;
	padding: 0px 2rem 10px 2rem;
	font-size: 24px;
	font-size: 2.4rem;
	color: #000000;
	text-align: center;
	border-bottom: 1px solid #999999;
}

.top-sonicfit-subt-lead {
	margin-bottom: 50px;
	text-align: center;
}

.top-sonicfit-catetitle {
	margin-bottom: 25px;
	font-size: 18px;
	font-size: 1.8rem;
	color: #000000;
}

.top-sonicfit-hifubox {
	max-width: 900px;
	margin: 0px auto 70px;
}

.top-sonicfit-hifu-text {
	margin-bottom: 30px;
}

.top-sonicfit-hifu-textp {
	margin-bottom: 20px;
	line-height: 2;
}

.top-sonicfit-hifu-photo {
	width: 564px;
	margin: 0px auto;
	text-align: center;
}

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


/*---- POINT PC ----*/
.sonicfit-pointbox-pc {
	margin: 0px 20px 120px;
}

.sonicfit-point-list {
	display: flex;
	max-width: 1100px;
	margin: 0px auto;
	justify-content: space-between;
}

.sonicft-point {
	position: relative;
	width: 200px;
	height: 200px;
	
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.5;
	text-align: center;
	background: url(../img/common/sonicft_point_bg.png) no-repeat center center / 100%;
}

.sonicft-point-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.sonicfit-point-num {
	margin-bottom: 10px;
	color: #FFFFFF;
	
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: 100;
}

.sonicfit-point-text {
}

/*---- POINT SP ----*/
.sonicfit-pointbox-sp {
	display: none;
}

/*---- SONIC FIT EFFECT ----*/
.top-sonicfit-effectlist {
	max-width: 900px;
	margin: 0px auto;
}

/*---- SONIC FIT EFFECT 01 ----*/
.top-sonicfit-effect01box {
	position: relative;
	height: 420px;
	height: 330px;
	margin-bottom: 30px;
	margin-bottom: 50px;
}

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

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

.top-sonicfit-effect01-en {
	position: absolute;
	top: 0px;
	left: 250px;
	
	font-size: 90px;
	font-size: 9.0rem;
	color: #C0B7B3;
	z-index: 2;
}

.top-sonicfit-effect01-num {
	position: absolute;
	top: 0px;
	left: 480px;
	
	font-size: 175px;
	font-size: 17.5rem;
	letter-spacing: -0.08em;
	line-height: 1;
	color: #f2ede9;
	font-weight: 500;
	z-index: 1;
}

.top-sonicfit-effect01-catch {
	position: absolute;
	top: 158px;
	left: 300px;
	
	font-size: 20px;
	font-size: 2.0rem;
	color: #000000;
}

.top-sonicfit-effect01-text {
	position: absolute;
	top: 200px;
	left: 300px;
	margin-bottom 10px;
	z-index: 3;
}

.top-sonicfit-effect-icon {
	margin: 20px 0px 10px;
}

x.top-sonicfit-effect-icon span {
	margin-right: 10px;
	padding: 2px 5px;
	font-size: 13px;
	font-size: 1.3rem;
	color: #FFFFFF;
	background-color: #E7B191;
}


/*---- SONIC FIT EFFECT 02 ----*/
.top-sonicfit-effect02box {
	position: relative;
	height: 460px;
	height: 340px;
	margin-bottom: 50px;
}

.top-sonicfit-effect02-photo {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 250px;
	z-index: 1;
}

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

.top-sonicfit-effect02-en {
	position: absolute;
	top: 10px;
	left: 120px;
	
	font-size: 90px;
	font-size: 9.0rem;
	color: #C0B7B3;
	z-index: 2;
}

.top-sonicfit-effect02-num {
	position: absolute;
	top: 0px;
	left: 0px;
	
	font-size: 175px;
	font-size: 17.5rem;
	letter-spacing: -0.08em;
	line-height: 1;
	color: #f2ede9;
	font-weight: 500;
	z-index: 1;
}

.top-sonicfit-effect02-catch {
	position: absolute;
	top: 168px;
	left: 150px;
	
	font-size: 20px;
	font-size: 2.0rem;
	color: #000000;
}

.top-sonicfit-effect02-text {
	position: absolute;
	top: 210px;
	left: 150px;
	
	margin-bottom 10px;
	z-index: 3;
}

/*---- SONIC FIT EFFECT 03 ----*/
.top-sonicfit-effect03box {
	position: relative;
	height: 330px;
}

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

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

.top-sonicfit-effect03-en {
	position: absolute;
	top: 10px;
	left: 265px;
	
	font-size: 90px;
	font-size: 9.0rem;
	color: #C0B7B3;
	z-index: 2;
}

.top-sonicfit-effect03-num {
	position: absolute;
	top: 0px;
	left: 465px;
	
	font-size: 175px;
	font-size: 17.5rem;
	letter-spacing: -0.08em;
	line-height: 1;
	color: #f2ede9;
	font-weight: 500;
	z-index: 1;
}

.top-sonicfit-effect03-catch {
	position: absolute;
	top: 158px;
	left: 300px;
	
	font-size: 20px;
	font-size: 2.0rem;
	color: #000000;
	z-index: 2;
}

.top-sonicfit-effect03-text {
	position: absolute;
	top: 200px;
	left: 300px;
	margin-bottom 10px;
	z-index: 2;
}

/*---- MEDIA ----*/
.top-mediabox {
	overflow: hidden;
}

.top-media-sub-title {
	float: left;
	width: 15%;
}

.top-media-textbox {
	float: right;
	width: 80%;
}

.baslidermediaframe-pc {
	width: auto;
	max-width: 870px;  /* = 210(slideWidth) x 4 + 10(slideMargin) x 3 */
	margin: 0px auto;
	padding: 0px 50px;  /* for left & right arrow */
}

.baslidermediaframe-sp {
	display: none;
}

#baslidermedia-pc {
}

#baslidermedia-pc > li {
	display: none;  /* Init hide until download all image */
}

#baslidermedia-pc > li .top-media-photo {
	margin-bottom: 10px;
}

#baslidermedia-pc > li .top-media-photo img {
	max-width: 100%;
}

#baslidermedia-pc > li .top-media-date {

}

#baslidermedia-pc > li .top-media-title {
	line-height: 1.2;
	font-size: 15px;
	font-size: 1.5rem;
}

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

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

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

/*---- PRODUCT ----*/
.top-productbox01 {
	position: relative;
	height: 430px;
	
	max-width: 900px;
	margin: 0px auto 60px;
}

.top-product01-photo {
	position: absolute;
	width: 395px;
	height: 430px;
	top: 0px;
	left: 0px;
}

.top-product01-photo img {
	max-width: 100%;
}

.top-product01-photo-gray {
	box-shadow: 30px 30px 0 0 #F2F2F2;
}

.top-product01-arrow {
	position: absolute;
	top: 110px;
	left: 335px;
}

.top-product01-name {
	position: absolute;
	top: 155px;
	left: 335px;
	
	font-size: 48px;
	font-size: 4.8rem;
	line-height: 4.8rem;
	color: #917738;
	font-weight: 300;
	letter-spacing: -0.03em;
}

.top-product01-name br {
	display: none;
}

.top-product01-text {
	position: absolute;
	max-width: 480px;
	top: 190px;
	top: 210px;
	left: 335px;
}

.top-product01-name-ja, .top-product02-name-ja {
	margin-bottom: 15px;
	padding-bottom: 10px;
	font-size: 15px;
	font-size: 1.5rem;
	color: #000000;
	border-bottom: 1px solid #999999;
}

.top-productbox02 {
	position: relative;
	height: 430px;
	
	max-width: 900px;
	margin: 0px auto;
}

.top-product02-photo {
	position: absolute;
	width: 395px;
	height: 430px;
	top: 0px;
	right: 0px;
}

.top-product02-photo img {
	max-width: 100%;
}

.top-product02-arrow {
	position: absolute;
	top: 110px;
	left: 150px;
}

.top-product02-name {
	position: absolute;
	top: 155px;
	left: 150px;
	font-size: 48px;
	font-size: 4.8rem;
	line-height: 4.8rem;
	color: #917738;
	letter-spacing: -0.03em;
}

.top-product02-text {
	position: absolute;
	max-width: 480px;
	top: 210px;
	left: 150px;
}

/*---- SALON ----*/
.top-salonbox {
	overflow: hidden;
	max-width: 900px;
	margin: 0px auto 30px;
}

.top-salon-textbox {
	float: left;
	width: 47%;
}

.top-salon-mapbox {
	float: right;
	width: 47%;
}

.top-salon-name {
	margin-bottom: 20px;
	padding-bottom: 5px;
	font-size: 18px;
	font-size: 1.8rem;
	border-bottom: 1px solid #999999;
}

.top-salon-infotable {
	display: table;
	table-layout: fixed;
	width: 100%;
}

.top-salon-infotable-row {
	display: table-row;
}

.top-salon-infotable-title {
	display: table-cell;
	width: 80px;
	padding: 7px 0px;
	vertical-align: top;
	line-height: 1.5;
	font-weight: bold;
}

.top-salon-infotable-data {
	display: table-cell;
	padding: 7px 0px;
	vertical-align: top;
	line-height: 1.5;
}

.top-salon-mapbox iframe {
	width: 100%;
	height: 350px;
	height: 280px;
}

.top-salon-listtable {
	display: table;
	table-layout: fixed;
	width: 100%;
	margin: 10px 0px 10px;
}

.top-salon-listtable-row {
	display: table-row;
}

.top-salon-listtable-title {
	display: table-cell;
	width: 80px;
	vertical-align: top;
	line-height: 1.5;
	font-weight: bold;
}

.top-salon-listtable-data {
	display: table-cell;
	vertical-align: top;
	line-height: 1.5;
}

.top-salonlist {
	overflow: hidden;
}

.top-salonlist li {
	float: left;
	width: 30%;
	margin-right: 3.3%;
	margin-bottom: 7px;
}

.top-salonlist li a {
	display: block;
	color: #B19C76;
}

/*---- BLOG ----*/
.top-blogbox {
	overflow: hidden;
}

.top-blog-sub-title {
	float: left;
	width: 15%;
}

.top-blog-textbox {
	float: right;
	width: 80%;
}

.top-bloglist {
}

.top-bloglist > li {
	padding: 15px 0px;
	border-bottom: 1px solid #DDDDDD;
}

.top-bloglistbox {
	display: table;
	table-layout: fixed;
	width: 100%;
}

.top-blog-date {
	display: table-cell;
	width: 120px;
	vertical-align: top;
	font-size: 14px;
	font-size: 1.4rem;
}

.top-blog-photo {
	display: table-cell;
	width: 150px;
	padding-right: 25px;
	vertical-align: top;
}

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

.top-blog-title {
	display: table-cell;
	vertical-align: top;
	line-height: 1.5;
}

.top-blog-title a {
	display: block;
	color: #505050;
}

/*---- NEWS ----*/
.top-newsbox {
	overflow: hidden;
}

.top-news-sub-title {
	float: left;
	width: 15%;
}

.top-news-textbox {
	float: right;
	width: 80%;
}

.top-newslist {
}

.top-newslist > li {
	padding: 15px 0px;
	border-bottom: 1px solid #DDDDDD;
}

.top-newslistbox {
	display: table;
	table-layout: fixed;
	width: 100%;
}

.top-news-date {
	display: table-cell;
	width: 120px;
	vertical-align: top;
	font-size: 14px;
	font-size: 1.4rem;
}

.top-news-title {
	display: table-cell;
	vertical-align: top;
	line-height: 1.5;
}

.top-news-title a {
	display: block;
	color: #505050;
}

/* 10-19-2021 */
.top-main.animate-run{
	height:auto;
	background:transparent;
	margin-bottom:0;
}

.top-main .slider{
	display:none;
}

.top-main .bx-wrapper .slider{
	display:block;
}

/* 10-25-2021 */
.top-main .bx-wrapper .bx-controls-direction a{
	top: auto;
    bottom: 15px;
	left: 15px;
    width: 47.5px;
    height: 47.5px;    
    background: rgba(191, 183, 162, 0.7);
    border-radius: 50%;
	position:absolute;
	font-size:0;
}

.top-main .bx-wrapper .bx-controls-direction a:hover{
	background:#BFB7A2;
}

.top-main .bx-wrapper .bx-controls-direction a.bx-next{
	left:auto;
	right:15px;
}

.top-main .bx-wrapper .bx-controls-direction a:after{
	content:'';
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    border: 2px solid #fff;
    display: block;
    top: 20px;
    left: 21px;
    border-top: none;
    border-right: none;
    transform: rotate(45deg);
}

.top-main .bx-wrapper .bx-controls-direction a.bx-next:after{
	transform: rotate(-135deg);
	left: 18px;
}

.top-main .bx-wrapper .bx-pager.bx-default-pager a:hover, .top-main .bx-wrapper .bx-pager.bx-default-pager a.active, .top-main .bx-wrapper .bx-pager.bx-default-pager a:focus{
	background:#707070;
}

.top-main .bx-wrapper .bx-pager.bx-default-pager a{
	background:#FEF2E8;
	width:8px;
	height:8px;
	border:1px solid #707070;
	border-radius: 50%;
}

.top-main .bx-wrapper{
	margin-bottom:50px;
}

/* 12-07-2021 */
.top-product01-text .btnbox, .top-product02-text .btnbox{
	text-align: left;
	margin-top:30px;
}

.top-product01-arrow{
	top:60px;
}

.top-product01-name{
	top:105px;
}

.top-product01-text{
	top:160px;
}

.top-product02-arrow{
	top:80px;
}

.top-product02-name{
	top:125px;
}

.top-product02-text{
	top:180px;
}

/* 10-25-2022 */
.point-box {
    border: 1px solid #917738;
    background: #fff;
    padding: 20px;
}

.point-box__ttl {
    text-align: center;
    font-weight: 500;
    font-size: 2rem;
    color: #917738;
    line-height: 1;
    margin-bottom: 10px;
}

.point-list__item {
    display: flex;
    align-items: flex-start;
    font-weight: 500;
    margin-bottom: 10px;
}

.point-list__item .num {
    font-size: 2rem;
    color: #917738;
    line-height: 0.8;
    flex-basis: 22px;
    flex-shrink: 0;
}

.point-list__item .num:after {
    content: '.';
}

.point-list__item dd {
    font-size: 13px;
    line-height: 1.5;
}

.point-list__item:last-child {
    margin-bottom: 0;
}

.product-content .point-box {
    margin-bottom: 10px;
}

.product-price {
    font-size: 1.6rem;
}

.top-product01-name-ja, .top-product02-name-ja {
    border-bottom: none;
	padding-bottom: 0;
}

.top-productbox02 {
    margin-top: 300px;
}

.top-product01-text{
	max-width: 100%;
}

.top-product02-text{
	width:100%;
	max-width: 440px;
}

#btnbox-top-product{
	margin-top:122px;
}

/* 11-11-2022 */
.top-media-blocks {
    display: flex;
    margin-top: 40px;
}

.top-media-block {
    margin-right: 30px;
}

.top-media-block:last-child {
    margin-right: 0;
}

.top-media-block .ttl {
    text-align: center;
    font-size: 19px;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 20px;
}

/* 2024-04-19 */
.top-main {
	max-width: 535px;
	min-height: 535px;
	margin-right: 200px;
}

.top-main-shadow {
	bottom: auto;
	top: calc(535px - 340px);
}