/*!
global > color
------------------------------
*/
/*!
global > content-width
------------------------------
*/
/*!
global > font
------------------------------
*/
/*!
global > mixin
------------------------------
*/
.c-menucard01__block02__item .group-left__item .price-tax,
.c-menucard01__block02__item .group-right {
  font-size: 0.75rem;
}

@media screen and (min-width: 768px) {

  .c-menucard01__block02__item .group-left__item .price-tax,
  .c-menucard01__block02__item .group-right {
    font-size: clamp(0.75rem, 0.2976190476vw + 0.6071428571rem, 0.875rem);
  }
}

.c-menucard01__block01 .contentarea-list,
.c-menucard01__block02__item .ttl01,
.c-menucard01__block02__item .group-left__item .ttl,
.c-menucard01__block02__item .group-left__item .price {
  font-size: 0.875rem;
}

@media screen and (min-width: 768px) {

  .c-menucard01__block01 .contentarea-list,
  .c-menucard01__block02__item .ttl01,
  .c-menucard01__block02__item .group-left__item .ttl,
  .c-menucard01__block02__item .group-left__item .price {
    font-size: clamp(0.875rem, 0.2976190476vw + 0.7321428571rem, 1rem);
  }
}

.c-menucard01__block01 .contentarea-ttl01 {
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .c-menucard01__block01 .contentarea-ttl01 {
    font-size: clamp(1rem, 0.2976190476vw + 0.8571428571rem, 1.125rem);
  }
}

.c-menucard01__block02__item .group-left__item .price-number {
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .c-menucard01__block02__item .group-left__item .price-number {
    font-size: clamp(1rem, 0.5952380952vw + 0.7142857143rem, 1.25rem);
  }
}

.sec02-ttl01 {
  font-size: 1.125rem;
}

@media screen and (min-width: 768px) {
  .sec02-ttl01 {
    font-size: clamp(1.25rem, 0.5952380952vw + 0.9642857143rem, 1.5rem);
  }
}

.c-menucard01__ttl {
  font-size: clamp(1.25rem, 0.5102040816vw + 1.1304209184rem, 1.375rem);
}

@media screen and (min-width: 768px) {
  .c-menucard01__ttl {
    font-size: clamp(1.375rem, 3.90625vw + -0.5rem, 2rem);
  }
}

.p-kofus .mv-ttl {
  font-size: clamp(1.4375rem, 0.2544529262vw + 1.3778625954rem, 1.5rem);
}

@media screen and (min-width: 768px) {
  .p-kofus .mv-ttl {
    font-size: clamp(1.5rem, 2.380952381vw + 0.3571428571rem, 2.5rem);
  }
}

.p-kofus .mv {
  position: relative;
  min-height: 350px;
  padding-top: 100px;
  padding-bottom: 40px;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-kofus .mv {
    min-height: 390px;
    padding-top: 143px;
    padding-bottom: 82px;
  }
}

.p-kofus .mv::after {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  background: url(../images/bg_bottom01.webp) center/cover no-repeat;
}

@media screen and (min-width: 768px) {
  .p-kofus .mv::after {
    height: 50px;
  }
}

.p-kofus .mv-inner {
  position: relative;
  z-index: 1;
}

.p-kofus .mv-ttl {
  line-height: 1.2;
  font-weight: 700;
  margin-top: 57px;
  text-shadow: 0px 0px 16px #fff, 1px 1px 16px #fff, 2px 2px 16px #fff, 3px 3px 16px #fff;
  -webkit-text-stroke: 2px #fff;
  paint-order: stroke fill;
}

.p-kofus .mv-ttl--primary {
  color: #f76700;
}

.p-kofus .mv .c-box02__groupbtns {
  margin-top: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 14px;
}

.p-kofus_mv__txt01 {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .p-kofus_mv__txt01 {
    margin-top: 34px;
  }
}

.p-kofus_mv__txt02 {
  margin-top: 4px;
}

@media screen and (min-width: 768px) {
  .p-kofus_mv__txt02 {
    margin-top: 8px;
  }
}

.p-kofus_mv__txt03 {
  margin-top: 4px;
}

@media screen and (min-width: 768px) {
  .p-kofus_mv__txt03 {
    margin-top: 8px;
  }
}

.p-kofus_mv__txt03 .u_color_orange {
  position: relative;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-kofus_mv__txt03 .u_color_orange:hover::after {
    opacity: 0;
  }
}

.p-kofus_mv__txt03 .u_color_orange::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #f76700;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.p-kofus_mv__txt04 {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .p-kofus_mv__txt04 {
    margin-top: 31px;
  }
}

.sec02 {
  background-color: #fff;
  padding: 60px 0;
}

@media screen and (min-width: 768px) {
  .sec02 {
    padding: 99px 0 130px;
  }
}

.sec02-ttl01 {
  font-weight: 700;
  line-height: 1.6666666667;
  color: #f76700;
  text-align: center;
}

.sec02-desc01 {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .sec02-desc01 {
    margin-top: 30px;
  }
}

