:root{--paper:#fbf8f4;--ink:#252222;--rose:#dba0a0;--serif:"Cormorant Garamond","Noto Serif JP",serif;--jp:"Noto Serif JP",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);letter-spacing:.08em}a{color:inherit;text-decoration:none}
.site-header{position:fixed;inset:0 0 auto 0;height:116px;z-index:20;pointer-events:none}
.brand-mark{position:absolute;left:42px;top:20px;width:190px;height:94px;pointer-events:auto;color:#5a4a46}.brand-line{position:absolute;height:1px;background:rgba(214,153,140,.72);top:26px}.brand-line-left{left:0;width:48px}.brand-line-right{right:4px;width:52px}.brand-flower{position:absolute;color:#d99a91;font-size:16px;line-height:1}.brand-flower-left{left:42px;top:10px}.brand-flower-right{right:22px;top:5px}.brand-ja{position:absolute;left:48px;top:19px;font-family:var(--jp);font-size:29px;letter-spacing:.12em;font-weight:500;background:linear-gradient(to bottom,#4a3e3b 15%,#d79d8a 95%);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}.brand-en{position:absolute;left:55px;top:57px;font-size:10px;letter-spacing:.34em;color:#6b5e59}.brand-tassel{display:none}
.global-nav{position:absolute;right:14vw;top:40vh;display:flex;flex-direction:column;gap:13px;align-items:flex-start;pointer-events:auto}.global-nav a{font-size:13px;letter-spacing:.18em;white-space:nowrap;transition:opacity .3s,transform .3s}.global-nav a span{display:inline-block;width:30px;color:var(--rose);font-size:11px}.global-nav a:hover{opacity:.58;transform:translateX(-4px)}.nav-digit{display:inline!important;width:auto!important;font-size:1.12em!important;color:inherit!important}.menu-toggle{display:none}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;padding:0 7vw;background:linear-gradient(180deg,#f8dedf 0%,#fbe9e8 10%,#fcf3ef 22%,var(--paper) 34%,var(--paper) 100%)}.hero-copy{position:relative;z-index:3;margin-left:18vw;margin-top:-2vh;min-width:0}.eyebrow{margin:0 0 27px;font-size:15px;letter-spacing:.25em;color:#252222;font-weight:500;white-space:nowrap}.eyebrow-digit{font-size:1em;display:inline;font-family:inherit;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;}
.hero h1{margin:0;padding-bottom:.22em;font-family:var(--jp);font-size:clamp(100px,10.2vw,175px);font-weight:500;line-height:1.0;white-space:nowrap;overflow:visible;letter-spacing:-.06em;background:linear-gradient(to bottom,#242222 8%,#5a4a46 42%,#d69c82 76%,#e4b1a0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-en{margin:31px 0 0;font-size:23px;letter-spacing:.48em;color:#242222;text-align:left}
.hero-ornament{position:absolute;left:51vw;top:43%;width:330px;height:145px;z-index:2;opacity:.9}.hero-ornament svg{width:100%;height:100%;overflow:visible}.orn-line,.tassel-cord{fill:none;stroke:#d9a18f;stroke-width:1.2}.orn-line.thin{stroke-width:.8;opacity:.65}.orn-flower{fill:none;stroke:#d69c8a;stroke-width:1.1}.orn-flower circle{fill:#d69c8a;stroke:none}.tassel-knot,.tassel-fringe{fill:none;stroke:#d69c8a;stroke-width:1}.hero-ring{position:absolute;border:1px solid rgba(216,160,150,.42);border-radius:50%;z-index:1}.ring-one,.ring-two{display:none}.floating-petal{position:absolute;width:10px;height:17px;border-radius:70% 25% 70% 25%;background:linear-gradient(145deg,rgba(237,185,179,.9),rgba(214,148,143,.52));opacity:.72;transform-origin:center bottom}.petal-one{left:47%;top:25%;transform:rotate(42deg)}.petal-two{right:16%;bottom:28%;transform:rotate(115deg)}.petal-three{left:16%;bottom:23%;width:8px;height:14px;transform:rotate(-35deg)}.petal-four{right:31%;top:18%;width:7px;height:12px;transform:rotate(65deg)}.fine-rule{position:absolute;right:6.5vw;top:18vh;height:66vh;width:1px;background:linear-gradient(transparent,rgba(216,160,150,.35),transparent)}
.section{padding:150px 8vw;position:relative}.works-section{padding-top:130px}.section-heading{display:flex;gap:25px;align-items:flex-start;margin-bottom:55px}.section-number{margin:2px 0 0;color:var(--rose);font-size:14px}.section-kicker{margin:0 0 8px;color:#a49a97;font-size:11px;letter-spacing:.25em}.section h2{margin:0;font-size:52px;font-weight:500;letter-spacing:.12em}.category-nav{display:flex;gap:26px;margin-bottom:36px}.category-button{display:inline-block;border:0;background:none;color:#928987;padding:0 0 6px;letter-spacing:.18em;font-size:12px;cursor:pointer;border-bottom:1px solid transparent}.category-button.is-active{color:var(--ink);border-color:#dba0a0}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.work-card{display:block}.work-image{position:relative;overflow:hidden;background:#f0ebe7}.work-image img{width:100%;height:auto;display:block;transition:transform .55s ease}.work-image:after{content:"VIEW →";position:absolute;inset:0;display:grid;place-items:center;background:rgba(232,176,171,.47);color:#fff;letter-spacing:.25em;font-size:12px;opacity:0;transition:opacity .35s ease}.work-card:hover .work-image:after{opacity:1}.work-card:hover .work-image img{transform:scale(1.025)}.work-meta{display:flex;justify-content:space-between;padding-top:12px;font-size:11px;letter-spacing:.14em}.work-meta span:last-child{color:#a49a97}.placeholder{aspect-ratio:4/5;display:grid;place-items:center;background:linear-gradient(135deg,#f1ece8,#f8f4f0);color:#b9afac;font-size:10px;letter-spacing:.25em}.is-coming{opacity:.7}.simple-section{border-top:1px solid rgba(80,60,55,.08)}.intro-grid,.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw}.large-copy{font-size:32px;line-height:1.45;letter-spacing:.08em;margin:0}.body-copy{font-family:var(--jp);font-size:14px;line-height:2.1;letter-spacing:.1em;color:#756d69;margin:0}.about-name{font-family:var(--jp);font-size:30px;margin:0 0 10px}.about-role{color:#8c817e;font-size:12px;letter-spacing:.2em}.contact-section{padding-bottom:120px}.contact-link{display:inline-block;margin-top:35px;font-size:25px;border-bottom:1px solid #cfa39a;padding-bottom:8px}.site-footer{display:flex;justify-content:space-between;padding:28px 8vw;border-top:1px solid rgba(80,60,55,.08);font-size:10px;color:#9a918e;letter-spacing:.18em}
@media(max-width:900px){.site-header{height:88px}.brand-mark{left:20px;top:14px;transform:scale(.78);transform-origin:left top}.menu-toggle{display:block;position:absolute;right:24px;top:26px;border:0;background:none;color:#4e4644;letter-spacing:.18em;font-size:11px;pointer-events:auto}.global-nav{display:none;right:20px;top:70px;padding:20px 18px;background:rgba(251,248,244,.96);border:1px solid rgba(200,160,150,.25)}.global-nav.is-open{display:flex}.hero{padding:0 9vw;align-items:center}.hero-copy{margin-left:0;margin-top:-8vh}.eyebrow-digit{font-size:1em;display:inline;font-family:inherit;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;}
.hero h1{font-size:24vw}.eyebrow{font-size:10px;margin-bottom:20px}.hero-en{font-size:16px;margin-top:24px}.hero-ornament{left:31vw;top:56%;width:270px}.ring-one,.ring-two{display:none}.fine-rule{right:9vw;top:24vh;height:58vh}.section{padding:100px 8vw}.gallery{grid-template-columns:1fr 1fr;gap:22px}.intro-grid,.about-grid{grid-template-columns:1fr;gap:32px}}
@media(max-width:560px){.gallery{grid-template-columns:1fr}.hero{min-height:90vh}.hero-ornament{left:23vw;top:60%;width:240px}.global-nav{top:68px}.section h2{font-size:38px}.large-copy{font-size:25px}.site-footer{flex-direction:column;gap:10px}}

/* Use Cormorant Garamond lining numeral for the 2 in LIVE2D, at exactly the same size as the surrounding letters. */
.global-nav .live2d-two{display:inline!important;width:auto!important;color:inherit!important;font-family:inherit!important;font-size:1em!important;line-height:inherit!important;letter-spacing:inherit!important;vertical-align:baseline!important;transform:none!important;font-variant-numeric:lining-nums!important;font-feature-settings:"lnum" 1!important;}


/* v12 — Illustration gallery polish */
/* Keep artwork unobstructed on illustration/category pages. The logo remains as the way back home. */
.illustration-page .global-nav{display:none!important}

/* Natural-ratio gallery: portrait, square and landscape work all keep their original proportions. */
.illustration-page .gallery{align-items:start;gap:46px 34px}
.illustration-page .work-card{min-width:0;transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.illustration-page .work-image{background:#f4efeb;isolation:isolate}
.illustration-page .work-image img{width:100%;height:auto;display:block;object-fit:contain;transform:scale(1);transition:transform .65s cubic-bezier(.22,.61,.36,1),filter .45s ease}

/* Soft sakura veil + two-line gallery label on hover. */
.illustration-page .work-image:after{content:"";position:absolute;inset:0;background:rgba(229,170,170,.30);opacity:0;transition:opacity .42s ease;z-index:1}
.illustration-page .work-image:before{content:attr(data-view) "\A" attr(data-type);white-space:pre;position:absolute;left:50%;top:50%;transform:translate(-50%,-44%);z-index:2;color:#fff;text-align:center;font-size:12px;line-height:2.15;letter-spacing:.24em;text-shadow:0 1px 12px rgba(77,52,50,.18);opacity:0;transition:opacity .38s ease,transform .48s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.illustration-page .work-card:hover{transform:translateY(-3px)}
.illustration-page .work-card:hover .work-image:after{opacity:1}
.illustration-page .work-card:hover .work-image:before{opacity:1;transform:translate(-50%,-50%)}
.illustration-page .work-card:hover .work-image img{transform:scale(1.018);filter:saturate(.96) brightness(.98)}
.illustration-page .work-meta{transition:opacity .35s ease}
.illustration-page .work-card:hover .work-meta{opacity:.72}

@media (hover:none){
  .illustration-page .work-card:hover{transform:none}
  .illustration-page .work-card:hover .work-image img{transform:none;filter:none}
  .illustration-page .work-image:before,.illustration-page .work-image:after{display:none}
}
@media(max-width:900px){.illustration-page .gallery{gap:34px 22px}}
@media(max-width:560px){.illustration-page .gallery{gap:38px}.illustration-page .work-meta{padding-top:10px}}

/* v16 — Unified gallery showcase frames
   Keep every artwork uncropped while aligning card bottoms across mixed aspect ratios. */
.illustration-page .work-image{
  aspect-ratio:4 / 5;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8f4f1;
}
.illustration-page .work-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
@media(max-width:900px){
  .illustration-page .work-image{aspect-ratio:4 / 5}
}
@media(max-width:560px){
  .illustration-page .work-image{aspect-ratio:auto;min-height:0}
  .illustration-page .work-image img{width:100%;height:auto}
}

/* v17 — Editorial middle-ground gallery
   Keep the clean three-column rhythm, but let each artwork breathe at a more natural scale. */
.illustration-page .gallery{align-items:start;gap:46px 34px}
.illustration-page .work-image{
  aspect-ratio:auto;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  background:#f8f4f1;
}
.illustration-page .work-image img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center top;
}
/* Extremely tall standing artwork: keep the full figure, but cap the gallery height
   so it stays prominent without making the entire first row excessively long. */
.illustration-page .work-card:first-child .work-image{
  height:clamp(560px,66vw,760px);
  align-items:center;
}
.illustration-page .work-card:first-child .work-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
@media(max-width:900px){
  .illustration-page .work-card:first-child .work-image{height:clamp(480px,92vw,680px)}
}
@media(max-width:560px){
  .illustration-page .work-card:first-child .work-image{height:auto}
  .illustration-page .work-card:first-child .work-image img{width:100%;height:auto}
}


[hidden] {
  display: none !important;
}

.live2d-heading-two {
  font-family: "Times New Roman", serif !important;
  font-size: 0.90em !important;
  font-weight: 400 !important;
  vertical-align: 0;
}

.illustration-page .section-heading h2 {
  font-size: 52px !important;
}

/* TOP — Live2D works entrance */
.top-live2d-entry{display:flex;align-items:center;justify-content:space-between;width:min(390px,100%);margin-top:42px;padding:14px 0 12px;border-top:1px solid rgba(219,160,160,.55);border-bottom:1px solid rgba(80,60,55,.10);color:#6f6562;font-size:11px;letter-spacing:.22em;transition:color .3s ease,padding-left .3s ease}
.top-live2d-arrow{color:var(--rose);font-size:15px;transition:transform .3s ease}
.top-live2d-entry:hover{color:var(--ink);padding-left:5px}
.top-live2d-entry:hover .top-live2d-arrow{transform:translateX(5px)}
@media(max-width:900px){.top-live2d-entry{margin-top:30px}}

/* TOP — Live2D featured work */
.top-live2d-section{padding-top:150px;padding-bottom:150px}
.top-live2d-heading{margin-bottom:44px}
.top-live2d-heading h2{line-height:1}
.top-live2d-two,.top-live2d-inline-two{display:inline!important;width:auto!important;color:inherit!important;font-family:inherit!important;font-size:1em!important;line-height:inherit!important;letter-spacing:inherit!important;vertical-align:baseline!important;font-weight:inherit!important;transform:none!important;font-variant-numeric:lining-nums!important;font-feature-settings:"lnum" 1!important}
.top-live2d-subtitle{margin:15px 0 0;color:#8c817e;font-size:13px;line-height:1.5;letter-spacing:.16em}
.top-live2d-feature{display:block;width:min(390px,34vw);margin-left:39px}
.top-live2d-image{position:relative;overflow:hidden;background:#f4efeb;isolation:isolate}
.top-live2d-image img{display:block;width:100%;height:auto;transform:scale(1);transition:transform .65s cubic-bezier(.22,.61,.36,1),filter .45s ease}
.top-live2d-image::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(229,170,170,.30);opacity:0;transition:opacity .42s ease;pointer-events:none}
.top-live2d-image::before{content:attr(data-view) "\\A" attr(data-type);white-space:pre;position:absolute;left:50%;top:50%;transform:translate(-50%,-44%);z-index:2;color:#fff;text-align:center;font-size:12px;line-height:2.15;letter-spacing:.24em;text-shadow:0 1px 12px rgba(77,52,50,.18);opacity:0;transition:opacity .38s ease,transform .48s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.top-live2d-link{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:13px 0 11px;border-top:1px solid rgba(219,160,160,.55);border-bottom:1px solid rgba(80,60,55,.10);color:#6f6562;font-size:11px;letter-spacing:.22em}
.top-live2d-feature:hover .top-live2d-image::after{opacity:1}
.top-live2d-feature:hover .top-live2d-image::before{opacity:1;transform:translate(-50%,-50%)}
.top-live2d-feature:hover .top-live2d-image img{transform:scale(1.018);filter:saturate(.96) brightness(.98)}
.top-live2d-feature:hover .top-live2d-arrow{transform:translateX(5px)}
@media(max-width:900px){.top-live2d-feature{width:min(390px,62vw);margin-left:39px}}
@media(max-width:560px){.top-live2d-feature{width:100%;margin-left:0}.top-live2d-subtitle{font-size:11px}}
@media (hover:none){.top-live2d-image::before,.top-live2d-image::after{display:none}.top-live2d-feature:hover .top-live2d-image img{transform:none;filter:none}}

/* =========================
   TOP - MODEL CATALOG
========================= */

.model-catalog-home {
  display: grid;
  grid-template-columns: 34% 66%;
  align-items: center;
  gap: 50px;
  width: min(1600px, calc(100% - 40px));
  margin: 0 auto;
  padding: 70px 0;
  position: relative;
}

.model-catalog-home::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 1px;
    background: rgba(80, 60, 55, .08);
    transform: translateX(-50%);
}

.model-catalog-home-text {
  position: relative;
}

.intro-live2d-two {
    display: inline-block;
    font-size: 1.55em;
    line-height: 1;
    vertical-align: baseline;
    transform: translateY(-0.5px);
}

.model-catalog-basic-set {
    margin-top: 30px;
}

.basic-set-title {
    margin: 0 0 6px;
    font-family: "Trebuchet MS", sans-serif;
    font-size: 11px;
    letter-spacing: .22em;
    color: #cf8f9a;
}

.basic-set-text {
    margin: 0;
    font-size: 14px;
    letter-spacing: .04em;
}

.model-catalog-home-status {
    margin-top: 32px;
    width: 350px;
    padding: 28px 22px;
    border: 1px solid #e7b5b5;
    box-sizing: border-box;
}

.model-catalog-home-status p {
    display: grid;
    grid-template-columns: 125px 32px 1fr;
    align-items: center;
    column-gap: 10px;
    margin: 10px 0;
}

.model-catalog-home-status .status-line {
    display: block;
    width: 32px;
    height: 1px;
    background: #e7b5b5;
}
.model-catalog-home-status span {
    font-family: "Trebuchet MS", sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .14em;
}

.model-catalog-home-status span.status-coming {
    color: #9DBFCB;
}

.model-catalog-home-status span.status-available {
    color: #E9688C;
}

.model-catalog-home-status span.status-sold {
    color: #AAA19D;
}

.model-catalog-home-status em {
    font-style: normal;
    margin-left: 0px;
    padding-left: 0px;
    border-left: none;
}

.model-catalog-home-link {
    display: inline-block;
    margin-top: 28px;
    color: inherit;
    text-decoration: none;
    transition: color .3s ease, transform .3s ease;
}

.model-catalog-home-link:hover {
    color: #d9a3aa;
    transform: translateX(5px);
}
.model-catalog-home-models {
    min-width: 0;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

/* MODEL CATALOG - model card */

.home-model-card {
  display: block;
  width: 210px;
  text-decoration: none;
  color: inherit;
  position: relative;
}

.home-model-image {
  width: 100%;
  height: 780px;
  overflow: hidden;
  background: #f5e8e6;
  position: relative;


  /* 左右は真っすぐ、上下だけ斜め */
  clip-path: polygon(
    0 8%,
    100% 0,
    100% 92%,
    0 100%
  );
}

.home-model-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(231, 181, 181, 0.18);
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
}

.home-model-card:hover .home-model-image::after {
    opacity: 1;
}

.home-model-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;

transform: scale(3.20) translateY(-21%);
transform-origin: center top;
transition: filter .35s ease;
}

.home-model-card:hover .home-model-image img {
    filter: brightness(1.03);
}


.home-model-info {
    position: absolute;
    bottom: 100px;
    left: 50%;
    width: 180px;
    padding: 10px 8px;
    box-sizing: border-box;
    text-align: center;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.82);
}}

.home-model-status {
    display: block !important;
    width: 150px;
    margin-left: auto;
    margin-right: auto;
    padding: 7px 0;
    box-sizing: border-box;
    font-size: 10px;
    letter-spacing: .16em;
    text-align: center;
    white-space: nowrap;
}
.home-model-status.available {
    background: #d9a3aa;
    color: #fff;
    display: block !important;
    width: 150px !important;
    white-space: nowrap !important;
}

.home-model-status.coming {
    background: #a9cbd8;
    color: #fff;
    display: block !important;
    width: 150px !important;
    white-space: nowrap !important;
}

.home-model-status.sold {
    background: #aaa19d;
    color: #fff;
    display: block !important;
    width: 150px !important;
    white-space: nowrap !important;
}

.home-model-number {
  display: block;
  margin-top: 10px;
  font-size: 11px;
  letter-spacing: .18em;
}


/* ABOUT - Sakura profile icon */
.about-grid {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 65px;
  align-items: center;
}

.about-icon {
  width: 240px;
  aspect-ratio: 1;
  position: relative;
  background: linear-gradient(135deg, #fff3f5, #e9b8c8);
  clip-path: polygon(
    50% 17%, 59% 4%, 73% 3%, 84% 13%,
    83% 29%, 98% 35%, 100% 51%,
    89% 65%, 94% 81%, 84% 94%,
    66% 93%, 50% 100%, 34% 93%,
    16% 94%, 6% 81%, 11% 65%,
    0% 51%, 2% 35%, 17% 29%,
    16% 13%, 27% 3%, 41% 4%
  );
}

.about-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 700px) {
  .about-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .about-icon {
    width: 200px;
    margin: 0 auto;
  }
}

/* ABOUT - Hide placeholder image */

/* ABOUT - Rounded sakura shape */
.about-icon {
  clip-path: shape(
     );
}

/* ABOUT - Smooth sakura silhouette */
.about-icon {
  clip-path: polygon(
    50% 13%, 57% 6%, 67% 3%, 77% 7%,
    84% 17%, 83% 29%, 91% 32%,
    98% 42%, 98% 54%, 92% 65%,
    83% 69%, 86% 79%, 82% 89%,
    73% 95%, 61% 92%, 50% 85%,
    39% 92%, 27% 95%, 18% 89%,
    14% 79%, 17% 69%, 8% 65%,
    2% 54%, 2% 42%, 9% 32%,
    17% 29%, 16% 17%, 23% 7%,
    33% 3%, 43% 6%
  );
}


/* ABOUT - SVG sakura clipping */
.about-icon {
  clip-path: url(#sakura-clip);
}


/* ABOUT - Catch copy layout */
#about {
  position: relative;
}

#about .about-catch {
  position: absolute;
  top: 125px;
  left: 32%;
  margin: 0;
  font-size: clamp(20px, 2.2vw, 34px);
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: #29252a;
  font-weight: 400;
}

#about .about-catch span {
  color: #d99da9;
}

@media (max-width: 700px) {
  #about .about-catch {
    position: static;
    margin: 20px 0 35px;
    font-size: 22px;
  }
}


/* ABOUT - Profile name */
#about .about-name {
  display: flex;
  align-items: baseline;
  gap: 22px;
  margin: 0 0 12px;
  font-size: 42px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.5;
}

#about .about-name-en {
  font-size: 17px;
  letter-spacing: 0.35em;
  color: #8b7278;
  font-weight: 400;
}

#about .about-role {
  margin: 0 0 30px;
  font-size: 13px;
  letter-spacing: 0.25em;
}

@media (max-width: 700px) {
  #about .about-name {
    font-size: 32px;
    gap: 12px;
  }

  #about .about-name-en {
    font-size: 13px;
  }
}


/* ABOUT - Specialties */
#about .about-specialties {
  margin-top: 90px;
}

