@charset "utf-8";
/* ============================================
	ページ共通
============================================ */
*{
	margin:0px;
	padding:0px;
	outline:none;
	box-sizing:border-box;
}
body{
	padding:0px;
	margin:0px;
	font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 400;
    position: relative;
    background-color: inherit !important;
}
html{
	scroll-behavior: smooth;
}
.font_jp{
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
.font_en{
  font-family: "Roboto", serif;
  font-weight: 400;
}
img{
	border:0px;
	margin:0px;
	padding:0px;
	vertical-align:bottom;
	display:block;
	height:auto;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.pc{
	display:block !important;
}
.sp{
	display:none !important;
}
.is-eventNone {
	pointer-events: none;
}
.mfp-zoom-out-cur{
    cursor: default !important;
}
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: pointer !important;
}

.wrap{
    position: relative;
    overflow: hidden;
    padding: 70px 0px 0px 0px;
}
.wrap::before{
    position: absolute;
        height: 250px;
        top: 0;
        left: 0;
    background-color: rgba(106, 53, 161, 0.1);
    content: "";
    width: 100%;
    z-index: -1;
}
.wrap::after{
    position: absolute;
    top: 250px;
    left: 0;
    z-index: -1;
    content: "";
    border-style: solid;
    border-width: 200px 100vw 0 0;
    border-color: rgba(106, 53, 161, 0.1) transparent transparent transparent;
}
@media screen and (max-width: 750px) {
.wrap{
    padding: 60px 0px 0px 0px;
}
.wrap::before{
    height: 65vw;
}
.wrap::after{
    top: 65vw;
    border-width: 15vw 100vw 0 0;
}
}

/* ============================================
	ワードプレス用　カスタマイズ
============================================ */
.site-content {
    float: none;
    width: 100%;
    margin: 0;
}
.site-content article {
    border-bottom: 0;
}

.menu-toggle, input[type="submit"], input[type="button"], input[type="reset"], article.post-password-required input[type=submit], .bypostauthor cite span {
    padding: 0;
    background-color: #ffffff;
    background-image: inherit;
    border-radius: 0;
    box-shadow: 0;
}
.menu-toggle:hover, .menu-toggle:focus, button:hover, input[type="submit"]:hover, input[type="button"]:hover, input[type="reset"]:hover, article.post-password-required input[type=submit]:hover {
    background-image: inherit;
}
.entry-content figure.wp-block-image.size-large{
    max-width: 70%;
    margin: 0 auto 40px;
}
.menu-footer_menu-container {
    width: 100%;
}
.grecaptcha-badge {
    visibility: hidden;
}
.recap {
    text-align: right;
    font-size: 10px;
    color: #666666;
    margin: 100px 0px -130px 0px;
}
.recap a{
    color: #666666;
}
.recap a:hover{
    color: #6a35a1;
}
@media screen and (max-width: 750px) {
.recap {
    margin: 40px 0px -80px 0px;
}
}
/* ============================================
	ヘッダー
============================================ */
header {
	align-items: center;
	box-sizing: border-box;
	display: block;
	justify-content: space-between;
	width: 100%;
	position: fixed;
	padding: 0px 20px 0px 20px;
	z-index: 1000;
    display: flex;
    top: 0;
    transition:all .5s ease;
}
.header-color {
  background-color:rgba(255, 255, 255, 0.8);
  background-color: rgba(0, 0, 0, 0.8);
}
header .logoarea {
	float: left;
    position: absolute;
}
@media screen and (max-width: 750px) {
    header .logoarea {
        position: absolute;
        top: 10%;
        left: 3%;
    }
}
header .logo {
	display: inline-block;
	vertical-align: top;
}
header .logo img {
    height: 60px;
}
/*=== ワードプレス用にロゴカスタマイズ ===*/
header .custom-logo-link {
	display: inline-block;
	vertical-align: top;
}
header .custom-logo-link img {
    height: 50px;
    width: auto;
}
@media screen and (max-width: 900px) {
header {
	padding: 10px 2% 10px 2%;
}
.header-color {
    height: 60px;
}
header .logo img {
    height: 40px;
}
header .custom-logo-link img {
    height: 40px;
}
}

/*=== ナビ ===*/
nav{
	float: right;
    display: flex;
}
nav .n_logoarea {
    display: none;
}
nav ul.menu_list li{
	position: relative;
	display:block;
	float:left;
	margin:0px 20px 0px 0px;
    padding:1.0em 0px;
}
nav ul.menu_list li a{
	display:block;
	margin:auto;
	font-size: 14px;
    color: #6a35a1;	
	line-height: 1.4em;
	text-align: center;
	text-decoration: none;
	transition:all .2s ease;
}
nav ul.menu_list li a span{
	display:block;
	font-size: 10px;
    color: #666666;
}
nav ul.menu_list li a:hover{
	opacity: .8;
}

.header-color nav ul.menu_list li a{
    color: #ffffff;	
}
.header-color nav ul.menu_list li a span{
    color: #ffffff;
}

/*=== ナビ2階層 ===*/
nav ul.menu_list > li > ul{
	display: none;
	position: absolute;
}
nav ul.menu_list li:hover a + ul{
  display: block;
}
nav ul.menu_list > li > ul > li{
	float: none;
	width: 100px;
    padding: 5px 10px;
    background-color: rgba(106, 53, 161, 0.1);
}
nav ul.menu_list > li > ul > li > a{
	font-size: 13px;
    color: #666666;
    text-align: left;
}
nav ul.sns_list{
    display: flex;
    align-items: center;
}
nav ul.sns_list li{
	position: relative;
	display:block;
	margin:0px 10px 0px 0px;
}
nav ul.sns_list li a{
	display:block;
	margin:auto;
	font-size: 12px;
	line-height: 20px;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	transition:all .2s ease;
}
nav ul.sns_list li a img{
    width: 17px;
}

/*-- 予約ボタン --*/
nav .head_btn_area{
	margin:auto;
}
nav .head_btn_area a{
	position: relative;
	display:block;
    margin: auto;
	width: 30vw;
	max-width: 180px;
	font-size: 12px;
	line-height: 3em;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	transition:all .2s ease;
	border: 2px solid #6a35a1;
	font-weight: 600;
    background-color: #6a35a1;
}
nav .head_btn_area a:before {
  content: '';
  width: 5px;
  height: 5px;
  border: 0;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  position: absolute;
  top: 52%;
  right: 5%;
  margin-top: -4px;
  transform: rotate(45deg);
}
nav .head_btn_area a:hover{
	opacity: .8;
}

.c-hamburger-menu__input {
  display: none;
}
.c-hamburger-menu__button {
  display: none;
}
/*-- ワードプレス内での調整 --*/
.menu-menu-1-container{
    margin: auto;
}

@media screen and (max-width: 900px) {
nav{
	float: none;
    display: block;
}
nav .n_logoarea {
    display: block;
    margin: 0 auto 30px;
}
nav .n_logoarea .logo {
	display: inline-block;
	vertical-align: top;
}
nav .n_logoarea .logo img {
    height: 50px;
}
nav ul.menu_list{
	margin:auto;
}
nav ul.menu_list li{
	display:block;
	float:none;
	margin:auto;
    padding:0em 0px 1.5em 0px;
}
nav ul.menu_list li a{
	color: #ffffff;
}
nav ul.menu_list li a span{
    color: #ffffff;
}
/*=== ナビ2階層 ===*/
nav ul.menu_list > li > ul{
	display: block;
	position: relative;
}
nav ul.menu_list > li > ul > li{
	width: auto;
    padding: 10px 0px 0px;
    background-color: rgba(106, 53, 161, 0);
}
nav ul.menu_list > li > ul > li > a{
	font-size: 13px;
    color: #ffffff;
    text-align: center;
}
nav ul.sns_list{
    margin: 0 auto 20px;
}

.sp_sns{
    position: absolute;
    top: 15px;
    right: 60px;
    z-index: -1;
}
.sp_sns ul.sns_list li a img{
    width: 28px;
}








/*-- 予約ボタン --*/
nav .head_btn_area{
	margin:auto;
}
nav .head_btn_area a{
	color: #ffffff;
	border: 2px solid #ffffff;
    background-color: #6a35a1;
    width: 60vw;
    max-width: 250px;
}
nav .head_btn_area a:before {
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
}

}

/* ============================================
	TOP KV
============================================ */
.top_kv{
	position: relative;
    max-width: 1600px;
	width: 100%;
    padding: 0 50px;
    margin: auto;
}
.top_kv .box{
	position: relative;
    display: flex;
    gap: 0 80px;
    align-items: center;
    flex-direction:row-reverse;
}
.top_kv .box .text_contents{
    max-width: 550px;
}
.top_kv .box .imgarea{
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
}
.top_kv .box .imgarea img{
    width: 100%;
}
.top_kv .box .text_contents h2{
	display: block;
	margin: 0px 0px 20px 0px;
	font-size:34px;
	line-height:60px;
	color: #6a35a1;
	font-weight: 600;
    text-align: center;
}
.top_kv .box .text_contents p{
	display: block;
	font-size:14px;
	line-height:30px;
	color: #666666;
	font-weight: 500;
    text-align: center;
}
@media screen and (max-width: 1300px) {
.top_kv .box{
    gap: 0 50px;
}
.top_kv .box .text_contents{
    width: 400px;
}
.top_kv .box .text_contents h2{
	font-size:30px;
	line-height:50px;
}
}
@media screen and (max-width: 1200px) {
.top_kv{
    padding: 0 20px;
}
.top_kv .box{
    gap: 0 30px;
}
.top_kv .box .text_contents h2{
	font-size:24px;
	line-height:36px;
}
.top_kv .box .text_contents p{
	font-size:12px;
	line-height:24px;
}
}
@media screen and (max-width: 750px) {
.top_kv{
    padding: 0;
}
.top_kv .box{
    display: block;
}
.top_kv .box .text_contents{
    max-width: 100%;
    margin: auto;
}
.top_kv .box .text_contents h2{
	margin: 30px 0px 20px 0px;
	font-size:24px;
	line-height:38px;
}
.top_kv .box .text_contents p{
	font-size:14px;
	line-height:30px;
}
}

/* ============================================
	共通色
============================================ */
.color_main{
	color: #6a35a1;
}
.color_second{
	color: #ead268;
}

/* ============================================
	共通タイトル
============================================ */
.ttl{
	margin: 0px auto;
}
.ttl h2{
	display: block;
	margin: 0px 0px 10px 0px;
	font-size:42px;
	line-height:50px;
	font-weight: 600;
    text-align: center;
    letter-spacing: .08em;
}
.ttl .sub_ttl{
	display: block;
	font-size:14px;
	line-height:1em;
	color: #666666;
	font-weight: 600;
    text-align: center;
}
@media screen and (max-width: 1200px) {
.ttl h2{
	font-size:30px;
	line-height:38px;
}
.ttl .sub_ttl{
	font-size:12px;
}
}
@media screen and (max-width: 750px) {
.ttl h2{
	font-size:28px;
	line-height:1em;
}
.ttl .sub_ttl{
	font-size:12px;
}
}



/* ============================================
	共通タイトル--フォントサイズ小さく
============================================ */
.ttl_sm h2{
	font-size:30px;
	line-height:1;
}
.ttl_sm .sub_ttl{
	font-size:14px;
}
@media screen and (max-width: 1200px) {
.ttl_sm h2{
	font-size:24px;
	line-height:28px;
}
.ttl_sm .sub_ttl{
	font-size:12px;
}
}
@media screen and (max-width: 750px) {
.ttl_sm h2{
	font-size:18px;
	line-height:1em;
}
.ttl_sm .sub_ttl{
	font-size:12px;
}
}


/* ============================================
	中央ボタン共通
============================================ */
.btn_area{
	display:block;
    padding:0px;
	margin:80px auto 0;
}
a.btn_detail{
	position: relative;
	display:block;
    margin: auto;
	width: 30vw;
	max-width: 250px;
	font-size: 14px;
	line-height: 3.5em;
	color: #6a35a1;
	text-align: center;
	text-decoration: none;
	transition:all .2s ease;
	border: 2px solid #6a35a1;
	font-weight: 600;
}
a.btn_detail:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #6a35a1;
  border-right: solid 2px #6a35a1;
  position: absolute;
  top: 50%;
  right: 7%;
  margin-top: -4px;
  transform: rotate(45deg);
}
a.btn_detail:hover{
	color: #ffffff;
	border: 2px solid #6a35a1;
	background-color: #6a35a1;
}
.box a.btn_detail:hover:before {
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
}
/* == ボタンが2つ以上 == */
.more{
	display: flex;
    justify-content: center;
    gap: 30px;
}
.more a.btn_detail{
   margin: 0;
}
@media screen and (max-width: 1200px) {
a.btn_detail{
	max-width: 200px;
	font-size: 14px;
    line-height: 3em;
}

}
@media screen and (max-width: 750px) {
.btn_area{
	margin:40px auto 0;
}
a.btn_detail{
	max-width: 75%;
    width: 100%;
	font-size: 12px;
	line-height: 4em;
}

.more{
    gap: 10px;
}
.more a.btn_detail{
   margin: 0;
   line-height: 4em;
   max-width: 75%;
   width: 100%;
}
}

