@charset "utf-8";
/* CSS Document */

/***　全ページ　***/

.float_right{
	float: right
}
.float_left{
	float: left
}
.float_clear{
	float: none
}
.clearfix::after{
	clear:both;
	content:".";
	visibility:hidden;
	display:block;
	height:0;
}
html{font-size:100%;}
body{color: #212121;
	background: -webkit-linear-gradient(90deg, #D8D8D6, #fff, #D8D8D6);
	background: linear-gradient(90deg, #D8D8D6, #FFF, #D8D8D6); /* 背景色にグラデーションを指定 */
	overflow: hidden
}
h1 {font-size: 0rem;}
#page-top {
    right: 50px;
	bottom: 50px;
	z-index: 99;
}
.br_c{
	display: none
}
.red{color: #e83c2a}
section .active a{
	color: #005fc6;
	border-color: #005fc6;
}
main{padding-top: 80px
}
#page-top a{
	width: 60px;
	height: 60px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
#page-top a::before{
	position: absolute;
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	border-top: solid 1px #fff;
	border-left:  solid 1px #fff;
	top: 5px;
	bottom: 0;
	right: 0;
	left: 5px;
	margin: auto;
}
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
	transition: all 1s
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}
.width_1280-1000{
	padding-right: 20px;
	padding-left: 20px;
}

/***　ヘッダー　***/

#header{
	z-index: 100;
	left: 0;
	top: 0;
}
.head{
	background-image: url("../img/top_bg.jpg")
}
.head_box{
	z-index: 2
}
#header nav .column_6{
	justify-content: space-around
}
#header nav .column_6 li{width: auto!important;letter-spacing: 2px}

/***　フッター　***/

#footer::after{
	height: 100%;
	width: 100%;
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background-image: url("../img/foot_img.png");
	background-repeat: no-repeat;
	background-size: contain;
}
#footer div{
	z-index: 1
}
#footer{
	background-image: url("../img/top_bg.jpg");
	background-size: cover;
	background-position: top center
}
#footer::before{
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 10px;
	top: -10px;
	background: -webkit-linear-gradient(90deg, #fff, #2dcdd3, #005fc6);
	background: linear-gradient(90deg, #fff, #2dcdd3, #005fc6);
}
#footer figure,#footer h2,#footer .foot_tel{
	margin-left: 50%;
}
.foot_tel{
	border-radius: 30px
}
.foot_tel img{
	width: 13px
}
footer ul{
	font-size: 0
}
footer ul li .border_so1{
	border: none;
	border-left: solid 1px;
	border-right: solid 1px;
}

/***　index　***/