#about .about-specialties-heading {
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 35px;
}

#about .about-specialties-heading span:first-child {
  font-size: 20px;
  letter-spacing: 0.18em;
  color: #29252a;
}

#about .about-specialties-heading span:last-child {
  font-size: 12px;
  color: #a78b94;
}

#about .about-specialties-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 65px;
  row-gap: 40px;
}

@media (max-width: 700px) {
  #about .about-specialties {
    margin-top: 55px;
  }

  #about .about-specialties-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* ABOUT - Specialties width adjustment */
#about .about-specialties {
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}

/* ABOUT - Specialties divider */
#about .about-specialty {
  border-top: 1px solid rgba(205, 151, 160, 0.45);
  padding-top: 20px;
}

/* ABOUT - Specialties typography */
#about .about-specialty h3 {
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #29252a;
}

#about .about-specialty-ja {
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #493b40;
}

#about .about-specialty-detail {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.06em;
  color: #9b858b;
}

#about .about-specialty-number {
  font-size: 11px;
  letter-spacing: 0.15em;
  color: #d39aa6;
}

/* ABOUT - Specialties note */
#about .about-specialties-note {
  margin-top: 42px;
  font-size: 12px;
  line-height: 2.2;
  letter-spacing: 0.08em;
  color: #8b7278;
}

