@charset "utf-8";
/*--------------------------------------------------
[1]common
[2]headerContainer
[3]sideContainer
[4]footerContainer
[5]Container
[6]topContainer
[7]subContainer
[8]Display: none;
----------------------------------------------------*/

/* [1]common
----------------------------------------------------*/
/* 設定 */
html{
	 /* -webkit-text-size-adjust: 100%; SP */
	/* font-size: 62.5%; */
	margin: 0;
	padding: 0;
}

/* font */
body{
	line-height: 1.5;
	width: 100%;
	margin: 0;
	padding: 0;
	/* font-size: 1.4rem; */
	font-size: 14px;
	font-family: 'Noto Sans SC', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	color: #000;
	font-weight: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
	/* min-width: 1080px; */
	/* letter-spacing: 1.0px; */
}

header {
	width: 100%;
	height: 60px;
	margin: 0 auto;
	padding: 11.5px 40px;
	box-sizing: border-box;
	z-index: 999999;
	background-color: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	border-bottom: 1px solid #eaeaea;
}

#wrapper {
	width: 100%;
	position: relative;
	overflow: hidden;
}

.left { float: left;}
.right { float: right;}


/* clear
-------------------------------------------------- */
.clear { clear: both; }
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix { min-height: 1px; }
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
/* a
----------------------------------------------- */
a,a:link { text-decoration: none; color: #313131; }
a img, img {
	border: none;
	line-height: normal;
	vertical-align: top;
}
/* img
--------------------------------------------- */
img{
    max-width: 100%;
    height: auto;
    width /***/:auto;　/*IE8のみ適用*/
}
.imgText {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.object-fit-img {
  object-fit: cover;
  object-position: middle;
  font-family: 'object-fit: cover; object-position: middle;'
}

/* slide
------------------------------------ */

#sliderbox {
	width: 100%;
	margin: 60px auto 0;
	background-color: #000;
	/* max-width: 1920px; */
}
#sliderbox li {
	position: relative;
	width: 100%;
}

#sliderbox li figure{
	position: relative;
	padding-top: 78.125%;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
}

#sliderbox li figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  object-fit: cover;
}

.concept {
	float: left;
	width: 33.3333%;
	padding-top: 50%;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}

.concept h2{
	background-image: url(images/slide_txt002.png);
	background-repeat: no-repeat;
	background-position: top left;
	width: 454px;
	height: 196px;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -227px;
	margin-top: -98px;

}

.sliderImg {
	float: right;
	width: 66.6667%;
}

.tel {
	position: absolute;
	top: 20px;
	right: 20px;
	text-align: center;
	font-size: 20px;
	font-family: 'Noto Serif JP', sans-serif;
	margin: 0 auto 20px;
	font-weight: bold;
}
.tel a{
color: #fff;
display: inline-block;
padding: 2px;
box-sizing: border-box;

}

/* [2]headerContainer
----------------------------------------------------------------------------------------- */
header h1 {
	width: 89px;
	height: 37px;
	float: left;
	z-index: 10;
}

header h1 a{
	display: block;
	width: 110px;
	height: 37px;
	background-image: url(images/logo02.png);
	background-repeat: no-repeat;
	background-position: left center;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
}

/* [3]sideContainer
----------------------------------------------------------------------------------------- */
nav {
	width: 100%;
}

nav ul{
	text-align: center;
}

nav ul li{
	display: inline-block;
	padding: 0 10px;
	box-sizing: border-box;
	font-size: 13px;
	font-weight: bold;
}

nav ul li a{
	display: block;
	padding: 8px 5px;
	box-sizing: border-box;
	color: #000;
	position: relative;
}

nav li a::after,
nav li a.current::after {
  content: '';
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  background-color: #000;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  display: inline-block;
}
nav a:hover::after,
nav a.current::after {
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

/* [4]footerContainer
----------------------------------------------------------------------------------------- */

/* footer */
footer {background-color: #000; padding: 15px 40px; box-sizing: border-box; width: 100%; position: relative; }
footer h2 {
	width: 62px;
	height: 26px;
	float: left;
	box-sizing: border-box;
}
footer h2 a{
	background-image: url(images/footer-logo002.png);
	background-repeat: no-repeat;
	background-position: left center;
	width: 80px;
	height: 26px;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	display: block;
}

.copyright {
	font-size: 10px;
	box-sizing: border-box;
	text-align: right;
	color: #FFF;
	position: absolute;
	bottom: 13px;
	right: 40px;
	font-weight: lighter;
}

.pagetop { text-align: center; }
.pagetop a{
	background-image: url(images/pagetop.png);
	background-repeat: no-repeat;
	background-position: left top;
	width: 17px;
	height: 19px;
	margin:  0 auto 20px;
	display: block;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	z-index: 9999999;
}
/* [5]Container
----------------------------------------------------------------------------------------- */

#container {
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

.ttl {
	font-family: 'Fjalla One', sans-serif;
	text-align: center;
	font-size: 25px;
	margin: 0 auto 20px;
	letter-spacing: 1.0px;
	line-height: 1.3;
}
.ttl span{
	text-align: center;
	display: block;
	padding: 0 10px;
	box-sizing: border-box;
	font-size: 12px;
	font-family: 'Noto Sans SC', sans-serif;
}

.box1000 {
	max-width: 1000px;
	margin: 0 auto;
}
.box85 {
	width: 85%;
	max-width: 1420px;
	margin: 0 auto;
	position: relative;
}
@media screen and (max-width: 1180px) {
.box85 {width: 1000px;}
}

/* [6]topContainer
----------------------------------------------------------------------------------------- */
#sec001 h2{
	background-image: url(images/ttl_sec003.png);
	background-repeat: no-repeat;
	background-position: center top;
	width: 475px;
	height: 99px;
	margin: 0 auto 5px;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
}
#sec001 h3{
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 25px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 20px;
}
#sec001 div {position: relative;}
#sec001 figure {
	position: absolute;
	top: 0;
	right: 0;
	width: 60%;
	max-width: 572px;
}
#sec001 p {
	font-size: 15.5px;
	line-height: 2.0;
	padding: 20px 0;
}

