@charset "UTF-8";
.clfl:after {
  content: ".";
  display: block;
  clear: left;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0; }

.clfr:after {
  content: ".";
  display: block;
  clear: right;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0; }

.clf:after, section.takeout .items:after, section.cafe:after,
section.takeout:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0; }

.clf, section.takeout .items, section.cafe,
section.takeout {
  min-height: 1px; }

* html .clf, * html section.takeout .items, section.takeout * html .items, * html section.cafe,
* html section.takeout {
  height: 1px;
  /*¥*/
  /*/
    height: auto;
    overflow: hidden;
    /**/ }

header nav a.menu {
  opacity: 0.5; }

.cover {
  position: relative; }
  .cover .wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: -webkit-flex;
    -webkit-align-items: center;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 880px) {
      .cover .wrapper {
        position: static;
        height: auto;
        display: block; } }
    .cover .wrapper h1 {
      color: #C7C7C7;
      font-size: 15px;
      line-height: 1em;
      letter-spacing: 0.16em;
      margin-left: 65px; }
      .cover .wrapper h1 span.ml {
        margin-left: 16px; }
      @media only screen and (max-width: 880px) {
        .cover .wrapper h1 {
          color: black;
          text-align: center;
          font-size: 13px;
          margin-top: 38px;
          margin-left: 0;
          display: block; } }
section {
  letter-spacing: 0.1em; }

section.intro {
  width: 100%;
  max-width: 500px;
  margin: 60px auto 75px;
  font-size: 14px;
  line-height: 33px;
  text-align: justify;
  letter-spacing: 0.02em; }
  @media only screen and (max-width: 880px) {
    section.intro {
      width: auto;
      padding-left: 20px;
      padding-right: 20px;
      font-size: 12px;
      line-height: 26px;
      letter-spacing: 0.04em;
      margin-top: 28px;
      margin-bottom: 54px; } }
section.pickup h1 {
  text-align: center;
  margin-bottom: 42px;
  letter-spacing: 0.09em; }
  @media only screen and (max-width: 880px) {
    section.pickup h1 {
      font-size: 13px;
      margin-bottom: 28px; } }
section.pickup .items {
  -webkit-display: flex;
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 880px) {
    section.pickup .items {
      display: block;
      padding-left: 20px;
      padding-right: 20px; } }