/* ABOUT - Specialties heading background */
#about .about-specialties-heading {
  display: flex;
  align-items: baseline;
  gap: 20px;
  width: fit-content;
  max-width: 100%;
  padding: 12px 28px;
  margin-bottom: 35px;
  background: linear-gradient(
    90deg,
    rgba(247, 218, 226, 0.65),
    rgba(255, 245, 247, 0.15)
  );
}

/* ABOUT - LIVE2D heading adjustment */
#about .about-specialty h3 {
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

/* ABOUT - Live2D numbers in descriptions */
#about .about-specialty-ja,
#about .about-specialty-detail {
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}


/* ABOUT - Profile text readability */
#about .about-profile .body-copy {
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  color: #796b70;
}

/* ABOUT - Specialties detail readability */
#about .about-specialty-detail {
  font-size: 13px;
  line-height: 1.9;
 color: #ad858e;
}

/* COMMISSION - Navigation Links */

#commission .commission-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 1100px;
  margin: 42px auto 0;
}

#commission .commission-links a {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 22px 30px;
  border: 1px solid #e9c7d0;
  background: rgba(255, 250, 251, 0.75);
  color: #332d30;
  text-decoration: none;
  font-size: 19px;
  letter-spacing: 0.12em;
  transition: background 0.3s ease,
              border-color 0.3s ease,
              transform 0.3s ease;
}

#commission .commission-links a span {
  font-size: 12px;
  letter-spacing: 0.06em;
  color: #a7838e;
}

#commission .commission-links a:hover {
  background: #fcecf0;
  border-color: #dba9b8;
  transform: translateX(5px);
}

/* COMMISSION - Background */

#commission {
  background: linear-gradient(
    180deg,
    #fff1f4 0%,
    #fff8f9 45%,
    #ffffff 100%
  );
}

/* COMMISSION - Sakura Petals */

#commission {
  position: relative;
  overflow: hidden;
}

#commission .commission-petals {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

#commission .commission-petal {
  position: absolute;
  display: block;
  width: 22px;
  height: 28px;
  border-radius: 70% 25% 70% 25%;
  background: linear-gradient(
    145deg,
    #e9a9b8,
    #f8dce3
  );
  opacity: 0.55;
  transform: rotate(25deg);
}

#commission .petal-1 {
  top: 12%;
  right: 13%;
  transform: rotate(30deg);
}

#commission .petal-2 {
  top: 24%;
  right: 8%;
  width: 15px;
  height: 20px;
  transform: rotate(-35deg);
}

#commission .petal-3 {
  top: 38%;
  right: 18%;
  width: 11px;
  height: 15px;
  transform: rotate(65deg);
}

#commission > :not(.commission-petals) {
  position: relative;
  z-index: 1;
}

/* COMMISSION - Sakura Flowers */

#commission .commission-flowers {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

#commission .commission-flower {
  position: absolute;
  display: block;
  width: 70px;
  height: 70px;
  background: #f5cbd5;
  opacity: 0.65;