#sec002 {position: relative;}
#sec002 figure{
	position: relative;
	overflow: hidden;
	padding-top: 37.44791%;
	width: 100%;
}
#sec002 figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  object-fit: cover;
}
.sec002Box {
	width: 70%;
	position: absolute;
	right:0;
	bottom: 40px;
}
.sec002Box h4{
	color: #FFF;
	position: relative;
	margin-bottom: 10px;
	font-size: 20px;
	letter-spacing: 1.0px;
	font-family: 'Fjalla One', sans-serif;

}
.sec002Box h4:after{
	display: inline-block;
	background-image: url(images/line-001.png);
	background-repeat: repeat-x;
	background-position: left center;
	width: 90%;
	height: 18px;
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -9px;
}
.youtubeBox { width: 75%; margin: 0 auto; }
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (max-width: 1180px) {
	.youtubeBox { width: 70%; margin: 0 auto; }
}

#sec003 {position: relative; padding-bottom: 80px; }
#sec003 figure.sec003Bg {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 40%;
	max-width: 630px;
}
.sec003 { position: relative;}
.sec003Box {
	width: 100%;
	margin: 0 auto;
}
.subSlideBox {width: 50%; max-width: 765px; box-sizing: border-box; position: relative; }
.sec003Box.boxLeft .subSlideBox{ left: 0;}
.sec003Box.boxRight .subSlideBox { margin-left: 50%; top: -95px;}

.sec003Box.boxLeft .koteiImg { float: left; width: 33.3333%; }
.sec003Box.boxRight .koteiImg { float: right; width: 33.3333%; }

.sec003Box.boxLeft .heidouImg { float: right; width: 66.6667%; }
.sec003Box.boxRight .heidouImg { float: left; width: 66.6667%; }


