/* MODEL CATALOG — TSUYUSE */
.model-catalog-page{
  min-height:100vh;
  background:var(--paper);
}

.model-catalog-page::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:255px;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      #f4cfd0 0%,
      #f7d9d7 30%,
      #f9e4dc 58%,
      #fbf1df 78%,
      var(--paper) 100%
    );
}

.model-catalog-page .site-header {
  position: fixed;
}

/* Detail/category pages keep only the TSUYUSE mark. */
.model-catalog-page .global-nav,
.model-catalog-page .menu-toggle{
  display:none!important;
}

.catalog-main{
  width:min(1500px,100%);
  margin:0 auto;
  padding:175px 7vw 80px;
}

.catalog-hero{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr);
  gap:9vw;
  align-items:end;
  padding:34px 0 55px;
  border-bottom:1px solid rgba(80,60,55,.09);
  position:relative;
}

.catalog-number{
  margin:0 0 18px;
  color:#c98686;
  font-size:11px;
  letter-spacing:.28em;
}

.catalog-title-block h1{
  margin:0;
  font-size:clamp(55px,6.5vw,96px);
  line-height:.92;
  font-weight:400;
  letter-spacing:.07em;
}

.catalog-subtitle{
  margin:22px 0 0;
  color:#8d817e;
  font-size:13px;
  letter-spacing:.22em;
}

.catalog-live2d-two{
  font-family:inherit;
  font-size:1em;
  vertical-align:baseline;
  font-variant-numeric:lining-nums;
  font-feature-settings:"lnum" 1;
}

.catalog-intro{
  margin:0 0 5px;
  font-family:var(--jp);
  color:#756d69;
  font-size:12px;
  line-height:2.15;
  letter-spacing:.12em;
}

.catalog-filter{
  display:flex;
  justify-content:center;
  gap:12px;
  margin:42px 0 48px;
}

.catalog-filter-button{
  min-width:138px;
  padding:9px 22px 8px;
  border:1px solid rgba(142,120,115,.17);
  border-radius:999px;
  background:rgba(251,248,244,.38);
  color:#827875;
  font-family:var(--serif);
  font-size:10px;
  letter-spacing:.22em;
  cursor:pointer;
  transition:background .3s ease,color .3s ease,border-color .3s ease;
}

.catalog-filter-button:hover{
  border-color:rgba(219,160,160,.65);
}

.catalog-filter-button.is-active{
  background:#282525;
  border-color:#282525;
  color:#fff;
}

.catalog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:52px 32px;
  align-items:start;
}

.model-card{min-width:0}
.model-card-link{display:block}

.model-card-image{
  position:relative;
  overflow:hidden;
  aspect-ratio:4/5;
  background:#f2ece8;
}

.model-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  position:relative;
  background:linear-gradient(145deg,rgba(246,224,221,.92),rgba(248,244,239,.88));
  color:#b29c98;
  transition:transform .6s cubic-bezier(.22,.61,.36,1);
}

.model-placeholder::before,
.model-placeholder::after{
  content:"";
  position:absolute;
  border:1px solid rgba(219,160,160,.22);
  border-radius:50%;
}

.model-placeholder::before{width:56%;aspect-ratio:1}
.model-placeholder::after{width:35%;aspect-ratio:1}

.model-placeholder span{
  position:relative;
  z-index:1;
  font-size:11px;
  letter-spacing:.28em;
}

.model-placeholder small{
  position:absolute;
  right:18px;
  bottom:16px;
  font-size:10px;
  letter-spacing:.2em;
}

.model-status{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:3;
  min-width:94px;
  padding:7px 12px 6px;
  text-align:center;
  font-size:9px;
  letter-spacing:.18em;
}

