@charset "UTF-8";
/* ==========================================================
   YADOKARI LP 共通CSS（lp-base.css）
   ・ルールの原本：スプレッドシート「デザインシステム・スタイルガイド｜YADOKARI.net」の「LP Design System」シート
   ・各LPは このファイル → 各LPの style.css の順に読み込む
   ・各LPの style.css では、変数の上書きと そのLP固有の部品だけを書く
========================================================== */
:root {
  /* color（LP Design System：基本変数）。この7色以外のグレーを作らない */
  --ink: #000000;          /* 濃色背景・強調 */
  --text: #333333;         /* 本文 */
  --sub: #787878;          /* 補足文字 */
  --line: #D8D8D8;         /* 罫線 */
  --line-strong: #C8C8C8;  /* 強めの区切り */
  --paper: #F5F5F5;        /* 面 */
  --surface: #E8E8E8;      /* グレー面（セクション背景・強調セル）。線色 --line とは別 */
  --white: #FFFFFF;

  --font: 'Inter', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
  --en: 'Inter', system-ui, sans-serif;
  --r: 4px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

/* ---------- 星川・オーナー募集LPで共通だった部品 ---------- */
*, *::before, *::after { box-sizing: border-box; }
img { display: block; max-width: 100%; height: auto; }
picture { display: contents; }
a { color: inherit; transition: opacity .2s var(--ease); }
p, h1, h2, h3, dl, dd, ol, ul { margin: 0; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (hover: hover) { a:hover { opacity: .75; } }
.nw { display: inline-block; }
.sp { display: inline; }
.ic { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.wrap { width: 100%; max-width: 600px; margin: 0 auto; }
.sec { padding: var(--sec-y) var(--gutter); }
.sec--gray { background: var(--paper-2); }
.sec--light { background: var(--paper-3); }
.hd--solo { margin-bottom: var(--hd-gap); }
.btns { display: flex; flex-direction: column; gap: 12px; }
.btn .arr { position: absolute; right: 22px; top: 50%; width: 16px; height: 16px; margin-top: -8px; transition: transform .25s var(--ease); }
.btn--light { background: var(--white); color: var(--ink); }
.btn--dark { background: var(--ink); color: #F2F2F2; }
.tlink::after { content: ""; position: absolute; left: 0; right: 0; bottom: 10px; height: 1px; background: currentColor; }
.tlink .ic { width: 15px; height: 15px; transition: transform .25s var(--ease); }
@media (hover: hover) { .tlink:hover .ic { transform: translateX(3px); } }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.gh__logo img { height: 20px; width: auto; }
.band__txt { display: flex; flex-direction: column; gap: 10px; }
.steps { position: relative; display: flex; flex-direction: column; }
.steps li:last-child { padding-bottom: 0; }
.steps li:last-child::before { display: none; }
.qa__item { border-bottom: 1px solid var(--g-cc); }
.qa__item summary::-webkit-details-marker { display: none; }
.qa__a a { text-underline-offset: 3px; }
.qa__item[open] .qa__a { animation: qa-in .3s var(--ease); }
@keyframes qa-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.company { padding-top: 0; }
.company__in { display: flex; flex-direction: column; gap: 28px; padding-top: 48px; border-top: 1px solid var(--g-cc); }
.company__dl { display: grid; grid-template-columns: auto 1fr; font-size: 14px; line-height: 1.75; border-bottom: 1px solid var(--g-cc); }
.company__dl dt, .company__dl dd { padding: 14px 0; border-top: 1px solid var(--g-cc); }
.company__dl ul { margin-top: 4px; }
.company__dl li { position: relative; padding-left: 1em; }
.company__dl li::before { content: "・"; position: absolute; left: 0; }
.company__links { display: flex; flex-wrap: wrap; gap: 4px 32px; margin-top: 16px; }
.closing__shade { position: absolute; inset: 0; z-index: -1; background: rgba(20,20,20,.72); }