.sec003Box .bxslider2 figure{
	width: 100%;
	position: relative;
	overflow: hidden;
	padding-top: 109.47368%;
	max-width: 475px;

}
.sec003Box .bxslider2 figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sec003Box .itemDetail {
	position: absolute;
	background-color: #FFF;
	padding: 30px;
	box-sizing: border-box;
	z-index: 60;
	width: 45%;
	box-sizing: border-box;
}
.sec003Box.boxLeft .itemDetail{top: 5%; left: 50%; margin-left: -30px; box-shadow: 8px 8px 0px #eaeaea;}
.sec003Box.boxRight .itemDetail{bottom: 14.5%; right: 50%; margin-right: -30px; box-shadow: -8px 8px 0px #eaeaea;}

/* ヘアドレプラステキストを画像に調整 s */

.sec003Box .itemDetail figure {
	display: inline-block;
}

.sec003Box .itemDetail figure img {
	width: 150px;
	padding-top: 5px;
}

@media screen and (max-width: 768px) {
	.sec003Box .itemDetail figure img {
		padding-top: 0;
	}
}

/* ヘアドレプラステキストを画像に調整 e */

/* メニュー増減に伴うスペース調整 s */

.sec003Box.spacer-001{
	margin-bottom: 100px;
}

/* メニュー増減に伴うスペース調整 e */

.itemDetail h4{
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.2;
}

@media screen and (max-width: 768px) {
	.itemDetail h4{
		font-size: 24px;
	}
}

.itemDetail .itemTtl{
	font-size: 12px;
	line-height: 1.2;
	color: #aaa;
}
.itemDetail .price{
	font-size: 25px;
	font-weight: bold;
	text-align: right;
	width: 100%;
	padding-bottom: 10px;
	border-bottom: 1px solid #eaeaea;
}
.itemDetail .price .f12{font-weight: normal;}
.itemDetail ul { margin-top: 10px; }
.itemDetail ul li{ position: relative; color: #707070; padding-left: 15px; margin-bottom: 5px; }
.itemDetail ul li:before {
	position: absolute;
	left: 0;
	top:0;
	bottom: 0;
	margin: auto 0;
	content: "";
	font-size: 10px;
	color: #707070;
	width: 10px;
	height: 5.8823529px;
	background-repeat: no-repeat;
	background-position: left top;
	background-image: url(images/icon-check.png);
	background-size: contain;
}

#sec003sub { position: relative; width: 100%;}
@media screen and (max-width: 1400px) {
	.sec003Box.boxLeft .itemDetail{top: 4%;}
	.sec003Box.boxRight .subSlideBox { top: -25px;}
	.sec003Box.boxRight .itemDetail{bottom: 9%;}
}
.sec003subBox {
	width: 70%;
	left:30%;
	position: relative;
	top: 0px;
}
.sec003subBox h4{
	color: #000;
	position: relative;
	margin-bottom: 10px;
	font-size: 20px;
	letter-spacing: 1.0px;
	font-family: 'Fjalla One', sans-serif;
}
.sec003subBox h4:after{
	display: inline-block;
	background-image: url(images/line-002.png);
	background-repeat: repeat-x;
	background-position: left center;
	width: 80%;
	height: 18px;
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -9px;
}
.beforeafter { width: 75%; margin: 0 auto; position: relative; }
.beforeafterBox { width: 50%; float: left; box-sizing: border-box; }
.beforeafterBox.before { padding-right: 25px; position: relative; }
.beforeafterBox.before:after {
	position: absolute;
	top: 32%;
	right: -30px;
	background-image: url(images/icon-sec003.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 80% auto;
	width: 49px;
	height: 64px;
	content: "";
}
@media screen and (max-width: 1600px) {
	.beforeafterBox.before:after { top: 30%; }
}
@media screen and (max-width: 1400px) {
	.beforeafterBox.before:after { top: 28%; }
}
@media screen and (max-width: 1200px) {
	.beforeafterBox.before:after { top: 25%; }
}
.beforeafterBox.after { padding-left: 25px; position: relative;}
.beforeafterBox .subSlideBox2 {width: 100%; box-sizing: border-box; position: relative; margin-bottom: 5px; }
.itemDetail h5{
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	width: 100%;
	padding-top: 5px;
	padding-bottom: 15px;
	border-bottom: 1px solid #eaeaea;
}
.beforeafterBox .itemDetail p{
	line-height: 1.2;
	font-size: 12px;
	font-family: 'Cormorant SC', serif;
	font-weight: bold;
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 9999;
}
.beforeafterBox.after .itemDetail p{left: inherit; right: 10px; }

.beforeafterBox figure{
	width: 100%;
	position: relative;
	overflow: hidden;
	padding-top: 100%;
	max-width: 470px;
}
.beforeafterBox figure img{
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  object-fit: cover;
}


#sec003 h3 {
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing: 0.5px;
	font-size: 25px;
	margin-bottom: 20px;
	font-weight: 600;
}

#sec004 { background-color: #000; color:#FFF; }
#sec004 h3 {
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing: 0.5px;
	font-size: 25px;
	text-align: center;
	margin-bottom: 20px;
	font-weight: 600;
}
#sec004 h4 {
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	margin-top: 40px;
	margin-bottom: 5px;

}
#sec004 h4 span{
	font-size: 12px;
	font-weight: normal;
	text-align: center;
	display: block;
	font-family: 'Fjalla One', sans-serif;
	letter-spacing: 1.0px;
}

/* ヘアドレプラステキストを画像に調整 s */

#sec004 h4 figure{
	display: inline-block;
}
#sec004 h4 figure img{
	width: 150px;
	padding-top: 5px;
}

/* ヘアドレプラステキストを画像に調整 e */

#sec004 .txtC { font-size: 15px;}
#sec004 ul { margin-bottom: 40px;}
#sec004 ul li {
	width: 33.333333%;
	padding: 2.5px;
	box-sizing: border-box;
	float: left;
}
#sec004 ul li div{
	background-color: #FFF;
	text-align: center;
	padding: 20px 10px;
	box-sizing: border-box;
}
#sec004 ul li:nth-of-type(4) { clear: both; margin-left: 16.666666%; }
#sec004 ul li h5{
	font-size: 18px;
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 600;
	color: #000;
	margin-bottom: 15px;
}
#sec004 ul li p{
	color: #959595;
	font-size: 12px;
	font-family: 'Cormorant SC', serif;
	position: relative;
	font-weight: bold;
	line-height: 1.2;
}
#sec004 ul li p span{
	display: inline-block;
	padding-left: 10px;
	margin-left: 10px;
	border-left: 1px solid #eaeaea;
	font-size: 20px;
}
#sec004 ul li p:after{
	position: absolute;
	top: -5px;
	left:0;
	right: 0;
	margin: 0 auto;
	content: "";
	width: 120px;
	border-top: 1px solid #eaeaea;
}
.txtSerif {
	font-family: 'Noto Serif JP', sans-serif;
	text-align: center;
	font-size: 18px;
}
.txtSerif2 {
	font-family: 'Noto Serif JP', sans-serif;
	text-align: center;
	font-size: 15px;
	margin-bottom: 15px;
}
#sec005 .left{
	width: 50%;
	box-sizing: border-box;
	padding-right: 30px;
}
#sec005 .right{
	width: 50%;
	padding-top: 30px;
}
#sec005 .right dt{
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 25px;
	font-weight: 600;
	margin-bottom: 20px;
}
#sec005 .right dd{
	line-height: 2.0;
	font-size: 15.5px;
	padding-left: 30px;
	box-sizing: border-box;
}
#sec005 .left figure{ margin-bottom: 5px; }
#sec005 .left dt{
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 18px;
	line-height: 1.2;
	padding-bottom: 20px;
	border-bottom: 1px solid #eaeaea;
}
#sec005 .left dt span{
	font-family: 'Noto Sans SC', sans-serif;
	font-size: 12px;
	display: block;
	color: #959595;
}
#sec005 .left dd{
	margin-top: 10px;
	color: #707070;
}

