@charset "UTF-8";
/* ======================================================
pc
====================================================== */
@media (min-width: 1001px) {
  /* MV
  ---------------------------------------------------------------------- */
  #mainvisual {
    width: 100%;
    height: 593px;
    position: relative;
  }
  #mainvisual .mv {
    width: 100%;
    height: 593px;
  }
  #mainvisual .mv picture {
    width: 100%;
    height: 593px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #mainvisual .mv picture img {
    min-width: 100%;
    height: 593px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #mainvisual .mv .catch {
    width: 100%;
    height: 593px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  /* MVscroll
  ---------------------------------------------------------------------- */
  #mainvisual .scroll {
    width: 85px;
    position: absolute;
    right: 0;
    bottom: 50px;
    z-index: 10;
  }
  #mainvisual .scroll {
    width: 85px;
    position: absolute;
    right: 0;
    bottom: 50px;
    z-index: 10;
  }
  /* 丸の描写 */
  #mainvisual .scroll::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 42px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff;
    animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
  }
  @keyframes circlemove {
    0% {
      bottom: 20px;
    }
    100% {
      bottom: -20px;
    }
  }
  @keyframes cirlemovehide {
    0% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    80% {
      opacity: 0.9;
    }
    100% {
      opacity: 0;
    }
  }
  /* 線の描写 */
  #mainvisual .scroll:after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: 43px;
    width: 1px;
    height: 40px;
    background: #fff;
  }
  /* lead
  ---------------------------------------------------------------------- */
  .lead {
    padding: 0 0 120px;
    text-align: center;
  }
  .lead__inr {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-left: -50px;
    max-width: 1340px;
    padding: 0 30px;
    margin-left: 9%;
  }
  .lead__img {
    flex: 1;
    margin-top: 125px;
  }
  .lead__content {
    width: 487px;
    margin: 0 15px 0 4%;
  }
  .lead__ttl {
    margin: 0 auto 50px;
    text-align: left;
  }
  .lead__ttl::before {
    content: "";
    display: block;
    background-color: #A38645;
    width: 1px;
    height: 120px;
    margin: 0 auto 20px 100px;
  }
  .lead__ttl span {
    font-size: 2.1875em;
    letter-spacing: 0.2em;
    line-height: 1.8;
    color: #A38645;
    font-weight: 500;
  }
  .lead__txt {
    margin: 0 auto;
    font-size: 19px;
    line-height: 2.0526315789;
    letter-spacing: 0.025em;
  }
  /* container
  ---------------------------------------------------------------------- */
  .container {
    background-size: auto 613px;
    padding: 410px 0 180px;
  }
  .cuisine {
    background: url(../images/img_cuisine_bg.jpg) no-repeat;
    background-position: center top;
    background-size: auto 625px;
  }
  .cake {
    background: url(../images/img_cake_bg.jpg) no-repeat;
    background-position: center top;
    background-size: 100% auto;
  }
  /* menu
  ---------------------------------------------------------------------- */
  .menu__wrap {
    background-color: #fff;
    width: 100%;
    margin: 0 auto 90px;
    padding: 10px 10px 0;
  }
  .menu__inr {
    border: 1px solid #A38645;
    padding: 40px 115px 60px;
  }
  .menu__titleBox {
    max-width: 430px;
    margin: -210px auto 30px;
  }
  .menu__titleBoxinr {
    text-align: center;
    color: #fff;
    font-size: 35px;
    padding: 75px 20px 10px;
    background: url(../images/img_menu03_bg.png) repeat-y 0 -6px;
    background-size: 100% auto;
    margin: 0 auto;
    z-index: -1;
  }
  .menu__titleBox::before {
    content: "";
    display: block;
    width: 100%;
    height: 40px;
    background-image: url(../images/img_menu01_bg.png);
    background-repeat: no-repeat;
    background-size: 100%;
    margin-bottom: -5px;
  }
  .menu__titleBox::after {
    content: "";
    display: block;
    width: 100%;
    height: 35px;
    background-image: url(../images/img_menu02_bg.png);
    background-repeat: no-repeat;
    background-size: 100%;
    z-index: 9999;
    margin-top: -5px;
  }
  .menu__ttl {
    width: 100%;
  }
  .menu__ttl .main {
    text-align: center;
    font-weight: bold;
    font-size: 35px;
    line-height: 1.2857142857;
    letter-spacing: 0.2em;
  }
  .menu__ttl .sub {
    text-align: center;
    font-size: 25px;
  }
  .menu__ttl .img {
    text-align: center;
    max-width: 105px;
    margin: -10px auto 0;
    line-height: 1;
  }
  .menu__ttl .img img {
    vertical-align: middle;
  }
  .menu__listTtl {
    color: #BE6546;
    text-align: center;
    position: relative;
    margin-bottom: 35px;
    font-weight: 400;
    font-size: 35px;
    line-height: 1.4285714286;
    letter-spacing: 0.05em;
  }
  .menu__listTtl::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 65px;
    background-color: #BE6546;
  }
  .menu__txt {
    margin: 0 auto;
    text-align: justify;
    font-size: 19px;
    line-height: 2.1052631579;
    letter-spacing: 0.025em;
  }
  .menu__icn {
    position: relative;
  }
  .menu__icn::before {
    content: "";
    display: block;
    width: 80px;
    height: 50px;
    position: absolute;
    top: -58px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/img_sweets_logo.svg) no-repeat;
    background-size: contain;
  }
  /* cuisine
  ---------------------------------------------------------------------- */
  .meal__inr {
    max-width: 1920px;
    margin: 0 auto;
  }
  .meal__box {
    display: flex;
    align-items: flex-start;
    margin: 0 0 80px;
  }
  .meal__mainImg {
    width: 52.6315789474%;
    max-width: 936px;
    height: auto;
  }
  .meal__ttlBox {
    padding-left: 11.4583333333%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .meal__ttlBox p {
    width: 100%;
  }
  .meal__ttlBox img {
    width: 100%;
    height: auto;
  }
  .meal__ttl {
    font-size: 27px;
    letter-spacing: 0.15em;
    line-height: 1.9;
    margin-bottom: 40px;
    color: #A38645;
    font-weight: 500;
  }
  .meal__box2 {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  .meal__content {
    padding: 0 50px 0 90px;
    width: 59%;
    min-width: 575px;
  }
  .meal__content h5 {
    font-size: 35px;
    line-height: 1.7142857143;
    letter-spacing: 0.2em;
    color: #B49155;
    margin-bottom: 85px;
    position: relative;
  }
  .meal__content h5::before,
  .meal__content h5::after {
    content: "";
    background-color: #B49155;
    position: absolute;
    display: inline-block;
    width: 150px;
    left: 0;
  }
  .meal__content h5::before {
    height: 1px;
    bottom: -44px;
  }
  .meal__content h5::after {
    height: 2px;
    bottom: -37px;
  }
  .meal__content p {
    font-size: 19px;
    line-height: 2.1052631579;
    letter-spacing: 0.025em;
    max-width: 575px;
    margin-bottom: 45px;
  }
  .meal__img {
    max-width: 540px;
    width: 28vw;
    margin: -10vw 2% 0 0;
  }
  .meal__img img {
    display: block;
  }
  .meal__img img:first-of-type {
    margin-bottom: 35px;
  }
  .link {
    display: block;
    width: 236px;
    text-align: left;
    letter-spacing: -0.05em;
    padding: 0.5em 8px 0.5em 8px;
    position: relative;
    border-bottom: 1px solid #C3C4C4;
  }
  .link::after {
    content: "";
    border-top: solid 1px #595757;
    border-right: solid 1px #595757;
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    position: absolute;
    top: calc(50% - 5px);
    right: 5px;
    transition: all 0.3s ease;
  }
  /* cake
  ---------------------------------------------------------------------- */
}
@media (min-width: 1001px) and (min-width: 1250px) {
  .meal__img {
    margin: -17vw 2% 0 0;
  }
}
@media (min-width: 1001px) and (min-width: 1920px) {
  .meal__img {
    margin: -325px 2% 0 0;
  }
}
@media (min-width: 1001px) {
  .cake .meal__box {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    margin-bottom: 80px;
  }
}
@media (min-width: 1001px) {
  .cake .meal__ttlBox {
    padding-right: 16.1458333333%;
  }
}
@media (min-width: 1001px) {
  .cake .meal__ttl {
    margin-bottom: 30px;
  }
}
@media (min-width: 1001px) {
  .cake .meal__box2 {
    flex-direction: row-reverse;
  }
}
@media (min-width: 1001px) {
  .cake .meal__content {
    padding: 0 50px 0 8%;
  }
}
@media (min-width: 1001px) {
  .cake .meal__img {
    margin: -13% 0% 0 25px;
    margin-top: max(-170px, -9vw);
    max-width: 540px;
    width: 41%;
  }
}
@media (min-width: 1001px) {
  .cake .meal__img img:first-of-type {
    margin-bottom: 0;
  }
}
@media (min-width: 1001px) {
  .cake .meal__content p {
    margin-bottom: 0;
  }
}
@media (min-width: 1001px) {
  .cake .menu__ttl .main {
    display: block;
  }
}
@media (min-width: 1001px) {
  .cake .menu__titleBox {
    max-width: 485px;
  }
}
@media (min-width: 1001px) {
  .cake_box {
    width: 40%;
  }
}
@media (min-width: 1001px) {
  .cake_box .meal__img2 {
    padding: 0 50px 0 8%;
    margin: 50px auto 0;
  }
}
/* ======================================================
sp
====================================================== */
@media screen and (max-width: 1000px) {
  /* MV
  ---------------------------------------------------------------------- */
  #mainvisual {
    width: 100%;
    height: 141.4666666667vw;
    position: relative;
    overflow: hidden;
    z-index: 0;
  }
  #mainvisual .mv picture {
    width: 100%;
    height: 141.4666666667vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #mainvisual .mv picture img {
    min-width: 100%;
    height: 141.4666666667vw;
    -o-object-fit: cover;
    object-fit: cover;
  }
  #mainvisual .mv .catch {
    width: 100%;
    height: 141.4666666667vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  /* lead
  ---------------------------------------------------------------------- */
  .lead {
    padding: 0 calc( 30 / 750 * 100vw ) calc( 85 / 750 * 100vw ) calc( 30 / 750 * 100vw );
    text-align: center;
  }
  .lead__inr {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
  }
  .lead__content {
    width: 90%;
    margin: 0 auto calc( 60 / 750 * 100vw );
  }
  .lead__ttl {
    margin: 0 auto calc( 40 / 750 * 100vw );
    text-align: left;
    flex-direction: row;
  }
  .lead__ttl::before {
    content: "";
    display: block;
    background-color: #A38645;
    width: 1px;
    height: 120px;
    margin: 0 auto 20px;
  }
  .lead__ttl span {
    font-size: 1.875em;
    letter-spacing: 0.2em;
    line-height: 1.8;
    color: #A38645;
    font-weight: 500;
  }
  .lead__txt {
    margin: 0 auto;
    font-size: 2.5333333333vw;
    font-size: clamp(13px,2.5333333333vw,19px);
    line-height: 2.0526315789;
    letter-spacing: 0.025em;
  }
  /* container
  ---------------------------------------------------------------------- */
  .container {
    background-size: 100% auto;
    padding: calc( 300 / 750 * 100vw ) 0 calc( 170 / 750 * 100vw ) 0;
  }
  .cuisine {
    background: url(../images/img_cuisine_bg.jpg) no-repeat;
    background-position: center top;
    background-size: 100% auto;
  }
  .cake {
    background: url(../images/img_cake_bg.jpg) no-repeat;
    background-position: center top;
    background-size: 100% auto;
  }
  /* menu
  ---------------------------------------------------------------------- */
  .menu__wrap {
    background-color: #fff;
    margin: 0 auto;
    padding: calc( 10 / 750 * 100vw ) calc( 10 / 750 * 100vw ) 0 calc( 10 / 750 * 100vw );
    margin: 0 auto calc( 60 / 750 * 100vw );
  }
  .menu__inr {
    border: 1px solid #A38645;
    padding: calc( 10 / 750 * 100vw ) calc( 50 / 750 * 100vw ) calc( 40 / 750 * 100vw ) calc( 50 / 750 * 100vw );
  }
  .menu__titleBox {
    max-width: 430px;
    margin: calc( -145 / 750 * 100vw ) auto calc( 30 / 750 * 100vw );
  }
  .menu__titleBoxinr {
    text-align: center;
    color: #fff;
    padding: calc( 85 / 750 * 100vw ) calc( 20 / 750 * 100vw ) calc( 20 / 750 * 100vw ) calc( 20 / 750 * 100vw );
    background: url(../images/img_menu03_bg.png) repeat-y 0 -6px;
    background-size: 100% auto;
    margin: 0 auto;
    z-index: -1;
  }
  .menu__titleBox::before {
    content: "";
    display: block;
    width: 100%;
    height: 5.3333333333vw;
    background-image: url(../images/img_menu01_bg.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    margin-bottom: -5px;
  }
  .menu__titleBox::after {
    content: "";
    display: block;
    width: 100%;
    height: 4.6666666667vw;
    background-image: url(../images/img_menu02_bg.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 9999;
    margin-top: -5px;
  }
  .menu__ttl {
    width: 100%;
  }
  .menu__ttl .main {
    text-align: center;
    font-weight: bold;
    font-size: 4.6666666667vw;
    font-size: clamp(13px,4.6666666667vw,35px);
    line-height: 1.2857142857;
    letter-spacing: 0.2em;
  }
  .menu__ttl .sub {
    text-align: center;
    font-size: 4vw;
    font-size: clamp(13px,4vw,30px);
  }
  .menu__ttl .img {
    text-align: center;
    max-width: 105px;
    width: 20%;
    margin: 0 auto;
    line-height: 1;
  }
  .menu__ttl .img img {
    vertical-align: middle;
  }
  .menu__listTtl {
    color: #BE6546;
    text-align: center;
    position: relative;
    font-weight: 400;
    margin-bottom: 4.6666666667vw;
    font-size: 4.6666666667vw;
    font-size: clamp(13px,4.6666666667vw,35px);
    line-height: 1.4285714286;
    letter-spacing: 0.05em;
  }
  .menu__listTtl::after {
    content: "";
    position: absolute;
    bottom: -2vw;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 65px;
    background-color: #BE6546;
  }
  .menu__txt {
    text-align: justify;
    font-size: 2.5333333333vw;
    font-size: clamp(13px,2.5333333333vw,19px);
    line-height: 2.1052631579;
    letter-spacing: 0.025em;
    margin: 0 auto 0;
  }
  .menu__icn {
    position: relative;
  }
  .menu__icn::before {
    content: "";
    display: block;
    width: 10.6666666667vw;
    height: 6.6666666667vw;
    position: absolute;
    top: -8.6666666667vw;
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/img_sweets_logo.svg) no-repeat;
    background-size: contain;
  }
  /* cuisine
  ---------------------------------------------------------------------- */
  .meal__inr {
    margin: 0 auto;
  }
  .meal__box {
    margin: 0 0 calc( 150 / 750 * 100vw ) 0;
  }
  .meal__mainImg {
    width: 96.2666666667vw;
    margin: 0 auto 5.3333333333vw 0;
  }
  .meal__ttlBox {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .meal__ttlBox img {
    width: 100%;
    height: auto;
  }
  .meal__ttl {
    font-size: 1.5625em;
    letter-spacing: 0.15em;
    line-height: 1.9;
    margin-bottom: 20px;
    color: #A38645;
    font-weight: 500;
  }
  .meal__box2 {
    position: relative;
  }
  .meal__content {
    width: 90%;
    margin: 0 auto calc( 80 / 750 * 100vw );
  }
  .meal__content h5 {
    font-size: 4.6666666667vw;
    font-size: clamp(13px,4.6666666667vw,35px);
    line-height: 1.7142857143;
    letter-spacing: 0.2em;
    color: #B49155;
    margin: 0 0 calc( 85 / 750 * 100vw ) 0;
    position: relative;
  }
  .meal__content h5::before,
  .meal__content h5::after {
    content: "";
    background-color: #B49155;
    position: absolute;
    display: inline-block;
    width: 150px;
    left: 0;
  }
  .meal__content h5::before {
    height: 1px;
    bottom: -5.8666666667vw;
  }
  .meal__content h5::after {
    height: 2px;
    bottom: -4vw;
  }
  .meal__content p {
    font-size: 2.5333333333vw;
    font-size: clamp(13px,2.5333333333vw,19px);
    line-height: 2.1052631579;
    letter-spacing: 0.025em;
    max-width: 575px;
    margin-bottom: 45px;
  }
  .meal__img {
    width: 90%;
    max-width: 540px;
    margin: 0 auto;
  }
  .meal__img img {
    display: block;
  }
  .meal__img img:first-of-type {
    margin-bottom: 35px;
  }
  .link {
    width: 66.6666666667vw;
    margin: auto;
    display: block;
    text-align: center;
    letter-spacing: -0.05em;
    padding: 0.5em 1.3333333333vw 0.5em 0;
    position: relative;
    margin-bottom: 2.6666666667vw;
    border-bottom: 1px solid #C3C4C4;
  }
  .link::after {
    content: "";
    border-top: solid 1px #595757;
    border-right: solid 1px #595757;
    transform: rotate(45deg);
    width: 1.3333333333vw;
    height: 1.3333333333vw;
    position: absolute;
    top: calc(50% - 0.6666666667vw);
    right: 0;
    transition: all 0.3s ease;
  }
  /* cake
  ---------------------------------------------------------------------- */
  .cake .meal__mainImg {
    width: 96.2666666667vw;
    margin: 0 0 5.3333333333vw auto;
  }
  .cake_box .meal__img2 {
    width: 88vw;
    margin: auto;
  }
}/*# sourceMappingURL=style.css.map */