@charset "utf-8";
/* CSS Document */
a {
    text-decoration: none; /* アンダーラインを削除 */
    color: inherit; /* 親要素の色を継承 */
}

a:visited {
    color: inherit; /* 訪問後も同じ色 */
}

a:hover {
    text-decoration: none; /* ホバー時もアンダーラインを表示しない */
    color: inherit; /* ホバー時も親の色を維持 */
}

a:active {
    text-decoration: none; /* クリック時のスタイル */
    color: inherit;
}
/* 全体のリセット */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
	background-image: url("images/bak.jpg");
      background-size: cover; /* 背景を画面全体に拡大 */
      background-attachment: fixed; /* 背景を固定 */
      background-position: center; /* 背景の位置 */
      background-repeat: no-repeat; /* 背景を繰り返さない */
	margin: 0;
	padding: 0;
}
.main-body {
	background-color: #ffffff;
    font-family: 'Noto Sans JP', sans-serif;
 font-weight: 500;
    color: #333;
    line-height: 1.5;
	width: 100%;
    max-width: 480px;
    margin: 0 auto;
	  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
}
.logo img{
	max-width: 250px;
	height: auto;
}
.txt-c{text-align: center;}
P{
	
    line-height: 1.8;
	padding: 10px 0 0 0;
}
/* 通常のテキスト */
.eigo{    
	font-family: 'Oswald', sans-serif;
    font-weight: 700; 
	font-weight: bold;
}
/* 見出しのスタイル: 横線を追加 */
.section-title {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    margin: 10px 0 10px 0;
    font-family: 'Oswald', sans-serif;
    font-size: 2rem !important;
    font-weight: 700;
}

.section-title::before,
.section-title::after {
    content: "";
    width: 50px; /* 横線の長さを指定 */
    height: 5px; /* 横線の太さ */
    background-color: #333; /* 横線の色 */
    margin: 0 10px; /* テキストとの間隔 */
}
.section-title2 {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    margin: 10px 0 10px 0;
    font-size: 1.5rem !important;
    font-weight: 700;
}

.section-title2::before,
.section-title2::after {
    content: "";
    width: 50px; /* 横線の長さを指定 */
    height: 5px; /* 横線の太さ */
    background-color: #333; /* 横線の色 */
    margin: 0 10px; /* テキストとの間隔 */
}
/* Header */
.header {
    display: flex;
	position: relative;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    background-color: #fff;
    border-bottom: 1px solid #ccc;
}

.header h1 {
    font-size: 20px;
}

.main-obi {
	display: block;
	width: 90%;
	margin: 0 0 0 auto;
	background-color: #2d2d2d;
	color: #fff;
	padding: 15px 0 15px 20px;
	z-index: 2;
	position: relative;
}
.main-obi h2 {
    font-size: 26px;
}
.header h1 span {
    font-weight: normal;
    font-size: 14px;
    color: gray;
}

.menu-icon {
    font-size: 24px;
}

/* Main Image */
.main-image img {
    width: 100%;
    height: auto;
}

.main-image2 img {
	position: relative;
	margin-top: -20px;
    width: 100%;
    height: auto;
	z-index: 1;
}
/* Main Image */
.image {
    width: 100%;
    height: auto;
}

/* Recruitment Section */
.recruitment {
    padding: 20px;
}

.recruitment h2 {
    font-size: 28px;
    margin-bottom: 10px;
}

.recruitment .highlight {
    font-weight: bold;
    color: #ffffff;
	background-color: #000;
	font-size: 1.4rem;
	padding:2px 5px;
	margin: 5px 0;
}

/* Salon Tour */
.salon-tour {
    padding: 20px 0 0 0;
    text-align: center;
}

.salon-tour h3 {
    font-size: 22px;
    margin-bottom: 10px;
}

.recruiting-now {
	font-size: 1.6rem;
    color: #383757;
    font-weight: bold;
}

/* Instagram */
.instagram {
    padding: 20px 0 ;
    text-align: center;
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
}

.instagram h3 {
    font-size: 22px;
}