/* ============================================
	トップ：CONCEPT
============================================ */
.top_concept{
	position: relative;
	width: 100%;
    padding: 100px 50px 60px;
    margin: auto;
}
.top_concept .box{
    max-width: 1600px;
    margin: auto;
	position: relative;
    display: flex;
    gap: 0;
    align-items: flex-start;
}
.top_concept .box .text_contents{
    width: 53%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    padding-top: 40px;
}
.top_concept .box .text_contents h2{
	display: block;
	margin: 0px 0px 10px 0px;
	font-size:42px;
	line-height:50px;
	color: #6a35a1;
	font-weight: 600;
    text-align: center;
}
.top_concept .box .text_contents .sub_ttl{
	display: block;
	font-size:14px;
	line-height:1em;
	color: #666666;
	font-weight: 500;
    text-align: center;
}
.top_concept .box .imgarea{
    width: 52%;
    float: left;
}
.top_concept .box .imgarea img{
    max-width: 100%;
    height: 530px;
    object-fit: cover;
}
.top_concept .box .text_contents .text_inner{
    margin-top: 50px;
    padding: 60px 13%;
    background-color: rgba(106, 53, 161, 0.1);
}
.top_concept .box .text_contents .text_inner h3{
	display: block;
	margin: 0px 0px 20px 0px;
	font-size:20px;
	line-height:36px;
	color: #6a35a1;
	font-weight: 600;
    text-align: center;
}
.top_concept .box .text_contents .text_inner p{
	display: block;
	font-size:14px;
	line-height:30px;
	color: #666666;
	font-weight: 500;
}