border-radius: 50%;
}

#commission .flower-left {
  left: 4%;
  bottom: 14%;
  width: 95px;
  height: 95px;
  transform: rotate(-15deg);
}

#commission .flower-right {
  right: 5%;
  top: 8%;
  width: 75px;
  height: 75px;
  transform: rotate(20deg);
}

/* COMMISSION - Logo Style Sakura */

#commission .commission-flower {
  background: none;
  clip-path: none;
  border-radius: 0;
  color: #d99a91;
  font-family: serif;
  font-size: 90px;
  line-height: 1;
  opacity: 0.65;
  width: auto;
  height: auto;
}

#commission .flower-left {
  left: 3%;
  bottom: 10%;
}

/* COMMISSION - Small Sakura Flower */

#commission .flower-left-small {
  left: 6%;
  bottom: 19%;
  font-size: 55px;
  opacity: 0.5;
  transform: rotate(25deg);
}

/* COMMISSION - Small Sakura Flower (Right) */

#commission .flower-right-small {
  right: 9%;
  top: 17%;
  font-size: 52px;
  opacity: 0.48;
  transform: rotate(-20deg);
}

/* ABOUT と COMMISSION の仕切り線 */

#commission {
  border-top: 1px solid rgba(217, 165, 170, 0.35);
}

/* =========================
   FLOW PAGE - TABS
========================= */

.flow-tabs {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 60px auto 80px;
}

.flow-tab {
  appearance: none;
  border: none;
  border-bottom: 1px solid #d8d0d0;
  background: transparent;
  padding: 14px 28px;
  color: #888;
  font: inherit;
  font-size: 15px;
  letter-spacing: 0.15em;
  cursor: pointer;
  transition: color 0.3s ease, border-color 0.3s ease;
}

.flow-tab:hover {
  color: #c58b9d;
  border-color: #e8b7c5;
}

.flow-tab.active {
  color: #222;
  border-bottom: 2px solid #d9a0b0;
}

@media (max-width: 600px) {
  .flow-tabs {
    gap: 12px;
    margin: 40px auto 60px;
  }

  .flow-tab {
    padding: 12px 10px;
    font-size: 12px;
    letter-spacing: 0.08em;
  }
}
/* FLOW - LIVE2D 数字の調整 */
.flow-digit-two {
  font-family: Arial, sans-serif;
  font-size: 0.9em;
  font-weight: 400;
}
/* =========================
   FLOW PAGE - HEADER
========================= */

.flow-page .commission-hero {
  padding: 100px 8% 40px;
  margin: 0;
  box-sizing: border-box;
}

.flow-page .commission-hero h1 {
  margin: 20px 0;
}

.flow-page .commission-hero p {
  margin-left: 0;
}
/* =========================
   FLOW PAGE - STEPS
========================= */

.flow-page .flow-content {
  max-width: 900px;
  margin: 0 auto 120px;
  padding: 0 30px;
  box-sizing: border-box;
}

.flow-page .flow-content > h2 {
  text-align: center;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.18em;
  margin: 0 0 12px;
}

.flow-page .live2d-number {
  font-family: "Bodoni MT", "Times New Roman", serif;
  font-size: 1.0em;
  font-weight: 400;
  letter-spacing: 0;
  vertical-align: baseline;
}

.flow-page .flow-step-description .live2d-number {
  font-size: 1em;
  color: inherit;
  line-height: inherit;
}

.flow-page .flow-content > p {
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.12em;
  color: #a58d94;
  margin-bottom: 65px;
}

.flow-page .flow-steps {
  display: flex;
  flex-direction: column;
}

.flow-page .flow-step {
  display: grid;
  grid-template-columns: 100px 1fr;
  column-gap: 30px;
  align-items: center;
  padding: 32px 15px;
  border-bottom: 1px solid #ead5db;
}

.flow-page .flow-step:first-child {
  border-top: 1px solid #ead5db;
}

.flow-page .flow-step span {
  grid-row: span 2;
  font-size: 38px;
  font-weight: 400;
  color: #d6a0ae;
}

.flow-page .flow-step h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.16em;
}

.flow-page .flow-step p {
  margin: 0;
  font-size: 13px;
  color: #777;
  letter-spacing: 0.08em;
}

@media (max-width: 600px) {
  .flow-page .flow-step {
    grid-template-columns: 65px 1fr;
    column-gap: 15px;
    padding: 25px 5px;
  }

  .flow-page .flow-step span {
    font-size: 29px;
  }

  .flow-page .flow-step h3 {
    font-size: 15px;
  }
}
/* =========================
   FLOW PAGE - DESCRIPTION
========================= */

.flow-page .flow-step {
  grid-template-columns: 100px 220px 1fr;
  column-gap: 30px;
}

.flow-page .flow-step span {
  grid-row: auto;
}

.flow-page .flow-step-title h3 {
  margin: 0 0 8px;
}

.flow-page .flow-step-title p {
  margin: 0;
}

.flow-page .flow-step-description {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.06em;
  color: #777;
}

/* スマホでは縦並びに */
@media (max-width: 600px) {
  .flow-page .flow-step {
    grid-template-columns: 55px 1fr;
    column-gap: 15px;
  }

  .flow-page .flow-step-description {
    grid-column: 2;
    margin-top: 12px;
  }
}

.site-footer .live2d-number {
  font-family: "Bodoni MT", "Times New Roman", serif;
  font-size: 1em;
  font-weight: 400;
  color: inherit;
  letter-spacing: 0;
  vertical-align: baseline;
}

/* FLOW：モデリングのみの補足文 */
.flow-note {
  margin-top: 18px;
  margin-bottom: 32px;
  font-size: 12px;
  line-height: 1.9;
  color: #a58b94;
  letter-spacing: 0.04em;
}

/* LIVE2D：副題と補足文の余白調整 */
.flow-page #flow-live2d > p:not(.flow-note) {
  margin-bottom: 18px;
}

/* LIVE2D：モデリングのみの補足文 */
.flow-page #flow-live2d > .flow-note {
  max-width: 720px;
  margin: 0 auto 38px;
  font-size: 12px;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #a58b94;
  text-align: center;
}

/* FLOWページ：右側メニューを非表示 */
body:has(.flow-page) .global-nav {
  display: none;
}

/* FLOW：最後のお問い合わせ案内 */
.flow-page .flow-contact-note {
  margin: 48px auto 0;
  padding: 0 15px;
  text-align: center;
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 0.08em;
  color: #a58d94;
}

/* =========================
   PRICE PAGE - HEADER
========================= */

.price-page .commission-hero {
background: linear-gradient(
  to right,
  #3B3435 0%,
  #3B3435 10%,
  rgba(59, 52, 53, 0.45) 20%,
  rgba(59, 52, 53, 0.12) 30%,
  rgba(59, 52, 53, 0) 42%
);

  padding: 12px 70px;
margin: 110px 0 70px;
width: 100%;
  box-sizing: border-box;
}

.price-page .commission-hero h1 {
  color: #ffffff;
  margin: 12px 0;
}

.price-page .commission-hero p {
  color: #f2e8eb;
}

.price-page .commission-hero .commission-number {
  color: #eab5c2;
}

/* =========================
   PRICE PAGE - LIST
========================= */

.price-page .price-list {
  max-width: 1000px;
  margin: 55px auto 80px;
}

.price-page .price-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 22px 12px;
  border-bottom: 1px solid #e8cbd2;
}

.price-page .price-item:first-child {
  border-top: 1px solid #e8cbd2;
}

.price-page .price-item h3 {
  margin: 0 0 8px;
  color: #514b4c;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 0.12em;
}

.price-page .price-item p {
  margin: 0;
  color: #827a7c;
  font-size: 13px;
}

.price-page .price-item > span {
  color: #c57d91;
  font-size: 19px;
  white-space: nowrap;
}

/* =========================
   PRICE PAGE - TWO COLUMNS
========================= */

.price-page .price-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 45px;
  max-width: 1100px;
  margin: 50px auto 90px;
  align-items: start;
}

.price-page .price-columns .price-list {
  width: 100%;
  margin: 0;
  min-width: 0;
}

.price-page .price-options {
  border: 1px solid #e8cbd2;
  padding: 30px;
  box-sizing: border-box;
  min-width: 0;
}

.price-page .price-options > h3 {
  color: #c57d91;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.15em;
  margin: 0 0 8px;
}

.price-page .price-options-subtitle {
  color: #827a7c;
  font-size: 13px;
  margin: 0 0 25px;
}

/* =========================
   PRICE PAGE - THREE VIEW
========================= */

.price-page .price-threeview {
  border-top: 1px solid #e8cbd2;
  border-bottom: 1px solid #e8cbd2;
  padding: 22px 12px;
}

.price-page .price-threeview-heading {
  margin-bottom: 22px;
}

.price-page .price-threeview-heading h3 {
  margin: 0 0 8px;
  color: #514b4c;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 0.12em;
}

.price-page .price-threeview-heading p {
  margin: 0;
  color: #827a7c;
  font-size: 13px;
}