.insta-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
}

.insta-grid img {
    width: 100%;
    height: auto;
}
.insta-bana {
	margin-top: 10px;
    border: 1px solid #000;
	padding: 2px 20px;
}
.more-instagram {
    margin-top: 10px;
    padding: 10px 30px;
    background-color: #fff;
    color: #000;
    cursor: pointer;
    font-size: 16px;
	font-family: 'Oswald', sans-serif;
    font-weight: 700; 
	font-weight: bold;
	border: 1px solid #000;
}

/* Contact */
.contact {
    padding: 20px 0 0 0;
    text-align: center;
}
.contact-buttons {
    padding: 20px 0 5px 0;
	display: block;
}

.contact-buttons img {
    display: block;
	width: 50%;
	height: auto;
	float: left;
}

.contact-info{
    padding: 0px 0 0 0;}

/* Footer */
.footer {
    padding: 0px;
    text-align: center;
}

/* 2カラム用のコンテナ */
.footer-contact-container {
    display: flex; /* 横並びにする */
    justify-content: space-between; /* 左右に配置 */
    align-items: center; /* 縦方向の中央揃え */
    text-align: left; /* テキスト左揃え */
    padding-bottom: 10px; /* 下部に余白を追加 */
    margin-bottom: 20px; /* 下部に余白を追加 */
	border-bottom: #ccc 1px solid;
}

/* 個別のカラム */
.footer-contact {
    flex: 1; /* 各カラムが均等に幅を取る */
    padding: 0 20px; /* 内側に余白を追加 */
}

.footer-contact p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}
.footer-contact .tanto {
    padding-left: 30px;
    font-size: 15px;
    line-height: 1.6;
}

.footer-contact strong {
    font-weight: 700;
}


/* タイトル部分 */
.footer-title h1 {
	text-align: left;
	padding-left:20px;
    font-size: 24px;
    font-weight: 700;
    margin: 0;
    display: block;
    align-items: center;
    justify-content: center;
}

.footer-title .icon {
	position: absolute;
    font-size: 18px;
    margin-left: 5px;
    margin-top: 19px;
}
.footer-title .icon img{
	width: 30px;
	height: auto;
}
.footer-title p {
    font-size: 16px;
    font-weight: 700;
    color: #555;
}

/* リンクリスト */
.footer-links ul {
    list-style: none;
    margin: 10px 0;
}

.footer-links li {
	width: 100%;
    font-size: 14px;
    margin: 5px 0;
    text-align: left;
    display: inline-block;
}

/* プライバシーポリシー */
.privacy-policy p {
	padding-left: 20px;
	padding-bottom: 20px;
	text-align: left;
    font-size: 12px;
    color: #666;
}