.model-status.available{background:rgba(226,163,163,.92);color:#fff}
.model-status.sold{background:rgba(83,79,78,.68);color:#fff}

.model-card-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(229,170,170,.27);
  opacity:0;
  transition:opacity .38s ease;
}

.model-hover{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  transform:translate(-50%,-43%);
  color:#fff;
  font-size:11px;
  letter-spacing:.25em;
  opacity:0;
  transition:opacity .35s ease,transform .45s ease;
}

.model-card-link:hover .model-card-image::after{opacity:1}
.model-card-link:hover .model-placeholder{transform:scale(1.018)}
.model-card-link:hover .model-hover{opacity:1;transform:translate(-50%,-50%)}

.model-card-meta{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  padding:18px 2px 16px;
  border-bottom:1px solid rgba(80,60,55,.09);
}

.model-index{
  margin:0 0 6px;
  color:#9e918d;
  font-size:9px;
  letter-spacing:.22em;
}

.model-card-meta h2{
  margin:0;
  font-size:24px;
  font-weight:400;
  letter-spacing:.12em;
}

.model-view{
  flex:0 0 auto;
  padding-bottom:3px;
  color:#9c7774;
  font-size:9px;
  letter-spacing:.18em;
  transition:transform .3s ease;
}

.model-card-link:hover .model-view{transform:translateX(4px)}

.catalog-bottom{
  display:flex;
  justify-content:space-between;
  margin-top:95px;
  padding-top:22px;
  border-top:1px solid rgba(80,60,55,.08);
  color:#9a918e;
  font-size:9px;
  letter-spacing:.2em;
}

@media(max-width:900px){
  .catalog-main{padding:135px 8vw 65px}
  .catalog-hero{grid-template-columns:1fr;gap:30px}
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 22px}
  .catalog-filter{justify-content:flex-start;overflow-x:auto;padding-bottom:3px}
}

@media(max-width:560px){
  .catalog-main{padding:120px 6vw 50px}
  .catalog-hero{padding-bottom:38px}
  .catalog-title-block h1{font-size:48px}
  .catalog-intro{font-size:11px}
  .catalog-filter{margin:32px 0 36px;gap:8px}
  .catalog-filter-button{min-width:0;padding:8px 15px;font-size:9px}
  .catalog-grid{grid-template-columns:1fr;gap:42px}
  .catalog-bottom{margin-top:65px}
}

@media(hover:none){
  .model-card-image::after,.model-hover{display:none}
  .model-card-link:hover .model-placeholder{transform:none}
}


/* =========================================================
   SAKURA TEST ONLY
   Completely isolated decoration. No SVG and no global rules.
   ========================================================= */
.sakura-test-decoration{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:190px;
  overflow:hidden;
  pointer-events:none;
  z-index:0;
}

.sakura-test-decoration .sakura-test-branch{
  position:absolute;
  height:0;
  border-top:1px solid rgba(171,111,111,.28);
  transform-origin:right center;
}

.sakura-test-decoration .branch-main{
  width:185px;
  right:-12px;
  top:62px;
  transform:rotate(-14deg);
}

.sakura-test-decoration .branch-small{
  width:64px;
  right:105px;
  top:58px;
  transform:rotate(34deg);
}

.sakura-test-decoration .sakura-test-flower{
  position:absolute;
  display:block;
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  color:rgba(190,119,122,.38);
  font-family:"Noto Serif JP",serif;
  font-weight:400;
  font-size:15px;
  line-height:1;
}

.sakura-test-decoration .flower-a{right:38px;top:45px;transform:rotate(10deg)}
.sakura-test-decoration .flower-b{right:104px;top:66px;font-size:12px;opacity:.78}
.sakura-test-decoration .flower-c{right:155px;top:42px;font-size:10px;opacity:.58}

.sakura-test-decoration .sakura-test-petal{
  position:absolute;
  display:block;
  width:5px;
  height:9px;
  border-radius:70% 30% 65% 35%;
  background:rgba(197,128,130,.30);
}

.sakura-test-decoration .petal-a{left:38%;top:55px;transform:rotate(30deg)}
.sakura-test-decoration .petal-b{left:50%;top:101px;transform:rotate(105deg);opacity:.72}
.sakura-test-decoration .petal-c{right:31%;top:78px;transform:rotate(62deg);opacity:.58}

@media(max-width:700px){
  .sakura-test-decoration .branch-main{width:135px;right:-25px}
  .sakura-test-decoration .branch-small{width:45px;right:72px}
  .sakura-test-decoration .flower-c,
  .sakura-test-decoration .petal-a{display:none}
}


