﻿/* -----------------------------------------------　all　---------------------------------------------------- */
/*body{*/
/*    font-family: 'Shippori Mincho', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif" !important;*/
/*}*/

h1,h2,h3,h4,h5,h6{
    font-family: 'Shippori Mincho', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif" !important;
}

/* -----------------------------　body------------------------------------- */

/* ----------　font　---------- */

/* color -----------------------------------------------------------------------------*/
:root {
    --color1: #4d270c;
    --color2: #b09780;
    --color3: #3e9aaa;
    --color4: #d2c4b6;
    --color5: #ffffff;
    --white: #f7f6f6;
    --black: #1a0e06;
    --gray: #ccc;
}

body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: var(--black);}
.txt_white,.hvr_txt_white:hover{color: var(--white);}
.txt_color1,.hvr_txt_color1:hover{color: var(--color1);} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: var(--color2);} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: var(--color3);} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: var(--color4);} /* アクセントカラー2 */
.txt_color5,.hvr_txt_color5:hover{color: var(--color5);} /* アクセントカラー2 */
/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: var(--white)} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: var(--black);} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: var(--color1);} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: var(--color2);} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: var(--color3);} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: var(--color4);} /* アクセントカラー2 */
.bg_color5,.hvr_bg_color5:hover{background-color: var(--color5);} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}
/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: var(--white);}
.hvr_border_black:hover{border-color: var(--black);}
.border_black{border-color: var(--gray);}
.border_color1,.hvr_border_color1:hover{border-color: var(--color1);}
.border_color2,.hvr_border_color2:hover{border-color: var(--color2);}
.border_color3,.hvr_border_color3:hover{border-color: var(--color3);}
.border_color4,.hvr_border_color4:hover{border-color: var(--color4);}
.border_color5,.hvr_border_color5:hover{border-color: var(--color5);}

.linkStyle{
    color: var(--color1);
    border-bottom:solid 1px;
}

.linkStyle:hover{
	color: var(--color3);
	opacity: 0.7;
	transition: all 0.5s;
}

body#body {
    background: var(--white);
}

.overlay.open .menu_box p {
    color: var(--black);
    opacity: 1;
    font-weight: bold;
}

#toggle {
    background-size: cover;
    background-image: url(Dup/img/toggle_bg.png);
}

/* ---------------------------------------------　TOP　---------------------------------------- */
.catch {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/catch.png);
    background-size: 100%;
    width: 25vw;
    height: 30vw;
    background-position: center;
    background-repeat: no-repeat;
    bottom: 0;
    left: 0;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#header #logo {
    width: 10% !important;
    padding: 15px;
}

/* ----------　intro　▼---------- */
.intro_title {
    letter-spacing: 1px;
    font-size: 34px;
}

#intro span.bg_box, #contents_links span.bg_box {
    background-image: url(../dup/img/bg_ftr-nav.png);
    background-color: var(--color5);
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
}


#intro .intro_img {
	position: relative;
}

#intro .intro_img::before,
#intro .intro_img::after {
	content: '';
	position: absolute;
	transform: rotate(-35deg);
	width: 70px;
	height: 25px;
	background-color: var(--white);
	z-index: 1;
}

#intro .intro_img::before {
	top: -10px;
	left: -25px;
	border-bottom: 1px solid var(--color3);
}

#intro .intro_img::after {
	bottom: -10px;
	right: -25px;
	border-top: 1px solid var(--color3);
}

/* ----------　intro　▲---------- */

/* ----------　contents1　▼---------- */
#contents_wrap .tab_content .box .con_img {
    position: relative;
}
/*#contents_wrap .tab_content .box .con_img::before {*/
/*    display: inline-block;*/
/*    content: "";*/
/*    width: calc(100% - 50px);*/
/*    height: 100%;*/
/*    position: absolute;*/
/*    bottom: 0;*/
/*    right: 0;*/
/*    left: -50px;*/
/*    margin: auto;*/
/*    border-image-source: repeating-linear-gradient(45deg, #fff, #fff 3px, rgba(0 0 0 / 0) 0, rgba(0 0 0 / 0) 6px);*/
/*	border-image-slice: 20;*/
/*	border-image-repeat: round;*/
/*	border-style: solid;*/
/*	border-width: 10px;*/
/*	transform: rotate(-5deg);*/
/*}*/

#contents_wrap .tab_content .box .con_img::before {
    display: inline-block;
    content: "";
    width: calc(100% - 50px);
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    left: -50px;
    margin: auto;
    border: 1px solid var(--color5);
    transform: rotate(-5deg);
}

#contents_wrap .con_txt {
    text-shadow: 0px 0px 10px var(--white), 0px 0px 10px var(--white);
}

#contents_wrap .tab_content .box {
    top: 150px;
}

#contents_wrap .con_txt P {
    font-size: 15px;
    letter-spacing: 0;
}

/* ----------　contents1　▲---------- */

#tab_buttons .stepber {
    position: relative;
    width: 1px;
    height: 20.64vh;
}

/* ----------　contents2　▼---------- */
#contents2 .con_img::before {
    transform: rotate(5deg)!important;
}