@media screen and (max-width: 1200px) {
.top_concept .box .text_contents{
    padding-top: 20px;
}
.top_concept .box .text_contents h2{
	font-size:30px;
	line-height:38px;
}
.top_concept .box .text_contents .sub_ttl{
	font-size:12px;
}
.top_concept .box .imgarea img{
    height: 400px;
}
.top_concept .box .text_contents .text_inner{
    margin-top: 30px;
    padding: 40px 10% 40px 13%;
}
.top_concept .box .text_contents .text_inner h3{
	font-size:17px;
	line-height:28px;
}
.top_concept .box .text_contents .text_inner p{
	font-size:12px;
	line-height:24px;
}
}


@media screen and (max-width: 750px) {
.top_concept{
    padding: 60px 3% 40px;
}
.top_concept .box{
    display: block;
    align-items: flex-start;
}
.top_concept .box .text_contents{
    width: 100%;
    position: relative;
    padding-top: 30px;
}
.top_concept .box .text_contents h2{
	margin: 0px 0px 10px 0px;
	font-size:28px;
	line-height:1.2em;
}
.top_concept .box .text_contents .sub_ttl{
	font-size:12px;
}
.top_concept .box .imgarea{
    width: 100%;
    float: none;
}
.top_concept .box .imgarea img{
    height: auto;
}
.top_concept .box .text_contents .text_inner{
    margin-top: 30px;
    padding: 40px 7%;
}
.top_concept .box .text_contents .text_inner h3{
	margin: 0px 0px 20px 0px;
	font-size:18px;
	line-height:30px;
}
.top_concept .box .text_contents .text_inner p{
	font-size:12px;
	line-height:28px;
}
}
/* ============================================
	トップ：SPECIALITY
============================================ */
.top_speciality{
	position: relative;
	width: 100%;
    padding: 40px 5% 40px;
    margin: auto;
    background-color: #f6f6f6;
    z-index: 100;
    margin-top: 100px;
    margin-bottom: 100px;
    background-color: rgba(195, 176, 130, 0.1);
    position: relative;
}
.top_speciality::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 120px 100vw 0 0;
    border-color: rgba(195, 176, 130, 0.1) transparent transparent transparent;
    position: absolute;
    bottom: -120px;
    z-index: -1;
    left: 0;
}
.top_speciality::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 120px 100vw;
    border-color: transparent transparent rgba(195, 176, 130, 0.1) transparent;
    position: absolute;
    top: -120px;
    z-index: -1;
    left: 0;
}
.top_speciality .box{
	position: relative;
    display: flex;
    gap: 5%;
    align-items: flex-start;
    max-width: 1600px;
    margin: 60px auto 0;
}

