/*ボーダーの幅計算対策*/
* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

/*基本セット*/

img {
	border:none;
}



/*floatクリア*/
.clear-l{
	clear:left;
}
.clear-r{
	clear:right;
}



/*ここからFONT*/

.text8 { font-size:63％; }
.text9 { font-size:69％; }
.text10 { font-size:77%; }
.text11 { font-size:85%; }
.text12 { font-size:93%; }
.text13 { font-size:100%; }
.text14 { font-size:108%; }
.text15 { font-size:116%; }
.text16 { font-size:123.1%; }
.text17 { font-size:131%; }
.text18 { font-size:138.5%; }
.text19 { font-size:146.5%; }
.text20 { font-size:153.9%; }
.text21 { font-size:161.6%; }
.text22 { font-size:167%; }
.text23 { font-size:174%; }
.text24 { font-size:182%; }
.text25 { font-size:189%; }
.text26 { font-size:197%; }


.font-r { color:#FF0000;}

/*ここからNoto Sans Japaneseの太さ*/
.noto100 {font-weight:100;}
.noto200 {font-weight:200;}
.noto300 {font-weight:300;}
.noto400 {font-weight:400;}
.noto500 {font-weight:500;}
.noto600 {font-weight:600;}
.noto700 {font-weight:700;}
.noto800 {font-weight:800;}
.noto900 {font-weight:900;}



/*ここからbody*/
body {
	color: #000000;
	font-size:77%;
	background-color: #232524;
	width:100%;
	line-height: 1.5;
	margin: 0px;
	padding : 0px;
	font-family: 'Noto Sans Japanese', serif;
	font-style :normal;
}

/*ここまでbody*/




#container {
	text-align: left;
	margin: 0px auto;
	padding : 0px;
	height: auto;
	width: auto;
	position: relative;
	/*display: flex;*/
	background-attachment: fixed
}

#container::before {
    content:"";
    display:block;
    position:fixed;
    top:0;
    left:0;
    z-index:-1;
    width:100%;
    height:100vh;
    background-repeat: no-repeat;
    background-position: center top;
    background-image:url('./img/bg_sp.jpg');
    background-size: cover;
}







/* ↓ハンバーガーメニュー部分ここから↓ */



.menu-wrapper {
  position: relative;
}

.menu-icon {
  width: 40px;
  height: 30px;
  position: fixed; /* ← fixedにして常に左上固定 */
  top: 20px;
  left: 20px;
  cursor: pointer;
  z-index: 3;
  display: inline-block;
}

.menu-icon span {
  display: block;
  height: 4px;
  margin: 6px 0;
  background: #d7eaec;
  border-radius: 2px;
  transition: 0.4s;
}

/* ハンバーガーがXに変形 */
#menu-toggle:checked + .menu-icon span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
#menu-toggle:checked + .menu-icon span:nth-child(2) {
  opacity: 0;
}
#menu-toggle:checked + .menu-icon span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

/* オーバーレイ背景 */
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 1;
}

#menu-toggle:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}

/* メニュー本体（左から出す） */
.menu {
  position: fixed;
  top: 0;
  left: -250px; /* ← 初期位置を左へ */
  width: 250px;
  height: 100%;
  background: rgba(34,34,34,0.9);
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  transition: left 0.4s ease;
  z-index: 2;
}

#menu-toggle:checked ~ .menu {
  left: 0; /* ← 開いたときは左0へ */
}

.menu ul {
  list-style: none;
  padding: 60px 20px;
}

.menu li {
  margin: 20px 0;
}

.menu a {
  text-decoration: none;
  color: #d7eaec;
  font-size: 1.2rem;
  transition: color 0.3s;
}

.menu a:hover {
  color: #ffffff;
}

















/* ↓メニュー部分ここから↓ */



#header-sns {
	position: relative;
	z-index: 2;
}


#header-sns .box {
	width: 100%;
	text-align:right;
	position: fixed;
	top: 25px;
	right: 0px;
}

#header-sns .box a {
	height: 40px;
	text-decoration: none;
	margin: 0px 5px 0px 0px;
}

#header-sns .box a img {
  height: 25px;
  transition: transform .2s ease; /* ゆっくり変化させる */
}
#header-sns .box a:hover img {
  transform: scale(1.04); /* 拡大 */
}


#logo {
	background-image: url("./img/logo_sp.png");
	background-position: center;
	background-repeat: no-repeat;
	width:100%;
	height:530px;
	padding: 0px;
	margin: 0px 0px 0px 0px;
}












/* ↑メニュー部分ここまで↑ */



