@charset "UTF-8";

:root {
  --lunch-main: #674101;
  --lunch-sub: #060309;
}

.content {
  padding: 0;
}

.lunch-wrap {
  background: #fff;
}



/* ----- .lunch-head ----- */
.lunch-head {
  background: url(../menu-lunch/img/bg-curry-sp.png) no-repeat right bottom;
  background-size: cover;
  padding: 4rem 2.5rem 10rem;
}
.lunch-head h3 {
  font-family: "Castoro", serif;
  color: var(--br);
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.3;
  transform: skewX(-10deg);
}
.lunch-head h3 span {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 1.4rem;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0;
  transform: skewX(10deg);
}
.lunch-head-txt p {
  color: var(--lunch-sub);
  font-size: 1.4rem;
  padding: 2.5rem 0 1.5rem;
}
.lunch-head-txt dl {
  display: flex;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.lunch-head-txt dt {
  background: var(--br);
  color: #fff;
  line-height: 1;
  padding: 0.5rem 1.2rem;
  margin-right: 1rem;
  border-radius: 0.2rem;
}

.lunch-main {
  background: #f5f5f5;
  padding: 4rem 1.5rem 6rem;
}

/* ----- .lunch-main　共通 ----- */
.customize dl,
.lunch-sidemenu dl {
  display: flex;
  justify-content: space-between;
  border-bottom: 0.1rem #ccc dashed;
}
.customize dt,
.lunch-sidemenu dt {
  padding: 1.2rem 2rem 1rem;
  font-size: 1.4rem;
  position: relative;
}
.customize dt::before,
.lunch-sidemenu dt::before {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  background: var(--br);
  border-radius: 50%;
  position: absolute;
  left: 0.4rem;
  top: 50%;
  transform: translateY(-50%);
}
.customize dd,
.lunch-sidemenu dd {
  color: var(--lunch-main);
  padding: 1rem 1.5rem;
}
.customize dd span,
.lunch-sidemenu dd span {
  font-size: 1.4rem;
  margin-left: 0.5rem;
}

/* ----- .lunch-curry ----- */
.lunch-curry {
  padding-bottom: 5.5rem;
}
.lunch-curry h4 {
  font-family: "Castoro", serif;
  color: var(--br);
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  padding: 0 0 1.5rem 5.5rem;
  line-height: 1.3;
  position: relative;
}
.lunch-curry h4 span {
  display: block;
  font-family: "Noto Serif JP", serif;
  color: var(--lunch-sub);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
}
.lunch-curry h4::before {
  content: "";
  display: block;
  width: 3.6rem;
  height: 3.6rem;
  background: url(../menu-lunch/img/lunch-no01.svg) no-repeat left center;
  position: absolute;
  top: 0;
  left: 0;
}

.lunch-curry h4 + p {
  background: #fff;
  color: #2f1e01;
  font-size: 1.4rem;
  padding: 3rem 2rem 2.5rem;
  margin-top: 4rem;
  position: relative;
}
.lunch-curry h4 + p span {
  display: block;
  background: #40805e;
  font-family: "Castoro", serif;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 1rem 2rem;
  position: absolute;
  top: -2rem;
  left: 0;
}

.curry-list > div {
  padding-top: 3rem;
}
.curry-list figure {
  text-align: center;
}
.curry-list h5 {
  font-family: "Castoro", serif;
  color: var(--lunch-main);
  font-size: 2.1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.3;
  padding: 3rem 0;
}
.curry-list h5 span {
  display: block;
  font-family: "Noto Serif JP", serif;
  color: var(--lunch-sub);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
}
.curry-list .curry-detail {
  font-size: 1.4rem;
  text-align: center;
}
.curry-list .curry-detail p:first-child {
  font-size: 1.6rem;
  padding-bottom: 0.5rem;
}
.curry-list .grilled-curry .curry-detail {
  text-align: left;
}
.curry-list .grilled-curry .curry-detail p:first-child {
  text-align: center;
}
.curry-list .price {
  color: var(--lunch-main);
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: right;
  padding-top: 0.5rem;
  border-top: 0.1rem #c0c0c0 solid;
  margin-top: 2rem;
}
.curry-list .price span {
  font-size: 1.6rem;
  font-weight: 500;
  margin-left: 0.5rem;
}
.curry-list div div div {
  padding-bottom: 2rem;
}
.customize {
  margin-top: 3rem;
}
.customize h6 {
  display: inline-block;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  color: var(--lunch-main);
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  padding: 0 1.2rem;
}
.customize .topping h6 {
  background: #e2cead;
}
.customize .change h6 {
  background: #d7dae3;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.5rem;
  padding: 0 1.7rem;
}
.customize .change dt::before {
  background: #b1b5bf;
}

/* ----- .takeout ----- */
.takeout {
  background: #fff;
}
.takeout dl {
  display: flex;
  align-items: center;
  letter-spacing: 0.05em;
  padding: 2.5rem 0;
}
.takeout dt {
  width: 11.5rem;
  flex-shrink: 0;
  background: url(../menu-lunch/img/icon-takeout.svg) no-repeat center 0.7rem;
  background-size: 2.8rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  color: var(--lunch-main);
  font-weight: 700;
  text-align: center;
  padding-top: 3.7rem;
}
.takeout dd {
  font-size: 1.4rem;
  padding-left: 3rem;
  border-left: 0.1rem #ccc solid;
}
.takeout dd li {
  line-height: 1.5;
  padding-left: 1em;
  position: relative;
}
.takeout dd li::before {
  content: "・";
  position: absolute;
  top: 0.1rem;
  left: 0;
}
.takeout dd li > span {
  color: var(--lunch-main);
  font-size: 1.6rem;
  font-weight: 700;
  margin-left: 0.5em;
}
.takeout dd li span span {
  font-size: 1.2rem;
  font-weight: 500;
}
.takeout dd li:first-child {
  margin-bottom: 1rem;
}

/*----------------------------------------------------
SP用 500以上
----------------------------------------------------*/
@media only screen and (min-width: 500px) {

  .takeout dd {
    padding: 0.7rem 0 0.7rem 3rem;
  }
  .takeout dd li {
    padding-left: 0;
  }
  .takeout dd li::before {
    display: none;
  }
  .takeout dd li:first-child {
    margin-bottom: 0;
  }

}

/* ----- .lunch-other ----- */
.lunch-other > div {
  margin-bottom: 5.5rem;
}
.lunch-other h4 {
  font-family: "Castoro", serif;
  color: var(--lunch-main);
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  padding: 0 0 1.5rem 5.5rem;
  position: relative;
}
.lunch-other h4 span {
  font-family: "Noto Serif JP", serif;
  color: var(--lunch-sub);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-left: 0.5rem;
}
.lunch-other h4::before {
  content: "";
  display: block;
  width: 3.6rem;
  height: 3.6rem;
  background: no-repeat left center;
  position: absolute;
  top: 0;
  left: 0;
}
.lunch-other figure {
  text-align: center;
}
.lunch-other .price {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  color: var(--lunch-sub);
  font-size: 1.4rem;
  padding-top: 0.5rem;
  border-top: 0.1rem #c0c0c0 solid;
  margin-top: 2rem;
}
.lunch-other .price > span:last-child {
  color: var(--lunch-main);
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.lunch-other .price > span:last-child span {
  font-size: 1.6rem;
  font-weight: 500;
  margin-left: 0.5rem;
}
.lunch-pasta h4::before {
  background-image: url(../menu-lunch/img/lunch-no02.svg);
}
.lunch-pizza h4::before {
  background-image: url(../menu-lunch/img/lunch-no03.svg);}

/* ----- .lunch-sidemenu ----- */
.lunch-sidemenu h4 {
  font-family: "Castoro", serif;
  color: var(--lunch-main);
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
.lunch-sidemenu h4 span {
  font-family: "Noto Serif JP", serif;
  display: block;
  color: var(--lunch-sub);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
}
.lunch-sidemenu h5 {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  color: var(--lunch-main);
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 2.5rem 0 0.5rem;
}
.lunch-sidemenu h5 span {
  font-family: 'Noto Sans JP', sans-serif;
  color: var(--br);
  font-size: 1.4rem;
  font-weight: 500;
  margin-left: 1em;
}
.lunch-sidemenu dt span {
  position: relative;
}
.lunch-sidemenu dt span img {
  height: 2rem;
  position: absolute;
  top: 50%;
  right: -8rem;
  transform: translateY(-50%);
}
.lunch-sidemenu .drink dt span img {
  right: -5.8rem;
}

.displayed-price {
  padding: 2rem 1.5rem 3rem;
  color: #301e00;
  font-size: 1.3rem;
  text-align: right;
}





/*----------------------------------------------------
タブレット用 750
----------------------------------------------------*/
@media screen and (min-width:750px) {

  .lunch-wrap {
    background: #f5f5f5;
  }
  .lunch {
    background:  url(../menu-lunch/img/bg-curry-pc.png) no-repeat right top;
  }



  /* ----- .lunch-head ----- */
  .lunch-head {
    background: none;
    padding: 4rem 1.5rem 5.5rem;
  }



  /* ----- .lunch-curry ----- */
  .lunch-curry h4 {
    line-height: 1.8;
  }
  .lunch-curry h4 span {
    display: inline;
    padding-left: 1.2em;
  }
  .lunch-curry h4 + p {
    margin-top: 1.5rem;
  }

  .curry-list {
    display: flex;
    justify-content: space-between;
    gap: 4%; /* 任意 */
  }
  .curry-list > div {
    display: flex; /* 各カラムを縦方向の flex コンテナにする */
    flex-direction: column;
    flex: 1 1 0;
    min-height: 0; /* 重要: 子要素の overflow / shrink を正しく効かせるため */
  }
  .curry-list h5,
  .curry-list .curry-detail {
    text-align: left;
  }
  .curry-list .curry-detail {
    flex: 1 0 auto; /* これで両方の .curry-detail が等しく伸びます */
    min-height: 0;
  }
  .curry-list .grilled-curry .curry-detail p:first-child {
    text-align: left;
  }

  .takeout dt {
    width: 21.5rem;
    background-position: 4rem center;
    text-align: left;
    padding: 0 0 0 8.5rem;
  }
  

  /* ----- .lunch-other ----- */
  .lunch-other {
    display: flex;
    justify-content: space-between;
  }
  .lunch-other > div {
    width: 48%;
    max-width: 52.5rem;
  }
  
  /* ----- .lunch-sidemenu ----- */
  .lunch-sidemenu h4 span {
    display: inline;
    padding-left: 1.2em;
  }
  .side-box {
    display: flex;
    justify-content: space-between;
  }
  .side-food, .drink {
    width: 48%;
  }

  .displayed-price {
    font-size: 1.3rem;
    padding: 2rem 1.5rem 3rem;
  }


}





/*----------------------------------------------------
タブレット用 1000
----------------------------------------------------*/
@media screen and (min-width:1000px) {

  .lunch-wrap {
    margin: 0 2.5rem 0 auto;
    border-radius: 0 1rem 0 0;
  }
  .lunch-wrap-in {
    max-width: 118rem;
  }
  .lunch {
    border-radius: 0 1rem 0 0;
  }

}




/*----------------------------------------------------
タブレット用 1250
----------------------------------------------------*/
@media screen and (min-width:1250px) {

  /* ----- .lunch-head ----- */
  .lunch-head {
    display: flex;
    padding: 10rem 1.5rem 5.5rem;
  }
  .lunch-head h3 {
    font-size: 4.8rem;
  }
  .lunch-head h3 span {
    font-size: 1.8rem;
  }
  .lunch-head-txt {
    padding: 1rem 1.5rem 1rem 3.5rem;
    border-left: 0.1rem #ccc solid;
    margin-left: 5rem;
  }
  .lunch-head-txt p {
    font-size: 1.6rem;
    -webkit-text-stroke: 0.5rem rgba(241, 241, 241, 0.8);
    text-stroke: 0.5rem rgba(241, 241, 241, 0.8);
    paint-order: stroke;
    padding: 0 0 1.1rem;
  }
  .lunch-head-txt dl {
    font-size: 1.6rem;
  }
  .lunch-head-txt dt {
    background: var(--br);
    color: #fff;
    line-height: 1;
    padding: 0.9rem;
    margin-right: 1rem;
    border-radius: 0.2rem;
  }
  .lunch-head-txt dd {
    font-size: 1.8rem;
    -webkit-text-stroke: 0.5rem rgba(241, 241, 241, 0.8);
    text-stroke: 0.5rem rgba(241, 241, 241, 0.8);
    paint-order: stroke;
  }



  /* ----- .lunch-curry ----- */
  .lunch-curry {
    padding-bottom: 10rem;
  }
  .lunch-curry h4 {
    font-size: 3.2rem;
    padding: 0 0 1.5rem 7rem;
  }
  .lunch-curry h4 span {
    font-size: 1.6rem;
  }
  .lunch-curry h4::before {
    width: 5rem;
    height: 5rem;
  }

  .lunch-curry h4 + p {
    font-size: 1.6rem;
    line-height: 1;
    padding: 1.3rem 2rem 1.1rem 21rem;
    margin-top: 0;
  }
  .lunch-curry h4 + p span {
    font-size: 2rem;
    padding: 1.0rem 1.5rem 0.9rem 3.2rem;
    top: 0;
  }

  .curry-list h5 {
    font-size: 2.4rem;
    padding: 3.5rem 0 4.5rem;
  }
  .curry-list h5 span {
    font-size: 1.6rem;
  }
  .curry-list .curry-detail {
    font-size: 1.6rem;
  }
  .curry-list .curry-detail p:first-child {
    font-size: 1.8rem;
  }
  .curry-list .price {
    font-size: 2.4rem;
    padding-top: 1.5rem;
    margin-top: 4.5rem;
  }
  .curry-list .price span {
    font-size: 1.8rem;
  }

  .curry-list div div div {
    padding-bottom: 3.5rem;
  }




  /* ----- .takeout ----- */
  .takeout dl {
    padding: 1rem 0;
  }
  .takeout dd {
    font-size: 1.6rem;
  }
  .takeout dd li > span {
    font-size: 1.8rem;
  }
  .takeout dd li span span {
    font-size: 1.4rem;
  }



  /* ----- .lunch-other ----- */
  .lunch-other > div {
    margin-bottom: 10rem;
  }
  .lunch-other h4 {
    font-size: 3rem;
    padding: 0 0 1.5rem 7rem;
  }
  .lunch-other h4 span {
    font-size: 1.6rem;
  }
  .lunch-other h4::before {
    width: 5rem;
    height: 5rem;
  }
  .lunch-other .price {
    font-size: 1.6rem;
    padding-top: 1.5rem;
  }
  .lunch-other .price > span:last-child {
    font-size: 2.4rem;
  }
  .lunch-other .price > span:last-child span {
    font-size: 1.8rem;
  }



  /* ----- .lunch-sidemenu ----- */
  .lunch-sidemenu h4 {
    font-size: 3rem;
  }
  .lunch-sidemenu h4 span {
    font-size: 1.6rem;
  }
  .customize dt, .lunch-sidemenu dt {
    font-size: 1.6rem;
  }



}



/*----------------------------------------------------
PC用 1400
----------------------------------------------------*/
@media screen and (min-width:1400px) {




}



/*----------------------------------------------------
PC用 1550
----------------------------------------------------*/
@media screen and (min-width:1550px) {
  
  .lunch-wrap {
    margin: 0 5.7rem 0 auto;
  }
  .lunch-wrap-in {
    max-width: 115rem;
    padding: 0 0 0 2.5rem;
    margin: 0 0 0 auto;
  }
  .lunch-head {
    max-width: 113rem;
    padding: 10rem 0 5.5rem;
    margin: 0 5.7rem 0 auto;
  }
  .lunch-curry,
  .lunch-other,
  .lunch-sidemenu {
    max-width: 113rem;
    margin: 0 5.7rem 0 auto;
  }

  .displayed-price {
    padding-right: 5.7rem;
  }



}



/*----------------------------------------------------
PC用 1600
----------------------------------------------------*/
@media screen and (min-width:1600px) {

  .lunch-wrap-in {
    padding: 0;
  }


  /* ----- .lunch-curry ----- */
  .customize {
    display: flex;
    justify-content: space-between;
  }
  .customize .topping {
    width: 43%;
  }
  .customize .change {
    width: 53%;
  }
  .customize dt {
    padding: 1.2rem 1rem 1rem 2rem;
  }
  .customize dd {
    padding: 1rem;
  }



}










