/*
Theme Name: YORISOU LAW OFFICE
Theme URI: http://yorisou.tantoma.com
Author: Cowork
Description: 法律事務所「YORISOU LAW OFFICE（よりそう法律事務所）」サンプルサイト用のオリジナルテーマ。WordPress向けに制作したオリジナルデザイン。白×煉瓦色＋明朝体で信頼感のある士業デザイン。画像は初期状態でサンプル画像を表示し、カスタマイザーから差し替えできます。
Version: 1.0.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yorisou-law
*/

:root{
  --brick:#ae492d;
  --brick-d:#8f3a23;
  --ink:#2c2722;
  --bg:#ffffff;
  --cream:#f3ede3;
  --soft:#f8f5f0;
  --line:#e4ddd2;
  --muted:#736b61;
  --maxw:1400px;
  --serif:"Shippori Mincho","Noto Serif JP",serif;
  --en:"Cormorant Garamond",serif;
  --jp:"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--jp);color:var(--ink);background:var(--bg);line-height:2;font-size:16px;-webkit-font-smoothing:antialiased;letter-spacing:.03em;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:.25s}
ul{list-style:none}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:26px}

/* ヘッダー */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:stretch;justify-content:space-between;gap:20px;padding-left:26px}
.brand{display:flex;align-items:center;gap:12px;padding:14px 0}
.brand__mark{width:42px;height:42px;color:var(--brick);flex:none}
.brand__name{font-family:var(--en);line-height:1.05}
.brand__name b{display:block;font-size:1.45rem;letter-spacing:.16em;font-weight:600}
.brand__name span{display:block;font-size:.72rem;letter-spacing:.34em;color:var(--muted)}
.header-right{display:flex;align-items:stretch;gap:0}
.site-nav{display:flex;align-items:center;gap:30px;padding:0 30px}
.site-nav__list{display:flex;gap:28px}
.site-nav__list a{font-family:var(--serif);font-size:.96rem;letter-spacing:.06em}
.site-nav__list a:hover,.site-nav__list .current-menu-item>a{color:var(--brick)}
.header-tel{display:flex;flex-direction:column;justify-content:center;text-align:right;padding:0 26px;line-height:1.5}
.header-tel b{font-family:var(--en);font-size:1.2rem;letter-spacing:.04em}
.header-tel span{font-size:.72rem;color:var(--muted)}
.header-cta{display:flex;align-items:center;background:var(--brick);color:#fff;padding:0 30px;font-size:.95rem;letter-spacing:.06em}
.header-cta:hover{background:var(--brick-d)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;align-self:center;margin-right:16px}
.nav-toggle span{width:24px;height:1.5px;background:var(--ink);transition:.3s}

/* ヒーロー */
.hero{padding:60px 0 0}
.hero__title{font-family:var(--serif);text-align:center;font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:600;line-height:1.9;letter-spacing:.12em;margin-bottom:48px}
.hero__slider{position:relative;height:min(54vw,560px);overflow:hidden}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;background-size:cover;background-position:center}
.hero__slide.is-active{opacity:1}

