@charset "UTF-8";
/* Scss Document */
/*=============================================================
 共通
=============================================================*/
.lb-outerContainer.top {
  height: auto !important;
  background: none !important;
  border: none !important;
  position: relative;
  z-index: 3; }
  .lb-outerContainer.top .lb-close img {
    width: 50px;
    height: auto;
    margin: 0 0 -30px 0; }

.lb-close-img {
  text-align: right;
  width: auto;
  cursor: pointer; }
  .lb-close-img a:hover {
    opacity: 1; }

.lb-number {
  display: none !important; }

.post-type-archive-cake #fArea01 {
  background: url("../image/cake/archive/bg01_op.png") repeat-x center center; }

.com_btn01.bg_O {
  background-color: #FACE55; }
  .com_btn01.bg_O a {
    background-color: #FACE55;
    border-color: #fff; }
    .com_btn01.bg_O a span:before {
      background: url("../image/common/arrow_w.png") no-repeat center center;
      background-size: cover; }

.js-toggle-tit {
  cursor: pointer;
  background: #FACE55;
  border-radius: 10px;
  text-align: left;
  font-size: 150%;
  padding: 3px !important; }
  .js-toggle-tit span {
    display: block;
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 0.5em 1em;
    position: relative; }
    @media print, screen and (min-width: 768px) {
      .js-toggle-tit span {
        padding: 0.5em 2em; } }
    .js-toggle-tit span:after {
      position: absolute;
      top: 50%;
      right: 30px;
      content: "";
      display: block;
      width: 40px;
      height: 40px;
      background: url("../image/common/ico_plus.png") no-repeat center center;
      background-size: 100% auto;
      margin-top: -20px; }
  .js-toggle-tit.on span:after {
    background: url("../image/common/hamburger_spbtn_c.png") no-repeat center center;
    background-size: 100% auto; }

.js-toggle-content {
  display: none;
  background-color: #fff;
  padding: 20px 0; }
  @media print, screen and (min-width: 768px) {
    .js-toggle-content {
      padding: 80px 0; } }
  .js-toggle-content dl {
    text-align: left;
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    width: 95%;
    margin: 0 auto;
    padding: 20px 0;
    box-sizing: border-box;
    background: url("../image/common/line01.png") repeat-x bottom left; }
    @media print, screen and (min-width: 768px) {
      .js-toggle-content dl {
        width: 80%;
        padding: 20px; } }
    .js-toggle-content dl dt {
      width: 30%;
      text-align: center; }
      @media print, screen and (min-width: 768px) {
        .js-toggle-content dl dt {
          width: 15%; } }
      .js-toggle-content dl dt img {
        width: 100%;
        height: 80px;
        object-fit: cover; }
        @media print, screen and (min-width: 768px) {
          .js-toggle-content dl dt img {
            width: 110px; } }
    .js-toggle-content dl dd {
      display: flex;
      justify-content: space-between;
      flex-flow: row wrap;
      box-sizing: border-box; }
      @media print, screen and (min-width: 768px) {
        .js-toggle-content dl dd {
          margin-left: 20px; } }
      @media screen and (max-width: 768px) {
        .js-toggle-content dl dd:nth-of-type(1) {
          width: 60%;
          padding-left: 10px; } }
      .js-toggle-content dl dd:nth-of-type(2) {
        margin: 0 0 0 auto; }
        @media screen and (max-width: 768px) {
          .js-toggle-content dl dd:nth-of-type(2) {
            display: block;
            width: 100%;
            margin-top: 10px; } }
      .js-toggle-content dl dd p {
        width: 100%; }
        @media print, screen and (min-width: 768px) {
          .js-toggle-content dl dd p {
            width: auto; } }
        .js-toggle-content dl dd p span {
          display: block;
          color: #AD9F95;
          font-size: 80%; }
        .js-toggle-content dl dd p b {
          font-size: 120%; }
        @media screen and (max-width: 768px) {
          .js-toggle-content dl dd p:nth-child(1) {
            font-size: 120%; } }
        @media screen and (max-width: 768px) {
          .js-toggle-content dl dd p:nth-child(2) {
            font-size: 80%; } }
  .js-toggle-content .close {
    margin-top: 50px;
    cursor: pointer; }

#com_relation.single .slider_relation .item_ListBox .inner .lightboxPic:before {
  display: none; }
#com_relation.single .slider_relation .item_ListBox .inner .cate {
  display: none; }
#com_relation.single .slider_relation .item_ListBox .inner .txt {
  display: none; }

