@charset "UTF-8";

.breakfast-page main{color:#222;}
.breakfast-hero .shops-hero__title{letter-spacing:.05em;}
.breakfast-hero .shops-hero__lead{max-width:700px;}

.breakfast-intro{position:relative;z-index:5;padding:0 32px;}
.breakfast-intro__inner{max-width:1060px;margin:-36px auto 0;padding:40px 50px;border:1px solid #e8eef0;border-radius:5px;background:#fff;box-shadow:0 14px 42px rgba(0,63,90,.1);}
.breakfast-intro__inner p{max-width:900px;margin:0 auto 14px;color:#444;font-size:16px;line-height:1.9;}
.breakfast-intro__inner p:last-child{margin-bottom:0;}
.breakfast-intro__inner strong{color:#222;font-weight:700;}
.breakfast-intro__note{margin-top:22px!important;padding:16px 20px;border-left:3px solid #00a5df;background:#f6fafc;color:#555!important;font-size:14px!important;line-height:1.8!important;}

.breakfast-filter{padding:64px 30px 0;background:#fff;}
.breakfast-filter__inner{max-width:1060px;margin:0 auto;padding:34px 38px 30px;border:1px solid #dfe8eb;background:#f8fbfc;}
.breakfast-filter__heading{margin-bottom:27px;text-align:center;}
.breakfast-filter__en{margin:0 0 6px;color:#00a5df;font-family:"Lato",sans-serif;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.18em;}
.breakfast-filter__heading h2{margin:0;color:#222;font-size:25px;font-weight:500;line-height:1.5;letter-spacing:.04em;}
.breakfast-filter__grid{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:18px;}
.breakfast-filter__field{min-width:0;}
.breakfast-filter__field label{display:block;margin:0 0 8px;color:#4d5b61;font-size:13px;font-weight:700;line-height:1.5;letter-spacing:.04em;}
.breakfast-filter__select-wrap{position:relative;}
.breakfast-filter__select-wrap::after{content:"";position:absolute;top:50%;right:17px;width:8px;height:8px;border-right:2px solid #008ebf;border-bottom:2px solid #008ebf;pointer-events:none;transform:translateY(-70%) rotate(45deg);}
.breakfast-filter select{display:block;width:100%;height:54px;margin:0;padding:0 44px 0 16px;border:1px solid #cfdcdf;border-radius:0;outline:0;appearance:none;-webkit-appearance:none;color:#222;background:#fff;font-family:"Lato","Helvetica Neue",Arial,"PingFang TC","Microsoft JhengHei",sans-serif;font-size:15px;line-height:1.4;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;}
.breakfast-filter select:hover{border-color:#9ccbdc;}
.breakfast-filter select:focus{border-color:#00a5df;box-shadow:0 0 0 3px rgba(0,165,223,.12);}
.breakfast-filter select option:disabled{color:#aaa;}
.breakfast-filter__status{margin:22px 0 0;color:#687980;text-align:center;font-size:14px;line-height:1.6;}

.breakfast-section{padding-top:78px;}
.breakfast-grid{transition:opacity .2s ease;}
.breakfast-card[hidden],.breakfast-empty[hidden],.breakfast-card__conditional-note[hidden]{display:none!important;}

.breakfast-card__photo .shop-gallery__viewport{aspect-ratio:11/6;}
.breakfast-card__photo img{object-fit:cover;object-position:center;}

.breakfast-card__labels{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 14px;}
.breakfast-card__labels .shop-card__category{margin:0;}
.breakfast-card__badge{display:inline-flex;align-items:center;margin:0;padding:6px 10px;border:1px solid #d8dfe2;border-radius:3px;color:#555;background:#f6f7f7;font-size:12.5px;font-weight:700;line-height:1.45;}
.breakfast-card__badge--reservation{border-color:#e6c7b6;color:#9a5634;background:#fff7f2;}
.breakfast-card__time{margin:-5px 0 17px;color:#008ebf;font-size:14.5px;font-weight:700;line-height:1.6;}
.breakfast-card .shop-card__description{margin-bottom:18px;}
.breakfast-card__menu{margin:0 0 19px;padding:15px 17px;background:#f7f9fa;}
.breakfast-card__menu p{margin:0 0 13px;color:#4c4c4c;font-size:14.5px;line-height:1.75;}
.breakfast-card__menu p:last-child{margin-bottom:0;}
.breakfast-card__menu strong{display:inline-block;margin-bottom:2px;color:#222;font-weight:700;}
.breakfast-card__notice{margin:0 0 19px;padding:11px 13px;background:#faf7f5;color:#72594d;font-size:13.5px;line-height:1.7;}
.breakfast-card__conditional-note{margin:0 0 20px;padding:14px 15px;border-left:3px solid #00a5df;background:#f3fafc;}
.breakfast-card__conditional-note p{margin:0;color:#46565d;font-size:13.5px;line-height:1.75;}
.breakfast-card__conditional-note strong{color:#008ebf;font-weight:700;}

.breakfast-empty{max-width:760px;margin:30px auto 0;padding:35px 25px;border:1px solid #dfe5e8;background:#f8fafb;text-align:center;}
.breakfast-empty p{margin:0 0 7px;color:#555;font-size:15px;line-height:1.7;}
.breakfast-empty p:last-child{margin-bottom:0;color:#777;font-size:14px;}

.breakfast-back{padding-top:58px;}

@media screen and (max-width:960px){
  .breakfast-intro__inner{padding-right:36px;padding-left:36px;}
  .breakfast-filter__grid{grid-template-columns:1fr 1fr;}
  .breakfast-filter__field:first-child{grid-column:1/-1;}
}

@media screen and (max-width:767px){
  .breakfast-intro{padding:0 16px;}
  .breakfast-intro__inner{margin-top:-23px;padding:28px 19px;}
  .breakfast-intro__inner p{margin-bottom:12px;font-size:15px;line-height:1.8;}
  .breakfast-intro__note{margin-top:18px!important;padding:14px 15px;font-size:13px!important;line-height:1.75!important;}
  .breakfast-filter{padding:43px 16px 0;}
  .breakfast-filter__inner{padding:27px 18px 24px;}
  .breakfast-filter__heading{margin-bottom:22px;}
  .breakfast-filter__heading h2{font-size:22px;}
  .breakfast-filter__grid{grid-template-columns:1fr;gap:16px;}
  .breakfast-filter__field:first-child{grid-column:auto;}
  .breakfast-filter select{height:52px;font-size:15px;}
  .breakfast-filter__status{margin-top:18px;font-size:13px;}
  .breakfast-section{padding-top:59px;}
  .breakfast-card__time{font-size:14px;}
  .breakfast-card__badge{font-size:12px;}
  .breakfast-card__menu{padding:14px 15px;}
  .breakfast-card__menu p{font-size:14px;}
  .breakfast-card__notice,.breakfast-card__conditional-note p{font-size:13px;}
  .breakfast-empty{margin-top:20px;padding:28px 18px;}
}

@media screen and (max-width:374px){
  .breakfast-filter__inner{padding-right:15px;padding-left:15px;}
  .breakfast-filter select{padding-left:13px;font-size:14px;}
}