.price-page .price-threeview-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 13px 0 13px 18px;
  border-top: 1px solid #eee2e5;
}

.price-page .price-threeview-item h4 {
  margin: 0 0 5px;
  color: #514b4c;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.price-page .price-threeview-item p {
  margin: 0;
  color: #827a7c;
  font-size: 12px;
}

.price-page .price-threeview-item > span {
  color: #c57d91;
  font-size: 17px;
  white-space: nowrap;
}

.price-page .price-option-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 18px 0;
  border-bottom: 1px solid #eadde0;
  font-size: 13px;
  color: #514b4c;
}

.price-page .price-option-item strong {
  color: #c57d91;
  font-size: 14px;
  font-weight: 400;
  white-space: nowrap;
}

/* スマホでは縦並び */
@media (max-width: 768px) {
    .price-page .price-columns {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}
/* PRICE：注意事項の本文を読みやすくする */

.price-page .price-information-block > p:not(.price-information-subtitle) {
  font-family: "Yu Gothic", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  color: #514b4c;
}

/* PRICE：注意事項の本文を読みやすくする */
.price-page .price-information-block > p:not(.price-information-subtitle) {
    font-family: Arial, "Meiryo", sans-serif !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.02em;
    color: #514b4c;
}

/* PRICE：数字を読みやすく */
.price-page .price-number {
    font-family: Arial, sans-serif;
    font-size: 14px !important;
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* LIVE2D セット料金 */

.price-page .live2d-set-price {
  max-width: 900px;
  margin: 65px auto 80px;
  padding: 30px 0;
  border-top: 1px solid #e9bfc9;
  border-bottom: 1px solid #e9bfc9;
  text-align: center;
}

.price-page .live2d-set-price h3 {
  font-size: 19px;
  font-weight: 400;
  letter-spacing: 0.16em;
}

.price-page .live2d-set-price > p {
  font-size: 13px;
  margin-top: 12px;
}

.price-page .live2d-set-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 35px 0;
}

.price-page .live2d-set-list > div {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.price-page .live2d-set-list span {
  font-size: 14px;
  letter-spacing: 0.12em;
}

.price-page .live2d-set-list strong {
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #c57d91;
}

.price-page .live2d-set-price .live2d-set-note {
  font-size: 12px;
  line-height: 1.8;
}

@media (max-width: 600px) {
  .price-page .live2d-set-list {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* LIVE2D 追加オプション */

.price-page .live2d-extra-options {
  max-width: 900px;
  margin: 0 auto 80px;
  padding: 35px 45px;
  border: 1px solid #e9bfc9;
  box-sizing: border-box;
}

.price-page .live2d-extra-options h3 {
  font-size: 19px;
  font-weight: 400;
  letter-spacing: 0.15em;
  color: #c57d91;
  margin: 0;
}

.price-page .live2d-extra-subtitle {
  font-size: 13px;
  margin: 12px 0 30px;
}

.price-page .live2d-extra-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 17px 0;
  border-bottom: 1px solid #eadde0;
  font-size: 13px;
}

.price-page .live2d-extra-item strong {
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #c57d91;
  white-space: nowrap;
}

.price-page .live2d-extra-note {
  font-size: 12px;
  line-height: 2;
  margin: 30px 0 0;
  color: #8c7b80;
}

@media (max-width: 600px) {
  .price-page .live2d-extra-options {
    padding: 25px 20px;
  }

  .price-page .live2d-extra-item {
    gap: 12px;
    font-size: 12px;
  }

  .price-page .live2d-extra-item strong {
    font-size: 12px;
  }
}

/* LIVE2D モデリング料金の説明文 */
.price-page .price-rigging .price-option-item > span {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.price-page .price-rigging .price-option-item small {
  display: block;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: #8c7b80;
}

/* LIVE2D：料金表の配置調整 */
.price-page #flow-live2d .price-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

/* セット料金を右側に配置 */
.price-page #flow-live2d .price-columns > .live2d-set-price {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    box-sizing: border-box;
}
/* LIVE2D：セット料金の配置確認 */
.price-page #flow-live2d .price-columns > .live2d-set-price {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

/* PRICE - LIVE2D 料金表の2列配置 */
.price-page #flow-live2d .price-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 45px 40px;
  align-items: start;
}

.price-page #flow-live2d .price-columns > .price-list {
  grid-column: 1;
  grid-row: 1;
}

.price-page #flow-live2d .price-columns > .price-rigging {
  grid-column: 1;
  grid-row: 2;
}

.price-page #flow-live2d .price-columns > .live2d-set-price {
  grid-column: 2;
  grid-row: 1;
}

.price-page #flow-live2d .price-columns > .live2d-extra-options {
  grid-column: 2;
  grid-row: 2;
}

@media (max-width: 700px) {
  .price-page #flow-live2d .price-columns {
    grid-template-columns: 1fr;
  }
  .price-page #flow-live2d .price-columns > * {
    grid-column: 1;
    grid-row: auto;
  }
}

/* =====================================
   PRICE - LIVE2D セット料金・リボン
===================================== */

/* セット料金の配置と背景 */
.price-page #flow-live2d .price-columns > .live2d-set-price {
  position: relative !important;
  grid-column: 2 !important;
  grid-row: 1 !important;

  margin: 0 !important;
  transform: none !important;

  background: linear-gradient(
    135deg,
    #fff9f9 0%,
    #fbe9ed 55%,
    #f7dce3 100%
  );

  border: 1px solid #e7b5bf;
  padding: 45px 35px;
  box-sizing: border-box;
}

/* 追加オプションの配置 */
.price-page #flow-live2d .price-columns > .live2d-extra-options {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 2 !important;

  margin: 0 !important;
  transform: none !important;
}

/* セット料金のおすすめリボン */
.price-page #flow-live2d .price-columns > .live2d-set-price::before {
  content: "おすすめ";
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);

  background: #d995a4;
clip-path: polygon(0 0, 100% 0, 93% 50%, 100% 100%, 0 100%, 7% 50%);
  color: #ffffff;

  padding: 7px 35px;
  font-size: 12px;
  letter-spacing: 0.2em;
  white-space: nowrap;
  z-index: 2;
}

/* PRICE - セット料金のプラン仕切り線 */
.price-page #flow-live2d .live2d-set-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: 100%;
}

.price-page #flow-live2d .live2d-set-list > div {
  min-width: 0;
  padding: 0 3px;
  border-right: 1px solid #e5b4c0;
  text-align: center;
}

.price-page #flow-live2d .live2d-set-list > div:last-child {
  border-right: none;
}

.price-page #flow-live2d .live2d-set-list strong {
  white-space: nowrap;
  font-size: 16px;
  letter-spacing: 0;
}


/* =============================================
   PRICE / LIVE2D : 左側の料金表に繊細な桜色の枠
   ILLUSTRATIONタブには影響させない
============================================= */
.price-page #flow-live2d .price-columns > .price-list,
.price-page #flow-live2d .price-columns > .price-rigging {
  border: 1px solid #e7b5bf;
  padding: 28px 25px;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  background: rgba(255, 249, 249, 0.28);
}

@media (max-width: 700px) {
  .price-page #flow-live2d .price-columns > .price-list,
  .price-page #flow-live2d .price-columns > .price-rigging {
    padding: 24px 18px;
  }
}

/* PRICE - LIVE2D 左側の枠をつなぐ線 */
.price-page #flow-live2d .price-columns > .price-list {
  position: relative;
}

.price-page #flow-live2d .price-columns > .price-list::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 46px;
  background: #e7b5bf;
  left: 50%;
  bottom: -46px;
  transform: translateX(-50%);
  pointer-events: none;
}