#sec006,
#sec006-1 {background-color: #f4f4f4;}

.informationAddBox {background-color: #FFF; padding: 30px; box-sizing: border-box; }

#sec006 dt{
	margin-top: 5px;
	background-color: #FFF;
	padding: 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #eaeaea;
	font-size: 16px;
	cursor: pointer;
	position: relative;
}
#sec006 dt:after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: contain;
	width: 15px;
	height: 15px;
	content: "";

}
#sec006 dd{ margin-bottom: 5px; background-color: #FFF; padding: 20px; box-sizing: border-box; }
#sec006 dt span {
	display: block;
	width: 25px;
	height: 25px;
	border: 1px solid #eaeaea;
	color: #959595;
	float: left;
	margin-right: 10px;
	text-align: center;
	font-family: 'Cormorant SC', serif;
	font-weight: bold;
}
#sec006 dd p{
	width: 90%;
	float: left;
}
#sec006 dd span {
	display: block;
	width: 25px;
	height: 25px;
	border: 1px solid #000;
	background-color: #000;
	color: #fff;
	float: left;
	margin-right: 10px;
	text-align: center;
	font-family: 'Cormorant SC', serif;
	font-weight: bold;
	font-size: 16px;
}
#sec006 dt.off:after{ background-image: url(images/icon-plus.png); }
#sec006 dt.on:after{ background-image: url(images/icon-minus.png); }

.table {
	border-top: 1px solid #eaeaea;
	border-bottom: 1px solid #eaeaea;
	padding: 20px 0;
	margin-bottom: 20px;
}
table td,
table th{
	padding: 10px;
	box-sizing: border-box;
}

.table2 {
	width: 520px;
	margin: 20px auto;
}

.table2 .addth{
	width: 150px;
}

table td,
table th{
	padding: 10px;
	box-sizing: border-box;
}

.table2 td,
.table2 th{
	padding: 5px;
	box-sizing: border-box;
	vertical-align: top;
}
.table2 td {text-align: right;}

.table2 td span,
.table2 th span{
	font-size: 12px;
	display: inline-block;
	padding-left: 5px;
}

.addtd {position: relative;}

.addtd:after {
	position: absolute;
	top:5px;
	right: -20px;
	content:"→";
}

/* form */
input[type="text"],input[type="email"],input[type="tel"],input[type="password"],textarea,select {
		background-color: #fff;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
		padding: 5px;
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		border: 1px solid #b3b3b3;
		margin-bottom: 5px;
}
select {width: auto;}
input.boxS {width: 30%;}
input.boxM {width: 60%;}
input.boxL,
textarea.boxL {width: 100%;}


.btn {
	text-align: center;
}
.btn a,.btn input{
	display: inline-block;
	padding: 10px 15px;
	border: 1px solid #04aa51;
	color: #FFF;
	background-color: #04aa51;
	cursor: pointer;
	border-radius: 2px;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
	font-size: 18px;
}

.btn a:hover,.btn input:hover{
	color: #FFF;
	border: 1px solid #349844;
	background-color: #349844;

}


.btn1 {
position: relative;
margin: 0 auto 60px;
text-align: center;
}
.btn1 a{
	display: inline-block;
	padding: 15px 15px;
	color: #FFF;
	background-color: #444;
	cursor: pointer;
	border-radius: 2px;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
	font-size: 18px;
	font-weight: bold;
	width: 100%;
	max-width: 800px;
}

.btn1 a:hover{
	background-color: #666;

}

.btn2 {margin: 10px auto;}

.btn2 a{
	display: inline-block;
	padding: 5px 20px;
	color: #FFF;
	background-color: #444;
	cursor: pointer;
	border-radius: 2px;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
	font-size: 15px;
	font-weight: bold;
	width: auto;
}

.btn2 a:hover{
	background-color: #666;

}

.telTxt {
	text-align: center;
	font-size: 30px;
	font-family: 'Noto Serif JP', sans-serif;
	margin: 0 auto 20px;
	font-weight: bold;
}

.telTxt a{
color: #000;
}