/* =========================================================
   SAKURA TEST v2 — flowers + petals only
   ========================================================= */

/* Branches are intentionally disabled in this version. */
.sakura-test-decoration .sakura-test-branch{
  display:none !important;
}

/* Slightly larger blossoms gathered in the upper-right. */
.sakura-test-decoration .flower-a{
  right:40px;
  top:30px;
  font-size:25px;
  opacity:.68;
  transform:rotate(8deg);
}
.sakura-test-decoration .flower-b{
  right:88px;
  top:52px;
  font-size:21px;
  opacity:.54;
  transform:rotate(-12deg);
}
.sakura-test-decoration .flower-c{
  right:137px;
  top:26px;
  font-size:18px;
  opacity:.42;
  transform:rotate(17deg);
}

/* More petals, still kept only in the upper decorative area. */
.sakura-test-decoration .petal-a{left:31%;top:42px;transform:rotate(28deg);opacity:.58}
.sakura-test-decoration .petal-b{left:39%;top:83px;transform:rotate(108deg);opacity:.50}
.sakura-test-decoration .petal-c{left:48%;top:55px;transform:rotate(62deg);opacity:.46}
.sakura-test-decoration .petal-d{left:57%;top:105px;transform:rotate(142deg);opacity:.38}
.sakura-test-decoration .petal-e{left:66%;top:48px;transform:rotate(76deg);opacity:.45}
.sakura-test-decoration .petal-f{right:22%;top:94px;transform:rotate(18deg);opacity:.34}
.sakura-test-decoration .petal-g{right:15%;top:69px;transform:rotate(121deg);opacity:.40}

@media(max-width:700px){
  .sakura-test-decoration .flower-a{right:22px;font-size:21px}
  .sakura-test-decoration .flower-b{right:62px;font-size:17px}
  .sakura-test-decoration .flower-c{right:100px;font-size:15px}
  .sakura-test-decoration .petal-d,
  .sakura-test-decoration .petal-f{display:none}
}
.model-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center -45%;
  transform: translateX(6%) scale(2.5);
  display: block;
}

/* MODEL DETAIL IMAGE */
.model-detail-visual img {
  width: 600px;
  height: auto;
  object-fit: contain;
  object-position: center;
  transform: translateY(45px);
  display: block;
}

/* MODEL DETAIL LAYOUT */
.model-detail-hero {
  display: grid;
  grid-template-columns: 520px 300px 420px;
  align-items: center;
  justify-content: center;
  gap: 55px;
}

/* RIGHT FULL BODY MODEL */
.model-detail-fullbody img {
  width: 390px;
  height: auto;
  display: block;
  object-fit: contain;
  transform: translateY(65px);
}

/* LEFT VISUAL FRAME */
.model-detail-visual {
  width: 520px;
  height: 620px;
  overflow: visible;
  position: relative;
}

.model-detail-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
  display: block;
}

/* VISUAL PAGE SWITCH */
.model-visual-page {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
}

.model-visual-page.is-active {
  opacity: 1;
  visibility: visible;
}

.model-visual-page img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* =========================================
   MODEL DETAIL - LAYERED VISUAL
   ========================================= */

.model-visual-stack {
  position: relative;
  width: 100%;
  height: 100%;
  perspective: 1600px;
}

/* 2枚の紙 */
.model-visual-sheet {
  position: absolute;
  inset: 0;
  display: block;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  transform-origin: 50% 92%;
}

/* 紙の中身 */
.model-visual-sheet-inner {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #fffaf4;
  box-shadow: 0 20px 45px rgba(76, 57, 51, 0.07);
}

/* 画像 */
.model-visual-sheet img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

/* MAIN VISUAL：最初は前 */
.model-visual-sheet.mainvisual {
  z-index: 3;
  transform: translate(-18px, 28px) rotate(-1.15deg) scale(.91);
}

/* LIVE2D MODEL：後ろから少し覗く */
.model-visual-sheet.live2d {
  z-index: 2;
  transform: translate(45px, -8px) rotate(1.5deg) scale(.89);
  filter: saturate(.92) brightness(.99);
}