/* ----------　contents2　▲---------- */
#top_cms1 .top_cms_title p, #top_cms2 .top_cms_title p {
    opacity: 0.25;
}

#contents_links:before, #top_cms1:before {
    content: '';
    position: absolute;
    display: block;
    width: 50vw;
    height: 86vh;
    z-index: 0;
    pointer-events: none;
}

#top_cms1{position: relative;}
#top_cms1:before {
    background: url(./Dup/img/kage2.png) no-repeat;
    background-size: contain;
    top: -75%;
    left: -10%;
    transform: rotateX( 4deg );
}

#contents_links:before {
    background: url(./Dup/img/kage1.png) no-repeat;
    background-size: contain;
    top: -48%;
    right: -18%;
    transform: scale(-1,1) rotate(358deg);
}

#contents_wrap .bg_container {
    background-size: cover;
    background-color: var(--white);
    background-image: url(Dup/img/bg_img.png);
}

#contents_wrap .con_item {
    opacity: 0.7;
}

/* -------------------　BLOG ▼----------------- */
.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
	/* padding: 20px; */
	/* border-radius: 20px; */
	/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}
/* -------------------　BLOG ▲----------------- */

/* -------------------　施術メニュー＆料金 ▼----------------- */
.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
	margin-bottom: 30px;
    color: #474521;
    font-weight: normal;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a{
	padding-top: 80px;
    padding-bottom: 60px;
}
.link_type1 .link_top a:hover{
    background-color: #ededeb;
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.1;
}
@media screen and (max-width: 667px){
.link_type1 .link_top .link_title{
    font-size: 15px;
}
}
/* -------------------　施術メニュー＆料金 ▲----------------- */

#page-top a {
    background-color: var(--color1);
    color: var(--white);
}

#top_cms1 .top_cms_title h3, #top_cms2 .top_cms_title h3 {
    font-size: 1.8rem;
    font-weight: 700;
}

footer .bg_box {
    background-position: center bottom !important;
}

/* 追従バナー */
.fix_banner {
    width: 100%;
    max-width: 300px;
    position: fixed;
    right: 90px;
    bottom: 10px;
    z-index: 5;
    background-color: var(--color1);
}

/* moreボタン */
.more_item{
background-color: transparent;
box-sizing: border-box;
cursor: pointer;
position: relative;
transition: all 0.3s ease-in-out;
user-select: none;
}

.more_item::before {
 content: "";
 width: 40px;
 height: 2px;
 background: white;
 top: 50%;
 left: 20px;
 position: absolute;
 transform: translateY(-50%);
 transform-origin: center;
 transition: background 0.3s linear,width 0.3s linear,transform 0.3s linear;
}

.more_item .text {
 font-size: 16px;
 line-height: 1.5;
 padding-left: 20px;
 display: block;
 text-align: center;
 transition: all 0.3s ease-in-out;
 text-transform: uppercase;
 text-decoration: none;
}

.more_item:hover::before {
	width: 30px;
	transform: translateY(-50%) rotate(-45deg);
}

.more_item:hover .text {
 padding-left: 0;
}

/* ---------------------------------　下層ページ　--------------------------------- */


.pager li a {
    background-color: var(--color3);
    color: var(--color5);
}

.pager li a:hover {
    background-color: var(--color1);
}

/* ----------　初めての方へ　▼---------- */
.flow_type3 .cate{counter-reset: box;}
.flow_type3 .cate_box{counter-increment: box;}
.flow_type3 .box_item{padding-top: 60px;}
.flow_type3 .box_title1{z-index: 0}
.flow_type3 .box_title1::before, .flow_type3 .box_title1::after{
	position: absolute;
	content: "";
	display: block;
	pointer-events: none
}
.flow_type3 .box_title1::before {
	content: "0"counter(box);
	font-size: 86px;
	color: #ebebeb;
	left: 0;
	top: -70px;
	z-index: -1;
}
.flow_type3 .box_title1::after{
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #222
}
/*-------- スマートフォン --------*/
@media screen and (max-width: 667px){
.flow_type3 .box_title1::before{
	left: auto;
	right: 0;
	top: -50px
}
.flow_type3 .box_item {
    padding-top: 36px;
}
}
/* ----------　初めての方へ　▲---------- */

/* ----------　ビフォーアフター　▼---------- */
.BA_type1 .box_item, .BA_type1 .box_img1, .BA_type1 .box_img2 {position: relative;}

/*.BA_type1 .box_item::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    top: 50%;*/
/*    left: 50.3%;*/
/*    transform: translate(-50%,-50%);*/
/*    width: 0;*/
/*    height: 0;*/
/*    border-style: solid;*/
/*    border-width: 17px 0 17px 40px;*/
/*    border-color: transparent transparent transparent var(--color3);*/
/*}*/
.BA_type1 .box_img1 {margin-right: 40px;}

.BA_type1 .box_img2 {margin-left: 40px;}

.BA_type1 .box_img1::after, .BA_type1 .box_img2::after {
    position: absolute;
    height: 33px;
    width: 87px;
    background-color: #fff;
    color: var(--color1);
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    left: 0;
}