/* セクション英大文字ラベル */
.section{padding:96px 0}
.section--cream{background:var(--cream)}
.section--soft{background:var(--soft)}
.bigword{font-family:var(--en);text-align:center;font-size:clamp(4rem,15vw,220px);letter-spacing:.12em;color:var(--brick);line-height:1;font-weight:300;margin:0 0 14px}
.eyebrow{display:block;text-align:center;font-family:var(--en);font-style:normal;color:#0a1f25;letter-spacing:.04em;font-size:1.35rem;margin-bottom:8px}
.sec-jp{text-align:center;font-family:var(--serif);font-size:1.7rem;letter-spacing:.16em;font-weight:600;margin-bottom:52px}

/* ご挨拶 */
.greet{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.greet__body .eyebrow,.greet__body .sec-jp{text-align:left}
.greet__body h2{font-family:var(--serif);font-size:1.6rem;line-height:1.9;letter-spacing:.1em;margin-bottom:24px;font-weight:600}
.greet__body p{color:var(--muted);margin-bottom:26px;line-height:2.3}
.greet__media img{width:100%;height:540px;object-fit:cover}

/* ボタン */
.btn{display:inline-block;padding:14px 40px;border:1px solid var(--brick);color:var(--brick);font-family:var(--serif);font-size:.94rem;letter-spacing:.1em}
.btn:hover{background:var(--brick);color:#fff}
.btn--fill{background:var(--brick);color:#fff}
.btn--fill:hover{background:var(--brick-d)}
.center{text-align:center}

/* 特徴 */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:70px}
.feature:nth-child(even){direction:rtl}
.feature:nth-child(even)>*{direction:ltr}
.feature__media{position:relative}
.feature__media img{width:100%;height:520px;object-fit:cover}
.feature__num{font-family:var(--en);font-size:4rem;color:var(--brick);opacity:.3;line-height:1}
.feature__body h3{font-family:var(--serif);font-size:1.45rem;letter-spacing:.1em;margin:6px 0 18px;font-weight:600}
.feature__body p{color:var(--muted);margin-bottom:24px;line-height:2.3}

/* 取扱業務チップ */
.practice{margin-top:10px;text-align:center}
.practice__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:30px 0 36px}
.practice__item{background:var(--brick);color:#fff;padding:30px 12px;font-family:var(--serif);letter-spacing:.08em;font-size:1.02rem}
.practice__item:hover{background:var(--brick-d)}

/* News */
.news-list{max-width:860px;margin:0 auto 36px}
.news-item{display:flex;gap:28px;padding:22px 6px;border-bottom:1px solid var(--line);align-items:baseline}
.news-item time{font-family:var(--en);color:var(--brick);font-size:.95rem;flex:none;letter-spacing:.04em}
.news-item p{color:var(--ink)}

/* コンタクト帯 */
.contact-band{background:var(--cream);text-align:center;padding:80px 24px}
.contact-band .eyebrow{}
.contact-band h2{font-family:var(--serif);font-size:1.6rem;letter-spacing:.12em;margin-bottom:18px;font-weight:600}
.contact-band p{color:var(--muted);margin-bottom:18px}
.contact-band .tel{font-family:var(--en);font-size:1.8rem;color:var(--brick);letter-spacing:.04em}
.contact-band .hours{font-size:.82rem;color:var(--muted);margin-bottom:24px}

/* フッター */
.site-footer{background:#2c2722;color:#cfc7bb;padding:60px 26px 28px}
.footer-inner{max-width:var(--maxw);margin-inline:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer-brand .brand__name b{color:#fff}
.footer-brand .brand__name span{color:var(--brick)}
.footer-brand p{margin-top:18px;font-size:.86rem;color:#a99f92;line-height:1.9}
.footer-col li{margin-bottom:11px;font-size:.9rem;font-family:var(--serif)}
.footer-col a:hover{color:var(--brick)}
.footer-bottom{max-width:var(--maxw);margin:40px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.76rem;color:#8f857a;font-family:var(--en)}

/* 下層 */
.page-head{text-align:center;padding:80px 24px 0}
.page-head__jp{font-family:var(--serif);font-size:2rem;letter-spacing:.12em;font-weight:600}
.page-head__en{display:block;font-family:var(--en);font-style:italic;color:var(--brick);letter-spacing:.18em;margin-top:8px}
.entry{max-width:820px;margin:0 auto}

/* レスポンシブ */
@media(max-width:900px){
  .header-tel{display:none}
  .header-right{align-items:center}
  .site-nav{position:fixed;inset:0 0 0 auto;width:82%;max-width:320px;background:#fff;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:90px 30px;gap:22px;transform:translateX(100%);transition:.35s;box-shadow:-10px 0 40px rgba(0,0,0,.12);z-index:55}
  .site-nav.is-open{transform:none}
  .site-nav__list{flex-direction:column;gap:20px}
  .nav-toggle{display:flex}
  .greet,.feature,.feature:nth-child(even){grid-template-columns:1fr;direction:ltr;gap:28px}
  .greet__media img,.feature__media img{height:340px}
  .practice__grid{grid-template-columns:repeat(2,1fr)}
}

/* PHONE-POLISH */
@media(max-width:600px){
  .section{padding:58px 0}
  .wrap{padding-inline:18px}
  .page-head{padding-left:18px;padding-right:18px}
}