.top_speciality .box .list{
    width: 50%;
    align-items: stretch;
}
.top_speciality .box .list .imgarea{
    max-height: 25vw;
    overflow: hidden;
}
.top_speciality .box .list .imgarea img{
    max-width: 100%;
    object-fit: cover;
}
.top_speciality .box .list .text_contents{
    width: 100%;
}
.top_speciality .box .list .text_contents h3{
	display: block;
	margin: 30px 0px 0px 0px;
	font-size:24px;
	line-height:1em;
	color: #ead268;
	font-weight: 600;
    text-align: center;
}
.top_speciality .box .list .text_contents p{
	display: block;
	font-size:14px;
	line-height:28px;
	color: #666666;
	font-weight: 500;
    margin: 20px 0px 0px 0px;
}

@media screen and (max-width: 1200px) {
.top_speciality .box{
    margin: 40px auto 0;
}
.top_speciality .box .list .text_contents h3{
	font-size:18px;
}
.top_speciality .box .list .text_contents p{
	font-size:12px;
	line-height:24px;
}
}


@media screen and (max-width: 750px) {
.top_speciality{
    padding: 40px 3% 10px;
    margin-top: 60px;
    margin-bottom: 60px;
}
.top_speciality::before {
    border-width: 60px 100vw 0 0;
    bottom: -60px;
}
.top_speciality::after {
    border-width: 0 0 60px 100vw;
    top: -60px;
}
.top_speciality .box{
    display: block;
    gap: 0%;
    margin: 30px auto 0;
}
.top_speciality .box .list{
    width: 100%;
}
.top_speciality .box .list .imgarea{
    max-height: fit-content;
}
.top_speciality .box .list .text_contents{
    margin-bottom: 40px;
}
.top_speciality .box .list .text_contents h3{
	margin: 20px 0px 0px 0px;
	font-size:18px;
}
.top_speciality .box .list .text_contents p{
	font-size:12px;
	line-height:24px;
    margin: 20px 0px 0px 0px;
}
}
/* ============================================
	トップ：CASE
============================================ */
.top_case{
	position: relative;
	width: 100%;
    padding: 60px 5% 40px;
    margin: auto;
    z-index: 100;
    margin-top: 100px;
    margin-bottom: 100px;
    position: relative;
}
.top_case .box{
	position: relative;
    max-width: 1300px;
    margin: 60px auto 0;
}
.top_case a{
    text-decoration: none;
    transition:all .2s ease;
}
.top_case a:hover{
    opacity: .8;
}
.top_case .box .imgarea{
    max-height: 25vw;
    overflow: hidden;
}
.top_case .box .imgarea img{
    width: 100%;
    aspect-ratio: 1.6/1;
    object-fit: cover;
}
.top_case .box .text_contents{
    width: 100%;
}
.top_case .box .text_contents h3{
	display: block;
	margin: 15px 0px 0px 0px;
	font-size:18px;
	line-height:1.5em;
	color: #6a35a1;
	font-weight: 600;
}
.top_case .box .text_contents p{
	display: block;
	font-size:14px;
	line-height:28px;
	color: #666666;
	font-weight: 500;
    margin: 10px 0px 0px 0px;
}
@media screen and (max-width: 1200px) {
.top_case .box .text_contents h3{
	font-size:16px;
}
.top_case .box .text_contents p{
	font-size:12px;
	line-height:24px;
}
}
@media screen and (max-width: 750px) {
.top_case{
    padding: 40px 7% 40px;
    margin-top: 60px;
    margin-bottom: 0px;
}
.top_case .box{
    margin: 30px auto 60px;
}
.top_case .box .imgarea{
    max-height: 25vw;
}
.top_case .box .text_contents h3{
	margin: 10px 0px 0px 0px;
	font-size:16px;
	line-height:1.5em;
}
.top_case .box .text_contents p{
	font-size:12px;
	line-height:24px;
}
}

