/* 下層ページ共通の追加部品（works / profile / episodes / company / contact / privacy / tokushoho） */

/* 外部リンクの印 */
.ext{display:inline-block;width:.9em;height:.9em;vertical-align:-.1em}

/* 数字タイル（実績・プロフィール） */
.tiles{display:grid;gap:1rem}
@media (min-width:768px){.tiles{grid-template-columns:1fr 1fr;gap:1.25rem}}
.tile{background:#fff;border:1px solid var(--c-mist-line);border-radius:10px;padding:1.25rem 1.5rem 1.5rem}
.tile__fig{margin-top:.35rem;font-family:var(--ff-head);font-weight:900;font-size:var(--fs-price);line-height:1.25;color:var(--c-ai);font-variant-numeric:tabular-nums;font-feature-settings:"palt"}
.rank{margin-top:1rem;background:var(--c-mist);border-left:4px solid var(--c-ai);border-radius:0 10px 10px 0;padding:1.25rem 1.5rem}
.rank .note{margin-top:.5rem;color:var(--c-text)}
.rank__no{font-size:1.4em;font-weight:900;color:var(--c-ai)}
.outlink{margin-top:1rem;border:1px solid var(--c-mist-line);border-radius:10px;padding:1rem 1.5rem;background:#fff}
.outlink .text-link{margin-top:.15rem}

/* 実績カード（/works/ は絵160px・数字は文の中で大きく） */
.results--works .result__art{height:160px}
.results--works .result__fig-inline{font-family:var(--ff-head);font-weight:900;font-size:var(--fs-fig);color:var(--c-ai);font-variant-numeric:tabular-nums;font-feature-settings:"palt";white-space:nowrap;line-height:1.3}
.results--works .result__what{margin-top:.5rem}
.results--works .note{margin-top:.6rem}
@media (min-width:600px) and (max-width:1023px){.results--works .result__art{min-height:190px}}

/* 代表プロフィール */
.profile-head{display:grid;gap:1.75rem;align-items:center}
.portrait{position:relative;width:min(100%,260px)}
.portrait::before{content:"";position:absolute;inset:14px -14px -14px 14px;background:var(--c-mist);border-radius:10px}
.portrait img{position:relative;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 0;border-radius:10px}
.profile__name{margin-top:1rem;font-size:var(--fs-lead);font-weight:700;color:var(--c-ai);line-height:1.6}
.page-head .profile__role{margin-top:.15rem}
@media (min-width:1024px){
  .profile-head{grid-template-columns:4fr 8fr;gap:3rem}
  .portrait{width:min(100%,320px)}
}
.prose > * + *{margin-top:1.1em}
.prose p{line-height:1.95;text-wrap:pretty;word-break:auto-phrase}
.figtiles{display:grid;gap:1rem}
@media (min-width:768px){.figtiles{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
.figtile{background:#fff;border:1px solid var(--c-mist-line);border-radius:10px;padding:1.25rem 1.5rem;font-weight:700;color:var(--c-ai);line-height:1.7;font-size:var(--fs-lead);word-break:auto-phrase}
.figtile strong{font-family:var(--ff-head);font-weight:900;font-size:var(--fs-fig);display:inline-block;line-height:1.3;font-variant-numeric:tabular-nums}
.figtile .rank__no{font-size:1.3em}
.rail--plain li{padding-bottom:1.5rem}
.rail--plain li .note{margin-top:.5rem}

/* エピソード */
.ep{display:grid;gap:2rem}
.toc{border-top:1px solid var(--c-rule)}
.toc a{display:flex;gap:1rem;align-items:center;min-height:56px;padding:.5rem 0 .5rem .75rem;border-bottom:1px solid var(--c-rule);border-left:4px solid transparent;text-decoration:none;color:var(--c-ai);font-weight:700;line-height:1.55}
.toc a:hover{text-decoration:underline}
.toc a.is-current{border-left-color:var(--c-ai)}
.toc a span:last-child{word-break:auto-phrase;text-wrap:pretty}
.toc__no{flex:none;font-size:var(--fs-small);color:var(--c-blue-text);min-width:2.5em}
@media (min-width:1024px){
  .ep{grid-template-columns:3fr 9fr;gap:3rem;align-items:start}
  .toc-wrap{position:sticky;top:calc(var(--header-h) + 24px)}
}
.story-item{scroll-margin-top:calc(var(--header-h) + 16px)}
.story-item + .story-item{margin-top:calc(var(--section-y)/2);padding-top:calc(var(--section-y)/2);border-top:1px solid var(--c-rule)}
.story-item__no{display:block;font-size:var(--fs-small);font-weight:700;color:var(--c-blue-text);margin-bottom:.4rem}
.story-item .h2::before{display:none}
.story-item .h2{margin-bottom:1.25rem}
.story-item .prose{max-width:36em}
.story-item blockquote{margin-top:.75rem;border-left:4px solid var(--c-ai);padding:.25rem 0 .25rem 1rem;font-size:var(--fs-lead);font-weight:700;line-height:1.8;color:var(--c-ai)}
.story-item blockquote p + p{margin-top:.4rem}

/* 会社概要・特商法・法務 */
.dl ul li + li{margin-top:.15rem}
.plain-page{padding-bottom:var(--section-y)}

/* フォーム */
.formbox{background:var(--c-mist);border-radius:10px;padding:clamp(1.25rem,4vw,2.5rem);max-width:40em}
.form{display:grid;gap:1.5rem}
.field{border:0;margin:0;padding:0;min-width:0}
.field__label{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--c-ai);margin-bottom:.4rem;padding:0;line-height:1.5}
.req,.opt{display:inline-block;font-size:.875rem;padding:.1em .5em;border-radius:4px;line-height:1.5;font-weight:700}
.req{background:var(--c-ai);color:#fff}
.opt{background:#fff;color:var(--c-ai);border:1px solid var(--c-ai)}
.input{width:100%;min-height:48px;padding:.6rem .85rem;border:1px solid var(--c-mist-line);border-radius:8px;font:400 1rem/1.6 var(--ff-body);color:var(--c-text);background:#fff}
.input::placeholder{color:#6B6F86;opacity:1}
.input:focus{outline:none;border-color:var(--c-ai);box-shadow:0 0 0 1px var(--c-ai)}
.input--area{min-height:9rem;resize:vertical}
.input[aria-invalid="true"]{border-color:var(--c-error)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;width:100%;height:100%}
.chip span{display:inline-flex;align-items:center;min-height:48px;padding:.25rem 1.1rem;border:1px solid var(--c-mist-line);border-radius:999px;background:#fff;font-weight:700;color:var(--c-ai);line-height:1.4}
.chip input:checked + span{background:var(--c-ai);color:#fff;border-color:var(--c-ai)}
.chip input:focus-visible + span{outline:3px solid var(--c-ai);outline-offset:2px}
fieldset[aria-invalid="true"] .chip span{border-color:var(--c-error)}
.agree{display:flex;align-items:center;gap:.75rem;min-height:48px;font-weight:700;cursor:pointer}
.agree input{width:22px;height:22px;accent-color:var(--c-ai);flex:none}
.form__submit{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.form__status:empty{display:none}
.form__status{width:100%;border:2px solid var(--c-ai);border-radius:8px;padding:.75rem 1rem;font-weight:700;color:var(--c-ai);background:#fff}
.form__errors,.form .input,.agree,.chips{scroll-margin-top:calc(var(--header-h) + 1.5rem)}
.form__errors{border:2px solid var(--c-error);border-radius:8px;padding:1rem 1.25rem;color:var(--c-error);font-weight:700;background:#fff}
.form__errors ul{margin-top:.4rem;display:grid;gap:.25rem}
.form__errors a{color:var(--c-error)}
.field__error{margin-top:.35rem;color:var(--c-error);font-size:var(--fs-small);font-weight:700}
.form__errors li,.field__error{word-break:auto-phrase;text-wrap:pretty}