/* 紙についている小さな文字 */
.model-visual-sheet-label {
  position: absolute;
  left: 18px;
  bottom: -32px;
  color: #968c80;
  font-family: var(--serif);
  font-size: 9px;
  letter-spacing: .20em;
  white-space: nowrap;
  display: none;
}

/* 画像下の切り替え部分 */
.model-visual-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 24px;
}

/* ← → ボタン */
.model-visual-arrow {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(219, 160, 160, .42);
  border-radius: 50%;
  background: rgba(251, 248, 244, .78);
  color: #8e817d;
  font-family: var(--serif);
  font-size: 15px;
  cursor: pointer;
}

/* 真ん中の文字 */
.model-visual-status {
  min-width: 160px;
  text-align: center;
  color: #9b919e;
  font-size: 9px;
  letter-spacing: .20em;
}

/* LIVE2D の数字 2 を整える */
.live2d-two {
  display: inline !important;
  width: auto !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: 1em !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
  font-weight: inherit !important;
  transform: none !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1 !important;
}

/* MODEL DETAIL：画像切り替え時の前後入れ替え */

/* LIVE2D MODEL が選ばれたとき */
.model-visual-stack.is-live2d .model-visual-sheet.mainvisual {
  z-index: 2;
  transform: translate(45px, -8px) rotate(1.5deg) scale(.89);
  filter: saturate(.92) brightness(.99);
}

.model-visual-stack.is-live2d .model-visual-sheet.live2d {
  z-index: 3;
  transform: translate(-18px, 28px) rotate(-1.15deg) scale(.91);
  filter: none;
}

/* MODEL DETAIL：右側の情報エリア */
.model-detail-info {
  width: 330px;
  padding-top: 55px;
  text-align: left;
  transform: translateX(35px);
}

/* MODEL DETAIL：情報欄の区切り線 */
.model-detail-line {
  width: 100%;
  height: 1px;
  margin: 24px 0;
  background: rgba(196, 145, 138, 0.35);
}

/* MODEL DETAIL：販売ステータス */
.model-detail-status {
  display: inline-block;
  margin-top: 12px;
  padding: 9px 17px;

  border: 1px solid #a8cbd8;
  border-radius: 999px;

  background: #a8cbd8;
  color: #ffffff;

font-family: "Trebuchet MS", "Arial Rounded MT Bold", sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.20em;
line-height: 1;}

/* MODEL DETAIL：購入・問い合わせボタン */
.model-detail-contact {
  position: relative;
  z-index: 1;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: space-between;

  /* 左端だけ右へ寄せて、右端は今の位置をキープ */
  width: calc(100% - 55px);
  margin-left: 55px;
  box-sizing: border-box;

  margin-top: 30px;
  padding: 16px 20px;

  background: #171313;
  color: #ffffff;

  text-decoration: none;
  font-family: "Trebuchet MS", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter－spacing： 0.12em；
}

/* 右から入ってくる桜色 */
.model-detail-contact::before {
  content: "";
  position: absolute;
  z-index: -1;

  top: 0;
  right: 0;

  width: 100%;
  height: 100%;

  background: #e99aab;

  transform: scaleX(0);
  transform-origin: left center;

  transition: transform 0.45s cubic-bezier(.22, .61, .36, 1);
}

/* カーソルを合わせたとき */
.model-detail-contact:hover::before {
  transform: scaleX(1);
}

/* MODEL DETAIL：商品情報を2列に整える */
/* MODEL DETAIL：商品仕様 */
.model-detail-spec {
  margin: 0;
  padding: 8px 14px;

  background: rgba(233, 154, 171, 0.09);
}

/* 1項目ずつ */
.model-detail-spec > div {
  display: grid;
  grid-template-columns: 82px 1fr;
  column-gap: 18px;
  align-items: start;

  padding: 11px 4px;

  border-bottom: 1px solid rgba(196, 145, 138, 0.18);
}

/* 最後の項目には線を入れない */
.model-detail-spec > div:last-child {
  border-bottom: none;
}