.swiper-container {
  position: relative;
}
.swiper {
    width: 100%;
    height: 100%;
}
.swiper-slide {
    width: 100%;
    /*height: 80vh;*/
}
.swiper-button-next:after, .swiper-button-prev:after {
    color: #6a35a1;
}
.swiper-pagination-bullet {
  background-color: #6a35a1;
}
.swiper-button-prev {
    left: -50px !important;
}
.swiper-button-next {
    right: -50px !important;
}
.swiper-pagination {
    bottom: -50px !important;
}
@media screen and (max-width: 750px) {
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 30px;
}
.swiper-button-prev {
    left: -8% !important;
}
.swiper-button-next {
    right: -8% !important;
}
.swiper-pagination {
    bottom: -40px !important;
}
}

/* ============================================
	トップ：SALON
============================================ */
.top_salon{
	position: relative;
	width: 100%;
    padding: 40px 5% 40px;
    margin: auto;
    background-color: #f6f6f6;
    z-index: 100;
    margin-top: 100px;
    margin-bottom: 100px;
    background-color: rgba(106, 53, 161, 0.1);
    position: relative;
}
.top_salon::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 120px 100vw 0 0;
    border-color: rgba(106, 53, 161, 0.1) transparent transparent transparent;
    position: absolute;
    bottom: -120px;
    z-index: -1;
    left: 0;
}
.top_salon::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 120px 100vw;
    border-color: transparent transparent rgba(106, 53, 161, 0.1) transparent;
    position: absolute;
    top: -120px;
    z-index: -1;
    left: 0;
}
.top_salon .box{
	position: relative;
    max-width: 1600px;
    margin: 60px auto 0;
}