.sec02-layoutsp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 20px 10px;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .sec02-layoutsp {
    display: block;
  }
}

.sec02-layoutsp .sec02-list {
  display: contents;
}

@media screen and (min-width: 768px) {
  .sec02-layoutsp .sec02-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.sec02-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 30px;
}

.sec02-list+.sec02-list {
  margin-top: 20px;
}

.sec02-list .c-lunchcard01 {
  max-width: clamp(10rem, 10.2040816327vw + 7.6084183673rem, 12.5rem);
  border-radius: 16px;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

@media screen and (min-width: 768px) {
  .sec02-list .c-lunchcard01 {
    max-width: clamp(13.4375rem, 3.7202380952vw + 11.6517857143rem, 15rem);
  }
}

.sec02-list .c-lunchcard01 .imgarea,
.sec02-list .c-lunchcard01 .imgarea img {
  border-radius: 16px 16px 0 0;
}

@media screen and (min-width: 768px) {
  .sec02-list .c-lunchcard01 .contentarea {
    padding: 13px 14px 12px;
  }
}

.sec02-list .c-lunchcard01 .contentarea-heading {
  height: 60px;
}

@media screen and (min-width: 768px) {
  .sec02-list .c-lunchcard01 .contentarea-heading {
    height: 47px;
  }
}

.sec02-list .c-lunchcard01 .contentarea-icon {
  display: block;
  width: 24px;
  height: 15px;
  background-color: #f76700;
  -webkit-mask-image: url(../images/common_icon_arrowbottom01.svg);
  mask-image: url(../images/common_icon_arrowbottom01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  margin-top: 19px;
  margin-inline: auto;
}

.sec02-groupbtns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .sec02-groupbtns {
    margin-top: 40px;
  }
}

.sec03 {
  position: relative;
  z-index: 2;
  padding: 60px 0;
}

@media screen and (min-width: 768px) {
  .sec03 {
    padding: 57px 0 78px;
  }
}

.sec03::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  position: absolute;
  bottom: 100%;
  left: 50%;
  translate: -50% 0;
  background: url(../images/common_bg_top.webp) center/cover no-repeat;
  rotate: 180deg;
}

@media screen and (min-width: 768px) {
  .sec03::before {
    height: 50px;
  }
}

.sec03::after {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  background: url(../images/common_bg_bottom.webp) center/cover no-repeat;
}

@media screen and (min-width: 768px) {
  .sec03::after {
    height: 50px;
  }
}

.sec03-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 25px;
}

@media screen and (min-width: 768px) {
  .sec03-list {
    gap: 33px;
  }
}

.sec04 {
  background-color: #ffffff;
  padding: 60px 0;
}

@media screen and (min-width: 768px) {
  .sec04 {
    padding: 126px 0 131px;
  }
}

.sec04 .c-heading01__txt {
  text-shadow: 0 0 7px rgba(255, 255, 255, 0.25);
}

.sec04 .c-contactbox01 {
  margin-top: 55px;
}

.sec04 .c-btn01 {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .sec04 .c-btn01 {
    margin-top: 41px;
  }
}

.sec04-faq {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .sec04-faq {
    margin-top: 55px;
    max-width: 808px;
  }
}

@media screen and (min-width: 768px) {
  .sec04-faq .c-faq01__q .arrow {
    right: 12px;
  }
}

.c-menucard01 {
  background-color: #fff;
  border-radius: 16px;
  padding: 15px 20px;
}

@media screen and (min-width: 768px) {
  .c-menucard01 {
    padding: 20px 36px 32px 32px;
  }
}

.c-menucard01__ttl {
  font-weight: 700;
  line-height: 1.25;
}

.c-menucard01__block01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 21px;
  gap: 22px;
}

@media screen and (min-width: 768px) {
  .c-menucard01__block01 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}

.c-menucard01__block01 .imgarea {
  max-width: 320px;
}

@media screen and (min-width: 768px) {
  .c-menucard01__block01 .imgarea {
    max-width: 100%;
    width: 33.3333333333%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

.c-menucard01__block01 .contentarea-ttl01 {
  font-weight: 700;
  line-height: 1.44;
  position: relative;
  padding-left: 32px;
  margin-top: -1px;
}

.c-menucard01__block01 .contentarea-ttl01::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../images/common_icon_check01.svg) center/cover no-repeat;
  position: absolute;
  top: 2px;
  left: 0;
}

.c-menucard01__block01 .contentarea-list {
  font-weight: 400;
  line-height: 1.75;
  margin-top: 7px;
}

.c-menucard01__block01 .contentarea-list__item {
  position: relative;
  padding-left: 24px;
  padding-right: 2px;
}

.c-menucard01__block01 .contentarea-list__item::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 10px;
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #5c4d2c;
}

@media screen and (min-width: 768px) {
  .c-menucard01__block01 .contentarea-list__item::before {
    top: 15px;
  }
}

.c-menucard01__block01 .contentarea-notes {
  margin-top: 26px;
  color: #5c4d2c;
}

.c-menucard01__block02 {
  margin-top: 18px;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 16px;
}

