@charset "utf-8";

*,
::before,
::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

ol,
ul {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

  /* まず、リンク遷移にビュー遷移を適用 */
@view-transition {
  navigation: auto;
}

/* デフォルトのクロスフェードを、ゆっくりに置き換える */
::view-transition-old(root) {
  animation: vt-fade-out 1500ms ease both;   /* ← 好きな長さに */
}
::view-transition-new(root) {
  animation: vt-fade-in  1500ms ease both;
}

@keyframes vt-fade-out {
  from { opacity: 1 }
  to   { opacity: 0 }
}
@keyframes vt-fade-in {
  from { opacity: 0 }
  to   { opacity: 1 }
}

/* 動きを抑制したいユーザーにはオフ */
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}

body {
  font-family: "Special Elite", system-ui;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  text-align: left;
  background-color: #fff;
  color: #000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  gap: 56px;
  padding: 100px;
  margin: 0px;

  @media (max-width: 899px) {
     height:100%;
     padding-top: 50px;
     padding-right: 30px;
     padding-left: 30px;
     padding-bottom: 80px;
  }
}

/* TOPのCSS */

.exhibition-title {
  color: #D50B00;
  font-size: 40px;

  @media (max-width: 899px) {
      font-size: 28px;
  }
}

.artist-credit {
  color:black;
  font-size: 20px;
}



.exhibition-top {
  display: grid;
  column-gap: 40px;
  grid-template-columns:auto;
  grid-template-rows: auto;

  /* ▼デフォルト（＝画面が広い時）横並び */
  grid-template-areas:
    "gallery title"
    "gallery credit";

  @media (max-width: 899px){
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "gallery"
      "credit";
    
    max-width: 95vw;
    row-gap: 24px;
  }
}


.title-block {
  grid-area: title;
  text-align: left;
  justify-content: space-between;
}

.top-block {
  grid-area: gallery;
  max-height: 602px;
}

.top-block img {
  width: auto;
  height: clamp(200px, 50vh, 280px);

  @media (max-width: 899px){
    width: clamp(300px, 95vw, 470px);
    height: auto;
  }
}

.artist-credit {
  grid-area: credit;
  text-align: left;
  display: flex;
  justify-content: left;
  align-items: flex-end; /* flex内で下揃え */

  @media (max-width:899px){
    font-size: 12px;
  }
  
}

/* room1のCSS */

.room1 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;

  @media (max-width: 899px){
    flex-direction: column;  /* ← 縦並びに切り替え！ */
    align-items: center;         /* 横方向の中央揃え（クロス軸） */
    justify-content: center;     /* 縦方向の中央揃え（メイン軸） */
    text-align: center; 
    height: 100%;         /* ← テキストも中央寄せ（任意） */
    width: 100%; 
    max-width: 350px;
  }
}

.room1-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;

  @media (max-width: 899px) {
    flex-direction: row;
    align-items: center;
  }
}

.room1-header img {
  width: clamp(120px, 100%, 326px);
  height: auto;

  @media (max-width: 899px) {
    width: clamp(100px, 100%, 180px);
    height: auto;
  }
}

.room1-title {
  color: #D50B00;
  font-size: 36px;
  text-align: left;


  @media (max-width: 899px) {
    font-size: clamp(24px, 100%, 30px);
  }
}

.room1-works {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 30px;

  z-index: 1;

  @media (max-width: 899px) {
    flex-direction: column;
    justify-content: center; 
    align-items: center;
    margin-left: 0px;
  }
}

.room1-works img {
  width: clamp(300px, 30vw, 360px);
  height: auto;
  aspect-ratio: 5 / 4; 
  object-fit: cover;

  @media (max-width: 899px) {
    width: clamp(300px, 100%, 400px);
    height: auto ;
  }
}

.room1-footer {
  width: 100%;
  display: flex;
  flex: 1;
  justify-content: space-between;
  align-items: end;
  padding-top: 50px;
}

.room1-footer p {
  color: #D50B00;
}

.room1-footer img {
  width: 18px;
  height: auto;
  padding-bottom: 6px;
}

.top-link {
  display: flex;
  flex-direction: row-reverse;
  align-items: end;
  gap: 8px;
  justify-content: flex-start;
}


.theegglistens-link {
  display: flex;
  align-items: end;
  gap: 8px;
  text-align: right;
}

/* room2のCSS */

.room2 {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 16px;

  @media (max-width: 899px){
    flex-direction: column;  /* ← 縦並びに切り替え！ */
    align-items: center;         /* 横方向の中央揃え（クロス軸） */
    justify-content: center;     /* 縦方向の中央揃え（メイン軸） */
    text-align: center;          /* ← テキストも中央寄せ（任意） */
    width: 100%; 
    max-width: 350px;
  }
}