.top_salon .box .list{
    position: relative;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: 1px solid #6a35a1;
    padding: 40px;
    gap: 3%;
    margin: 30px auto 0;;
}
.top_salon .box .list .imgarea{
    display: flex;
    max-width: 750px;
    overflow: hidden;
    gap: 30px;
}
.top_salon .box .list .imgarea .img_area {
  display: flex;
  justify-content: center; /* 水平方向にセンターに配置 */
  align-items: center;
}
.top_salon .box .list .imgarea .img_area img{
  /*width: 360px;*/
  width: 500px;
  height: 360px;
  object-fit: cover;
}
.top_salon .box .list .text_contents{
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
}
.top_salon .box .list .text_contents h3{
	display: block;
	margin: 0px 0px 0px 0px;
	font-size:24px;
	line-height:1em;
	color: #6a35a1;
	font-weight: 600;
}
.top_salon .box .list .text_contents p{
	display: block;
	font-size:14px;
	line-height:28px;
	color: #666666;
	font-weight: 500;
    margin: 20px 0px 0px 0px;
}
.top_salon .box .list .text_contents .btn_area{
	display:block;
    padding:0px;
	margin:80px auto 0;
    position: absolute;
    right: 40px;
    bottom: 40px;
}
.top_salon .box .list .text_contents .btn_area .btn_detail{
	max-width: 350px;
}

@media screen and (max-width: 1200px) {
.top_salon .box{
    margin: 40px auto 0;
}
.top_salon .box .list{
    padding: 20px;
}
.top_salon .box .list .imgarea{
    width: 50%;
    gap: 10px;
}
.top_salon .box .list .imgarea .img_area img{
  width: 100%;
  /*height: 20vw;*/
  height: 28vw;
}
.top_salon .box .list .text_contents h3{
	font-size:18px;
}
.top_salon .box .list .text_contents p{
	font-size:12px;
	line-height:24px;
    margin: 15px 0px 0px 0px;
}
.top_salon .box .list .text_contents .btn_area{
    right: 20px;
    bottom: 20px;
}
}

@media screen and (max-width: 750px) {
.top_salon{
    padding: 40px 5% 40px;
    margin-top: 60px;
    margin-bottom: 60px;
}
.top_salon::before {
    border-width: 60px 100vw 0 0;
    bottom: -60px;
}
.top_salon::after {
    border-width: 0 0 60px 100vw;
    top: -60px;
}
.top_salon .box{
    margin: 40px auto 0;
}
.top_salon .box .list{
    display: block;
    padding: 5%;
    gap: 0%;
    margin: 20px auto 0;
}
.top_salon .box .list .imgarea{
    width: 100%;
    gap: 10px;
}
.top_salon .box .list .imgarea .img_area img{
  width: 100%;
  /*height: 36vw;*/
  height: 55vw;
}
.top_salon .box .list .text_contents h3{
	margin: 15px 0px 0px 0px;
	font-size:18px;
}
.top_salon .box .list .text_contents p{
	font-size:12px;
	line-height:24px;
    margin: 10px 0px 0px 0px;
}
.top_salon .box .list .text_contents .btn_area{
	margin:20px auto 0;
    position: relative;
    right: 0;
    bottom: 0;
}
.top_salon .box .list .text_contents .btn_area .btn_detail{
	max-width: 100%;
    width: 100%;
}
}
/* ============================================
	トップ：NEWS
============================================ */
.top_news{
	position: relative;
	width: 100%;
    padding: 40px 5% 40px;
    margin: auto;
    z-index: 100;
    margin-top: 100px;
    margin-bottom: 100px;
    position: relative;
}
.top_news .box{
	position: relative;
    max-width: 1000px;
    margin: 60px auto 0;
}
.top_news .box .list{
    position: relative;
    border-bottom: 1px solid #f1f1f1;
    padding: 20px 0px;
}
.top_news .box .list:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #666666;
  border-right: solid 2px #666666;
  position: absolute;
  top: 50%;
  right: 3%;
  margin-top: -4px;
  transform: rotate(45deg);
}
.top_news .box .list .date{
	font-size:14px;
	line-height:1em;
    color: #666666;
    font-weight: 600;
    margin: 0px 0px 5px 0px;
}
.top_news .box .list .text_contents{
  display: flex;
  align-items: center;
}
.top_news .box .list .text_contents .cate{
	display: block;
    width: 100px;
	margin: 0px 20px 0px 0px;
	font-size:14px;
	line-height:1.5em;
	color: #ffffff;
	font-weight: 600;
    background-color: #6a35a1;
    text-align: center;
}
.top_news .box .list .text_contents .txt{
	display: block;
	font-size:14px;
	line-height:1.5em;
	color: #666666;
	font-weight: 600;
}
.top_news .box .list .text_contents a{
    color: #666666;
    text-decoration: none;
    transition:all .2s ease;
}
.top_news .box .list .text_contents a:hover{
    text-decoration: underline;
    opacity: .8;
}
@media screen and (max-width: 1200px) {
.top_news .box{
    margin: 40px auto 0;
}
.top_news .box .list{
    padding: 20px 0px;
}
.top_news .box .list .date{
	font-size:12px;
}
.top_news .box .list .text_contents .cate{
    width: 80px;
	margin: 0px 10px 0px 0px;
	font-size:12px;
	line-height:1.2em;
}
.top_news .box .list .text_contents .txt{
	font-size:12px;
	line-height:1.2em;
}
}
@media screen and (max-width: 750px) {
.top_news{
    padding: 40px 3% 0px;
    margin-top: 60px;
    margin-bottom: 60px;
}
.top_news .box{
    margin: 20px auto 0;
}
.top_news .box .list{
    padding: 20px 0px;
}
.top_news .box .list:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #666666;
  border-right: solid 2px #666666;
  position: absolute;
  top: 50%;
  right: 3%;
  margin-top: -4px;
  transform: rotate(45deg);
}
.top_news .box .list .date{
	font-size:12px;
}
.top_news .box .list .text_contents .cate{
    width: 80px;
	margin: 0px 10px 0px 0px;
	font-size:12px;
}
.top_news .box .list .text_contents .txt{
	font-size:12px;
}
}
/* ============================================
	トップ：CAREER
============================================ */
.top_career{
	position: relative;
	width: 100%;
    padding: 80px 5% 80px;
    margin: auto;
    z-index: 100;
    margin-top: 100px;
    position: relative;
    background-color: rgba(195, 176, 130, 0.1);
}
.top_career .box{
	position: relative;
    max-width: 1000px;
    margin: 60px auto 0;
}
.top_career .box .txt{
	display: block;
	font-size:16px;
	line-height:1.5em;
	color: #222222;
	font-weight: 600;
    text-align: center;
}
@media screen and (max-width: 750px) {
.top_career{
    padding: 40px 5% 40px;
    margin-top: 60px;
}
.top_career .box{
    margin: 40px auto 0;
}
.top_career .box .txt{
	font-size:14px;
}
}