a.sidrBnr001 {
 width: 40px; /*画像の全体幅*/
 position: fixed;
 top: 130px;
 right: 15px; /*マウスを乗せた時に出てくる幅*/
 display: block;
 z-index: 999999;
 color: #FFF;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	text-orientation: upright;
	padding: 25px 6px 10px 10px;
	box-sizing: border-box;
	font-size:20px;
	/* background-color: #04aa51; */
	background-color: #444;
	border-radius: 2px;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
	background-image: url(images/sideBtn001.png);
	background-repeat: no-repeat;
	background-position: center 5px;
	line-height: 1.4;
	letter-spacing: -0.5px;
	font-family: 'Noto Serif JP', sans-serif;
}
a.sidrBnr002 {
	 width: 40px; /*画像の全体幅*/
	 position: fixed;
 	top: 390px;
 	right: 15px; /*マウスを乗せた時に出てくる幅*/
 	display: block;
 	z-index: 999999;
 	color: #FFF;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	text-orientation: upright;
	padding: 25px 6px 10px 10px;
	box-sizing: border-box;
	font-size: 20px;
	/* background-color: #04aa51; */
	background-color: #444;
	border-radius: 2px;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
	background-image: url(images/sideBtn002.png);
	background-repeat: no-repeat;
	background-position: center 5px;
	line-height: 1.4;
	letter-spacing: -0.5px;
	font-family: 'Noto Serif JP', sans-serif;
}

a.sidrBnr002:hover,
a.sidrBnr001:hover {
	background-color: #666;
}



/* font
--------------------------------------------- */

header h1 a:hover,
footer h2 a:hover,
.pagetop a:hover { opacity:0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70 )"; }

.f11 { font-size: 11px; }
.f12 { font-size: 12px; }
.f13 { font-size: 13px; }
.f14 { font-size: 14px; }
.f15 { font-size: 15px; }
.f16 { font-size: 16px; }
.f17 { font-size: 17px; }
.f18 { font-size: 18px; }
.f19 { font-size: 19px; }
.f20 { font-size: 20px; }
.f25 { font-size: 25px; }
.f30 { font-size: 30px; }
.f35 { font-size: 35px; }
.f40 { font-size: 40px; }
.f45 { font-size: 45px; }
.f50 { font-size: 50px; }
.f55 { font-size: 55px; }
.f60 { font-size: 60px; }
.f65 { font-size: 65px; }
.f70 { font-size: 70px; }

.txtC { text-align: center; }
.txtR { text-align: right; }
.txtL { text-align: left; }

.pb30 { padding: 30px 0;}
.pb40 { padding: 40px 0;}
.pb80 { padding: 80px 0;}
.pb80-20 { padding: 80px 0 20px; }
.pb80-40 { padding: 80px 0 40px; }
.pb80-60 { padding: 80px 0 60px; }

.mb30 { margin-bottom: 30px; }
.mb10 { margin-bottom: 10px; }
.mt10 { margin-top: 10px; }

