/* 基本設定 */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    /* リュウミンを指定 */
    font-family: "a-otf-ryumin-pr6n", serif;
    background-color: #fff;
    color: #fff;
}

img {
    max-width: 100%;
    display: block;
}

/* 背景色バリエーション */
.bg-blue { background-color: #2b6a94; }
.bg-dark-red { background-color: #5d3d3d; }
.bg-olive { background-color: #6b705c; }
.bg-white { background-color: #ffffff; color: #333; }

/* セクション共通 */
section {
    padding: 60px 20px;
}


.logo-badge {
    width: 20%;
  position: absolute;
  left: 0; top: 0;
  z-index: 2;
  margin: auto;
}
@media (max-width: 900px) {
  .logo-badge { width: 50%; }
}



.intro-section { padding: 0;}
.artist-profile {
  display: grid;
  grid-template-columns: 40% 60%;
}
.artist-profile .text-box {
  padding: 66px;
  font-size: min(2rem, 4vw);
}
.artist-profile .image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
} 



@media (max-width: 900px) {
  .artist-profile {
    grid-template-columns: 1fr;
  }
  .artist-profile .text-box {
    padding: 3em 10%; 
  }
  .artist-profile .image-box {
    height: 70vw;
  }
}



/* ヘッダー */
.header-section {
    height: 30vw;
    display: flex;
    justify-content: center;
    align-items: center;
}
.header-section .logo-area {
  width: 40%;
  margin: 0 auto; 
}
.logo-img {
}
@media (max-width: 900px) {
  .header-section {
    height: 100vw;
    padding-top: 10vw;
  }
  .header-section .logo-area {
    width: 60%;
  }
}

/* イントロ（写真＋横並びテキスト） */
.content-flex {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    align-items: center;
}
.image-box, .text-box {
    flex: 1;
}
/* サウンドクラウドリンク */
.link-section {
    text-align: center;
    padding: 80px 20px;
}
.link-section h2 {
    font-size: min(2.5rem, 7vw);
    letter-spacing: 0.1em;
    font-weight: 500;
}

/* 交互レイアウト */
.details-section {
    padding: 100px 20px;
}
.detail-row {
    max-width: 900px;
    margin: 0 auto 80px;
    display: flex;
    gap: 50px;
    align-items: flex-start;
}
.detail-row.reverse {
    flex-direction: row-reverse;
}
.detail-img-box {
    width: 300px;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
}
.detail-text-box {
    flex: 1;
}

@media screen and (max-width: 900px) {
  .detail-row {
    display: block;
  }
  .detail-img-box {
    text-align: center;
    margin-bottom: 1em; 
    width: 100%; 
  }
  .detail-img-box img {
    max-width: 300px;
  }
}


/* テキストのスタイル（均等割付・文字詰め） */
p {
    line-height: 2;
    text-align: justify;
    text-align-last: left;
    font-feature-settings: "palt"; /* 文字詰め */
    letter-spacing: 0.05em;
}

/* 下部フル画像 */
.footer-image-section {
  padding: 0;
  max-height: 900px 
}
.footer-image-section .full-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;U
  
}
.full-photo {
    width: 100%;
    height: auto;
}

.artist-profile .text-box .name {
    margin-bottom: 2em;
}
.q-text {
    margin-bottom: 2em;
    font-weight: bold;
}
.sound-inner {
    width: 80%;
    text-align: center;
    display: inline-block;
}