/* 左右の文字 */
.model-detail-spec dt,
.model-detail-spec dd {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.8;
  font-weight: 500;
}
}

/* 左側：項目名 */
.model-detail-spec dt {
  color: #6f5b58;
  font-weight: 500;
  letter-spacing: 0.10em;
  white-space: nowrap;
}

/* 右側：内容 */
.model-detail-spec dd {
  color: #403634;
  letter-spacing: 0.06em;
}

/* 差分・同封内容などの複数行 */
.model-detail-spec dd span {
  display: block;
}

/* MODEL DETAIL：モデル紹介 */
.model-detail-info h1 {
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}

.model-detail-catch {
  margin: 0 0 14px;
  color: #9d6f72;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.10em;
}

.model-detail-description {
  margin: 0;
  color: #665957;
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.06em;
}

/* モデル紹介：文字サイズ最終調整 */
.model-detail-info h1 {
  font-size: 36px;
}

.model-detail-catch {
  font-size: 14px;
  font-weight: 600;
}

.model-detail-description {
  font-size: 13px;
  color: #554846;
}

/* MODEL DETAIL：左と中央を少し左へ調整 */
.model-detail-visual {
  transform: translateX(-50px);
}

.model-detail-info {
  transform: translateX(-7px);
}

/* MODEL DETAIL：右のモデルを少し右へ */
.model-detail-fullbody {
  transform: translateX(25px);
}

/* MODEL DETAIL：中央の商品情報を少し広げる */
.model-detail-info {
  width: 350px;
}

/* MODEL DETAIL：ぺらっとページめくり */

/* MODEL DETAIL：ポートフォリオカード切り替え */

/* 普段の紙 */
.model-visual-sheet {
  transition:
    transform 0.72s cubic-bezier(.22, .61, .36, 1),
    filter 0.5s ease,
    box-shadow 0.5s ease;

  transform-origin: center center;
  will-change: transform;
}

/* 手前の紙を、斜め下へすっと抜く */
.model-visual-stack.is-turning .model-visual-sheet.is-moving {
transform:
  translate(-105px, -52px)
  rotate(-2.5deg)
  scale(.92);

  box-shadow:
    0 14px 32px rgba(76, 57, 51, 0.08);

  filter: brightness(.99);
}

/* ========================================
   MODEL DETAIL : SHOWCASE
   左：動画 / 右：表情差分
======================================== */

.model-showcase {
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto;
  padding: 120px 0 110px;
}

.model-showcase-heading {
  margin-bottom: 45px;
}

.model-showcase-heading span {
  display: block;
  font-size: 11px;
  letter-spacing: 0.18em;
  color: #c9828f;
  margin-bottom: 12px;
}

.model-showcase-heading h2 {
  margin: 0;
  font-family: "Times New Roman", serif;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.model-showcase-heading p {
  margin-top: 10px;
  font-size: 10px;
  letter-spacing: 0.22em;
  color: #b78b91;
}

.model-showcase-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 42px;
  align-items: stretch;
}

.showcase-item {
  min-width: 0;
}

.showcase-placeholder {
  width: 100%;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(201, 130, 143, 0.28);
  background: rgba(255, 255, 255, 0.35);

  font-family: "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  color: #b78b91;
}

/* 表情差分画像を展示枠の中に収める */
.showcase-expressions .showcase-placeholder {
  overflow: hidden;
}

.showcase-expressions img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}

/* 表情差分：A4縦サイズ */
.showcase-expressions .showcase-placeholder {
  aspect-ratio: 210 / 297;
  min-height: 0;
}

.showcase-expressions img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* SHOWCASE動画：YouTube 16:9 */
.showcase-movie .showcase-placeholder {
  aspect-ratio: 16 / 9;
  min-height: 0;
}

/* SHOWCASE : YouTube */
.showcase-movie iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* SHOWCASE：動画だけ少し下げる */
.showcase-movie {
  margin-top: 40px;
}

.live2d-two {
  font-size: 1.08em;
}

/* ========================================
   MODEL DETAIL : MODEL SHEET
   三面図エリア
======================================== */