.c-menucard01__block02__item {
  background-color: #ffe8cb;
  max-width: 467px;
  padding: 6px 9px;
  width: 100%;
  border-radius: 8px;
}

.c-menucard01__block02__item .ttl01 {
  font-weight: 400;
  line-height: 1.75;
  background-color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0 3px;
  min-width: 88px;
  border-radius: 4px;
}

.c-menucard01__block02__item .group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 6px;
  gap: 3px;
}

@media screen and (min-width: 768px) {
  .c-menucard01__block02__item .group {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
}

.c-menucard01__block02__item .group-left {
  margin-top: 3px;
}

.c-menucard01__block02__item .group-left__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  border-top: 1px dashed #ffffff;
  padding: 4px 0;
}

@media screen and (min-width: 768px) {
  .c-menucard01__block02__item .group-left__item {
    gap: 7px;
  }
}

.c-menucard01__block02__item .group-left__item:first-of-type {
  border-top: 0;
}

.c-menucard01__block02__item .group-left__item .ttl {
  font-weight: 700;
  line-height: 1.5;
  min-width: 96px;
}

.c-menucard01__block02__item .group-left__item .price {
  font-weight: 400;
  line-height: 1.5;
  color: #f76700;
}

.c-menucard01__block02__item .group-left__item .price-number {
  font-weight: 700;
}

.c-menucard01__block02__item .group-left__item .price-tax {
  color: #5c4d2c;
}

.c-menucard01__block02__item .group-right {
  background-color: #fff;
  font-weight: 400;
  line-height: 1.7142857143;
  border-radius: 4px;
}

@media screen and (min-width: 768px) {
  .c-menucard01__block02__item .group-right {
    width: 37.416481069%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

.c-menucard01__block02__item .group-right__item {
  position: relative;
  padding-left: 21px;
  padding-right: 2px;
}

.c-menucard01__block02__item .group-right__item::before {
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 50%;
  display: block;
  background-color: #5c4d2c;
  position: absolute;
  top: 12px;
  left: 10px;
}

@media screen and (min-width: 768px) {
  .c-search01 {
    padding-top: 49px;
  }
}

@media screen and (min-width: 768px) {
  .c-search01 .c-heading01 {
    padding-bottom: 22px;
  }
}

/* RSS Section Styles (Copied and adapted from top.css) */
.p-kofus .sec09 {
  position: relative;
  padding: 60px 0;
}

@media screen and (min-width: 768px) {
  .p-kofus .sec09 {
    padding: 51px 0 81px;
  }
}

.p-kofus .sec09::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  position: absolute;
  bottom: 100%;
  left: 50%;
  translate: -50% 0;
  background: url(../images/top_mv_bg_bottom01.webp) center/cover no-repeat;
  rotate: 180deg;
}

@media screen and (min-width: 768px) {
  .p-kofus .sec09::before {
    height: 50px;
  }
}

.p-kofus .sec09::after {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  background: url(../images/top_sec03_bg_bottom.webp) center/cover no-repeat;
}

@media screen and (min-width: 768px) {
  .p-kofus .sec09::after {
    height: 50px;
  }
}

.p-kofus .sec09-slider {
  margin-top: 56px;
  padding-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-kofus .sec09-slider {
    padding-bottom: 52px;
  }
}

.p-kofus .sec09-slider .c-cardmenu01 {
  max-width: 254px;
}

@media screen and (min-width: 768px) {
  .p-kofus .sec09-slider .c-cardmenu01 {
    max-width: 280px;
  }
}

@media screen and (min-width: 768px) {
  .p-kofus .sec09-slider .c-cardmenu01 .contentarea-readme {
    padding-right: 12px;
  }
}



/* LINE Button Styles */
.c-btncontact01--line .c-btncontact01__link {
  color: #06C755;
  border-color: #06C755;
  gap: 10px;
}

.c-btncontact01--line .c-btncontact01__link .icon {
  background-color: transparent;
  -webkit-mask-image: none;
  mask-image: none;
  background-image: url(../images/line.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
}

.c-btncontact01--line .c-btncontact01__link:hover {
  color: #fff;
  background-color: #06C755;
  border-color: transparent;
}

.c-btncontact01--line .c-btncontact01__link::after {
  opacity: 0;
  background: #fff;
}

/* Re-apply hover effect logic if needed */

/* QR Code */
#qrcode_line {
  display: block;
}

#qrcode_line canvas,
#qrcode_line img {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .c-btncontact01--line {
    width: auto;
    max-width: none;
    height: auto;
  }

  .c-btncontact01--line .c-btncontact01__link {
    padding: 5px 20px;
    height: 50px;
  }
}

/* Modal Line QR */
.c-modal__line .qrcode-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 30px 0;
}

.c-modal__line .qrcode-area #qrcode_line {
  width: 200px;
  height: 200px;
}

.c-modal__line .qrcode-area #qrcode_line canvas,
.c-modal__line .qrcode-area #qrcode_line img {
  width: 100%;
  height: 100%;
}

.c-modal__line .qrcode-area .txt {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}