.title {
	width:auto;
	height:auto;
	padding: 6px 0px 2px 0px;
	margin: 0px 0px 0px 0px;
	background-repeat: no-repeat;
	background-size: auto;
	background-color: #494a44;
	opacity: 0.9;
/*	transform: skew(0deg,-7deg);*/
}

.title .name {
	width: auto;
	color: #a19373;
	font-size:18px;
	text-align:center;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
	font-weight: bold;
	letter-spacing: -1px;
	line-height:23px;
/*	transform: skew(7deg,0deg);*/
	text-shadow:1px 1px 0 #423d30, -1px -1px 0 #423d30,
		-1px 1px 0 #423d30, 1px -1px 0 #423d30,
		0px 1px 0 #423d30,  0-1px 0 #423d30,
		-1px 0 0 #423d30, 1px 0 0 #423d30;
}


.contents-container {
	width: auto;
	height:auto;
	margin: 0px 0px 150px 0px;
	padding: 40px 18px 60px 18px;
	background: rgba(41, 43, 42, 0.8);
/*	transform: skew(0deg,-7deg);*/
	color: #fff5dd;
	font-size:14px;
	font-weight: bold;
	font-style: normal;
	text-shadow:
	2px 2px 4px #292b2a, -2px -2px 4px #292b2a,
	-2px 2px 4px #292b2a,  2px -2px 4px #292b2a,
	2px 0 4px #292b2a, -2px  0 4px #292b2a,
	0 2px 4px #292b2a,  0 -2px 4px #292b2a;
}


.contents {
	width: auto;
	height:auto;
	margin: 0px 0px 40px 0px;
	padding: 0px 0px 0px 0px;
}


.contents .date {
	width: auto;
	height:auto;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}


.contents .date .new {
	font-weight: bold;
	color: #b57c84;
}


.contents .news-title {
	width: 100%;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 40px 0px;
}

.contents .text {
	width: 100%;
	height:auto;
	margin: 0px 0px 10px 0px;
	padding: 0px 0px 0px 0px;
	overflow-wrap: break-word;
}

.contents .text a {
	color: #fff5dd;
	text-decoration: underline solid;
	text-decoration-color: #777266;
	text-decoration-thickness: 0.1px;
	text-underline-offset: 3px; /* 文字とアンダーラインの間隔 */
}

.contents .text a:hover {
	color: #ffe3a4;
}



.contents .text .red {
	font-weight: bold;
	color: #f77085;
}



.contents .text .uchikeshi {
	text-decoration: line-through;
}

.contents .text2 {
	font-size:20px;

}


.contents-img {
	width: 100%;
	height:auto;
	margin: 0px 0px 30px 0px;
	padding: 0px 0px 30px 0px;
}

.contents-img .bio-img {
	width: 100%;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	float:left;
	opacity: 1;
}

.contents-img .bio-txt {
	width: 400px;
	height:auto;
	margin: 0px 0px 10px 0px;
	padding: 0px 20px 0px 0px;
	overflow-wrap: break-word;
	height: 30px;
}

.contents-img .artist-name {
	font-size: 36px;
	font-weight:bold;
}



.contents-img .text a {
	color: #816b6b;
	text-decoration: none;
}

.contents-img .text a:hover {
	color: #a38b8b;
}








.contents-container .more {
	color : #a19373;
	width: auto;
	height:auto;
	margin: 0px 18px 0px 0px;
	padding: 10px 6px 4px 6px;
	display: flex;  
  	border: 1px solid;
  	border-image: #a19373;
	float:right;
}

.contents-container .more a {
	color : #a19373;
	font-size:16px;
	text-decoration: none;
	height: 30px;
/*	transform: skew(7deg,0deg);*/
}

.contents-container .more a:hover {
	color: #cbba92;
}





/* TOP NEMOPHILA*/


.contents-container-nemophila {
	width:100%;
	height:auto;
	margin: 0px 0px 150px 0px;
	padding: 170px 0px 60px 0px;
	background-image: url('./img/top_nemophila_bg_sp.png');
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
/*	transform: skew(0deg,-7deg);*/
	color: #fff5dd;
	font-size:14px;
	font-weight: bold;
	font-style: normal;
	text-shadow:
	2px 2px 4px #292b2a, -2px -2px 4px #292b2a,
	-2px 2px 4px #292b2a,  2px -2px 4px #292b2a,
	2px 0 4px #292b2a, -2px  0 4px #292b2a,
	0 2px 4px #292b2a,  0 -2px 4px #292b2a;
}

.contents-container-nemophila .contents {
	display:flex;
	justify-content: center;
flex-wrap: wrap;
	width:100%;
	height:auto;
	margin: 0px 0px 40px 0px;
	padding: 0px 0px 0px 0px;
	text-align:center;
}