.room2-header {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 40px;
  position: relative;
  z-index: 1;

  @media (max-width: 899px) {
    flex-direction: row-reverse;
    align-items: center;
  }
}

.room2-header img {
  width: clamp(300px, 100%, 360px);
  height: auto;

  @media (max-width: 899px) {
    width: clamp(100px, 100%, 210px);
    height: auto;
  }
}

.room2-title {
  color: #D50B00;
  font-size: 36px;
  text-align: right;


  @media (max-width: 899px) {
    font-size: clamp(24px, 100%, 30px);
  }
}

.room2-works {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 30px;
  position: relative;

  z-index: 2;

  @media (max-width: 899px) {
    flex-direction: column;
    justify-content: center; 
    align-items: center;
    margin-left: 0px;
  }
}

.room2-works img {
  width: clamp(300px, 30vw, 360px);
  height: auto;
  aspect-ratio: 5 / 4; 
  object-fit: cover;

  @media (max-width: 899px) {
    width: clamp(300px, 100%, 400px);
    height: auto ;
  }
}

.room2-footer {
  width: 100%;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  row-gap: 16px;
  padding-top: 50px;
}

.room2-footer p {
  color: #D50B00;
}

.room2-footer img {
  width: 18px;
  height: auto;
  padding-bottom: 6px;
}

.top-link {
  display: flex;
  flex-direction: row-reverse;
  align-items: end;
  gap: 8px;
  justify-content: flex-start;
}


.thecherryfalls-link {
  display: flex;
  flex-direction: row-reverse;
  align-items: end;
  gap: 8px;
  text-align: left;
}


/* workのCSS */

.work-detail {
 display: flex;
 flex-direction: column;
 justify-content: center; 
 align-items: center; 
 gap: 10px;
 padding-bottom: 50px;

 @media (max-width: 899px) {
  padding-bottom: 0px;
 }
}

.detail {
  max-width: 1000px;
  display: flex;
  flex-direction: wrap;
  justify-content: center;
  align-items: end;
  gap: 30px;

  @media (max-width: 899px) {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

.detail-vertical {
  max-width: 900px;
  display: flex;
  flex-direction: wrap;
  justify-content: center;
  align-items: end;
  gap: 30px;

  @media (max-width: 899px) {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}


.detail img {
  width: clamp(280px, 100%, 550px);
  height: auto;

  @media (max-width) {
    width:(280px, 100%, 400px);
    height:auto;
  }
}

.detail-vertical img {
  width: clamp(280px, 100%, 400px);
  height: auto;

  @media (max-width) {
    width:(280px, 100%, 400px);
    height:auto;
  }
}

.caption {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 20px;
  min-width: 100px;

  @media (max-width: 899px) {
    gap: 12px;
  }
}

.work-thecherryfalls-link {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
}

.work-thecherryfalls-link p {
  color: #D50B00;
}

.work-thecherryfalls-link img {
  width: 28px ;
  height: auto;
}

.work-theegglistens-link {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
}

.work-theegglistens-link p {
  color: #D50B00;
}

.work-theegglistens-link img {
  width: 28px ;
  height: auto;
}

.work-poem {
  font-size: 14px;
  padding-bottom: 40px;

  @media (max-width: 899px) {
    font-size: 10px;
    padding-bottom: 20px;
  }
}

.work-title {
  font-size: 28px;

  @media (max-width: 899px) {
    font-size: 24px;
  }
}

.work-size
.work-medium
.work-year {
  font-size: 18px;

  @media (max-width: 899px) {
    font-size: 10px;
  }
}

/* aboutmeのCSS */

.aboutme {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding-bottom: 50px;
  gap: 20px;

}

.aboutme-main {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 500px;
  gap: 20px;

  @media (max-width: 899px ) {
    flex-wrap: wrap-reverse;
    max-width: 250px;
    padding-bottom: 30px;
  }
}

.aboutme img {
  width: clamp(180px, 100%, 220px);
  height: auto;
}


.aboutme-text {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 16px;
}

.paintedby {
  color: #D50B00;
}

.name {
  font-size: 24px;
}

.works-h1 {
  color: #D50B00;
  padding-top: 30px;
}

.aboutme ul {
  display: flex;
  flex-direction: column;
  gap:12px;
}

.aboutme li {
  text-decoration: underline solid 1px #847b7b;
  text-underline-offset: 3px;
}

.aboutme-footer {
  width: 100%;
  max-width: 500px;
  display: flex;
  flex: 1;
  justify-content: space-between;
  align-items: end;

  @media (max-width: 899px) {
    width: clamp (230px, 100%, 250px);
  }
}

.aboutme-footer img {
    width: 18px;
    height: auto;
    padding-bottom: 4px;
  }

  .aboutme-top-link {
    display: flex;
    flex-direction: row-reverse;
    gap: 8px;
  }

 .aboutme-top-link p {
  color: #D50B00;
 } 