/* 店舗リスト */
.footer-stores ul {
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin-top: 10px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.footer-stores li {
	width: 33.333%;
    font-size: 14px;
    padding: 10px 0;
    font-weight: 700;
}
.footer-stores li {
    border-right:1px solid #ccc;
}
.footer-stores li:last-child {
    border-right: none;
}
.copy{font-size: 0.7rem;
padding: 20px 0 ;}
/* clearfixクラス */
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
.list2:first-child{
	display: block;
	width: 70%;
	height: auto;
	float: left;
}
.list2{
	display: block;
	width: 30%;
	height: auto;
	float: left;
}

a img{
	transition: transform 0.3s ease, opacity 0.3s ease; /* トランジション効果 */
}
a img:hover{
	opacity: 0.7;
	transition: transform 0.3s ease, opacity 0.3s ease; /* トランジション効果 */
}


.footer-stores li{
	background: #fff;
	color: #000;
	transition: transform 0.5s ease, background 0.5s ease, color 0.5s ease; /* トランジション効果 */
}
.footer-stores li:hover{
	background: #000;
	color: #fff;
	transition: transform 0.5s ease, background 0.5s ease, color 0.5s ease; /* トランジション効果 */
}

/* Recruitment Section */
.content {
    padding: 20px ;
	text-align: center;
}
.sub-3img {
    padding: 20px 10px;
}
.sub-3img ul {
	    list-style: none;
}
.sub-3img ul li{
	position: relative;
	width: 33.33333%;
	box-sizing: border-box;
	padding: 5px 10px 5px 10px;
	float: left;
}

.sub-3img ul li:nth-child(4){
	position: relative;
	width: 66.66666%;
	box-sizing: border-box;
	padding: 5px 10px 5px 10px;
	float: left;
}
.sub-3img ul li:nth-child(6){
	clear: both;
	float: left;
}
.sub-3img ul li img{
	width: 100%;
	height: auto;
}

            table {
		   margin-top: 20px;
            width: 100%;
            border-collapse: collapse;
				font-size: 0.9rem;
        }
        th, td {
            border-top: 1px solid #ccc;
            border-bottom: 1px solid #ccc;
            padding: 15px 10px;
            text-align: left;
        }
        th {
            font-weight: bold;
            width: 30%;
			text-align: center;
        }
        td {
            background-color: #fff;
        }
        .highlight {
            font-weight: bold;
            color: #000;
        }

       .qa {
		   padding-top: 20px;
		   text-align: left;
        }
        .qa-list {
            list-style: none;
            padding: 0;
            margin: 0;
            background-color: #fff;
        }





        .qa-item {
            display:block;
            align-items: center;
            padding: 10px 15px;
            border-top: 1px solid #ccc;
				font-size: 0.9rem;
        }
        .qa-item:last-child {
            border-bottom: 1px solid #ccc;
        }
        .qa-item .question {
            font-weight: bold;
            margin-right: 10px;
            color: #000;
				font-size: 1.1rem;
			cursor: pointer;
        }
        .qa-item .text {
            color: #333;
			cursor: pointer;
			flex: 1; /* テキスト部分を可変幅にする */
			width: 100px;
			
        }
.answer {
	clear: both;
	display: none;
    padding: 5px 0px 5px 25px;
}
.questiont{
	width: 100%;
}

/*SPmenu:::::::::::::::::::::::::::::::::::::::::*/
/* sp-menu-------------------------------*/
.toggle2 {
    position:absolute; /* bodyに対しての絶対位置指定 */
    right: 5px;
    top: 10px;
    display: block;
    width: 45px;
    height: 40px;
    cursor: pointer;
	z-index:2000;
background-color: #000;}
.toggle2 span {
    display: block;
    position: absolute; /* .toggleに対して */
    width: 70%;
    border-bottom: solid 3px #fff;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    padding-top: 5px;
    right: 7px;
    box-shadow: 0 1px 0 rgba(255,255,255,0.7);
}
.toggle2 span:nth-child(1) {
    top: 3px;
}
.toggle2 span:nth-child(2) {
    top: 13px;
}
.toggle2 span:nth-child(3) {
    top: 23px;
}
.toggle2 span:nth-child(4) {
    border: none;
    top: 28px;
    left: 5px;
    font-size: 12px;
    font-weight: bold;
}
/* 最初のspanをマイナス45度に */
.toggle2.active span:nth-child(1) {
    top: 15px;
    left: 5px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
	border-bottom: solid 2px #fff;
	box-shadow: 0 1px 0 rgba(255,255,255,0);
}
/* 2番目と3番目のspanを45度に */
.toggle2.active span:nth-child(2),
.toggle2.active span:nth-child(3) {
    top: 15px;
	right:4px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
	border-bottom: solid 2px #fff;
	box-shadow: 0 1px 0 rgba(255,255,255,0);
}
/* .global_nav */
.global_nav {
    
	position:fixed;
    text-align: center;
    color: #000;
	opacity:0;
	max-width: 480px;
	width:100%;
	height:100%;
	top:0%;
	left:calc(50% - 240px);
	z-index:-2;
	background: url("images/spbak.jpg") no-repeat center;
	-webkit-transition: all ease 0.6s;
    -moz-transition: all ease 0.6s;
    -o-transition: all ease 0.6s;
    -ms-transition: all ease 0.6s;
    transition: all ease 0.6s;
	 transform: translateY(-100%);
	 padding: 30px 0px 0px 0px;
}
/* .global_navに.activeが追加 */
.global_nav.active {
	transform: translateY(0%);
	opacity:1;
	width:100%;
	height:100%;
	top:0%;
	left:calc(50% - 240px);
	z-index:1000;
	background: url("images/spbak.jpg") no-repeat center;
	 -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
	-webkit-transition: all ease 0.6s;
    -moz-transition: all ease 0.6s;
    -o-transition: all ease 0.6s;
    -ms-transition: all ease 0.6s;
    transition: all ease 0.6s;
	overflow:auto;
}
@media screen and (max-width: 480px) {
.global_nav {
	left:0%;
}	
.global_nav.active {
	left:0%;
}		
}
.global_nav .nav_li {
    width: 86%;
	padding: 10px 0 10px 0 ;
	margin: 0 7% 0 7% ;
    list-style-type: none;
	text-align:center;
	position:relative;
	font-size:20px;
}

.global_nav .nav2_li {
	position:relative;
}

.global_nav ul {
	margin: 0 0 30px 0 ;
}
.global_nav .logo {
 	margin: 0px 0 20px 0 ;

}

.global_nav a {
	text-decoration: none;

	color:#000;
}
.global_nav .logo {
    font-family: 'Oswald', sans-serif;
    font-size: 2.2rem !important;
	color:#000;
}
.global_nav .siryo {
	display:block;
	width:90%;
	border:2px solid #000;
	margin: 5px 0 20px 5% ;
	padding:15px 2%;
	float:left;

}

.global_nav .siryo a{
	color:#000;
}



.global_nav .siryo img{
	width:30px;
	height:auto;
	padding-right:10px;
	
}

.global_nav .mise {
	display:block;
	width:90%;
	color:#000;
	border:2px solid #000;
	margin: 5px 5% 20px 0 ;
	padding:15px 2%;
	float:right;

}

.global_nav .mise a{
	color:#000;
}

.global_nav .mise img{
	width:15px;
	height:auto;
	padding-right:10px;
	
}


.global_nav .sns {
	clear:both;
	display:block;
	width:100%;
	margin:0 auto;
	text-align:center;

}

.global_nav .sns img{
	width:auto;
	height:24px;
	padding:30px 10px 30px 10px;

}

.global_nav .privacy{
	display:block;
	color:#000;
	font-size:12px;
	margin-bottom:40px;

}


/* 1階層 */
.global_nav .nav_li{
    display: block;
}
.global_nav .nav_li a {
    display: block;
    color: #000;
	padding:2px 0 10px 0;
	margin:0;
}


.global_nav .nav_li .list {
	border-bottom:2px solid #000;
	 display: block;
}



.global_nav .option {
	display:block;
	width:93%;
	color:#000;
	border:1px solid #999;
	margin:20px auto 30px auto;
	padding:3%;
	line-height:35px;

}


.global_nav .option img{
	width:100px;
	height:auto;
	padding-right:10px;
	
}





.togglemenu{
cursor:pointer;
}
.togglemenu_in{
display:none;
}
.togglemenu_in2{
display:none;
}

.togglemenu a{
	position:relative;
	color: #fff;
}



/* sp-menu-------------------------------*/

.nagare{
	position: relative;
	width: 100%;
	height:100%;
}

.nagare .bt1{
	position:absolute;
	top: 13.5%;
	right:3%;
	width: 32%;
}

.nagare .bt2{
	position:absolute;
	top: 25.5%;
	right:3%;
	width: 32%;
}
.nagare .bt3{
	position:absolute;
	top: 35.5%;
	left:3%;
	width: 32%;
}
.nagare .bt4{
	position:absolute;
	top: 46.5%;
	left:3%;
	width: 32%;
}
.nagare .bt5{
	position:absolute;
	top: 65%;
	left:3%;
	width: 32%;
}
.nagare .bt6{
	position:absolute;
	top: 65%;
	right:3%;
	width: 32%;
}
.nagare .bt7{
	position:absolute;
	top: 93.5%;
	left:13%;
	width: 32%;
}
.nagare .bt8{
	position:absolute;
	top: 93.5%;
	right:13%;
	width: 32%;
}



/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container ,.modal-container2,
.modal-container3,.modal-container4,
.modal-container5,.modal-container6,
.modal-container7,.modal-container8{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
    box-sizing: border-box;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before,.modal-container2:before,
.modal-container3:before,.modal-container4:before,
.modal-container5:before,.modal-container6:before,
.modal-container7:before,.modal-container7:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active,.modal-container2.active,
.modal-container3.active,.modal-container4.active,
.modal-container5.active,.modal-container6.active,
.modal-container7.active,.modal-container8.active{
	opacity: 1;
	visibility: visible;
}

/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
}
/*モーダル内のコンテンツの指定*/
.modal-content img{
	padding:10px 0 0 0;
}

.pc-logo,.pc-contact,.pc-bana-left,.pc-bana-right,.pc-insta-right{
	display: none;
}
@media screen and (min-width:1300px) {
	.pc-logo{
		display: block;
		position: fixed;
		top: 40px;
		left: 3%;
			font-family: 'Oswald', sans-serif;
    font-weight: 700; 
	font-weight: bold;
	}
	.pc-logo h1{
		font-size: 3rem;
		line-height: 1.5;
	}
	.pc-logo h3{
		font-size: 2rem;
		line-height: 1;
	}
	.pc-contact{
		display: block;
		position:fixed;
		bottom: 40px;
		left: 3%;
		text-align: center;
		max-width: 500px;
	}
	.pcread{
		
		font-size: 0.9rem;
	}
	.pc-contact h3{
		padding-top: 20px;
		font-size: 2rem;
		line-height: 1.5;
	}
	
	.pc-bana-left{
		display: block;
		position:fixed;
		top: 300px;
		left: 3%;
		max-width: 500px;
	}
	    .banner {
      width: 350px;
      display: flex;
      align-items: center;
      background-color: rgba(255, 255, 255, 0.8); /* 背景色 */
      padding: 20px;
      border: 1px solid #aaa; /* 枠線 */
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* 少しの影を追加 */
			margin-bottom: 20px;
      transition: all 0.3s ease; /* アニメーションの設定 */
    }
    .banner:hover {
      background-color: #c0c0c0; /* ホバー時の背景色変更 */
      opacity: 0.8; /* 透明度を少し下げる */
      transform: scale(1.02); /* 少し拡大する */
    }
    .banner img {
      width: 70px;
      height: 70px;
      object-fit: cover; /* 画像の切り取り調整 */
      border-radius: 4px; /* 少し丸みをつける */
      margin-right: 20px;
    }

    .banner-text {
      font-size: 1.2rem;
      color: #000;
      font-weight: bold;
    }

    .banner-text::before {
      content: '→'; /* 矢印を追加 */
      margin-right: 10px;
      color: #555;
    }
	
	.pc-bana-right{
		display: block;
		position:fixed;
		top: 150px;
		right: 0;
		max-width: 500px;
	}
	
	.pc-bana-right h3{
		padding-bottom: 20px;
	}
	    .banner2 {
      width: 400px;
      display: flex;
      background-color: #333; /* 初期の背景色（黒） */
      color: white !important; /* 初期の文字色（白） */
      padding: 15px 20px;
      font-size: 18px;
      font-weight: bold;
      text-decoration: none; /* リンクの下線を消す */
      transition: all 0.3s ease; /* ホバーエフェクトのアニメーション */
	margin-bottom: 20px;
    }
	    .banner2 .eigo{
      font-size: 2rem;
			line-height: 1;
			padding-right: 20px;
    }
	 .banner2 .txt{
		 padding-top: 5px;
    }
    .banner2:hover {
      background-color: white; /* ホバー時の背景色 */
      color: #333 !important; /* ホバー時の文字色 */
    }
	
		.pc-insta-right{
		display: block;
		position:fixed;
		bottom: 100px;
		right: 4%;
		max-width: 300px;
	}
}