/* ============================================
	ACCESS
============================================ */
.top_access{
	position: relative;
	width: 100%;
    padding: 80px 5% 80px;
    margin: auto;
    background-color: #f6f6f6;
    z-index: 100;
    margin-bottom: -100px;
    position: relative;
}
.top_access .box{
	position: relative;
    max-width: 1000px;
    margin: 40px auto 0;
}
.top_access .box .map {
    width: 100%;
    position: relative;
    padding-top: 36.25%;
}
.top_access .box .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 1200px) {

}
@media screen and (max-width: 750px) {
.top_access{
    padding: 40px 0% 40px;
}
.top_access{
    margin-bottom: -60px;
}
.top_access .box{
    margin: 20px auto 0;
}
.top_access .box .map {
    padding-top: 46.25%;
}
}

/* ============================================
	フッター
============================================ */
footer{
    position: relative;
    width: 100%;
    padding: 40px 3% 0px;
    margin: auto;
    background-color: #6a35a1;
}
footer .box{
	position: relative;
    max-width: 1600px;
    margin: auto;
}
footer .box .inner{
	/*align-items: center;*/
	/*display: block;*/
	justify-content: space-between;
	width: 100%;
    display: flex;
}
footer .box .inner .logoarea {
}
footer .box .inner .logo {
	display: inline-block;
	vertical-align: top;
}
footer .box .inner .logo img {
    height: 50px;
    width: auto;
}

/*=== ナビ ===*/
.foot_nav .menu_list li{
	position: relative;
	display:block;
	float:left;
	margin:0px 20px 0px 0px;
}
.foot_nav .menu_list li a{
	display:block;
	margin:auto;
	font-size: 16px;
	line-height: 16px;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	transition:all .2s ease;
}
.foot_nav .menu_list li a span{
	display:block;
	font-size: 10px;
    color: #ffffff;
}
.foot_nav .menu_list li a:hover{
	opacity: .8;
}
.foot_nav .menu_list li a.store{
	font-size: 13px;
    margin-top: 10px;
}
/*=== ナビ2階層 ===*/
.foot_nav .menu_list > li > ul{
  display: block;
}
.foot_nav .menu_list > li > ul > li{
    float: none;
	display: block;
    padding: 0;
    margin: 0;
}
.foot_nav .menu_list > li > ul > li > a{
	font-size: 13px;
    margin-top: 10px;
    color: #ffffff;
    text-align: center;
}





footer .box .txt{
	display:block;
	margin:60px auto 40px;
	font-size: 16px;
	line-height: 1em;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	transition:all .2s ease;
}