#main_img figure img{
	width: auto
}
#main_img{
	margin-top: 10px
}
#main_img::before{
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	background: -webkit-linear-gradient(90deg, #fff, #2dcdd3, #005fc6);
	background: linear-gradient(90deg, #fff, #2dcdd3, #005fc6);
}
#main_img figure{
	height: 92px;
	bottom: 0;
	z-index: 2;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
/** more 動き↓ **/
.more a{
  position: relative;
  border: 1px solid #BBBBBB;
	color: #bbb;
  -webkit-transition: all .4s;
  -ms-transition: all .4s;
  transition: all .4s;
}
.more a::before,
.more a::after {
  position: absolute;
  z-index: 2;
  content: '';
  width: 0;
  height: 0;
  border: 1px solid transparent;
}
.more a::before {
  top: -1px;
  left: -1px;
}
.more a::after {
  bottom: -1px;
  right: -1px;
}
.more a:hover {
  color: #005fc6;
}
.more a:hover::before,
.more a:hover::after {
  width: 100%;
  height: 100%;
}
.more a:hover::before {
  border-bottom-color: #005fc6;
  border-left-color: #005fc6;
  -webkit-transition: height .2s, width .2s .2s;
  -ms-transition: height .2s, width .2s .2s;
  transition: height .2s, width .2s .2s;
}
.more a:hover::after {
  border-top-color: #005fc6;
  border-right-color: #005fc6;
  -webkit-transition: height .2s .4s, width .2s .6s;
  -ms-transition: height .2s .4s, width .2s .6s;
  transition: height .2s .4s, width .2s .6s;
}
/** more 動き↑ **/

.welcome{
	background-image: url("../img/top_bg.jpg");
	background-position: center;
	background-size: cover
}
.welcome .pd_10per{
	padding: 7%
}
.wel_txt h3, .wel_txt p{
	z-index: 1
}
.wel_txt p{
	z-index: 1
}
.wel_txt h3{
	top: 10%;
	left: -20px
}
.intro .wel_txt h3{
	top: 15%;
	left: 50px
}
.wel_txt h3::after{
	content: "";
	height: 1px;
	margin-top: 20px;
	display: block;
	width: 100%;
	background: -webkit-linear-gradient(90deg, #fff, #2dcdd3, #005fc6);
	background: linear-gradient(90deg, #fff, #2dcdd3, #005fc6);
}
.wel_txt::before{
	position: absolute;
	content: "";
	display: block;
	top: 0;
	left: -40px;
	bottom: 0;
	right: 0;
	background: rgba(255,255,255,0.1);
}
.welcome figure{
	z-index: 1;
}
.welcome figure img{
	margin-top: -40px;
	box-shadow: 0 7px 50px rgba(0,0,0,0.5)
}
.concept_wrap .concept_box{
	height: 400px
}
.concept_wrap .concept_box .concept_title::before{
	height: 1px;
	width: 150px;
	position: absolute;
	content: "";
	display: block;
	right: 0;left: 0;bottom: 0;
	margin: auto;
	background: -webkit-linear-gradient(90deg, #B7FCFF, #2dcdd3, #005fc6);
	background: linear-gradient(90deg, #B7FCFF, #2dcdd3, #005fc6);
}
.concept_wrap .concept_box:last-child .concept_title{
	margin-bottom: 0
}
.concept_wrap .concept_box:nth-child(1) .concept_img{
	background-image: url("../img/top_img1.jpg");
	background-position: 70% center
}
.concept_wrap .concept_box:nth-child(2) .concept_img{
	background-image: url("../img/top_img2.jpg");
	background-position: 60% center
}
.concept_wrap .concept_box:nth-child(3) .concept_img{
	background-image: url("../img/top_img3.jpg");
}
.concept_wrap .concept_box:nth-child(4) .concept_img{
	background-image: url("../img/top_img4.jpg");
	background-position: 35% center
}
.concept_wrap .concept_box:nth-child(5) .concept_img{
	background-image: url("../img/top_img5.jpg");
	background-position: 45% center
}
.concept_wrap .concept_box:nth-child(6) .concept_img{
	background-image: url("../img/top_img6.jpg");
	background-position: 75% center
}
.concept_wrap .concept_box:nth-child(7) .concept_img{
	background-image: url("../img/top_img7.jpg");
}
.sec_title::before{
	position: absolute;
	content: "";
	display: block;
	width: 1px;
	height: 40px;
	right: 0;
	left: 0;
	bottom: -20px;
	margin: auto;
	background: #333;
}
.in_news div div:last-child{
	margin-bottom: 0
}
.g_img figure:hover{
	z-index: 1;
	box-shadow: 0 0 10px rgba(0,0,0,0.3)
}

/***　ページタイトル　***/

#page_title{
	background-image: url("../img/page_title.jpg")
}
#page_title::after{
	content: "";
	position: absolute;
	display: block;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	background: -webkit-linear-gradient(90deg, #fff, #2dcdd3, #005fc6);
	background: linear-gradient(90deg, #fff, #2dcdd3, #005fc6);
}
#page_title h3::before{
	content: "";
	position: absolute;
	display: block;
	width: 70px;
	height: 1px;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #fff
}

/***　お知らせ　***/

#news .cate_box{
	box-shadow: 0 5px 20px rgba(0,0,0,0.2)
}
#news .cate_box::before{
	display: block;
	position: absolute;
	content: "";
	top: -5px;
	left: 0;
	width: 100%;
	height: 5px;
	background: -webkit-linear-gradient(90deg, #fff, #DDDBD0, #fff, #DDDBD0, #fff);
	background: linear-gradient(90deg, #fff, #DDDBD0, #fff, #DDDBD0, #fff);
}
#news .date{
	color: #b4b59e
}
#news .box_img2{
	margin-right: 0
}
#news .pager li a{
	width: 40px;
	height: 40px;
	line-height: 40px;
	color: #999
}
#news .pager li a:hover{
	color: #01050C
}
#news .pager{
	border-color: #999
}

/***　コンセプト　***/

#concept .cate_box{
	box-shadow: 0 5px 20px rgba(0,0,0,0.2)
}
#concept .box_title1{
	margin-left: -10%;
	padding-left: 8%;
}

/***　施術の流れ　***/

#about .cate_box::before,#about .cate_box::after{
	display: block;
	position: absolute;
	background: #01050C;
	content: "";
}
#about .cate_box::before{
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -5px;
}
#about .cate_box::after{
	width: 1px;
	height: 30px;
	right: 0;
	left: 0;
	margin: auto;
	bottom: -35px
}
#about .cate_box:last-child::after{
	display: none
}

/***　　***/




/***　アクセス　***/

#access {
	background: #f2f2f2
}
#access h4::after{
	display: block;
	content: "";
	position: absolute;
	width: 1px;
	height: 30px;
	background: #212121;
	bottom: -45px;
	right: 0;
	left: 0;
	margin: auto;
}
#access .bg_white::before{
	display: block;
	position: absolute;
	content: "";
	top: -5px;
	left: 0;
	width: 100%;
	height: 5px;
	background: -webkit-linear-gradient(90deg, #fff, #DDDBD0, #fff, #DDDBD0, #fff);
	background: linear-gradient(90deg, #fff, #DDDBD0, #fff, #DDDBD0, #fff);
}

/***　お問い合わせ　***/

#contact h3{
	vertical-align: top
}
#contact form input[type="submit"],
#contact form input[type="reset"] {
	width: 100px;
	height: 40px;
	text-align: center;
	padding: 0;
	margin:50px 4% 0;
	-webkit-appearance: none;
	transition: 0.5s;
}
#contact .box{
	box-shadow: 0 5px 20px rgba(0,0,0,0.2)
}

