/* 越水優介 公式サイト（シンプル版）共通スタイル */
:root{
  --text:#1f2329;
  --muted:#7a7f87;
  --line:#e6e8eb;
  --line-strong:#c9ccd1;
  --bg:#ffffff;
  --bg-soft:#f8f8f7;
  --accent:#1f3550;
  --serif:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:2;font-size:15px;font-weight:400;letter-spacing:.04em;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:760px;margin:0 auto;padding:0 28px}

/* header */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-family:var(--serif);font-size:1.1rem;letter-spacing:.2em;font-weight:500}
.brand small{font-family:var(--sans);font-size:.68rem;color:var(--muted);margin-left:1em;letter-spacing:.16em;font-weight:400}
.nav-links{list-style:none;display:flex;gap:36px}
.nav-links a{font-size:.8rem;color:var(--muted);letter-spacing:.14em;position:relative;padding:6px 0;transition:color .25s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{transform:scaleX(1)}
.menu-toggle{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer}
.menu-toggle span{display:block;width:22px;height:1px;background:var(--text);margin:6px auto}

/* hero */
.hero{padding:132px 0 120px;background:var(--bg-soft)}
.hero-grid{display:block}
.hero-name{font-family:var(--serif);font-size:2.5rem;font-weight:500;letter-spacing:.24em;line-height:1.4;color:var(--text)}
.hero-name small{display:block;font-family:var(--sans);font-size:.75rem;color:var(--muted);letter-spacing:.3em;margin-bottom:18px;font-weight:400}
.hero-lead{margin-top:36px;max-width:560px;color:#3a3f47;line-height:2.2}

/* sections */
section{padding:104px 0}
section + section{border-top:1px solid var(--line)}
.sec-title{font-family:var(--serif);font-size:1.5rem;font-weight:500;letter-spacing:.2em;margin-bottom:44px;display:flex;align-items:baseline;gap:18px}
.sec-title small{font-family:var(--sans);font-size:.68rem;color:var(--muted);letter-spacing:.24em;text-transform:uppercase;font-weight:400}
.sec-title::after{content:"";flex:1;height:1px;background:var(--line);margin-left:6px}
p + p{margin-top:1.2em}
#profile p{max-width:640px}

/* definition rows */
.rows{display:grid;gap:0;border-top:1px solid var(--line-strong);margin-top:44px}
.row{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:26px 0;border-bottom:1px solid var(--line)}
.row dt{font-weight:500;letter-spacing:.1em;line-height:1.7}
.row dt em{display:block;font-style:normal;font-size:.68rem;color:var(--muted);letter-spacing:.14em;margin-top:6px;font-weight:400}
.row dd{color:#3a3f47;font-size:.94rem}
#practice .rows{margin-top:0}

/* buttons */
.btn{display:inline-block;padding:15px 44px;border:1px solid var(--accent);color:var(--accent);font-size:.82rem;letter-spacing:.2em;background:transparent;transition:all .3s;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--accent);color:#fff}
.btn.fill{background:var(--accent);color:#fff}
.btn.fill:hover{background:#2b4668;border-color:#2b4668}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:72px}
.contact-grid > div:first-child p:first-child{color:#3a3f47;font-size:.94rem}
.contact-note{color:var(--muted);font-size:.82rem;letter-spacing:.08em}
.tel{font-family:var(--serif);font-size:1.85rem;letter-spacing:.1em;margin:28px 0 2px;line-height:1.3}
.field{margin-bottom:26px}
.field label{display:block;font-size:.78rem;margin-bottom:8px;color:var(--muted);letter-spacing:.12em}
.field .req{font-size:.64rem;color:#9a5a5a;margin-left:8px;letter-spacing:.08em}
.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line-strong);background:transparent;padding:10px 0;font:inherit;font-size:.95rem;color:var(--text);border-radius:0;transition:border-color .25s}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent)}
.field textarea{min-height:140px;resize:vertical;line-height:1.8}
.field.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form-notice{display:none;background:#faf1f1;border:1px solid #e6cfcf;color:#8a3a3a;padding:12px 16px;font-size:.84rem;margin-bottom:24px;line-height:1.7}
.form-notice.show{display:block}
.form-privacy{font-size:.76rem;color:var(--muted);margin-top:18px;line-height:1.8}
form .btn{margin-top:8px}

/* footer */
footer{border-top:1px solid var(--line);padding:44px 0;font-size:.72rem;color:var(--muted);text-align:center;letter-spacing:.2em}

/* thanks */
.thanks{padding:160px 0;text-align:center}
.thanks h1{font-family:var(--serif);font-size:1.5rem;font-weight:500;letter-spacing:.2em;margin-bottom:24px}
.thanks p{color:#3a3f47}

@media (max-width:760px){
  body{font-size:14.5px}
  .wrap{padding:0 22px}
  .nav{height:64px}
  .nav-links{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 0}
  .nav-links.open{display:flex}
  .nav-links li a{display:block;padding:14px 22px}
  .nav-links a::after{display:none}
  .menu-toggle{display:block}
  .hero{padding:76px 0 68px}
  .hero-name{font-size:1.9rem;letter-spacing:.18em}
  .hero-lead{margin-top:26px}
  section{padding:68px 0}
  .sec-title{font-size:1.3rem;margin-bottom:32px}
  .row{grid-template-columns:1fr;gap:8px;padding:20px 0}
  .contact-grid{grid-template-columns:1fr;gap:44px}
  .tel{font-size:1.6rem;margin-top:18px}
  .btn{width:100%;text-align:center}
}