.grayBg { background-color: #eaeaea;}
.grayBg2 { background-color: #b3b3b3;}
.blackBg { background-color: #000;}
.redBg { background-color: #000;}

.red { color:#000; }
.black { color: #000; }
.err { color: #c00000; }

/* ヘアドレプラステキストを調整 s */

.gold { color:#d2b071; }

/* ヘアドレプラステキストを調整 e */

.notosans {font-family: 'Noto Sans SC', sans-serif;}
.notoserif {font-family: 'Noto Serif JP', sans-serif;}
.cormorant {font-family: 'Cormorant SC', serif;}
.fjalla {font-family: 'Fjalla One', sans-serif;}

.pcno { display: none; }
.pcno2 { display: none; }
.pcno3 { display: none; }
.pcadd2,
.pcadd3 {display: none;}
:hover { transition:background-color .5s, color .5s;}

@media screen and (max-width: 1385px) {
	.concept h2{
		background-size: contain;
		max-width: 454px;
		max-height: 196px;
		width: 363.2px;
		height: 156.8px;
		margin-left: -181.6px;
		margin-top: -78.4px;
	}
}
@media screen and (max-width: 1020px) {
	.concept h2{
		width: 272.4px;
		height: 117.6px;
		margin-left: -136.2px;
		margin-top: -58.8px;
	}
}
@media screen and (max-width: 1000px) {
	.box85,.box1000 {width: 100%; padding-left: 10px; padding-right: 10px; box-sizing: border-box;}
	#sec001 figure {
		width: 45%;
		top: 20%;
	}
	.sec003Box.boxRight .subSlideBox { top: 0px;}
	.sec003Box .itemDetail{ padding: 20px; }
	.sec003Box.boxLeft .itemDetail{top: 5%;}
	.sec003Box.boxRight .itemDetail{bottom: 5%;}
	.sec003Box .itemDetail { width: 50%; }
	.pcno2 { display: block; }
	.subSlideBox {width: 60%; box-sizing: border-box; position: relative; }
	.sec003Box.boxRight .subSlideBox { margin-left: 40%; }
	#sec002 figure{
		position: relative;
		overflow: hidden;
		padding-top: 50%;
		width: auto;
	}
	#sec002 figure img {
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  -webkit-transform: translate(-50%, -50%);
	  -ms-transform: translate(-50%, -50%);
	  transform: translate(-50%, -50%);
	  width: auto;
	  height: 100%;
	  object-fit: cover;
	}
	.sec002Box {
		width: 80%;
		position: absolute;
		right:0;
		bottom: 30px;
	}
	.sec003subBox {
		width: 80%;
		left: 20%;
	}
	.youtubeBox { width: 85%; margin: 0 auto; }
	.beforeafter { width: 90%; margin: 0 auto; background-color: rgba(255,255,255,0.5); padding: 10px; box-sizing: border-box; }
	#sec004 ul li div { height: 187px; position: relative; }
	#sec004 ul li p{position: absolute; bottom: 20px; left: 50%; width: 122px; margin-left: -61px; }
}
@media screen and (max-width: 768px) {
	.pcno { display: block; }
html{
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
}

.btn1 {
	width: 90%;
	margin: 0 auto 60px;
	padding-right: 30px;
	box-sizing: border-box;
}


/* font */
body{
	font-size: 1.4rem;
}
input[type="text"],input[type="submit"],input[type="email"],input[type="tel"],textarea { -webkit-appearance: none; }
	footer,
	#container,
	#sliderbox {position: relative;	}
	header {padding: 11.5px 10px;}
	footer {padding: 15px 10px;}
	.copyright {right: 10px;}
	/* slide */
	#_btn {
	  overflow: hidden;
	  background: #000;
	  height: 40px;
	  width: 40px;
	  position: fixed;
	  top: 10px;
	  right: 0px;
	  z-index: 9999999;
	}

	#_btn_nav {
	  float: left;
	  cursor: pointer;
	  position: relative;
	}

	#nav_open {
	  position: absolute;
	  z-index: 2;
	  top: 0;
	  height: 40px;
	  width: 40px;
	}

	#nav_close {
	  position: relative;
	  z-index: 2;
	  top: -28px;
	  height: 40px;
	  width: 40px;
	}

	#fadeLayer {
	  position:absolute;
	  top:0px;
	  right:0px;
	  width:100%;
	  height:100%;
	  background-color: rgba(0,0,0,0.5);
	  visibility:hidden;
	  z-index: 9999998;
	}

	#menu {
		position: relative;
		z-index: 0;
		top: 7.5px;
		height: 25px;
		width: 30px;
		cursor: pointer;
	}

	#menu .bar {
		display: inline-block;
		width: 30px;
		height: 3px;
		background-color: #fff;
		position: absolute;
		left: 50%;
		margin-left: -10px;
		transition: .15s ease-in-out;
	}

	#bar01 {top: 0;}
	#bar02 {top: 10px;}
	#bar03 {top: 20px;}

	.active #bar01 {
		top: 10px;
		transform: rotate(45deg);
	}
	.active #bar02 {width: 0;}
	.active #bar03 {
		top: 10px;
		transform: rotate(-45deg);
	}

	nav {
		/* float: left; */
		width: 250px;
		position: fixed;
		top: 0;
		right: -250px;
		z-index: 9999999;
		padding: 20px 0;
		box-sizing: border-box;
		background-color: #FFF;
		overflow: auto;
	}

	nav h2 {
		width: 89px;
		height: 37px;
		margin: 0 auto;
		padding: 0px 0 30px;
	}

	nav h2 a{
		display: block;
		width: 110px;
		height: 37px;
		background-image: url(images/logo02.png);
		background-repeat: no-repeat;
		background-position: left center;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	nav ul{
		text-align: left;
		border-top: 1px solid #eaeaea;
	}
	nav ul li{
		display: block;
		padding: 15px;
		font-size: 5px 13px;
		border-bottom: 1px solid #eaeaea;
	}
	nav ul li a:hover{color: #000;}
	.left,.right { float: none;}

.tel {
	position: absolute;
	top: 11px;
	right: 65px;
	text-align: center;
	font-size: 20px;
	font-family: 'Noto Serif JP', sans-serif;
	margin: 0 auto;
	font-weight: bold;
	color: #FFF;
	box-sizing: border-box;
	padding: 2px 10px;
	background-color: #04aa51;
	border-radius: 5px;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
}


	#sec005 .left{
		width: 100%;
		box-sizing: border-box;
		padding-right: 0px;
	}
	#sec005 figure { width: 50%; float: left;}
	#sec005 dl { width: 45%; float: right;}
	#sec005 .right{
		width: 100%;
		padding-top: 0px;
	}
	#sec005 .right dd{
		padding-left: 0px;
		width: 94%;
		margin: 0 auto;
	}
	#sec001 figure {
		position: inherit;
		top: 0;
		right: 0;
		width: 100%;
		max-width: 572px;
		margin: 0 auto;
	}
	#sec001 p {text-align: center;}

	.sec003Box {
		/* width: 100%; */
		width: 50%;
		float: left;
		padding: 1px;
		box-sizing: border-box;
		margin: 0 auto;
		position: inherit;
	}
	.subSlideBox {width: 100%;max-width: 709px; margin: 0 auto; position: relative; }
	.sec003Box.boxLeft .subSlideBox{ left: inherit;}
	.sec003Box.boxRight .subSlideBox { margin-left: auto; top: inherit; }
	.sec003Box.boxLeft { top: inherit; left: inherit;}
	.sec003Box .itemDetail {
		width: 100%;
		position: relative;
	}
	.sec003Box.boxLeft .itemDetail,
	.sec003Box.boxRight .itemDetail { margin-left: 0; margin-right: 0; left: 0; right: inherit; top: 0; bottom: inherit; box-shadow: none; }
	#sec004 ul li:nth-of-type(4),#sec004 ul li:nth-of-type(5){ width: 50%; margin-left: 0; }
	#sec004 ul li:nth-of-type(4) div,#sec004 ul li:nth-of-type(5) div { height: 155px; }
	.sec003subBox h4:after{ width: 75%; }
	.sec003subBox {
		width: 94%;
		left: 6%;
	}
	/* メニュー増減に伴うスペース調整 S */

	.sec003Box.spacer-001{
		margin-bottom: 0;
	}