/*.BA_type1 .box_img1::after {content: "before";}*/

/*.BA_type1 .box_img2::after {content: "after";}*/

@media screen and (max-width: 667px){
.BA_type1 .box_img1 {margin-right: 5%;margin-bottom: 50px;}

.BA_type1 .box_img2 {margin-left: 5%;}

.BA_type1 .box_img1::after, .BA_type1 .box_img2::after {height: 30px;font-size: 15px;}

/*.BA_type1 .box_item::after {transform: translate(-50%,-60%) rotate( 90deg);border-width: 20px 0 20px 23px;}*/
}
/* ----------　ビフォーアフター　▲---------- */

.v_type3 .cate_box{border: 1px solid #c9baa9;}
.v_type3 .box_title1{color: #a67c52;}

/* ----------　会社情報　---------- */

/* ----------　お問い合わせ　---------- */


/* ----------　プライバシーポリシー ---------- */


/* ----------　サイトマップ　---------- */


@media all and (-ms-high-contrast: none){
  .sample{

  }
}


/*-------------------------------------------------------1536-------------------------------------------------------*/
@media screen and (max-width: 1536px){
.intro_title {
    letter-spacing: 0px;
    font-size: 27px;
}
}

/*-------------------------------------------------------1530 × 735-------------------------------------------------------*/
@media screen and (max-width: 1530px){

#contents_wrap .tab_content .box {
    top:50px;
}

#contents_wrap .con_txt P {
    margin-top: 2vh;
    max-height: 60vh;
    letter-spacing: -1px;
    font-size: 15px;
}

}

/*-------------------------------------------------------1366-------------------------------------------------------*/
@media screen and (max-width: 1366px){}

/*-------------------------------------------------------タブレット-------------------------------------------------------*/
@media screen and (max-width: 768px){
.overlay .menu_box{
    padding-right: 0;
}

#header #logo {
    width: 25% !important;
    padding: 15px;
}

.catch {
    width: 45vw;
    height: 50vw;
}

#intro {
    justify-content: flex-end;
    margin-top: 30px;
    margin-bottom: 87px;
}

#intro span.bg_box {
    top: -45px;
    width: 41%;
    height: 28%;
}

.intro_title {
    letter-spacing: 0px;
    font-size: 26px;
}

#intro .right {
    height: 50vh;
    position: static;
}

#top_cms1:before {
    top: -60%;
    left: -10%;
    width: 70vw;
}

#contents_links:before {
    top: -20%;
    right: -18%;
}

#contents_wrap .tab_content .box .con_img::before {
    width: 100%;
    left: 0;
    width: 70vw;
}

#gmap {
    height: 647px;
}

}

/*-------------------------------------------------------スマホ-------------------------------------------------------*/
@media screen and (max-width: 667px){
.overlay .menu_box {
    max-width: 85vw;
    padding-top: 60px;
    padding-left: 20px;
    backdrop-filter: none;
}

.overlay.open .menu_box p {
    font-size: 10px;
    margin-bottom: 15px;
}

.overlay .menu_box .d_flex {
    padding-bottom: 0;
    margin-bottom: 5px;
}

.overlay ul:not(.sns_links) li a {
        padding-bottom: 5px;
}


.catch {
    filter: drop-shadow(2px 2px 6px var(--color5));
    width: 45vw;
}

#header #logo {
    width: 25% !important;
    padding: 5px 0px 5px 5px;
}

#logo img {
    max-width: 80px;
    transition: .5s;
}

#header.active #logo img {
    max-width:65px;
}

.shop_link {
    width: 84px;
}

div.main_txt {
    width: 52%;
    top: 53px;
    left: 6px;
}

p.main_txt {
    bottom: 13px;
    right: 5px;
    font-size: 15px;
}

p.main_txt::before {
    width: 44px;
    left: -54px;
}

#contents_wrap .con_txt P {
    margin-top: 2vh;
    max-height: 75vh;
    letter-spacing: -1px;
    font-size: 13px;
}

#intro {
    margin-bottom: 0;
    margin-top: 0;
}

#intro .right {
    width: 95%!important;
}

.intro_title {
    letter-spacing: 0px;
    font-size: 22px;
}

#top_cms1 .top_cms_title h3, #top_cms2 .top_cms_title h3 {
    font-size: 1.4rem;
}

#top_cms1:before {
    top: -37%;
    left: -10%;
    width: 70vw;
}

#top_menu .box {
    width: 99.33333%!important;
}

#top_menu .bt_menu_box .bt_menu_box_img {
    max-height: 145px;
}

#gmap {
    height: 400px;
}

footer .sns_links li {
    max-width: 36px;
}

#page-top {
    right: 10px;
}

#page-top a {
    width: 42px;
    height: 42px;
}

/* 追従バナー */
.fix_banner{
		    max-width: 250px;
		left: 50%;
		-ms-transform: translate(-50%,0);
		-webkit-transform: translate(-50%,0);
		transform: translate(-50%,0);
	}

.fix_banner .more_item .text{font-size: 14px;}

}