.contents-container-nemophila .contents .youtube {
	width:220px;
	height:170px;
	margin: 2px 2px 5px 2px;
}

.contents-container-nemophila .contents .youtube a {
	color : #a19373;
	font-size:14px;
	text-decoration: none;
/*	transform: skew(7deg,0deg);*/
}

.contents-container-nemophila .contents .youtube a:hover {
	color: #cbba92;
}


.contents-container-nemophila .more {
	color : #a19373;
	width: auto;
	height:auto;
	margin: 0px 18px 0px 0px;
	padding: 10px 6px 2px 6px;
	display: flex;  
  	border: 1px solid;
  	border-image: #a19373;
	float:right;
}

.contents-container-nemophila .more a {
	color : #a19373;
	font-size:16px;
	text-decoration: none;
	height: 30px;
/*	transform: skew(7deg,0deg);*/
}

.contents-container-nemophila .more a:hover {
	color: #cbba92;
}


/* TOP NEMOPHILA*/







/* TOP TAMZ GROOVE*/


.contents-container-salon {
	width:100%;
	height:auto;
	margin: 0px 0px 150px 0px;
	padding: 0px 0px 60px 0px;
	background: rgba(41, 43, 42, 0.8);
/*	transform: skew(0deg,-7deg);*/
	color: #fff5dd;
	font-size:14px;
	font-weight: bold;
	font-style: normal;
	text-shadow:
	2px 2px 4px #292b2a, -2px -2px 4px #292b2a,
	-2px 2px 4px #292b2a,  2px -2px 4px #292b2a,
	2px 0 4px #292b2a, -2px  0 4px #292b2a,
	0 2px 4px #292b2a,  0 -2px 4px #292b2a;
}

.contents-container-salon .contents {
	width:100%;
	height:auto;
	margin: 0px 0px 40px 0px;
	padding: 0px 0px 0px 0px;
	text-align:center;
}


.contents-container-salon .contents .cm_movie {
	height: 100%;
	width: 100%;
}


.contents-container-salon .contents .txt {
	height: 100%;
	width: 100%;
	padding: 10px 20px 0px 20px;
	line-height: 20px;
	text-align:left;
}


.contents-container-salon .more {
	color : #a19373;
	width: auto;
	height:auto;
	margin: 0px 18px 0px 0px;
	padding: 10px 6px 2px 6px;
	display: flex;  
  	border: 1px solid;
  	border-image: #a19373;
	float:right;
}

.contents-container-salon .more a {
	color : #a19373;
	font-size:16px;
	text-decoration: none;
	height: 30px;
/*	transform: skew(7deg,0deg);*/
}

.contents-container-salon .more a:hover {
	color: #cbba92;
}


/* TOP TAMZ GROOVE*/





/* TOP shop*/


.contents-container-shop {
	width:100%;
	height:auto;
	margin: 0px 0px 150px 0px;
	padding: 0px 0px 60px 0px;
	background: rgba(41, 43, 42, 0.8);
/*	transform: skew(0deg,-7deg);*/
	color: #fff5dd;
	font-size:14px;
	font-weight: bold;
	font-style: normal;
	text-shadow:
	2px 2px 4px #292b2a, -2px -2px 4px #292b2a,
	-2px 2px 4px #292b2a,  2px -2px 4px #292b2a,
	2px 0 4px #292b2a, -2px  0 4px #292b2a,
	0 2px 4px #292b2a,  0 -2px 4px #292b2a;
}

.contents-container-shop .contents {
	width:100%;
	height:auto;
	margin: 0px 0px 40px 0px;
	padding: 0px 0px 0px 0px;
	text-align:center;
}


.contents-container-shop .contents .cm_movie {
	height: 100%;
	width: 100%;
}


.contents-container-shop .contents .txt {
	height: auto;
	width: 100%;
	padding: 90px 40px 0px 40px;
	line-height: 25px;
	text-align:left;
	float:left;
}


.contents-container-shop .more {
	color : #a19373;
	width: auto;
	height:auto;
	margin: 0px 18px 0px 0px;
	padding: 10px 6px 2px 6px;
	display: flex;  
  	border: 1px solid;
  	border-image: #a19373;
	float:right;
}

.contents-container-shop .more a {
	color : #a19373;
	font-size:16px;
	text-decoration: none;
	height: 30px;
/*	transform: skew(7deg,0deg);*/
}

.contents-container-shop .more a:hover {
	color: #cbba92;
}


/* TOP shop*/