/* メニュー増減に伴うスペース調整 e */
	.sec002Box {width: 94%;	}
	.concept h2{
		width: 181.6px;
		height: 78.4px;
		margin-left: -90.8px;
		margin-top: -39.2px;
	}
	#sec001 h2{
		background-size: contain;
		max-width: 393px;
		width: 235.8px;
		height: 107.4px;
	}
	#sec001 h3{
		font-family: 'Noto Serif JP', sans-serif;
		font-size: 20px;
		font-weight: 600;
		text-align: center;
		margin-bottom: 20px;
	}
	#sec004 h3,#sec005 .right dt {font-size: 20px;}
	#sec002 figure{padding-top: 60%;}
	a:hover,
	:hover { opacity:1.0; filter: alpha(opacity=100); -ms-filter: "alpha( opacity=100 )"; transition:background-color 0s, color 0s;}

	nav li a::after,
	nav li a.current::after {
	  content: '';
	  position: absolute;
	  bottom: inherit;
	  left: inherit;
	  width: 100%;
	  height: 1px;
	  -webkit-transform: scaleX(0);
	  -ms-transform: scaleX(0);
	  transform: scaleX(0);
	  background-color: #000;
	  -webkit-transition: all .0 ease;
	  transition: all .0 ease;
	  display: inline-block;
	}
	nav a:hover::after,
	nav a.current::after {
	  -webkit-transform: scaleX(0);
	  -ms-transform: scaleX(0);
	  transform: scaleX(0);
	}
	#sec001 p {
		font-size: 14px;
		line-height: 2.0;
		padding: 20px 0;
	}
	#sec005 .right dd{font-size: 14px;}
	#sec006 dt{
		padding-right: 30px;
		font-size: 15px;
	}


a.sidrBnr001 {
 width: 55%; /*画像の全体幅*/
 position: fixed;
 	top: inherit;
	bottom: -2px;
left: 0;
right: inherit;
 display: block;
 z-index: 999999;
 color: #FFF;
	-ms-writing-mode: lr-tb;
  	writing-mode: horizontal-tb;
	text-orientation: mixed;
	padding: 25px 6px 10px 10px;
	box-sizing: border-box;
	font-size:14px;
	font-family: 'Noto Serif JP', sans-serif;
	/* background-color: #04aa51; */
	background-color: #444;
	border-radius: 2px;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
	background-image: url(images/sideBtn001.png);
	background-repeat: no-repeat;
	background-position: center 5px;
	line-height: 1.4;
	letter-spacing: -0.5px;
	text-align: center;
	transition:bottom .5s;
}
a.sidrBnr002 {
	 width: 45%; /*画像の全体幅*/
	 position: fixed;
 	top: inherit;
	bottom: -2px;
 	right: 0; /*マウスを乗せた時に出てくる幅*/
 	display: block;
 	z-index: 999999;
 	color: #FFF;
 	font-family: 'Noto Serif JP', sans-serif;
	-ms-writing-mode: lr-tb;
  	writing-mode: horizontal-tb;
	text-orientation: mixed;
	padding: 25px 6px 10px 10px;
	box-sizing: border-box;
	font-size: 14px;
	/* background-color: #04aa51; */
	background-color: #444;
	border-radius: 2px;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
	background-image: url(images/sideBtn002.png);
	background-repeat: no-repeat;
	background-position: center 5px;
	line-height: 1.4;
	letter-spacing: -0.5px;
	text-align: center;
	transition:bottom .5s;
}

a.sidrBnr001.scrollBottom,
a.sidrBnr002.scrollBottom {
	position: absolute;
	bottom: -60px;
	transition:bottom .5s;
}

.telTxt {
	color: #FFF;
	box-sizing: border-box;
	padding: 2px;
	background-color: #04aa51;
	border-radius: 5px;
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.2);
	max-width: 300px;
}

.telTxt a{
color: #fff;
display: inline-block;
padding: 2px;
box-sizing: border-box;
}

}
@media screen and (max-width: 580px) {
#sec002 figure{
	padding-top: 65%;
}
#sec002 figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: auto;
	height: 100%;
	object-fit: cover;
	object-position: 30% 0%;
  	font-family: 'object-fit: cover; object-position:30% 0%;'
}
.sec002Box h4:after{width: 80%;}
	.sec003Box {
		width: 100%;
		float: none;
		padding: 0px;
	}
	.concept h2{
		width: 136.2px;
		height: 58.8px;
		margin-left: -68.1px;
		margin-top: -29.4px;
	}

