@charset "utf-8";
/* WordPress 都合の追加だけ。デザイン原本の site.css は無改変にする。
   ★このファイルが正本。build_theme.py が assets/css/ へ複製する（assets は毎回作り直すため）。 */

/* ---------- 下層ページ（お知らせ一覧・記事・プライバシーポリシー・404） ----------
   LPは1枚なので原本に下層の型が無い。site.css の道具で組む。 */
.lower{padding-top:calc(var(--head-h) + 90px);}
.lower-t{font-size:26px;font-weight:500;letter-spacing:.1em;line-height:1.6;color:var(--ink);margin-top:14px;}
.col .lower-t{margin-top:6px;}
.lower-body{margin-top:40px;max-width:760px;}
.lower-body p{font-size:14.5px;line-height:2.1;letter-spacing:.06em;}
.lower-body p + p{margin-top:1.4em;}
.lower-body h2{font-size:19px;letter-spacing:.08em;margin:2em 0 .6em;color:var(--ink);}
.lower-body h3{font-size:18px;letter-spacing:.08em;margin:1.8em 0 .5em;color:var(--ink);}
.lower-body ul{margin-top:1em;}
.lower-body li{font-size:14.5px;line-height:2;padding-left:14px;position:relative;}
.lower-body li::before{content:"";position:absolute;left:0;top:1em;width:6px;height:1px;background:var(--gray);}
.lower-body a{text-decoration:underline;text-underline-offset:3px;}
.lower-meta{font-size:12.5px;letter-spacing:.08em;color:var(--gray);margin-top:12px;}
.lower-back{margin-top:64px;}
.lower-list{margin-top:36px;}

/* 下層では、JSが動く前からヘッダーの文字を濃くしておく（白×白で見えなくなるのを防ぐ） */
body:not(.pg-index) .head{color:var(--txt);}
body:not(.pg-index) .logo img{filter:none;}

/* お知らせ一覧 */
.news-cats{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px;}
.news-cats a{font-size:12.5px;letter-spacing:.08em;padding:7px 18px;border:1px solid var(--line);border-radius:999px;color:var(--txt);transition:background .3s,color .3s,border-color .3s;}
.news-cats a:hover,.news-cats a.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.news-archive{margin-top:32px;border-top:2px dotted var(--gray-2);}
.news-pager{display:flex;justify-content:center;gap:10px;margin-top:48px;}
.news-pager .page-numbers{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);font-family:var(--en);font-size:13px;letter-spacing:.06em;color:var(--txt);}
.news-pager .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff;}

/* 記事 */
.single-date{margin-top:0;}
.single-hero{margin-top:32px;overflow:hidden;}
.single-hero img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.works-single-ph{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:10px;margin-top:40px;}
.works-single-ph img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;}

.work-blocks{margin-top:48px;max-width:760px;}
.work-block + .work-block{margin-top:36px;}
.work-block h2{font-size:17px;letter-spacing:.08em;color:var(--ink);}
.work-block p{font-size:14.5px;line-height:2.1;letter-spacing:.06em;margin-top:10px;}
.single-sub{margin-top:44px;max-width:520px;overflow:hidden;}
.single-sub img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.work-did{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);max-width:760px;}
.work-did h2{font-size:13px;letter-spacing:.12em;color:var(--gray);}
.work-did p{font-size:14.5px;letter-spacing:.06em;margin-top:8px;}
.lower-back{display:flex;flex-wrap:wrap;gap:16px 40px;}
.works-archive{margin-top:40px;}
.works-archive .work{border-bottom:1px solid var(--line);}

.lower-lead{font-size:14.5px;line-height:2.1;letter-spacing:.06em;margin-top:32px;max-width:760px;}
.privacy-item{margin-top:48px;max-width:760px;}
.privacy-item h2{font-size:16px;letter-spacing:.1em;color:var(--ink);padding-bottom:12px;border-bottom:1px solid var(--line);}
.privacy-item p{font-size:14px;line-height:2.1;letter-spacing:.06em;margin-top:16px;}
.privacy-item ul{margin-top:14px;}
.privacy-item li{font-size:14px;line-height:2;padding-left:14px;position:relative;}
.privacy-item li::before{content:"";position:absolute;left:0;top:1em;width:6px;height:1px;background:var(--gray);}
.privacy-dl{margin-top:16px;border-top:1px solid var(--line);}
.privacy-dl dt{font-size:12.5px;letter-spacing:.1em;color:var(--gray);padding-top:14px;}
.privacy-dl dd{font-size:14px;line-height:1.9;padding-bottom:14px;border-bottom:1px solid var(--line);}
.privacy-dl a{text-decoration:underline;text-underline-offset:3px;}
.privacy-date{font-size:12.5px;color:var(--gray);margin-top:44px;}
.col-cols.one{grid-template-columns:minmax(0,640px);justify-content:center;}

/* ---------- Contact Form 7：入力欄を span で包むので、原本の見た目に戻す ---------- */
.ct-r .wpcf7{margin:0;}
.ct-r .wpcf7 .cform{margin-top:40px;}
.wpcf7 .wpcf7-spinner{display:none;}
.cform .wpcf7-form-control-wrap{display:block;}
.cform .radios .wpcf7-radio{display:flex;flex-direction:column;gap:12px;}
.cform .radios.row .wpcf7-radio{flex-direction:row;flex-wrap:wrap;gap:12px 32px;}
.cform .wpcf7-list-item{display:block;margin:0;}
/* ラジオの各行は flex にする。block のままだと行ボックスの余白が乗って1行ぶん高くなる */
.cform .radios .wpcf7-list-item{display:flex;}
.cform .wpcf7-list-item label{display:inline-flex;align-items:center;gap:14px;font-size:15px;letter-spacing:.04em;color:#262424;cursor:pointer;}
.cform .wpcf7-list-item input[type=radio],.cform .wpcf7-list-item input[type=checkbox]{appearance:none;-webkit-appearance:none;width:26px;height:26px;margin:0;border:1px solid #948f8f;border-radius:50%;background:#fff;flex:none;position:relative;cursor:pointer;}
.cform .wpcf7-list-item input[type=radio]:checked::after,.cform .wpcf7-list-item input[type=checkbox]:checked::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#1a1818;}
.cform .agree .wpcf7-form-control-wrap{display:inline-block;}
.cform input[type=submit]{border:0;vertical-align:top;}
.cform .submit{line-height:0;}
.wpcf7-not-valid-tip{display:block;font-size:12.5px;color:var(--req);margin-top:8px;letter-spacing:.04em;}
.wpcf7-response-output{margin:24px 0 0!important;padding:14px 18px!important;border:1px solid var(--line)!important;font-size:13.5px;line-height:1.9;}

@media (max-width:767px){
  .lower{padding-top:calc(var(--head-h) + 50px);}
  .lower-t{font-size:21px;}
  .lower-body{margin-top:28px;}
  .lower-body h3{font-size:17px;}
  .lower-back{margin-top:48px;}
  .works-single-ph{grid-template-columns:1fr;}
}