/* ====================================================
   PRICE v3: desktop three-column layouts (both tabs)
   Scope deliberately limited to the PRICE page.
==================================================== */
.price-page #flow-illustration .price-columns,
.price-page #flow-live2d .price-columns {
  display: grid !important;
  width: min(1480px, calc(100% - 72px)) !important;
  max-width: none !important;
  margin: 48px auto 78px !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .95fr) minmax(0, 1.02fr) !important;
  gap: clamp(20px, 2.3vw, 38px) !important;
  align-items: center !important;
}
.price-page #flow-illustration .price-columns > *,
.price-page #flow-live2d .price-columns > * {min-width:0; width:100%; box-sizing:border-box;}
/* Illustration: prices / revision / options. USAGE remains below. */
.price-page #flow-illustration .price-columns > .live2d-left-group {grid-column:1; grid-row:1;}
.price-page #flow-illustration .price-columns > .price-illustration-revision {grid-column:2; grid-row:1;}
.price-page #flow-illustration .price-columns > .price-options {grid-column:3; grid-row:1;}
.price-page #flow-illustration .price-illustration-revision,
.price-page #flow-illustration .price-options {
  border:1px solid #e7b5bf; padding:32px clamp(18px,2vw,30px);
  background:rgba(255,249,249,.32);
}
.price-page #flow-illustration .price-illustration-revision .price-information-block {max-width:none; margin:0;}
.price-page #flow-illustration .price-illustration-revision h3 {color:#c57d91;}
.price-page #flow-illustration .price-information {width:min(1200px,calc(100% - 72px)); max-width:none; margin:50px auto 90px;}
/* Live2D: two price cards stacked / highlighted package / tall options. */
.price-page #flow-live2d .price-columns > .price-live2d-left {
  grid-column:1 !important; grid-row:1 !important; display:flex; flex-direction:column;
  gap:30px; position:relative;
}
.price-page #flow-live2d .price-live2d-left > .price-list,
.price-page #flow-live2d .price-live2d-left > .price-rigging {
  border:1px solid #e7b5bf; padding:28px clamp(18px,2vw,30px);
  background:rgba(255,249,249,.28); width:100%; min-width:0; margin:0;
}
.price-page #flow-live2d .price-live2d-left > .price-list {position:relative;}
.price-page #flow-live2d .price-live2d-left > .price-list::after {
  content:""; position:absolute; left:50%; bottom:-31px; height:30px; width:1px;
  background:#e7b5bf; transform:translateX(-50%);
}
.price-page #flow-live2d .price-columns > .live2d-set-price {
  grid-column:2 !important; grid-row:1 !important; align-self:center;
  margin:0 !important; padding:48px clamp(16px,2vw,30px) !important;
  transform:none !important;
}
.price-page #flow-live2d .price-columns > .live2d-extra-options {
  grid-column:3 !important; grid-row:1 !important; align-self:stretch;
  margin:0 !important; padding:38px clamp(18px,2vw,30px);
}
.price-page #flow-live2d .live2d-set-list {gap:0;}
.price-page #flow-live2d .live2d-set-list > div {padding:0 2px;}
.price-page #flow-live2d .live2d-set-list strong {font-size:clamp(12px,1.05vw,16px);}
.price-page #flow-live2d .price-live2d-left .price-item,
.price-page #flow-live2d .price-live2d-left .price-option-item {gap:10px;}
.price-page #flow-live2d .price-live2d-left .price-item > span {font-size:clamp(14px,1.2vw,18px);}
.price-page #flow-live2d .price-live2d-left .price-option-item strong {font-size:clamp(12px,1vw,14px);}
/* Make the 2 in Live2D readable and consistent on the price page. */
.price-page .live2d-number, .price-page .flow-digit-two {
  font-family:Arial, sans-serif !important; font-size:.93em !important;
  font-weight:400 !important; vertical-align:baseline !important;
  letter-spacing:0 !important;
}
@media(max-width:1100px) {
 .price-page #flow-illustration .price-columns,
 .price-page #flow-live2d .price-columns {
   grid-template-columns:repeat(2,minmax(0,1fr)) !important;
   align-items:start !important;
 }
 .price-page #flow-illustration .price-columns > .live2d-left-group {grid-column:1;grid-row:1;}
 .price-page #flow-illustration .price-columns > .price-illustration-revision {grid-column:2;grid-row:1;}
 .price-page #flow-illustration .price-columns > .price-options {grid-column:1 / -1;grid-row:2;}
 .price-page #flow-live2d .price-columns > .price-live2d-left {grid-column:1 !important;grid-row:1 / 3 !important;}
 .price-page #flow-live2d .price-columns > .live2d-set-price {grid-column:2 !important;grid-row:1 !important;}
 .price-page #flow-live2d .price-columns > .live2d-extra-options {grid-column:2 !important;grid-row:2 !important;}
}
@media(max-width:700px) {
 .price-page #flow-illustration .price-columns,
 .price-page #flow-live2d .price-columns {
   width:calc(100% - 32px) !important;grid-template-columns:minmax(0,1fr) !important;
   gap:30px !important;
 }
 .price-page #flow-illustration .price-columns > .live2d-left-group,
 .price-page #flow-illustration .price-columns > .price-illustration-revision,
 .price-page #flow-illustration .price-columns > .price-options,
 .price-page #flow-live2d .price-columns > .price-live2d-left,
 .price-page #flow-live2d .price-columns > .live2d-set-price,
 .price-page #flow-live2d .price-columns > .live2d-extra-options {
   grid-column:1 !important;grid-row:auto !important;
 }
 .price-page #flow-illustration .price-information {width:calc(100% - 32px);}
 .price-page #flow-live2d .live2d-set-list strong {font-size:14px;}
}

/* PRICE layout repair: restore full desktop width, readable cards */
.price-page .flow-content {max-width:1600px !important; width:100% !important; padding:0 clamp(24px,5vw,85px) !important; margin-left:auto; margin-right:auto;}
.price-page #flow-illustration .price-columns, .price-page #flow-live2d .price-columns {width:100% !important; max-width:1450px !important; margin:48px auto 65px !important; align-items:start !important; gap:clamp(24px,2.6vw,42px) !important;}
.price-page #flow-illustration .price-columns {grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) !important;}
.price-page #flow-illustration .price-columns > .live2d-left-group {grid-column:1 !important;grid-row:1 !important;}
.price-page #flow-illustration .price-columns > .price-options {grid-column:2 !important;grid-row:1 !important;align-self:start;}
.price-page #flow-illustration .price-information {width:100% !important; max-width:1450px !important; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));gap:42px; align-items:start;}
.price-page #flow-illustration .price-illustration-revision {padding:0 !important; border:0 !important;background:none !important;}
.price-page #flow-illustration .price-information-block {min-width:0;}
.price-page #flow-live2d .price-columns {grid-template-columns:minmax(330px,1.08fr) minmax(340px,1fr) minmax(330px,1fr) !important;align-items:center !important;}
.price-page #flow-live2d .price-columns > .price-live2d-left {grid-column:1 !important;grid-row:1 !important;}
.price-page #flow-live2d .price-columns > .live2d-set-price {grid-column:2 !important;grid-row:1 !important;min-width:0;}
.price-page #flow-live2d .price-columns > .live2d-extra-options {grid-column:3 !important;grid-row:1 !important;}
.price-page #flow-live2d .live2d-set-list {display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0 !important;}
.price-page #flow-live2d .live2d-set-list > div {min-width:0;padding:0 5px !important;align-items:center;text-align:center;}
.price-page #flow-live2d .live2d-set-list span {font-size:12px;letter-spacing:.04em;white-space:nowrap;}
.price-page #flow-live2d .live2d-set-list strong {font-size:clamp(12px,1vw,15px) !important;white-space:nowrap;letter-spacing:0;}
.price-page #flow-live2d .live2d-set-price {padding:42px 20px !important;}
.price-page #flow-illustration .price-item > div,.price-page #flow-live2d .price-item > div {min-width:0;}
.price-page .price-item > span,.price-page .price-option-item strong,.price-page .live2d-extra-item strong {white-space:nowrap;}
@media(max-width:1250px) {
 .price-page #flow-live2d .price-columns {grid-template-columns:repeat(2,minmax(0,1fr)) !important;align-items:start !important;}
 .price-page #flow-live2d .price-columns > .price-live2d-left {grid-column:1 !important;grid-row:1/3 !important;}
 .price-page #flow-live2d .price-columns > .live2d-set-price {grid-column:2 !important;grid-row:1 !important;}
 .price-page #flow-live2d .price-columns > .live2d-extra-options {grid-column:2 !important;grid-row:2 !important;}
}
@media(max-width:760px) {
 .price-page .flow-content {padding:0 18px !important;}
 .price-page #flow-illustration .price-columns,.price-page #flow-live2d .price-columns {grid-template-columns:minmax(0,1fr) !important;width:100% !important;}
 .price-page #flow-illustration .price-columns > .price-options,.price-page #flow-live2d .price-columns > .price-live2d-left,.price-page #flow-live2d .price-columns > .live2d-set-price,.price-page #flow-live2d .price-columns > .live2d-extra-options {grid-column:1 !important;grid-row:auto !important;}
 .price-page #flow-illustration .price-information {grid-template-columns:minmax(0,1fr);gap:30px;}
}