.slide_item {
  position: relative;
  margin: 0;
  padding: 0; }
  .slide_item .item {
    position: relative;
    height: 300px; }
    @media print, screen and (min-width: 768px) {
      .slide_item .item {
        height: 480px; } }
    .slide_item .item::before {
      display: block;
      padding-top: 39%;
      content: "";
      position: relative;
      overflow: hidden; }
    .slide_item .item img {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 10px; }
  .slide_item > .slick-list,
  .slide_item > .slick-list > .slick-track,
  .slide_item > .slick-list > .slick-track > .slick-slide > div {
    position: relative;
    height: 100%; }

.slide_item-navigation {
  position: relative;
  padding: 0;
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .slide_item-navigation {
      display: none; } }
  .slide_item-navigation .item {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    width: 19%;
    height: 100%;
    margin: 0.5%;
    padding: 0; }
    .slide_item-navigation .item::before {
      display: block;
      padding-top: 70%;
      content: ""; }
    .slide_item-navigation .item img {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto;
      width: 100%;
      border-radius: 10px; }
  .slide_item-navigation .current::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 0.5;
    background: #000;
    border-radius: 10px; }

/*=============================================================
 #cake_archive
=============================================================*/
#cake_archive {
  overflow: hidden; }
  @media print, screen and (min-width: 768px) {
    #cake_archive .item_ListBox .lightboxPic a img {
      height: 280px; } }

/*#com_titArea {
	.inner {
		justify-content: flex-end;
		align-items: flex-end;
		img {
			position: relative;
			z-index: 5;
		}
	}
}*/
#cake_archive_sec01 .tit_col2 .leftBox {
  width: 100%;
  margin: 20px 0; }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec01 .tit_col2 .leftBox {
      width: auto;
      margin: 0; } }
#cake_archive_sec01 .tit_col2 .rightBox {
  width: 100%; }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec01 .tit_col2 .rightBox {
      width: auto; } }
@media print, screen and (min-width: 768px) {
  #cake_archive_sec01 .com_tit02 {
    text-align: right; } }
#cake_archive_sec01 .bg {
  background: url("../image/cake/archive/bg01.png") repeat-x left 80px;
  padding: 0 0 70px 0;
  margin-top: 0px;
  margin-bottom: -50px; }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec01 .bg {
      margin-top: 70px;
      padding: 0 0 100px 0; } }
#cake_archive_sec01 #itemLink {
  max-width: 1070px;
  margin: 0 auto; }
  #cake_archive_sec01 #itemLink p {
    width: 30%; }
    #cake_archive_sec01 #itemLink p:nth-child(2) {
      margin: 50px 3% 0 3%; }
      @media print, screen and (min-width: 768px) {
        #cake_archive_sec01 #itemLink p:nth-child(2) {
          margin: 50px 50px 0 50px; } }
#cake_archive_sec01 .img img {
  width: 100%; }
#cake_archive_sec01 .attationTxt {
  text-align: left;
  margin-top: 1em;
  font-size: 70%; }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec01 .attationTxt {
      text-align: right; } }

#cake_archive_sec02 .container {
  /*overflow: hidden;*/ }
  #cake_archive_sec02 .container #item01,
  #cake_archive_sec02 .container #item02,
  #cake_archive_sec02 .container #item03 {
    margin-top: -150px;
    padding-top: 150px; }
    @media print, screen and (min-width: 768px) {
      #cake_archive_sec02 .container #item01,
      #cake_archive_sec02 .container #item02,
      #cake_archive_sec02 .container #item03 {
        margin-top: -190px;
        padding-top: 190px; } }
#cake_archive_sec02 .com_tit01 {
  display: block;
  margin: 50px auto 0 auto; }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec02 .com_tit01 {
      margin: 100px auto 0 0;
      text-align: left; } }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec02 .com_tit01 img {
      margin-left: -50px; } }
#cake_archive_sec02 .col3 {
  /*.item_ListBox {
  	width: 48%;
  	text-align: left;
  	position: relative;
  	margin-top: 30px;
  	@include min-screen($breakpoint-mobile) {
  		width: 31%;
  		margin-left: 2.33%;
  		margin-top: 40px;
  	}
  	.cate {
  		margin-top: 20px;
  		@include max-screen($breakpoint-mobile) {
  			margin-top: 10px;
  		}
  	}
  	.txt,
  	.attationTxt {
  		@include max-screen($breakpoint-mobile) {
  			display: none;
  		}
  	}
  	.lightboxPic {
  		a {
  			img {
  				@include max-screen($breakpoint-mobile) {
  					height: 100px;
  				}
  			}
  		}
  		.newTag {
  			width: 30%;
  			@include min-screen($breakpoint-mobile) {
  				width: auto;
  			}
  		}
  		&:before {
  			@include max-screen($breakpoint-mobile) {
  				width: 30px;
  				height: 30px;
  				bottom:-15px;
  			}
  		}
  	}
  	.price {
  		li {
  			@include max-screen($breakpoint-mobile) {
  				width: 100%;
  			}
  		}
  	}
  }*/ }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec02 .col3 {
      margin-left: -2.33%;
      justify-content: flex-start; } }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec02 .col3 .item_ListBox {
      width: 31%;
      margin-left: 2.33%;
      margin-top: 40px; } }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec02 .col3 .item_ListBox .cate {
      margin-top: 20px; } }