footer .box .foot_btn_area{
	display:flex;
    padding:0px;
	margin:0px auto 80px;
    gap: 30px;
    justify-content: center;
}
footer .box .foot_btn_area a{
	position: relative;
	display:block;
	width: 30vw;
	max-width: 250px;
	font-size: 14px;
	line-height: 3.5em;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	transition:all .2s ease;
	border: 2px solid #ffffff;
	font-weight: 600;
}
footer .box .foot_btn_area a:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  position: absolute;
  top: 50%;
  right: 7%;
  margin-top: -4px;
  transform: rotate(45deg);
}
footer .box .foot_btn_area a:hover{
	color: #6a35a1;
	border: 2px solid #ffffff;
	background-color: #ffffff;
}
footer .box .foot_btn_area a:hover:before {
  border-top: solid 2px #6a35a1;
  border-right: solid 2px #6a35a1;
}
footer p.copyright{
	display: block;
	font-size:10px;
	line-height:1em;
	padding:10px 0px 10px 0px;
	margin:0px auto 0px auto;
	text-align: center;
	font-weight: 500;
    color: #ffffff;
}
@media screen and (max-width: 750px) {
footer{
    padding: 40px 3% 0px;
}
footer .box .inner{
	display: none;
}
footer .box .txt{
	margin:0px auto 20px;
	font-size: 14px;
}
footer .box .foot_btn_area{
	margin:0px auto 40px;
    gap: 10px;
}
footer .box .foot_btn_area a{
	max-width: 75%;
    width: 100%;
	font-size: 12px;
	line-height: 4em;
	color: #ffffff;
}
footer p.copyright{
	font-size:8px;
}
}

/* ============================================
	パンくず
============================================ */
.breadcrumb {
	width: 100%;
}
.breadcrumb ol{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
	width: 100%;
	margin: auto;
}
.breadcrumb ol li{
	position: relative;
	font-size:12px;
	line-height:12px;
	font-weight: 500;
	margin: 0 1.5em; /* 記号の左右の余白 */
}
.breadcrumb ol li:not(:last-of-type)::after {
	content: '';
	width: 4px;
	height: 4px;
	border: 0;
	border-top: solid 1px #999999;
	border-right: solid 1px #999999;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -1.5em;
	transform: rotate(45deg);
	margin: auto;
	color: #2b2b2b;
}
.breadcrumb ol li a{
	text-decoration: none;
	transition:all .2s ease;
	color: #999999;
}
.breadcrumb ol li a:hover{
	color: #2b2b2b;
}
@media screen and (max-width: 880px) {
.breadcrumb {
	margin-top: 8vw;
}
}
@media screen and (max-width: 750px) {
.breadcrumb {
	margin-top: 60px;
}
.breadcrumb ol {
    width: 100%;
}
}


@media screen and (max-width: 1200px) {

}





@media screen and (max-width: 750px) {
.pc{
	display:none !important;
}
.sp{
	display:block !important;
}
}


@media screen and (max-width: 900px) {
  .c-hamburger-menu__list {
    align-items: flex-start;
    display: none;
    flex-direction: column;
    left: 0;
    padding: 4rem 1rem;
    position: absolute;
    transition: 0.3s;
    top: 0%;
    width: 100%;
	  z-index: 1001;
      opacity: 0;
  }

  #hamburger:checked ~ .c-hamburger-menu__list {
    display: flex;
    transition: 0.3s;
    opacity: 1;
  }

  .c-hamburger-menu__button {
    align-items: center;
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 7px; /* カスタマイズしてください */
    height: 40px; /* カスタマイズしてください */
    justify-content: center;
    width: 40px; /* カスタマイズしてください */
	position: absolute;
    top: 20%;
    right: 2%;
	  z-index: 1100;
  }

.c-hamburger-menu__bg {
  background-color: rgba(106, 53, 161, 0.9);
  cursor: pointer;
  display: none;
  height: 100vh;
  left: 0;
  opacity: 1;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
#hamburger:checked ~ .c-hamburger-menu__bg {
  display: block;
}

.c-hamburger-menu__button-mark {
  background-color: #6a35a1; /* カスタマイズしてください */
  display: block;
  height: 1px; /* カスタマイズしてください */
  transition: 0.3s; /* カスタマイズしてください */
  width: 40px; /* カスタマイズしてください */
}

  #hamburger:checked
    ~ .c-hamburger-menu__button
    .c-hamburger-menu__button-mark:nth-of-type(1) {
    transform: translate(0px, -7px) rotate(45deg); /* カスタマイズしてください */
    transform-origin: 0%; /* カスタマイズしてください */
    background-color: #ffffff;
  }
  #hamburger:checked
    ~ .c-hamburger-menu__button
    .c-hamburger-menu__button-mark:nth-of-type(2) {
    opacity: 0;
  }
  #hamburger:checked
    ~ .c-hamburger-menu__button
    .c-hamburger-menu__button-mark:nth-of-type(3) {
    transform: translate(0px, 4px) rotate(-45deg); /* カスタマイズしてください */
    transform-origin: 0%; /* カスタマイズしてください */
    background-color: #ffffff;
  }

  .header-color .c-hamburger-menu__button-mark {
    background-color: #ffffff;
  }
}