/* PRICE refinements — 2026-10-13 (only PRICE page) */
.price-page #flow-illustration .price-illustration-single {border-bottom:1px solid #e7b5bf;margin:0 0 8px;padding:0 10px 8px;}
.price-page #flow-illustration .price-single-heading {padding:18px 0 12px;margin-bottom:2px;background:linear-gradient(90deg,rgba(249,223,228,.55),transparent);}
.price-page #flow-illustration .price-single-heading h3 {margin:0 0 5px;font-size:17px;letter-spacing:.15em;color:#b97988;}
.price-page #flow-illustration .price-single-heading p {margin:0;font-size:12px;}
.price-page #flow-illustration .price-illustration-single .price-item {padding-left:8px;}
.price-page .price-information-block {border-top:1px solid #e7b5bf;padding-top:24px;}
.price-page .price-information-block > h3 {display:inline-block;background:linear-gradient(90deg,#f8e4e8,rgba(248,228,232,0));padding:9px 45px 9px 14px;color:#c47f91;}
.price-page .price-information-block .price-bullet {position:relative;padding-left:22px;line-height:2;}
.price-page .price-information-block .price-bullet::before {content:'◇';position:absolute;left:0;top:0;color:#d89aaa;font-size:13px;}
.price-page #flow-live2d .price-live2d-left > .price-list,
.price-page #flow-live2d .price-live2d-left > .price-rigging,
.price-page #flow-live2d .live2d-extra-options {padding-top:0 !important;}
.price-page #flow-live2d .price-live2d-left > .price-list > h3,
.price-page #flow-live2d .price-rigging > h3,
.price-page #flow-live2d .live2d-extra-options > h3 {margin:0 -30px 0 !important;padding:20px 30px 10px !important;border-bottom:1px solid #e7b5bf;background:linear-gradient(90deg,#fbe9ec,rgba(255,248,249,.18));font-size:19px !important;line-height:1.4;}
.price-page #flow-live2d .price-rigging > .price-options-subtitle,
.price-page #flow-live2d .live2d-extra-options > .live2d-extra-subtitle {padding-top:12px;}
.price-page #flow-live2d .price-plan-pill {display:inline-block;width:fit-content;border:1px solid #edc4cc;border-radius:999px;background:#fae9ec;padding:5px 15px !important;color:#a96478;font-size:14px !important;line-height:1.35;letter-spacing:.1em;}
.price-page #flow-live2d .price-rigging .price-option-item > span {display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:14px !important;}
.price-page #flow-live2d .price-rigging .price-option-item small {display:block;font-size:13px !important;line-height:1.7;}
.price-page #flow-live2d .price-rigging .price-option-item strong {font-size:16px;}
.price-page #flow-live2d .price-live2d-left::after {content:'';position:absolute;top:50%;left:100%;width:clamp(24px,2.6vw,42px);height:1px;background:#e3a9b8;z-index:2;}
.price-page #flow-live2d .live2d-set-price::after {content:'';position:absolute;top:50%;left:calc(-1 * clamp(24px,2.6vw,42px));width:clamp(24px,2.6vw,42px);height:1px;background:#e3a9b8;}
@media(max-width:1250px) {.price-page #flow-live2d .price-live2d-left::after,.price-page #flow-live2d .live2d-set-price::after {display:none;}}
@media(max-width:760px) {.price-page #flow-live2d .price-live2d-left > .price-list > h3,.price-page #flow-live2d .price-rigging > h3,.price-page #flow-live2d .live2d-extra-options > h3 {margin-left:-18px !important;margin-right:-18px !important;padding-left:18px !important;padding-right:18px !important;}}

/* PRICE final polish: restrained headings, aligned rows, uninterrupted connection */
.price-page #flow-illustration .price-illustration-single {border:0; margin:0; padding:0 12px 14px;}
.price-page #flow-illustration .price-single-heading {background:none !important; padding:22px 0 15px; margin:0; border-top:1px solid #e7b5bf;}
.price-page #flow-illustration .price-single-heading h3 {color:#514b4c; font-size:17px; letter-spacing:.12em; margin:0 0 8px;}
.price-page #flow-illustration .price-single-heading p {font-size:13px;}
.price-page #flow-illustration .price-illustration-single .price-threeview-item {padding:13px 0 13px 18px;}
.price-page #flow-illustration .price-threeview {border-top:1px solid #e7b5bf; border-bottom:1px solid #e7b5bf; padding:22px 12px;}
.price-page #flow-illustration .price-illustration-single + .price-threeview {margin-top:0;}
.price-page #flow-live2d .price-live2d-left > .price-list > h3,
.price-page #flow-live2d .price-rigging > h3,
.price-page #flow-live2d .live2d-extra-options > h3 {background:transparent !important;}
.price-page #flow-live2d .price-live2d-left > .price-list,
.price-page #flow-live2d .price-live2d-left > .price-rigging {padding:0 30px 28px !important;}
.price-page #flow-live2d .price-live2d-left > .price-list > h3,
.price-page #flow-live2d .price-rigging > h3 {margin:0 -30px 0 !important;padding:20px 30px 14px !important;}
.price-page #flow-live2d .price-rigging > .price-options-subtitle {margin:16px 0 12px; padding:0; font-size:14px;}
.price-page #flow-live2d .price-rigging .price-option-item {padding:22px 12px; gap:30px; border-bottom:1px solid #e8cbd2;}
.price-page #flow-live2d .price-rigging .price-option-item > span {gap:8px;}
.price-page #flow-live2d .price-rigging .price-option-item small {font-size:13px !important; color:#827a7c;}
.price-page #flow-live2d .price-rigging .price-option-item strong {font-size:clamp(14px,1.2vw,18px);font-weight:400;color:#c57d91;}
.price-page #flow-live2d .price-live2d-left::after {display:none !important;}
.price-page #flow-live2d .live2d-set-price::after {display:none !important;}
@media(min-width:1251px){
 .price-page #flow-live2d .price-live2d-left::after {display:block !important;left:100%;top:50%;width:calc(clamp(24px,2.6vw,42px) + 2px);}
}
@media(max-width:760px){
 .price-page #flow-live2d .price-live2d-left > .price-list,
 .price-page #flow-live2d .price-live2d-left > .price-rigging {padding:0 18px 22px !important;}
 .price-page #flow-live2d .price-live2d-left > .price-list > h3,
 .price-page #flow-live2d .price-rigging > h3 {margin:0 -18px !important;padding:18px !important;}
}

/* SINGLE ILLUSTRATION 上部の余分な線を非表示 */
.price-page #flow-illustration .price-illustration-single,
.price-page #flow-illustration .price-single-heading {
  border-top: none !important;
}


/* PRICE：立ち絵と一枚絵の区切り線を統一 */
.price-page #flow-illustration .price-list > .price-item:first-child {
  border-bottom: 1px solid #e7b5bf !important;
}

/* PRICE：LIVE2Dの日本語サブタイトルを統一 */
.price-page #flow-live2d .price-rigging .price-options-subtitle {
  color: #302a2a;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.08em;
}


/* PRICE：左上の英語見出しを少し下げる */
.price-page #flow-live2d .price-live2d-left > .price-list > h3 {
  padding-top: 28px !important;
  padding-bottom: 2px !important;
}

/* PRICE：左上の日本語説明を右寄せ */
.price-page #flow-live2d .price-live2d-left > .price-list > p {
  text-align: right !important;
  padding-right: 30px !important;
}

/* PRICE：左上の日本語を仕切り線に近づける */
.price-page #flow-live2d .price-live2d-left > .price-list > p {
  margin-top: 8px !important;
}


/* PRICE：モデリングの英語見出しを下げる */
.price-page #flow-live2d .price-rigging > h3 {
  padding-top: 28px !important;
  padding-bottom: 2px !important;
}

/* PRICE：モデリングの日本語を右寄せ */
.price-page #flow-live2d .price-rigging > .price-options-subtitle {
  text-align: right !important;
  padding-right: 30px !important;
  margin-top: 8px !important;
}

/* PRICE：LIVE2Dの日本語見出しをグレーに */
.price-page #flow-live2d .price-live2d-left > .price-list > p,
.price-page #flow-live2d .price-rigging > .price-options-subtitle {
  color: #8c817e !important;
}

/* PRICE：フルパッケージの日本語をグレーに */
.price-page #flow-live2d .live2d-set-price > p:first-of-type {
  color: #8c817e !important;
}

/* PRICE：追加オプションの日本語をグレーに */
.price-page #flow-live2d .live2d-extra-subtitle {
  color: #8c817e !important;
}


/* PRICE：追加オプションの英語を左寄せ */
.price-page #flow-live2d .live2d-extra-options > h3 {
  text-align: left !important;
}

/* PRICE：追加オプションの英語を左側と同じ色に */
.price-page #flow-live2d .live2d-extra-options > h3 {
  color: #302a2a !important;
}

/* PRICE：追加オプションの日本語を右寄せ */
.price-page #flow-live2d .live2d-extra-subtitle {
  text-align: right !important;
  padding-right: 30px !important;
  margin-top: -4px !important;
}

/* PRICE：右列の英語見出しの余白を左列と統一 */
.price-page #flow-live2d .live2d-extra-options > h3 {
  padding-top: 28px !important;
  padding-bottom: 2px !important;
}

/* PRICE：右列の英語見出しの文字を統一 */
.price-page #flow-live2d .live2d-extra-options > h3 {
  font-size: 19px !important;
  font-weight: 00 !important;
  letter-spacing: 0.08em !important;
}

/* PRICE：右側の英語フォントを左側に合わせる */
.price-page #flow-live2d .live2d-extra-options > h3 {
  font-family: inherit !important;
}

/* PRICE：右側の英語見出しを左側に統一 */
.price-page #flow-live2d .live2d-extra-options > h3 {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
}

/* PRICE：追加オプションの日本語サイズを統一 */
.price-page #flow-live2d .live2d-extra-subtitle {
  font-size: 16px !important;
}

/* PRICE：LIVE2DのREVISIONとUSAGEを2列に */
.price-page #flow-live2d .price-information-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

/* PRICE：お問い合わせリンク */
.price-page .price-contact-link {
  display: table;
  margin: 20px auto 0;
  padding-bottom: 7px;
  border-bottom: 1px solid #e7b5bf;
  color: #b47d8d;
  font-size: 15px;
  letter-spacing: 0.18em;
  text-decoration: none;
  transition: color 0.3s, border-color 0.3s;
}