#cake_archive_sec02 .js-toggle-tit {
  margin-top: 30px; }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec02 .js-toggle-tit {
      margin-top: 70px !important; } }
#cake_archive_sec02 #reservationInfo {
  background-color: #fff;
  border-radius: 10px;
  text-align: left;
  padding: 25px;
  margin: 30px 0 30px 0;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec02 #reservationInfo {
      margin: 100px 0 70px 0;
      padding: 70px; } }
  #cake_archive_sec02 #reservationInfo h3 {
    font-size: 130%; }
    #cake_archive_sec02 #reservationInfo h3:before {
      content: "●";
      display: inline-block;
      color: #FACE55;
      margin-right: 0.5em; }
  #cake_archive_sec02 #reservationInfo ul {
    margin-top: 1em; }
    @media print, screen and (min-width: 768px) {
      #cake_archive_sec02 #reservationInfo ul {
        font-size: 80%; } }
  #cake_archive_sec02 #reservationInfo .img {
    position: absolute;
    right: 0;
    top: -100px; }
#cake_archive_sec02 .com_btn01 {
  margin: 0 auto; }

#cake_archive_sec03 .bg {
  background: url("../image/cake/archive/bg01_op.png") repeat-x left 30px;
  padding: 100px 0 100px 0;
  margin-top: 70px; }
#cake_archive_sec03 .img {
  position: absolute; }
  @media screen and (max-width: 768px) {
    #cake_archive_sec03 .img {
      bottom: -60px;
      right: -20px;
      width: 45%; } }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec03 .img {
      top: -100px;
      left: 0; } }
#cake_archive_sec03 ul {
  justify-content: space-between; }
  @media print, screen and (min-width: 768px) {
    #cake_archive_sec03 ul {
      justify-content: center; } }
  #cake_archive_sec03 ul li {
    width: 50%; }
    @media print, screen and (min-width: 768px) {
      #cake_archive_sec03 ul li {
        width: auto; } }

/*=============================================================
 #cake_single
=============================================================*/
#cake_single #com_ec_lineup {
  position: relative;
  margin: 50px auto 80px auto; }
  #cake_single #com_ec_lineup ul li {
    width: 50%; }
    @media print, screen and (min-width: 768px) {
      #cake_single #com_ec_lineup ul li {
        width: 25%; } }