section.pickup .item {
  font-size: 13px;
  line-height: 29px;
  width: calc((100% - 80px) / 3);
  margin-bottom: 30px; }
  @media only screen and (max-width: 880px) {
    section.pickup .item {
      width: 100%;
      font-size: 12px;
      line-height: 26px;
      margin-bottom: 33px; } }
  section.pickup .item:not(:nth-child(3n)) {
    margin-right: 40px; }
  section.pickup .item > img {
    width: 100%;
    height: auto; }
  section.pickup .item h2 {
    text-align: left;
    margin-top: 19px;
    margin-bottom: 12px;
    letter-spacing: 0.09em; }
    @media only screen and (max-width: 880px) {
      section.pickup .item h2 {
        margin-top: 21px;
        margin-bottom: 10px; } }
  section.pickup .item span {
    font-size: 11px;
    margin-left: 14px; }
  section.pickup .item p {
    text-align: justify;
    word-break: break-all;
    letter-spacing: 0.06em; }
  section.pickup .item span.togo {
    display: block;
    margin-left: 0;
    font-size: 13px;
    letter-spacing: 0.22em;
    color: #a5a5a5; }
    @media only screen and (max-width: 880px) {
      section.pickup .item span.togo {
        font-size: 12px;
        margin-top: 1px; } }
section.cafe,
section.takeout {
  padding-top: 67px;
  padding-bottom: 102px;
  background-color: #F8F8F8; }
  @media only screen and (max-width: 880px) {
    section.cafe,
    section.takeout {
      padding-top: 41px;
      padding-bottom: 51px;
      padding-left: 20px;
      padding-right: 20px; } }
  section.cafe h1,
  section.takeout h1 {
    text-align: center;
    margin-bottom: 72px;
    font-size: 14px;
    letter-spacing: 0.14em; }
    @media only screen and (max-width: 880px) {
      section.cafe h1,
      section.takeout h1 {
        margin-bottom: 37px; } }
  section.cafe .items,
  section.takeout .items {
    padding-top: 38px;
    padding-bottom: 36px;
    border-top: 1px solid #B1B1B1;
    border-bottom: 1px solid #B1B1B1; }
    @media only screen and (max-width: 880px) {
      section.cafe .items,
      section.takeout .items {
        padding-top: 34px;
        padding-bottom: 44px; } }
    section.cafe .items h2,
    section.takeout .items h2 {
      text-align: left;
      font-size: 14px;
      margin-bottom: 28px; }
      @media only screen and (max-width: 880px) {
        section.cafe .items h2,
        section.takeout .items h2 {
          margin-bottom: 24px; } }
  section.cafe table,
  section.takeout table {
    width: 100%;
    font-size: 14px;
    line-height: 30px; }
    @media only screen and (max-width: 880px) {
      section.cafe table,
      section.takeout table {
        font-size: 12px;
        line-height: 27px; } }
    section.cafe table th,
    section.takeout table th {
      font-weight: 500;
      text-align: left;
      letter-spacing: 0.05em; }
      section.cafe table th span,
      section.takeout table th span {
        font-size: 11px;
        margin-left: 14px; }
    section.cafe table td,
    section.takeout table td {
      text-align: right;
      vertical-align: bottom; }
    section.cafe table tr.sub th,
    section.takeout table tr.sub th {
      padding-left: 1em; }
    @media only screen and (max-width: 880px) {
      section.cafe table tr.empty,
      section.takeout table tr.empty {
        display: none; } }
section.cafe {
  margin-top: 75px;
  margin-bottom: 43px; }
  @media only screen and (max-width: 880px) {
    section.cafe {
      margin-top: 40px;
      margin-bottom: 43px; } }
  section.cafe .wrapper {
    width: 740px;
    margin: 0 auto;
    display: flex;
    gap: 40px; }
    @media only screen and (max-width: 880px) {
      section.cafe .wrapper {
        width: 100%;
        display: block; } }
  section.cafe .items {
    flex: 1; }
    @media only screen and (max-width: 880px) {
      section.cafe .items:nth-child(2n) {
        border-top: 0; } }
    @media only screen and (max-width: 880px) {
      section.cafe .items {
        width: 100%; } }
section.takeout h1 {
  margin-bottom: 61px; }
  @media only screen and (max-width: 880px) {
    section.takeout h1 {
      margin-bottom: 37px; } }
section.takeout .wrapper {
  width: 410px;
  margin: 0 auto; }
  @media only screen and (max-width: 880px) {
    section.takeout .wrapper {
      width: 100%; } }
section.takeout .items:not(:first-child) {
  border-top: 0; }

section.takeout .items h2.food,
section.takeout .items h2.drink {
  margin-bottom: 25px; }
  @media only screen and (max-width: 880px) {
    section.takeout .items h2.food,
    section.takeout .items h2.drink {
      margin-bottom: 24px; } }
section.takeout .items h2.drink {
  margin-top: 15px; }
  @media only screen and (max-width: 880px) {
    section.takeout .items h2.drink {
      margin-top: 30px; } }
@media only screen and (max-width: 880px) {
  section.takeout .items th h2 {
    margin-top: 30px; } }

section.gift {
  margin-top: 80px; }
  @media only screen and (max-width: 880px) {
    section.gift {
      margin-top: 64px; } }
  section.gift .item {
    margin-bottom: 40px; }
    @media only screen and (max-width: 880px) {
      section.gift .item {
        margin-bottom: 30px; }
        section.gift .item p {
          letter-spacing: .04em; } }
footer {
  margin-top: 60px; }
  @media only screen and (max-width: 880px) {
    footer {
      margin-top: 30px; } }