.price-page .price-contact-link:hover {
  color: #8f596b;
  border-color: #8f596b;
}


/* PRICE：お問い合わせ案内の余白を統一 */
.price-page .flow-contact-note {
  
margin: 48px auto 0 !important;

  padding: 0 15px;
  text-align: center;
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 0.08em;
  color: #a58d94;
}

/* PRICE：ANIMATION料金表 */
.price-page .price-animation-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 45px;
}

.price-page .price-animation-item {
  border: 1px solid #e7b5bf;
  padding: 28px 24px;
  background: #fffaf9;
  min-width: 0;
}


.price-page .price-animation-item h3 {
  color: #302a2a;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e7b5bf;
}

.price-page .price-animation-item p {
  font-size: 14px;
  line-height: 1.9;
}

/* 画面が狭いときは縦並び */
@media (max-width: 800px) {
  .price-page .price-animation-list {
    grid-template-columns: 1fr;
  }
}

/* PRICE：ANIMATIONの日本語補足 */
.price-page .price-animation-item .price-animation-subtitle {
  color: #8c817e;
  font-size: 16px;
  text-align: right;
  margin-top: -4px;
  margin-bottom: 28px;
  padding-right: 6px;
}

/* PRICE：ANIMATIONの料金項目 */
.price-page .price-animation-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 16px 0;
  border-bottom: 1px solid #ead5d8;
}

.price-page .price-animation-row:last-child {
  border-bottom: none;
}

.price-page .price-animation-price {
  color: #c78b9d;
  white-space: nowrap;
  font-size: 15px;
}


/* PRICE：ANIMATIONのメニュー名 */
.price-page .price-animation-row > span:first-child {
  color: #8c817e;
  font-size: 13px;
  font-weight: 400;
}

/* PRICE：ANIMATIONの金額 */
.price-page .price-animation-row .price-animation-price {
  color: #c78b9d;
  font-size: 17px;
  font-weight: 400;
}

/* PRICE：ANIMATIONの注意書き */
.price-page .price-animation-note {
  color: #8c817e;
  font-size: 12px;
  line-height: 1.9;
  letter-spacing: 0.03em;
  margin-top: 16px;
}

/* PRICE：ANIMATIONのREVISIONとUSAGEを2列に */
.price-page #flow-animation .price-information-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
}

/* スマホでは縦並び */
@media (max-width: 800px) {
  .price-page #flow-animation .price-information-grid {
    grid-template-columns: 1fr;
  }
}

/* PRICE：ANIMATION料金表と修正案内の間隔 */
.price-page #flow-animation .price-information-grid {
  margin-top: 65px;
}


/* =====================================
   PRICE / SPECIAL — independent campaign & benefits
   ===================================== */
.price-page #flow-special{max-width:1180px;margin-left:auto;margin-right:auto}
.price-page #flow-special .special-lead{font-family:var(--jp);font-size:13px;color:#817577;line-height:2.2;text-align:center;margin:22px auto 65px}
.price-page .special-section-heading{text-align:center;margin-bottom:35px}
.price-page .special-eyebrow{display:block;color:#c68f9c;font-size:12px;letter-spacing:.24em;margin-bottom:14px}
.price-page .special-section-heading h3{font-size:clamp(26px,3vw,40px);font-weight:500;letter-spacing:.12em;margin:0 0 8px}
.price-page .special-section-heading>p{font-family:var(--jp);font-size:13px;color:#8c817e;margin:0}
.price-page .special-campaign{padding:42px 42px 48px;border:1px solid #e5b6bf;background:linear-gradient(160deg,#fff0f3 0%,#fff9f7 43%,#fffdfa 100%);position:relative;overflow:hidden}
.price-page .special-campaign:before{content:'✿';position:absolute;right:18px;top:0;color:#e8c3cb;font-size:90px;opacity:.32;pointer-events:none}
.price-page .special-campaign-inner{position:relative}
.price-page .special-campaign-intro{text-align:center;margin-bottom:30px}
.price-page .special-limited{display:inline-block;background:#cf9aa8;color:#fff;font-family:var(--jp);font-size:13px;padding:8px 22px;letter-spacing:.16em}
.price-page .special-campaign-intro p{font-family:var(--jp);font-size:13px;line-height:2;margin:18px 0 0;color:#756b6b}
.price-page .special-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.price-page .special-plan{padding:25px 15px 23px;background:rgba(255,255,255,.83);border:1px solid #ecd6db;text-align:center;display:flex;flex-direction:column;align-items:center;gap:9px}
.price-page .special-plan h4{font-size:19px;letter-spacing:.15em;margin:0 0 6px;font-weight:600}
.price-page .special-plan del{font-size:14px;color:#aaa0a0}
.price-page .special-plan strong{font-size:clamp(22px,2.4vw,32px);font-weight:500;color:#bb7e91;white-space:nowrap;letter-spacing:.04em}
.price-page .special-plan>span{font-size:11px;color:#b38c97;letter-spacing:.15em}
.price-page .special-campaign-conditions{margin-top:30px;border-top:1px solid #e6cbd1;padding-top:20px}
.price-page .special-campaign-conditions h4{font-size:16px;font-weight:500;margin:0 0 12px;letter-spacing:.17em}
.price-page .special-campaign-conditions h4 small{font-family:var(--jp);font-size:11px;color:#8c817e;margin-left:12px}
.price-page .special-campaign-conditions p,.price-page .special-notes p{font-family:var(--jp);font-size:12px;line-height:2;color:#796e71;margin:8px 0}
.price-page .special-permanent{margin-top:95px}
.price-page .special-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.price-page .special-benefit-card{border:1px solid #e8c9d0;background:#fffaf9;padding:28px 24px 30px;min-width:0}
.price-page .special-card-no{font-size:12px;color:#c58e9e;letter-spacing:.18em}
.price-page .special-benefit-card h4{font-size:22px;letter-spacing:.09em;font-weight:500;margin:12px 0 3px;border-bottom:1px solid #e8c9d0;padding-bottom:12px}
.price-page .special-card-ja{font-family:var(--jp);font-size:12px;color:#8c817e;margin:10px 0 22px;min-height:2em}
.price-page .special-benefit-highlight{border-top:1px solid #f0e0e3;padding:15px 0;display:flex;flex-direction:column;gap:6px}
.price-page .special-benefit-highlight>span{font-family:var(--jp);font-size:11px;color:#8c817e}
.price-page .special-benefit-highlight strong{font-size:clamp(22px,2.1vw,29px);font-weight:500;color:#c38c9d;letter-spacing:.03em}
.price-page .special-benefit-highlight small{font-family:var(--jp);font-size:11px;color:#827779;line-height:1.7}
.price-page .special-benefit-single{padding-top:20px;padding-bottom:22px}
.price-page .special-card-note{font-family:var(--jp);font-size:11px;line-height:2;color:#8b7b7f;margin:20px 0 0}
.price-page .special-threeview{margin-top:6px;border-top:1px solid #f0e0e3}
.price-page .special-threeview>div{display:flex;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid #f0e0e3;padding:10px 0;font-size:12px}
.price-page .special-threeview span{font-weight:600;min-width:48px}
.price-page .special-threeview del{color:#aaa;font-size:11px}
.price-page .special-threeview strong{font-weight:500;color:#c38c9d;font-size:13px;white-space:nowrap}
.price-page .special-notes{margin:70px 0 35px;padding:27px 32px;border-top:1px solid #dcb4bf;border-bottom:1px solid #ead5d8}
.price-page .special-notes h3{font-size:21px;font-weight:500;letter-spacing:.15em;margin:0 0 15px}
.price-page .special-notes h3 span{font-family:var(--jp);font-size:12px;color:#8c817e;margin-left:14px}
.price-page .flow-tabs{flex-wrap:wrap;gap:12px 22px}
@media(max-width:900px){.price-page .special-benefit-grid{grid-template-columns:1fr}.price-page .special-campaign{padding:32px 22px}.price-page .special-plan strong{font-size:25px}}
@media(max-width:650px){.price-page .special-plans{grid-template-columns:1fr}.price-page .special-plan{padding:20px}.price-page .special-campaign{padding:28px 16px}.price-page .special-notes{padding:22px 12px}.price-page .special-notes h3 span{display:block;margin:8px 0 0}.price-page .flow-tabs{gap:6px}.price-page .flow-tab{font-size:11px;padding:10px 8px}}

/* TERMS：お問い合わせリンクのホバー */
.terms-page .terms-bottom a[href="contact.html"] {
  transition: color 0.3s ease, border-color 0.3s ease;
}

.terms-page .terms-bottom a[href="contact.html"]:hover {
  color: #dba0a0;
  border-color: #dba0a0;
}
/* PRICE：料金の数字をSPECIALと同じ書体に統一 */
.price-page .price-item > span,
.price-page .price-threeview-item > span,
.price-page .price-option-item strong,
.price-page .live2d-set-list strong,
.price-page .live2d-extra-item strong,
.price-page .price-animation-price {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: 0.04em;
}