/***　IE対処　***/

@media all and (-ms-high-contrast:none) {
	#footer .tel{
		padding-top: 13px;
		padding-bottom: 7px
	}
	#footer .tel img{
		padding-bottom: 9px;
	}
	.more a{
		padding-top: 12px;
		padding-bottom: 8px
	}
	#price .box_title1{
		padding-top: 14px
	}
	#price .box_txt1{
		padding-top: 14px
	}
	.bg_color1.pd_30px.txt_center.txt_white{
		padding-top: 33px;
		padding-bottom: 27px
	}
}

/*ここからタブレット用（780px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 768px){

.float_right_tb{
	float: right
}
.float_left_tb{
	float: left
}
.float_clear_tb{
	float: none
}
.clearfix_tb::after{
	clear:both;
	content:".";
	visibility:hidden;
	display:block;
	height:0;
}

.concept_wrap .concept_box{
	height: 450px
}
main{padding-top: 50px
}
.fadein {
    opacity : 1;
    transform : translate(0, 0);
    transition:0s;
}
#page-top {
    right: 30px;
}
#page-top a{
	width: 45px;
	height: 45px;
}
#page-top a::before{
	top: 3px;
	left: 3px;
}

/***　index　***/

#main_img figure img{
	width: 100%
}
#main_img figure{
	height: 20px;
	z-index: 2;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.wel_txt h3{
	width: 100%;
}
.wel_txt::before{
	left: 0;
}
.welcome figure img{
	margin-top: 0;
	margin-bottom: -20px;
}
.welcome .pd_l-20px{
	padding-right: 0;
	padding-left: 0;
}
.welcome .pd_10per{
	padding: 13% 8% 8%
}

/*　▼▼▼▼　スマホナビ　▼▼▼▼　*/

.toggle {
    right: 20px;
    top: 0;
	bottom: 0;
	margin: auto;
    width: 40px;
    height: 50px;
    cursor: pointer;
    z-index: 90;
}
.toggle span {
	border-color: #fff;
    display: block;
    position: absolute; /* .toggleに対して */
    width: 100%;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
.toggle span:nth-child(1) {
    top: 8px;
}
.toggle span:nth-child(2) {
    top: 18px;
}
.toggle span:nth-child(3) {
    top: 28px;
}
	
	/* 最初のspanをマイナス45度に */
.toggle.active span:nth-child(1) {
    top: 20px;
	left: 1px;
    -webkit-transform: rotate(-225deg);
    -moz-transform: rotate(-225deg);
    transform: rotate(-225deg);
    border-bottom: solid 2px #fff;
}
/* 2番目と3番目のspanを45度に */
.toggle.active span:nth-child(2),
.toggle.active span:nth-child(3) {
    top: 20px;
	right: 1px;
    -webkit-transform: rotate(225deg);
    -moz-transform: rotate(225deg);
    transform: rotate(225deg);
    border-bottom: solid 2px #fff;
}
/* .global_nav */
.global_nav {
	background-color: rgba(0,0,0,0.9);
	overflow: hidden;
    position: fixed;
    transform: translateY(-100%);
    top: 0;
    left: 0;
    width: 100vw;
	height: 100vh;
    transition: all 0.8s;
	z-index: 10
}
.global_nav .nav_li {
	margin: 0 auto;
	box-sizing:border-box;
}
.global_nav .nav_li a {
	letter-spacing: 2px;
	height: 7vh;
    display: block;
	line-height: 7vh;
}
	/* .global_navに.activeが追加 */
.global_nav.active {
    transform: translateY(0%);
}


/** more 動き↓ **/
.more a::before,
.more a::after {
	display: none
}
.more a:hover::before,
.more a:hover::after {
	display: none
}
/** more 動き↑ **/

.width_1280-1000{
	padding-right: 0;
	padding-left: 0;
}

/***　footer　***/
#footer::after{
	display: none
}
#footer figure,#footer h2,#footer .foot_tel{
	margin-left: 0;
}


/***　ページタイトル　***/

#page_title h3::before{
	width: 40px;
	left: -20px;
}

/***　　***/



/***　　***/



/***　アクセス　***/


}

/*ここからスマホ用（750px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 667px){
	
.float_right_sp{
	float: right
}
.float_left_sp{
	float: left
}
.float_clear_sp{
	float: none
}
.clearfix_sp::after{
	clear:both;
	content:".";
	visibility:hidden;
	display:block;
	height:0;
}

.br_c{
	display: inline
}
/***　index　***/

.sec_title::before{
	height: 30px;
	bottom: -15px;
}

/***　お知らせ　***/

	#news .cate_box{
		padding: 10% 5%
	}


}