/* Scoped additions to the existing portfolio layout. */
.page-cost .cost-rows {border-top:1px solid var(--line);}
.page-cost .cost-rows > div {display:grid;grid-template-columns:1fr 2fr;gap:36px;padding:27px 0;border-bottom:1px solid var(--line);}
.page-cost .cost-rows dt {font-size:14px;font-weight:400;line-height:1.9;}
.page-cost .cost-rows dd {margin:0;font-size:13px;line-height:2.1;color:var(--ink-2);}
.page-cost .cost-projects {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;}
.page-cost .cost-example {min-width:0;}
.page-cost .cost-example > h3 {font-size:16px;font-weight:400;line-height:1.8;margin:23px 0 12px;}
.page-cost .cost-example > p,.page-cost .cost-author {font-size:13px;line-height:2.15;color:var(--ink-2);}
.page-cost .cost-author {border-top:1px solid var(--line);padding-top:26px;}
.page-cost .cost-author a {display:inline-block;margin-top:12px;text-decoration:underline;text-underline-offset:5px;}
.page-cost .restaurant-index a {min-width:0;}
/* 目次が5項目・7項目のときは2行になる。行の上の線は、項目のない列にも通す。
   （項目そのものに線を付けると、空いた列で線が切れて書き損じに見える） */
.page-cost .restaurant-index a{position:relative;border-top:0;}
@media(min-width:901px){
  .page-cost .restaurant-index a:nth-child(4n+1){padding-left:0;}
  .page-cost .restaurant-index a:nth-child(4n+1):not(:first-child)::before{content:"";position:absolute;left:0;top:0;width:400%;border-top:1px solid var(--line);}
}
@media(max-width:900px){
  .page-cost .restaurant-index a:nth-child(2n+1){padding-left:0;}
  .page-cost .restaurant-index a:nth-child(2n+1):not(:first-child)::before{content:"";position:absolute;left:0;top:0;width:200%;border-top:1px solid var(--line);}
}
.page-cost .restaurant-more .btn,.page-cost .restaurant-contact__action .btn {width:min(100%,350px);white-space:normal;text-align:center;}
html[lang="en"] .page-cost .restaurant-index a {font-size:11px;letter-spacing:0;}
html[lang="ko"] .page-cost .restaurant {word-break:keep-all;overflow-wrap:break-word;}
@media(max-width:900px){.page-cost .cost-projects{grid-template-columns:1fr;gap:48px;}.page-cost .cost-example{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;}.page-cost .cost-example .restaurant-card{grid-row:1 / 3;}.page-cost .cost-example > h3{margin-top:0;}}
@media(max-width:600px){.page-cost .cost-rows > div{grid-template-columns:1fr;gap:10px;padding:23px 0;}.page-cost .cost-example{display:block;}.page-cost .cost-example > h3{margin-top:22px;}}

/* 手がけてきた店。金額は書かず、取引先で価格帯を伝える。 */
.cost-clients{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--line);}
.cost-clients li{display:grid;grid-template-columns:minmax(0,15em) 1fr;gap:6px 26px;padding:17px 2px;border-bottom:1px solid var(--line);}
.cost-clients b{font-weight:400;letter-spacing:.02em;line-height:1.75;}
.cost-clients span{color:var(--ink-2);font-size:14px;line-height:1.85;}
.cost-clients a{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#cfc8bd;}
.cost-clients a:hover{text-decoration-color:currentColor;}
.cost-clients__foot{margin:18px 0 0;font-size:13px;line-height:2;color:#8d8578;}
.cost-clients__foot a{color:inherit;text-decoration:underline;text-underline-offset:4px;}
@media(max-width:700px){
  .cost-clients li{grid-template-columns:1fr;gap:4px;}
  .cost-clients span{font-size:13.5px;}
}
