* {box-sizing: border-box;margin: 0;padding: 0;font-size: 16px;line-height:2;}
html {scroll-behavior: smooth;}
body {font-family: "Century Gothic", Futura, sans-serif;color: #333;background-color: #fcd2d2;padding-right: 0;overflow-x: hidden;}
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
.text-center{text-align:center;}
.text-right{text-align:right;}
.rd{color:#ff0000;}
.sm{font-size:0.8rem;}
.img-w100{width:100%;}
.d-flex{display:flex;}
.mt-20{margin-top:20px;}
.mr-50{margin-right:50px;}
.mb-80{margin-bottom:80px;}
.mb-100{margin-bottom:100px;}
.mb-150{margin-bottom:150px;}
.sns img{width:35px;}
.sp{display:none;}

/* --- Header --- */
header {position: fixed;top: 40px;right: 10%;z-index: 1000;display: flex;align-items: center;gap: 40px;font-weight:bold;color:#fff;}
.header-nav ul {display: flex;gap: 28px;font-size: 13px;letter-spacing: 0.5px;}
.hamburger {width: 26px;height: 18px;display: flex;flex-direction: column;justify-content: space-between;cursor: pointer;display: none;}
.hamburger span {display: block;width: 100%;height: 3px;background-color: #333;}
.mobile-nav {display: none;}

/* --- Layout --- */
.container-width {width: 1200px;max-width: 1200px;margin: 0 auto;position: relative;}
.hero-area {height:100vh;display: flex;justify-content: center;align-items: center;}
.hero-logo {max-width: 320px;width: 100%;height: auto;}
.scroll-wrap {position: relative;height: 120px;}
.content-wrap {position: relative;padding-bottom: 120px;}
section {position: relative;margin-bottom: 200px;padding-right: 50px;padding-top: 10px;}
section:last-of-type {margin-bottom: 100px;}
section::after {content: "";position: absolute;top: 0%;right: 0px;width: 0;height: 100%;border-right: 1px solid #fff;}
h2 {font-size: 46px;margin-bottom: 40px;line-height: 1;color:#fff;}

/* --- Side Titles (TOP aligned) --- */
.side-title {position: absolute;top: 0;left: 100%;margin-left: 22px;font-size: 14px;letter-spacing: 4px;white-space: nowrap;transform: rotate(90deg);transform-origin: top left;font-weight:bold;color:#fff;;}

/* intro */
#intro::after{border-right:0px;}

/* profile */
#profile > .d-flex{gap:40px;}
#profile .talent-item{width: calc(50% - 10px);gap:20px; }
#profile .talent-item > img{width:200px;height:200px;}
#profile .talent-item > div{width:100%;}
#profile .talent-item > div h3{font-size:1.5rem;border-bottom:1px solid #606060;}
#profile .talent-item table th{width:15%;vertical-align: top;}
#profile .talent-item table td{vertical-align: top;}

/* discography */
#discography .dummy{background-color:#b5b5b5; display: flex;align-items: center;justify-content: center;height:200px;width:200px;font-weight:bold;}


/* contact */
#contact a{background-color:#333;color:#fff;padding:10px 20px;border-radius:5px;}


/* privacy */
.privacy p{margin-bottom:20px;}

/* --- Footer --- */
footer {position: relative;text-align: center;padding-top: 40px;font-size: 11px;font-weight: bold;}
.footer-links {text-decoration: underline overline;}
.copyright {/*position: absolute;right: -135px;bottom: 0;*/font-size: 9px;font-weight: normal;/*transform: scale(0.9);transform-origin: bottom left;*/white-space: nowrap;}


/* --- Responsive (SP) --- */
@media (max-width: 1024px) {
	body {padding-right: 0;}
	.sp{display:block;}
	header {right: 0;left: 0;top: 16px;justify-content: flex-end;padding: 0 16px;}
	.hamburger {display: flex !important;width: 26px;height: 18px;flex-direction: column;justify-content: space-between;align-items: center;z-index: 1200;}
	.hamburger span {width: 100%;height: 3px;background-color: #333;display: block;flex-shrink: 0; /* ← 潰れ防止 */}
	.header-nav {display: none;}
	.mobile-nav {position: fixed;top: 56px;left: 0;right: 0;background: #fff;border-top: 1px solid #eee;box-shadow: 0 4px 10px rgba(0,0,0,0.08);padding: 16px 24px 24px;display: none;z-index: 900;color:#000;}
	.mobile-nav.is-open {display: block;}
	.mobile-nav ul {display: flex;flex-direction: column;gap: 16px;font-size: 14px;}
	.container-width {width: 90%;max-width: 100%;}
	.content-wrap {padding-right: 0;padding-bottom: 80px;}
	section {margin-bottom: 120px;padding-right:0px;}
	section::after {content: none;border-right: none;}
	.side-title {display: none;}
	.talent-grid::-webkit-scrollbar {display: none; /* スクロールバー非表示（iOS/Android/Chrome） */}
	.talent-item {width: 60vw;   /* カード幅（調整OK） */flex: 0 0 auto; /* 横スクロール時は必須 */scroll-snap-align: start;}
	#intro p{font-size:0.75rem;}
	#profile > .d-flex{display:block;}
	#profile .talent-item{width:100%;margin-bottom:80px;}
	#profile .talent-item > img{width:120px;height:120px;}
	#profile .talent-item table th{font-size:0.8rem;width: 20%;vertical-align: top;}
	#profile .talent-item table td{font-size:0.8rem;vertical-align: top;}
	#discography .dummy{height:120px;width:120px;}
	.copyright {position: static;transform: none;margin-top: 16px;}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.container-width {width: 90%;max-width: 100%;}
	.header-nav {display: none;}
	.hamburger {display: flex !important;}
	.floating-decorator {display: none;}
	section::after {content: none;border-right: none;}
	.side-title {display: none;}
	#profile > .d-flex {display:flex;}
	#profile .talent-item{width: calc(50% - 10px);}
	.copyright {position: static;transform: none;margin-top: 24px;text-align: center;}
}
@media (max-width: 1024px) {
	.hamburger {display: flex !important;}
	.mobile-nav.is-open {display: block !important;}
}