#cake_single_sec01 {
  margin: 40px 0; }
  @media print, screen and (min-width: 768px) {
    #cake_single_sec01 {
      margin: 0 0  100px 0; } }
  #cake_single_sec01 article {
    max-width: 1120px;
    margin: 0 auto  40px auto; }
    @media print, screen and (min-width: 768px) {
      #cake_single_sec01 article {
        margin: 0 auto  100px auto; } }
    #cake_single_sec01 article header p {
      background: linear-gradient(transparent 50%, #FACE55 50%);
      display: inline-block; }
    #cake_single_sec01 article header .ja {
      font-size: 180%;
      margin: 0.5em 0 0 0; }
    #cake_single_sec01 article .col2 {
      margin-top: 20px; }
      @media print, screen and (min-width: 768px) {
        #cake_single_sec01 article .col2 {
          margin-top: 50px; } }
      #cake_single_sec01 article .col2 .leftBox {
        width: 100%; }
        @media print, screen and (min-width: 768px) {
          #cake_single_sec01 article .col2 .leftBox {
            width: 48%; } }
        #cake_single_sec01 article .col2 .leftBox div.itemPhoto img {
          width: 100%;
          border-radius: 5px; }
        #cake_single_sec01 article .col2 .leftBox div.itemPhoto ul {
          display: flex;
          flex-flow: wrap row;
          margin-top: 10px; }
          #cake_single_sec01 article .col2 .leftBox div.itemPhoto ul li {
            width: 25%;
            cursor: pointer;
            box-sizing: border-box;
            padding: 0 1%;
            margin-top: 10px; }
      #cake_single_sec01 article .col2 .rightBox {
        text-align: left;
        width: 100%;
        padding: 20px 20px 0 20px;
        box-sizing: border-box; }
        @media print, screen and (min-width: 768px) {
          #cake_single_sec01 article .col2 .rightBox {
            width: 48%;
            padding: 0; } }
        #cake_single_sec01 article .col2 .rightBox .cartjs_product_img,
        #cake_single_sec01 article .col2 .rightBox .cartjs_sk_link_other {
          display: none !important; }
        #cake_single_sec01 article .col2 .rightBox .cartjs_product_table table {
          width: auto !important;
          border-collapse: separate;
          border-spacing: 10px; }
        #cake_single_sec01 article .col2 .rightBox .cartjs_product_table th {
          background: linear-gradient(transparent 50%, #FACE55 50%);
          vertical-align: middle;
          padding: 0 !important;
          width: auto !important; }
        #cake_single_sec01 article .col2 .rightBox .cartjs_product_table td {
          padding: 0 0 0 10px !important;
          width: auto !important; }
          #cake_single_sec01 article .col2 .rightBox .cartjs_product_table td .cartjs_product_input_txt {
            border: 5px solid #FACE55;
            border-radius: 10px;
            text-align: center;
            vertical-align: middle; }
        #cake_single_sec01 article .col2 .rightBox .cartjs_cart_in {
          text-align: center !important;
          width: 50% !important;
          padding: 5px;
          background-color: #E85337 !important;
          border-radius: 100px !important;
          margin: 0 auto !important;
          position: relative; }
          #cake_single_sec01 article .col2 .rightBox .cartjs_cart_in:after {
            content: "";
            display: block;
            width: 30px;
            height: 30px;
            position: absolute;
            top: 50%;
            left: 40px;
            margin-top: -15px;
            background: url("../image/common/arrow_wo.png") no-repeat center center; }
          #cake_single_sec01 article .col2 .rightBox .cartjs_cart_in input {
            margin: 0 auto !important;
            background-color: #E85337 !important;
            border-radius: 100px !important;
            width: 100% !important;
            border: 1px solid #FFF !important;
            padding-left: 40px; }
        #cake_single_sec01 article .col2 .rightBox ul {
          justify-content: space-between; }
          @media print, screen and (min-width: 768px) {
            #cake_single_sec01 article .col2 .rightBox ul {
              justify-content: center; } }
          #cake_single_sec01 article .col2 .rightBox ul li {
            position: relative; }
            @media print, screen and (min-width: 768px) {
              #cake_single_sec01 article .col2 .rightBox ul li {
                margin: 0 10px; } }
            #cake_single_sec01 article .col2 .rightBox ul li:before {
              content: "▼";
              display: inline-block;
              transform: rotate(-90deg);
              color: #FACE55; }
        #cake_single_sec01 article .col2 .rightBox .attationTxt {
          color: #AD9F95;
          font-size: 80%;
          margin-top: 0.5em; }
        #cake_single_sec01 article .col2 .rightBox .reserveTxt {
          color: #fff;
          background-color: #5B3F2C;
          border-radius: 5px;
          text-align: center;
          padding: 10px 0;
          margin: 20px 0; }
        #cake_single_sec01 article .col2 .rightBox .item_detail {
          margin-top: 50px; }
          #cake_single_sec01 article .col2 .rightBox .item_detail .tit {
            display: inline-block;
            background: linear-gradient(transparent 50%, #FACE55 50%); }
          #cake_single_sec01 article .col2 .rightBox .item_detail .com_tbl01 {
            margin: 1em 0 0 0; }
            #cake_single_sec01 article .col2 .rightBox .item_detail .com_tbl01 th, #cake_single_sec01 article .col2 .rightBox .item_detail .com_tbl01 td {
              padding: 0.5em 1em;
              display: table-cell; }
  #cake_single_sec01 #toggleBox {
    max-width: 855px;
    margin: 0 auto; }
  #cake_single_sec01 .com_btn01 {
    margin: 50px auto 0 auto; }

@media print, screen and (min-width: 768px) {
  .sticky_wrap {
    position: relative;
    z-index: 100;
    display: flex;
    align-items: flex-start;
    justify-content: space-between; }
    .sticky_wrap .leftBox.sticky {
      position: sticky;
      top: 200px; }
    .sticky_wrap .rightBox {
      width: 400px; } }

/*=============================================================
 アーカイブモーダル削除用追記
=============================================================*/
#cake_archive .item_ListBox .lightboxPic a {
  pointer-events: none; }
#cake_archive .item_ListBox .lightboxPic:before {
  display: none; }

/*=============================================================
 シングルモーダル用追記
=============================================================*/
#cake_single #cake_single_sec01 .slide_item .item {
  position: relative; }
  #cake_single #cake_single_sec01 .slide_item .item:before {
    content: "";
    display: block;
    width: 50px!important;
    height: 50px!important;
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: url("../image/common/ico_plus.png") no-repeat center bottom;
    background-size: 100% auto;
    z-index: 2; }