.model-sheet {
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto;
  padding: 20px 0 90px;
}

.model-sheet-heading {
  margin-bottom: 30px;
}

.model-sheet-heading span {
  display: block;
  font-size: 11px;
  letter-spacing: 0.18em;
  color: #c9828f;
  margin-bottom: 12px;
}

.model-sheet-heading h2 {
  margin: 0;
  font-family: "Times New Roman", serif;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.model-sheet-heading p {
  margin-top: 10px;
  font-size: 10px;
  letter-spacing: 0.22em;
  color: #b78b91;
}

/* ========================================
   MODEL DETAIL : MODEL DESIGN IMAGE
======================================== */

.model-sheet-gallery {
  width: 100%;
}

.model-sheet-image {
  width: 100%;
  display: flex;
  justify-content: center;
}

.model-sheet-image img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 820px;
  object-fit: contain;
}


/* ========================================
   MODEL DETAIL : BOTTOM NAVIGATION
======================================== */

.model-detail-bottom-nav {
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto;
  padding: 20px 0 100px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 左：CATALOGへ戻る */
.model-detail-back {
  color: #b78b91;
  font-family: "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.model-detail-back:hover {
  opacity: 0.55;
}

/* 右：購入・お問い合わせ */
.model-detail-bottom-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 18px 30px;

  background: #151110;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;

  transition: opacity 0.3s ease;
}

.model-detail-bottom-contact:hover {
  opacity: 0.75;
}

/* ========================================
   MODEL DETAIL : FOOTER
======================================== */

.model-detail-footer {
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto;
  padding: 0 0 45px;
}

.model-detail-footer::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: rgba(201, 130, 143, 0.35);
  margin-bottom: 18px;
}

.model-detail-footer-inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.model-detail-footer-brand {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.model-detail-footer-name {
  font-family: "Times New Roman", serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #554846;
}

.model-detail-footer-roman {
  font-family: "Times New Roman", serif;
  font-size: 8px;
  letter-spacing: 0.32em;
  color: #c9828f;
}

.model-detail-footer-copy {
  margin: 0;
  font-family: "Times New Roman", serif;
  font-size: 9px;
  letter-spacing: 0.16em;
  color: #b78b91;
}

/* ========================================
   MODEL DETAIL : BOTTOM CONTACT HOVER
======================================== */

.model-detail-bottom-contact {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.model-detail-bottom-contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e9a0ad;
  transform: translateX(-101%);
  transition: transform 0.45s cubic-bezier(.22, .61, .36, 1);
  z-index: -1;
}

.model-detail-bottom-contact:hover::before {
  transform: translateX(0);
}

/* ========================================
   MODEL DETAIL : SCROLL GUIDE
======================================== */

.model-detail-scroll {
  display: flex;
  width: fit-content;
  flex-direction: column;
  align-items: center;
  gap: 7px;

  font-family: "Times New Roman", serif;
  font-size: 9px;
  letter-spacing: 0.28em;
  color: rgba(201, 130, 143, 0.72);
  text-decoration: none;

  position: fixed;
  right: 70px;
  bottom: 48px;
  z-index: 100;
}
.model-detail-scroll-arrow {
  font-size: 15px;
  line-height: 1;
}

/* SCROLL GUIDE : ARROW MOTION */

.model-detail-scroll-arrow {
  display: block;
  animation: scrollArrow 1.8s ease-in-out infinite;
}

@keyframes scrollArrow {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.45;
  }

  50% {
    transform: translateY(6px);
    opacity: 0.9;
  }
}

/* SHOWCASE：YouTubeリンク */
.showcase-youtube-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  margin-left: 80px;

  color: #222;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-decoration: none;

  transition: color 0.35s ease;
}

/* 矢印 */
.showcase-youtube-arrow {
  display: inline-block;
  transform: scaleX(1.5);
  transform-origin: left center;
  transition: transform 0.4s ease;
}

/* ホバー */
.showcase-youtube-link:hover {
  color: #d9a3aa;
}

.showcase-youtube-link:hover .showcase-youtube-arrow {
  transform: translateX(10px) scaleX(3);
}