/*ここからディスコグラフィー*/


.contents-disco {
	width: 100%;
	height:auto;
	margin: 0px 0px 150px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;  
  	border-bottom: 2px solid;
  	border-image: linear-gradient(to right, #fff5dd, #494a44) 0.5;
}



.contents-disco .title-l {
	color: #fff5dd;
	font-size: 28px;
	font-weight:bold;
	margin: 0px 0px 0px 0px;
}


.contents-disco-disc {
	width: 100%;
	height:auto;
	margin: 0px 0px 100px -10px;
	padding: 0px 10px 0px 10px;
	font-size: 12px;
	font-weight:normal;
  	border-bottom: 1px solid;
  	border-image: linear-gradient(to right, #656259, #373531) 0.5;
}


.contents-disco-disc .disc-title {
	font-size: 14px;
	font-weight:bold;
	margin: 0px 0px 100px 0px;
}


.contents-disco-disc img {
	width: 34px;
	margin: 0px 0px -4px 0px;
}



.contents-disco-disc .youtube {
	margin: 0px 0px 0px 12px;
}

.contents-disco-disc .disc-txt {
	padding: 0px 20px 0px 20px;
}



.contents-disco-disc .disc-txt a {
	color: #fff5dd;
	text-decoration: underline solid;
	text-decoration-color: #777266;
	text-decoration-thickness: 0.1px;
	text-underline-offset: 3px; /* 文字とアンダーラインの間隔 */
}

.contents-disco-disc .disc-txt a:hover {
	color: #ffe3a4;
}









/*ここまでディスコグラフィー*/








/* ↓お問い合わせここから↓ */


#contactbox {
	width: 100%;
	height:auto;
	margin: 0px 0px 700px 0px;
	padding: 40px 20px 40px 20px;
	background-color: #292b2a;
	opacity: 0.8;
/*	transform: skew(0deg,-7deg);*/
	color: #fff5dd;
	font-size:16px;
	font-weight: bold;
	font-style: normal;
	text-shadow:
	2px 2px 4px #292b2a, -2px -2px 4px #292b2a,
	-2px 2px 4px #292b2a,  2px -2px 4px #292b2a,
	2px 0 4px #292b2a, -2px  0 4px #292b2a,
	0 2px 4px #292b2a,  0 -2px 4px #292b2a;
}


.contact_list_title {
	background-color: rgba(255,255,255,0.8);
	margin:100px auto 0px auto;
	padding: 20px;
}

.contact_button_box{
  display: flex;
  justify-content: center;
    flex-wrap: wrap;
	margin: 0px 0px 100px 0px;
}

.contact_button{
	border-radius: 10px;
	display: block;
	width: 200px;
	padding: 15px;
	box-sizing: border-box;
	background: #a19373;
	color: #ffffff;
	font-size: 16px;
	text-decoration: none;
	text-align: center;
	margin: 10px 5px 10px 5px;
	border-color: #ffffff;
	border-style:solid;
	cursor: pointer;

}

.contact_button:hover{
	background: #c9b891;
}









/*ここまでお問い合わせ*/


.fotter {
	width:100%;
	padding: 0px;
	margin:1200px 0px 0px 0px;
	background-repeat: no-repeat;
	background-size: auto;
/*	transform: skew(0deg,-7deg);*/
}

.fotter .name {
	width: 100%;
	color: #ffffff;
	font-size:10px;
	text-align:center;
	padding: 40px 20px 0px 20px;
	margin: 0px 0px 0px 0px;
	font-weight: bold;
/*	transform: skew(7deg,0deg);*/
}






/*ここからポップアップ*/




.modal {
display: block;
width: 700px;
/* width: 700px; */
max-width: 100%;
height: 557px;
/* height: 788px; */
/* height: 394px; */
position: fixed;
z-index: 100;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
/* margin: -200px 0 0 -200px; */
background: white;
box-shadow: 0 0 60px 10px rgba(0, 0, 0, 0.9);
}
.closed {
  display: none;
}

.modal-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 50;
background: rgba(0, 0, 0, 0.6);
}
.modal-guts {
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: auto;
padding: 0px 0px 0px 0px;
}
.modal .close-button {
position: absolute;
z-index: 1;
top: 20px;
right: 20px;
border: 0;
background: black;
color: white;
padding: 5px 10px;
font-size: 1.3rem;
  	border: 1px solid;
  	border-image: #ffffff;
}
.open-button {
border: 0;
background: lightgreen;
color: white;
padding: 10px 20px;
border-radius: 10px;
font-size: 21px;
}

/*
.popupimg {
width: 100%;
height: auto;

}*/


