.pcadd2 {display: block;}
.table2 {width: 410px;}


.table2 td span{
	padding:0;
}

}
@media screen and (max-width: 480px) {
	#sec005 figure { width: 30%;}
	#sec005 dl { width: 68%;}
	#sec005 .left { margin-bottom: 40px;}
	#sec004 ul li {
		width: 100%;
		padding: 2.5px;
		box-sizing: border-box;
		float: none;
	}
	#sec004 ul li:nth-of-type(4) { clear: none; width: 100%; }
	#sec004 ul li:nth-of-type(5) { width: 100%; }
	.youtubeBox { width: 94%; margin: 0 auto; }
	#sec002 figure{
		position: relative;
		overflow: hidden;
		padding-top: 70%;
		width: auto;
	}

	.sec002Box h4:after{width: 80%;}
	#sec005 figure { width: 100%; float: none;}
	#sec005 dl { width: 100%; float: none;}

	.sec002Box {
		width: 94%;
		position: absolute;
		right:0;
		bottom: 30px;
	}

	.sec003subBox h4:after{width: 60%;}
	.beforeafterBox { width: 100%; float: none; box-sizing: border-box; }
	table td,
	table th { display: inline-table; width: 100%; }

	.beforeafterBox.before { padding-right: 0; padding-bottom: 50px; position: relative; }
	.beforeafterBox.before:after {
		bottom: 0%;
		top: inherit;
		right: 0;
		left: 0;
		margin: 0 auto;
		background-image: url(images/icon-sec003.png);
		background-repeat: no-repeat;
		background-position: left top;
		background-size: 80% auto;
		width: 49px;
		height: 64px;
		content: "";
		transform: rotate(90deg);
	}
	.beforeafterBox.after { padding-left: 0;}
	#sec006 dt{padding: 10px 30px 10px 10px;}
	#sec006 dt:after{right: 10px;}
	#sec006 dd{ padding: 10px; }
	#sec006 dd p{
		width: 85%;
	}
	#sec004 ul li:nth-of-type(2) div,#sec004 ul li:nth-of-type(3) div { height: 155px; }
	.pcadd3 {display: block;}
	.addtop {display: none;}
	.table2 {width: 240px;}
	table.table2 td{width: 120px; margin-bottom: 20px; line-height: 1.0;}
}
@media screen and (max-width: 420px) {
	.concept h2{
		width: 90.8px;
		height: 39.2px;
		margin-left: -45.4px;
		margin-top: -19.6px;
	}
}
@media screen and (max-width: 380px) {
	.pcno3 { display: block; }

	#sec002 figure{padding-top: 80%;}
}


/* ↓サイト移転に伴い追記↓ */

/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
	/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
	position:fixed;
	z-index: 999;
	/*ナビのスタート位置と形状*/
top:0;
	right: -120%;
width:100%;
	height: 100vh;/*ナビの高さ*/
background:#f4f4f4;
	/*動き*/
transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
	right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
	/*ナビの数が増えた場合縦スクロール*/
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100vh;/*表示する高さ*/
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
	/*ナビゲーション天地中央揃え*/
	position: absolute;
	z-index: 999;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
list-style: none;
	text-align: center;
}

#g-nav li a{
color: #333;
text-decoration: none;
padding:10px;
display: block;
//text-transform: uppercase;
letter-spacing: 0.1em;
font-weight: bold;
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
position:fixed;
	z-index: 9999;/*ボタンを最前面に*/
top:5px;
right: 10px;
cursor: pointer;
	width: 50px;
	height:50px;
}

/*×に変化*/
.openbtn span{
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 14px;
	height: 3px;
	border-radius: 2px;
background-color: #666;
	width: 45%;
}

.openbtn span:nth-of-type(1) {
top:15px;
}

.openbtn span:nth-of-type(2) {
top:23px;
}

.openbtn span:nth-of-type(3) {
top:31px;
}

.openbtn.active span:nth-of-type(1) {
	top: 18px;
	left: 18px;
	transform: translateY(6px) rotate(-45deg);
	width: 30%;
}

.openbtn.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn.active span:nth-of-type(3){
	top: 30px;
	left: 18px;
	transform: translateY(-6px) rotate(45deg);
	width: 30%;
}

@media screen and (min-width: 769px) {
	.openbtn{
		display: none;
	}
}

#sec008{

}

/* table01 */
#sec008 #table01 {
  width: 100%;
}

#sec008 #table01 tr {
  border-bottom: 1px solid #b5b1b1;
}

#sec008 #table01 th,
#sec008 #table01 td {
  padding: 24px 0;
  border: none;
}

#sec008 #table01 th {
  width: 30%;
	font-weight: bold;
}

#sec008 #table01 br{
	display: none;
}

/* sp */
@media only screen and (max-width: 480px) {
  #sec008 #table01 th,
  #sec008 #table01 td {
    width: 100%;
    display: block;
  }

  #sec008 #table01 th {
    width: 100%;
  }

  #sec008 #table01 td {
    padding-top: 0;
  }

	#sec008 #table01 br{
		display: block;
	}
}
