.menu { max-width: 1440px; margin: 150px auto 0; padding: 0 var(--gut); }
.menu > .label { height: 50px; }

/* 文の列と写真の列。2つ目は左右を入れ替える */
.menu__block { display: grid; grid-template-columns: 1fr 1fr; min-height: 580px; }
.menu__text { position: relative; padding: 110px 114px 0 64px; }
.menu__head { display: flex; align-items: baseline; gap: 12px; padding-left: 20px; border-left: 3px solid var(--surface); }
.menu__head { flex-wrap: wrap; }
.menu__title { white-space: nowrap; font-family: var(--ff-mincho); font-size: 36px; font-weight: 400; line-height: 50px; letter-spacing: .12em; color: var(--ink-head); }
.menu__sub { font-size: 12px; font-weight: 500; line-height: 17px; }
.menu__body { margin-top: 30px; font-size: 16px; line-height: 2; text-wrap: pretty; }
.menu__price { margin-top: 18px; font-family: var(--ff-mincho); font-size: 30px; line-height: 1.4; letter-spacing: .08em; color: var(--ink-head); }
.menu__price small { font-family: var(--ff-gothic); font-size: 13px; }
.menu__text .linkrow { margin: 30px 0 0; }

.menu__list { margin-top: 26px; }
.menu__list > div { display: flex; align-items: baseline; gap: 12px; padding: 13px 0; border-bottom: 1px dashed var(--line); }
.menu__list dt { flex: 1; font-size: 17px; font-weight: 500; line-height: 1.6; }
.menu__list dd { flex: none; font-family: var(--ff-mincho); font-size: 19px; line-height: 1.6; letter-spacing: .08em; color: var(--ink-head); }

.menu__photos { display: grid; gap: 10px; padding: 96px 5px 0; align-content: start; }
.menu__photos--two { grid-template-columns: 1fr 1fr; }
.menu__photos--two > :nth-child(2) { margin-top: 13px; }
.ph--tile { border-radius: var(--r-m); aspect-ratio: 310 / 240; }
.menu__photos--one .ph--tile { aspect-ratio: 630 / 490; border-radius: var(--r-m) 140px var(--r-m) var(--r-m); }
.menu__photos--one .fadeup { clip-path: inset(0 100% 0 0 round 20px 140px 20px 20px); }
.menu__photos--one .fadeup.is-on { clip-path: inset(0 round 20px 140px 20px 20px); }
.menu__photos--two > :nth-child(2).fadeup { transition-delay: .35s; }
.menu__photos--two .ph--tile { aspect-ratio: 310 / 380; }

.menu__block--rev .menu__text { order: 2; padding: 110px 64px 0 114px; }

@media (max-width: 1099px) {
  .menu__text { padding-right: 40px; padding-left: 40px; }
  .menu__block--rev .menu__text { padding: 110px 40px 0 60px; }
}
@media (max-width: 899px) {
  .menu { margin-top: 150px; }
  .menu__block { display: block; min-height: 0; }
  .menu__block + .menu__block { margin-top: 60px; }
  .menu__text, .menu__block--rev .menu__text { padding: 62px 25px 0; }
  .menu__body { font-size: 14px; }
  .menu__list dt { font-size: 15px; }
  .menu__list dd { font-size: 17px; }
  .menu__text .linkrow { margin: 20px 0 0; }
  .menu__photos { padding: 20px 5px 0; }
  .menu__photos--one .ph--tile { aspect-ratio: 1; border-radius: var(--r-m) 90px var(--r-m) var(--r-m); }
  .menu__photos--one .fadeup { clip-path: inset(0 100% 0 0 round 20px 90px 20px 20px); }
  .menu__photos--one .fadeup.is-on { clip-path: inset(0 round 20px 90px 20px 20px); }
  .menu__photos--two .ph--tile { aspect-ratio: 170 / 210; }
}
