@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,body,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,
p,blockquote,pre,
abbr,address,cite,code,
del,dfn,em,img,ins,
kbd,q,samp,small,strong,
sub,sup,var,b,i,dl,dt,dd,
ol,ul,li,fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,figcaption,
figure,footer,header,hgroup,
menu,nav,section,summary,
time,mark,audio,video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
select {
  font-size:16px;
}

body {
  line-height: 1;
}

article,aside,
details,figcaption,
figure,footer,
header,hgroup,
menu,nav,section {
  display: block;
}

ul,
nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: #000;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/*input[type=checkbox]{
  display: none;
}*/

input::placeholder {
  color: #C1C1C1;
}

input:-ms-input-placeholder {
  color: #C1C1C1;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

body {
  background-color: #eee;
  font-family: "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic ProN, Helvetica, Arial, "メイリオ", Meiryo, -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, sans-serif;
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

.has-error .form-control{
  border-color: #F00;
}

@media screen and (min-width: 768px) {
  body{
    font-size: 14px;
  }
}

.none {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}
.chef_image img{border-radius: 100px;height: 100%;width: 60px; height: 60px;}
.close{color:#FFF;opacity: 1; text-shadow: none; font-size: 25px;}
.modal-body{padding:0;width: 100%;}
.select_box{margin-bottom: 15px;}
.select_box dt{color: #999;}
.modal-footer{border:none; padding:0;}
/*------------------------------------------------------------------------
 header
-------------------------------------------------------------------------*/
.header{
  background-color: #fff;
  padding: 11.5px 20px;
  position: relative;
  transition: 0.3s all ease;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}

/*.overlay:before{
  content: "";
  background:rgba(0,0,0,0.6);
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left:0;
}*/


@media screen and (min-width: 768px) {
  .header{
    padding: 10px 40px 10px 50px;
  }
}

.header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.menu_btn {
  cursor: pointer;
}

.menu_btn .hamburger {
  position: relative;
  display: block;
  width: 17px;
  height: 17px;
}

.menu_btn .hamburger span {
  background-color: #000;
  border-radius: 2px;
  display: block;
  width: 100%;
  height: 2px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  left: 0;
}

.menu_btn .hamburger span:nth-of-type(1) {
  top: 0;
}

.menu_btn .hamburger span:nth-of-type(2) {
  top: 7.5px;
}

.menu_btn .hamburger span:nth-of-type(3) {
  bottom: 0;
}

.menu_btn.active {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
}

.menu_btn.active .hamburger{
  width: 23px;
  height: 23px;
}

.menu_btn.active .hamburger span{
  height: 1px;
}

.menu_btn.active .hamburger span:nth-of-type(1) {
  background-color: #fff;
  -webkit-transform: translateY(11px) rotate(-45deg);
  transform: translateY(11px) rotate(-45deg);
}

.menu_btn.active .hamburger span:nth-of-type(2) {
  display: none;
}

.menu_btn.active .hamburger span:nth-of-type(3) {
  background-color: #fff;
  -webkit-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg);
}

.header .header_logo img{
  width: 87px;
  height: 20px;
}

@media screen and (min-width: 768px) {
  .header .header_logo{
    margin-right: 47px;
  }

  .header .header_logo img{
    width: 100px;
    height: 23px;
  }
}

.gnav{
  background-color: rgba(0, 0, 0, 0.6);
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.5s left;
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 999;
}

@media screen and (min-width: 768px) {
  .gnav{
    background-color: #fff;
    display: block;
    width: 75%;
    position: relative;
    top: auto;
    left: auto;
  }
}

.gnav.active{
  transition: 0.5s left;
  left: 0;
}

.gnav_contents {
  background-color: #fff;
  display: block;
  padding: 50px 0 50px 20px;
  width: calc(100% - 66px);
  height: 100%;
  overflow-y: scroll;
}

@media screen and (min-width: 768px) {
  .gnav_contents {
    padding: 0;
    width: auto;
    overflow-y: visible;
  }
}

.gnav_list{
  margin-bottom: 25px;
}

@media screen and (min-width: 768px) {
  .gnav_list{
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin: 0;
  }
}

.gnav_item,
.genre_item{
  position: relative;
}

@media screen and (max-width: 767px) {
  .gnav_item::before{
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 1px #999;
    border-right: solid 1px #999;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -4px;
  }
}

/*.gnav_item:first-child::before{
  display: none;
}*/

.accordion_item{
  cursor: pointer;
  position: relative;
}

@media screen and (max-width: 767px) {
  .accordion_item::before, .accordion_item::after {
    display: block;
    content: '';
    background-color: #999;
    position: absolute;
    width: 10px;
    height: 1px;
    top: 50%;
    right: 15px;
  }

  .accordion_item::before {
    transform: rotate(90deg);
    transition: 0.3s;
  }

  .accordion_item.active::before {
    transform: rotate(0);
    transition: 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .accordion_item::before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-bottom: solid 1px #000;
    border-left: solid 1px #000;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    left: 50%;
    bottom: 8px;
  }
}

.gnav_item .icon{
  color: #EE7951;
  margin-right: 10px;
  font-size: 17px;
  vertical-align: -2px;
}

.gnav_item .icon-genre,
.gnav_item .icon-review,
.gnav_item .icon-person,
.gnav_item .icon-lock{
  font-size: 19px;
}
.gnav_item .icon-chef{font-size: 20px;}

.gnav_item .icon-bookmark{
  font-size: 19px;
  vertical-align: -2px;
}
.gnav_item .icon-cal{
  font-size: 19px;
}
.gnav_item a,
.accordion_item{
  border-bottom: 1px solid #ddd;
  display: block;
  font-size: 14px;
  padding: 15px 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .gnav_item a,
  .accordion_item{
    border: none;
    transition: 0.3s all ease;
  }
  .gnav_item a{position: relative;}
  .gnav_item a:before{
    content: "";
    width: 0;
    height: 1px;
    background:#ee7951;
    position: absolute;
    bottom: 0px;
    transition: 0.3s all ease;
  }
  .gnav_item a:hover{
    color: #ee7951;
    transition: 0.3s all ease;
  }
  .gnav_item a:hover:before{width: 100%;}
}

@media screen and (max-width: 767px) {
  .accordion_item{
    border-top: 1px solid #ddd;
  }
}

.genre_list{
  display: none;
  margin-left: 20px;
}

@media screen and (min-width: 768px) {
  .genre_list{
    background-color: #fff;
    width: 200px;
    margin-left: -100px;
    position: absolute;
    z-index: 9999;
    top: 100%;
    left: 50%;
  }
}

.genre_item::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #999;
  border-right: solid 1px #999;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
}

@media screen and (min-width: 768px) {
  .genre_item a{
    display: block;
    font-size: 14px;
    padding: 10px;
    width: 100%;
  }
  .genre_item:not(:last-child) a{
    border-bottom: 1px solid #ddd;
  }
}

.gnav_contents .sns_item{
  margin: 0 10px 0 0;
}

.gnav_contents .footer_link{
  padding-right: 20px;
}

.gnav_contents .footer_link__item{
  width: 50%;
}

@media screen and (min-width: 768px) {
  .gnav_contents .sns_link,
  .gnav_contents .footer_link{
    display: none;
  }
}


.header .search_btn{
  cursor: pointer;
  font-size: 17px;
}

.search_form{
  background-color: #fff;
  display: none;
  padding: 13px 20px;
  width: 100%;
  position: fixed;
  top: 50px;
  left: 0;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .search_form{
    color: #999;
    display: block;
    padding: 0;
    width: 336px;
    margin-right: auto;
    position: relative;
    top: auto;
  }
}

.search_box{
  position: relative;
}

.search_box::before{
  content: "\e905";
  font-family: 'icomoon' !important;
  font-size: 16px;
  position: absolute;
  top: 5px;
  left: 10px;
}

@media screen and (min-width: 768px) {
  .search_box::before{
    top: 10px;
  }
}

.search_input{
  background-color: #EAEAEA;
  border-radius: 5px;
  border: none;
  font-size: 11px;
  padding: 12px 12px 12px 40px;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .search_input{
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 17px 12px 17px 40px;
  }
}


/*------------------------------------------------------------------------
 一覧ページ
-------------------------------------------------------------------------*/
.wrapper{
  padding: 60px 0 24px;
}

@media screen and (min-width: 768px) {
  .wrapper{
    /*display: flex;*/
    align-items: flex-start;
    justify-content: space-between;
    padding: 30px 5% 80px;
    margin: 70px auto 0;
    max-width: 1400px;
    width: 100%;
  }

  .detail_search_area{
    display: none;
    width: 280px;
    margin-right: 3%;
  }

  .search_item span{
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .detail_search_area{
    padding: 20px;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }

  .detail_search_list{
    display: flex;
    align-items: center;
    width: calc(95px * 5 + 40px);
    margin: auto;
  }

  .search_item{
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 100px;
    cursor: pointer;
    font-weight: bold;
    text-align: center;
    padding: 6px 10px 6px 0;
    position: relative;
    width: 95px;
  }

  .search_item::after{
    content: "";
    border-style: solid;
    border-width: 6px 3.5px 0 3.5px;
    border-color: #000 transparent transparent transparent;
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }

  .search_item:not(:first-child){
    margin-left: 10px;
  }
}

@media screen and (min-width: 768px) {
  .search_index .category_name{
    border-bottom: 1px solid #ddd;
    font-size: 16px;
    font-weight: bold;
    padding: 10px 0;
  }
}


@media screen and (max-width: 767px) {
  .search_modal{
    background-color: #F5F5F5;
    display: none;
    text-align: left;
    padding: 20px 0 30px;
    width: calc(100% - 40px);
    position: fixed;
    top: 50px;
    left: 20px;
    z-index: 1000;
  }

  .search_modal .category_name{
    margin: 0 0 10px 20px;
  }

  .search_modal .category_list{
    background-color: #fff;
    text-align: left;
    padding-left: 20px;
  }
}

.category_item{
  position: relative;
}

.category_item::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #ddd;
  border-right: solid 1px #ddd;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
}

.category_item a{
  border-bottom: 1px solid #ddd;
  display: block;
  font-size: 14px;
  padding: 14px 0;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .category_item:last-child a{
    border: none;
  }
}

.modal_overlay{
  background-color: rgba(0,0,0,0.7);
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
}

@media screen and (min-width: 768px) {
  .contents_list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    /*margin-top: 140px;*/
  }
}

.contents_box{
  background-color: #fff;
  border-radius: 12px;
  margin-bottom: 15px;
}

.contents_box a{
  display: block;
  height: 100%;
  padding: 0 0 25px 0;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  border-radius: 12px;
}

@media screen and (min-width: 768px) {
  .contents_box{
    width: calc((100% - 2%) / 2);
    margin-bottom: 2%;
  }
  .contents_box a{
    transition: 0.3s all ease;
  }
  .contents_box a:hover{
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    transition: 0.3s all ease;
  }
  .contents_box .chef_name{
    color: #000;
    transition: 0.3s all ease;
  }
  /* .contents_box a:hover .chef_name{
    color: #ee7951;
    transition: 0.3s all ease;
  } */
}

.contents_header, .contents_footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px 0 20px;
  position: relative;
}

.contents_header {
  align-items: baseline;
}

.contents_footer {
  background: #F5F5F5;
  margin: 0 20px;
  border-radius: 12px;
  padding: 16px 20px;
}

.chef_detail {
  background-color: #fbf7ee;
  border-radius: 10px;
  padding: 30px 20px 20px;
  margin: 30px 0 10px;
  position: relative;
}

.chef_detail h3{
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 20px;
  color: #ee7851;
}

.modal-backdrop.in{opacity: 0.8;}

@media screen and (min-width: 768px) {
  .contents_header {
    padding: 15px 20px 0 20px;
  }
  .contents_footer {
    padding: 15px 20px;
  }
  .chef_detail h3{font-size: 24px;}
  .chef_detail {
    padding: 30px 150px 40px;
    margin: 30px 0 10px;
    position: relative;
  }
  .modal-dialog{width: 100%;}
}

.from{
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    background: #ee7951;
    padding: 2px 10px;
    border-radius: 20px;
    width: 45px;
  }

.chef_info,
.rating_info{
  display: flex;
  align-items: center;
}

.list_info{
  display: block;
}

.list_info .course_name{font-size: 18px; text-align: left; color:#000; margin: 0; line-height:1.6; width:90%; padding-top: 8px;}
.list_info .course_price{font-weight: 700; padding-top: 6px; font-size: 14px;}
.contents_box a:hover .course_name{
  color: #ee7951;
  transition: 0.3s all ease;
}
.chef_info{
  align-items: flex-end;
  justify-content: center;
  margin: 0;
  width: 90%;
}

.contents_header .icon-child, .contents_footer .icon-child{
  position: absolute;
  font-size: 18px;
  color: #ee7951;
  right: 70px;
  top: 22px;
}
.icon-child{
  color: #ee7951;
}

.child-text{
  font-size: 14px;
}

.chef_name{
  font-size: 16px;
  font-weight: bold;
  margin-right: 10px;
}

.chef_image {
  width: 100px;
}

.chef_summary {
  margin-top: 10px;
  background: #FFF;
  padding: 10px;
}

.chef_summary li {
  font-size: 11px;
  margin-bottom: 7px;
}

.chef_summary li span{
  color: #999;
}

@media screen and (min-width: 768px) {
  .chef_name { font-size: 16px; }
   .chef_info{ width: 100%; }
   .chef_summary li { font-size: 12px; }
   .list_info .course_price{ font-size: 16px; }
}

.age{
  font-size: 14px;
  padding-left: 10px;
  font-weight: bold;
}

.rating_list{
  display: flex;
  margin-right: 5px;
}

.icon_item{
  font-size: 14px;
  margin-right: 2px;
}

@media screen and (min-width: 768px) {
  .icon_item{
    font-size: 17px;
  }
}

.rating_list .icon-star-full{
  color: #EE7951;
}

.rating_list .icon-star{
  color: #999;
}

.rating_value{
  color: #EE7951;
  font-size: 16px;
  font-weight: bold;
}

.bookmark{
  font-size: 21px;
  color: #999;
  position: absolute;
  top: -5px;
  right: 20px;
}

@media screen and (min-width: 768px) {
  .bookmark{
    font-size: 26px;
    top: -8px;
  }
}

.bookmark.saved {
  color: #EE7951;
}

.bookmark.saved .icon-bookmark:before {
  content: "\e908";
}

.images_list .slick-slide{
  margin-right: 1px;
}

.images_list .slick-slide.slick-current img{
  border-radius: 12px 0 0 0;
}

.images_list .slick-slide.slick-current + li + li img{
  border-radius: 0 12px 0 0;
}

@media screen and (min-width: 768px) {
  .images_list .slick-slide{
    margin: 0 1px;
  }
}

.images_list img{
  width: 100%;
  height: calc(100vw / 3 - 1px);
}

@media screen and (min-width: 768px) {
  .images_list img{
    height: 200px;
  }
}

.object_fit{
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.chef_word {
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contents_text{
  padding: 10px 20px 20px;
}

.short_from_chef dd{
  font-size: 13px;
  line-height: 1.6em;
  margin: 0 0 5px;
}

.short_from_chef dt{
  color: #999;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 5px;
}

.contents_feature{
  display: flex;
  flex-wrap: wrap;
}

.feature_item{
  margin: 10px 10px 0 0;
  width: calc((100% - 10px) / 2);
}
.fix_btn{
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #FFF;
  padding: 20px;
  left: 0;
  z-index: 8;
}

/*===8/5更新===*/
.fix_btn.position{
  position: relative;
}
/*===8/5更新===*/


.btn.focus, .btn:focus, .btn:hover{
    color: #FFF;
  }

@media screen and (max-width: 768px) {
  .price_item{
    width: calc((100% - 20px) / 2);
  }

}

.feature_item:nth-child(2n){
  margin-right: 0;
}

.feature_item:nth-child(6){
  margin-right: 0;
}

.feature_item dt{
  color: #999;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 5px;
}

.feature_item dd{
  background-color: #F5F5F5;
  border-radius: 100px;
  font-size: 12px;
  text-align: center;
  padding: 4px 0;
}

@media screen and (min-width: 768px) {
  .short_from_chef dd{
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 1.7em;
  }
  .feature_item dd{
    font-size: 12px;
    padding: 8px 0;
  }
}


/*------------------------------------------------------------------------
 詳細ページ
-------------------------------------------------------------------------*/

.detail_area{
  background-color: #fff;
  margin: 0 0 80px;
  padding: 0 0 10px;
}

.detail_area .img_box{margin-bottom: 30px;}

@media screen and (min-width: 768px) {
  .detail_area{
    width: 100%;
    border-radius: 10px;
    padding: 60px 60px 40px;
    margin: 0;
  }
}

.detail_box{
  margin-bottom: 30px;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .detail_box{
    /*display: flex;
    justify-content: space-between;*/
    display: block;
    margin-bottom: 40px;
    width: 100%;
  }
}

.detail_box .text_box{
  padding: 0 20px 0;
}

.form_box{padding: 0;}

.detail_box .main_images_list img{
  width: 100%;
  height: auto;
  margin: 0;
}

@media screen and (min-width: 768px) {
  .detail_box .img_box{
    /*width: 470px;
    margin-right: 50px;*/
    width: 100%;
    margin-bottom: 40px;
  }
  .modal-body .form_box{
    display: flex;
    flex-wrap: wrap;
  }



  .detail_box .main_images_list,
  .detail_box .sub_images_list{
    width: 100%;
  }

  .detail_box .main_images_list img{
    width: calc(100% - 20px);
    height: auto;
    margin: 0 10px;
  }

  .detail_box .text_box{
    /*width: calc(100% - 520px);*/
    width: 100%;
    padding: 0;
  }
}

.detail_box .info_item{
  border-bottom: 1px solid #ddd;
  display: flex;
  align-items: center;
  padding: 15px 0;
}
  .detail_box .info_item.first{
      margin-top: 20px;
  }

@media screen and (min-width: 768px) {
  .detail_box .info_item{
    padding: 20px 0;
    flex-wrap: wrap;
  }
  .detail_box .info_item.first{
    margin-top: 20px;
  }
}

.detail_box .chef_info{
  padding-top: 0;
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
}
.favo_ico{
  position: absolute;
  right: 0;
  top: 0px;
}

.favo_ico button{
  font-size: 22px;
  background: transparent;
  border: none;
  color: #ee7950;
}

.favo_ico button[disabled]{
  color: #ee7950;
}

.detail_box .chef_name{
  font-size: 16px;
}

@media screen and (min-width: 768px) {
  .detail_box .chef_name{
    font-size: 20px;
    margin-right: 18px;
  }
  .ec-productRole__btn{margin:0 auto;}
  .favo_ico {
    position: absolute;
    right: 0;
    top: 3px;
  }
  .favo_ico button{
    font-size: 28px;
    padding-right: 0;
  }
}

.detail_box .age{
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  .detail_box .age{
    font-size: 18px;
  }
}

.detail_box .info_item dt{
  color: #999;
  font-size: 12px;
  margin-right: 16px;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .detail_box .info_item dt{
    font-weight: bold;
    width: 120px;
    margin-right: 0;
  }
}

.detail_box .info_item dd{
  font-size: 12px;
  width: calc(100% - 85px);
}

@media screen and (min-width: 768px) {
  .detail_box .info_item dd{
    font-size: 14px;
    width: calc(100% - 110px);
  }
}

.detail_box .provision_price dd{
  font-size: 18px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .detail_box .provision_price dd{
    font-size: 24px;
  }
}

.detail_box .provision_price dd span{
  font-size: 13px;
}

@media screen and (min-width: 768px) {
  .detail_box .provision_price dd span{
    font-size: 16px;
  }
}
.detail_box .separate_item{
  /*display: flex;*/
   width: 50%;
}

@media screen and (max-width: 767px) {
  .detail_box .separate_box{
    border: none;
    padding: 0;
  }

  #page_product_detail .wrapper{
    padding-top: 43px;
  }

  .detail_box .separate_box.first{
    padding: 0;
  }

  .detail_box .short_from_chef{
    padding: 15px 0;
  }
  .detail_box .item-box{
    border-top: none;
  }
  .detail_box .info_item{display: block;}
  .detail_box .separate_item{display: block;width: 100%;border-bottom: 1px solid #ddd;padding: 15px 0;}
  .detail_box .info_item dt{font-weight: normal;margin-bottom: 5px;}


  #page_product_detail .form_box{
      padding: 0 20px 20px;
  }
}


.detail_box .short_from_chef{
  align-items: flex-start;
}

.detail_box .short_from_chef dd{
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .detail_box .short_from_chef{
    display: block;
  }

  .detail_box .short_from_chef dd{
    width: 100%;
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  .detail_box .select_box{
    display: block;
  }
  .detail_area .select_item::before{
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-bottom: solid 1px #000;
    border-left: solid 1px #000;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    pointer-events: none;
    position: absolute;
    top: 20px;
    right: 20px;
  }
  .select_item select,
  .form-control{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
}

.detail_area .select_item{
  position: relative;
  margin-top: 6px;
}

@media screen and (max-width: 767px) {
  .detail_area #select_datetime .select_item{
    width: 100%;
    margin-top: 5px;
  }
  .detail_area #select_quantity .select_item{
    width: 100%;
    margin-top: 5px;
  }

  .form_box .btn_box{margin-top: 15px;}
}

@media screen and (min-width: 768px) {
  /*.detail_area .select_box .select_item{
    width: 70%;
  }*/
  .detail_box .short_from_chef dd{width: 100%;}
}

/*.detail_box .select_box .select_item::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-bottom: solid 1px #000;
  border-left: solid 1px #000;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  pointer-events: none;
  position: absolute;
  top: 20px;
  right: 20px;
}*/


.select_item select,
.form-control{
  border: 1px solid #DDD;
  border-radius: 5px;
  font-size: 16px;
  font-weight: bold;
  padding: 0 20px;
  height: 48px;
  width: 100%;
  /*-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;*/
  background: #FFF;
  box-shadow: none;
}

.btn_box{
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .btn_box{
    display: flex;
  }
}

.btn,
.ec-blockBtn--action{
  border: 1px solid #EE7951;
  background-color: #EE7951;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  transition: 0.3s;
  margin: auto;
  width: 250px;
  height: 50px;
  border-radius: 0;
}

.ec-blockBtn--action{
  line-height: 50px;
}

a{
  outline: none;
}

button.close{margin: 10px;}

@media screen and (min-width: 768px) {
  .btn,.ec-blockBtn--action{
    width: 350px;
    height: 60px;
  }
  .modal-footer{
    margin:0 auto;
  }
  .ec-blockBtn--action{
    line-height: 60px;
  }
  .btn-primary:hover{
    background-color: #d23500;
    border-color: #d23500;
    color: #FFF;
  }
  button.close{margin-right: 40px;}
  button.close i{font-size: 35px;}
}

.btn.reserve_btn:hover,
.ec-blockBtn--action:hover{
  background-color: #fd6005;
  border-color: #fd6005;
  color: #FFF;
}

.btn.favorite_btn{
  border: none;
  background-color: transparent;
  color: #EE7951;
  font-size: 12px;
  text-align: center;
  text-decoration: underline;
}

.chat{padding:5% 0 2%; border-radius: 10px; display: none !important;}

@media screen and (min-width: 768px) {
  .btn.favorite_btn{
    color: #EE7951;
    margin: 0 auto;
    font-size: 16px;
  }
  .btn.favorite_btn:hover{
    color: #f56635;
  }
  .sp{display: none;}
  .chat{padding:3% 0 2%;}
}


.course_detail{
  background-color: #F5F5F5;
  border-radius: 10px;
  padding: 60px 20px 10px;
  margin: 80px 0 10px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .course_detail{
    padding: 100px 0 42px;
    margin: 140px 0 0;
  }
  .form_box dl{width: 49%; margin: 0 auto 20px;}
  .form_box #select_datetime{}
  .form_box .btn_box{margin: 20px auto 40px;}
/*===8/5更新===*/
  .form_box .fix_btn{margin: 0;}
/*===///8/5更新===*/
}

.course_detail .course {
    text-align: center;
    position: absolute;
    top: -50px;
    position: absolute;
    /* top: 50%; */
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, 0%);
}

@media screen and (min-width: 768px) {
  .course_detail .course{
    top: -87px;
  }
}

.course_detail .course img{
  width: 142px;
  margin-bottom: 5px;
}

@media screen and (min-width: 768px) {
  .course_detail .course img{
    width: 236px;
    margin-bottom: 10px;
  }
}

.course_detail .course span{
  color: #EE7951;
  display: block;
  font-size: 11px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .course_detail .course span{
    font-size: 14px;
  }
}

.course_name{
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 15px;
}

.coupon-form{
  align-items: center;
}

.coupon-form dt{font-size: 14px;}

@media screen and (min-width: 768px) {
  .course_name{
    font-size: 20px;
    margin-bottom: 30px;
  }
}

.course_overview{
  font-size: 12px;
  line-height: 1.75;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .course_overview{
    font-size: 16px;
    text-align: center;
    line-height: 2.4;
    margin-bottom: 30px;
    padding: 0 3%;
  }
}

.course_meal{
  border-top: 1px solid #DDD;
  text-align: center;
  margin: auto;
  padding: 15px 0;
}

@media screen and (min-width: 768px) {
  .course_meal{
    width: 66%;
  }
}

.course_meal dt{
  margin-bottom: 5px;
  color: #EE7951;
}

@media screen and (max-width: 767px) {
  .pc{display: none;}
  .course_meal dt{
    font-size: 12px;
  }
  .coupon-form dt{font-size: 12px; margin-bottom:5px; font-weight: normal;}
  .coupon-form dt label{font-weight: normal;}
}

.course_meal dd{
  font-size: 14px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .course_meal dd{
    font-size: 18px;
    font-weight: bold;
  }
}

.course_meal:last-of-type{
  border-bottom: 1px solid #ddd;
  margin-bottom: 20px;
}

.course_detail .reserve_btn{
  display: block;
  margin: auto;
  line-height: 37px;
}


@media screen and (max-width: 767px) {
  .review_box{
    padding: 0 20px;
  }
}

.review_box .review_ttl{
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

@media screen and (min-width: 768px) {
  .review_box .review_ttl{
    font-size: 20px;
    margin-bottom: 24px;
  }
  .course_detail .reserve_btn{
     line-height: 47px;
  }
}

.review_box .review_item{
  border-top: 1px solid #ddd;
  display: flex;
  align-items: flex-start;
  padding: 24px 0;
}

.review_box .icon_box{
  width: 51px;
  margin-right: 11px;
}

.review_box .text_box{
  width: calc(100% - 62px);
}

.review_box .date{
  color: #999;
  font-size: 10px;
}

.review_box .reviewer_name{
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  .review_box .rating_list{
    margin-right: 0;
  }

  .review_box .icon_item{
    font-size: 17px;
  }
}

@media screen and (max-width: 767px) {
  .review_box .review_text{
    font-size: 12px;
    line-height: 1.7;
    margin: 10px 0 0 -62px;
  }
}


@media screen and (min-width: 768px) {
  .review_box .review_text{
    font-size: 13px;
    line-height: 2;
  }
}




/*------------------------------------------------------------------------
 footer
-------------------------------------------------------------------------*/
.footer{
  background-color: #fff;
  padding: 30px 20px 15px;
}

@media screen and (min-width: 768px) {
  .footer{
    padding: 60px 80px 70px 45px;
  }

  .footer_inner{
    display: flex;
    justify-content: space-between;
  }
}

.footer_logo{
  margin-bottom: 20px;
}

.footer_logo img{
  display: block;
  margin: auto;
  width: 203px;
  height: 70px;
}

@media screen and (min-width: 768px) {
  .footer_logo img{
    width: 280px;
    height: 97px;
  }

  .footer_link_contents{
    display: flex;
    flex-wrap: wrap;
  }
}

.sns_link{
  display: flex;
  align-items: center;
  /*justify-content: center;*/
  margin-bottom: 30px;
}
footer .sns_link{
  justify-content: center;
}


@media screen and (min-width: 768px) {
 footer .sns_link{
    justify-content: flex-end;
    margin-bottom: 40px;
    order: 2;
    width: 100%;
  }
}

.sns_item{
  color: #999;
  display: block;
  margin: 0 5px;
}

.icon-facebook{
  font-size: 16px;
}

.icon-instagram{
  font-size: 18px;
}

.icon-twitter{
  font-size: 20px;
}

.footer_link{
  font-size: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .footer_link{
    justify-content: flex-end;
    margin-bottom: 25px;
    order: 1;
    width: 100%;
  }
}

.footer_link__item{
  margin-bottom: 10px;
}
.ec-favoriteRole .ec-favoriteRole__item{
  width: 48.5%;
  padding: 0;
  margin:0 3% 5% 0;
}


@media screen and (min-width: 768px) {
  .footer_link__item{
    font-size: 11px;
    margin: 0 0 0 20px;
  }
}

.footer_link a{
  color: #666;
}

.copyright{
  color: #999;
  display: block;
  font-size: 10px;
  text-align: center;
}

.ec-imageGrid .ec-imageGrid__content p.name{
  font-size: 14px;
  margin-bottom: 3px;
  font-weight: normal;
}

@media screen and (min-width: 768px) {
  .copyright{
    text-align: right;
    order: 3;
    width: 100%;
  }
  .ec-favoriteRole .ec-favoriteRole__item img{width: 100%;}
}


.ec-layoutRole{background:transparent; }
.ec-layoutRole .ec-layoutRole__contents{max-width: 100%;}
a:hover{text-decoration: none;color: #000;}

.ec-role {
  position: absolute;
  top: 43px;
  left: 0;
  background: #e2e2e2;
}
.ec-pageHeader h1 {
  margin: 0 0 8px;
  border-bottom: none;
  border-top: 1px solid #DDD;
  padding: 10px 0 3px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}

.ec-cartRole{
  color: #000;
}

.ec-cartRole{
  margin: 100px 0 6%;
  display: block;
}
#form_cart{background:#FFF;padding: 5% 0; margin:3% 0 10%;}
.ec-blockBtn--cancel{background:#FFF;border-color: #000; color: #000;}
.ec-cartRow__sutbtotalSP{margin-top:6%;}
.ec-cartRow .ec-cartRow__summary{font-size: 12px; font-weight: normal;}
.ec-cartRole .ec-cartRole__actions{margin:0 5%;}
.ec-cartRow .ec-cartRow__delColumn .ec-icon img{width: 1em; height: 1em;}
.ec-cartRow .ec-cartRow__delColumn{width: 10%; padding:0 10px;}
.ec-cartRole .ec-cartRole__totalAmount{color: #EE7951;}
.ec-cartRow .ec-cartRow__img{width: 33%;}
.ec-cartHeader .ec-cartHeader__label{ font-size: 12px;font-weight: normal;}
.ec-grid__customcell {width: 100%;}
.ec-login,.ec-guest{background:#FFF;}
.ec-off2Grid .ec-off2Grid__cell{width: 100%; margin:0 auto;}
.form-check input[type=checkbox],.ec-checkbox{display: inline-block;}
.ec-checkbox{font-size: 14px; font-weight: normal; margin-bottom: 15px;}
.ec-login .ec-login__link{text-align: center;}
.ec-login .ec-login__link a{font-size: 12px;padding-bottom: 15px;}
.ec-login .ec-login__input{margin-bottom: 5%;}
.ec-checkbox label{font-size: 14px;font-weight: normal;}
.ec-login .ec-login__input{text-align: center;}
.ec-guest .ec-guest__inner p,.ec-para-normal{font-size: 14px; margin-bottom: 5%;}
.ec-label{font-size: 14px; font-weight: normal;}
.ec-reportDescription{font-size: 14px; line-height: 1.8em;}
.ec-reportHeading h2{font-size: 18px; line-height: 1.6em;}
.ec-reportHeading{border:none;}
#form1{width: 100%; padding: 8% 0;}
#page_product_detail #form1{padding: 0;}
.ec-registerRole{margin: 80px auto 60px;}
.ec-borderedDefs dt .ec-label{font-size: 12px; color: #999;}
.ec-blockTopBtn{display: none !important;}
#page_cart #form_cart{
    padding: 5%;
    margin: 3% 0 10%;
}
#page_cart .ec-cartRole .ec-cartRole__actions{margin: 0;}
.num{font-size: 14px;}
.sml{font-size: 12px;}
.sml-list{padding:3%; background:#F5F5F5;width: 100%; border-radius: 5px;}
.sml-list li{margin-bottom: 2px;}
.sml-list li span{color:#EE7951; text-decoration: underline; cursor: pointer;}
.center{text-align: center;}
.ec-welcomeMsg{line-height: 1.8em;font-size: 14px;}
.ec-navlistRole .ec-navlistRole__item a{font-size: 14px; font-weight: normal;}
.ec-navlistRole .active a{color:#EE7951;}
.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
    cursor: not-allowed;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: 1;
    background: transparent;
    color: #999;
    border: none;
    font-size: 14px;
}
.ec-favoriteRole .ec-favoriteRole__item-image{height: auto;text-align: left;}
.delete_txt {margin-top: 3px;}
.ec-favoriteRole .ec-favoriteRole__itemList .delete_txt a{font-size: 11px; color: #337ab7}
.ec-welcomeMsg {padding: 0 0 10px;border-bottom: none;font-size: 11px;text-align: right;}
.ec-withdrawRole .ec-withdrawRole__title{font-size: 16px;}
.ec-withdrawRole .ec-withdrawRole__description{font-size: 12px; line-height: 1.8em;}
.ec-inlineBtn{background:#FFF; color: #666;border-color: #aaa; font-size:12px; padding:8px 20px; font-weight: normal;}
.ec-historyListHeader .ec-historyListHeader__date{font-size: 12px;}
.ec-historyListHeader{font-size: 12px;}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle{font-size: 14px; margin-bottom: 3px; color: #000; font-weight: normal;}
.ec-historyRole .ec-historyRole__detail{padding: 10px 0;}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice{font-size: 16px; color: #000;}
.ec-imageGrid .ec-imageGrid__img{padding:10px 20px 0 0; width: 200px;}
.history-captions{font-size: 12px;}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice{margin-bottom: 15px;}
.ec-input input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input, .ec-select input, .ec-birth input{font-size: 16px;}
.ec-rectHeading h1, .ec-rectHeading h2, .ec-rectHeading h3, .ec-rectHeading h4, .ec-rectHeading h5, .ec-rectHeading h6
 {font-size: 16px; padding: 0 0 10px; background:transparent; border-bottom:solid 1px #DDD; margin-bottom: 10px;}
 #page_mypage_history .history-captions{margin-bottom: 20px;}
 .ec-orderDelivery .ec-orderDelivery__title{font-size: 14px; padding: 0; border: none; color: #666; font-weight: normal;}
 #page_mypage_history .ec-imageGrid{border-top: none;}
 .ec-orderDelivery .ec-orderDelivery__address,.ec-definitions--soft{font-size: 14px; line-height: 1.8em; margin-bottom: 5px;}
.ec-orderPayment{margin:30px 0;}
.txt{font-size: 14px;}
.sep-box .ec-blockBtn--action{margin-top:20px;}
.ec-totalBox{background:#FFF;}
.ec-imageGrid .ec-imageGrid__content{font-weight: bold;}
.ec-imageGrid__content p{color: #000;}
#page_mypage_history .history-captions{padding: 3%; background: #FFF; margin-bottom: 40px;}
.ec-guest .ec-guest__actions a{color: #000 !important;}
.ec-guest .ec-guest__actions a:hover{color:#FFF !important;}
#page_shopping_nonmember .ec-customerRole{margin-bottom: 80px;}
.ec-orderAccount .ec-orderAccount__account{font-size: 14px;}
#coupon{margin:30px 0;}
#coupon{font-size: 14px;}
#coupon p{margin-top: 15px;}
.ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel{color: #666; width: 100%; border-color:#aaa; }
.ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel:hover{color:#FFF;}
#page_shopping .ec-orderRole,#page_shopping_confirm .ec-orderRole{margin-top: 5%; padding: 0;}
.ec-AddAddress .ec-AddAddress__item{background:#FFF;}
.ec-AddAddress{padding: 0 20px; margin-bottom: 60px;}
.ec-AddAddress .ec-AddAddress__add{margin-top:0; padding-top: 0;}
.ec-AddAddress .ec-AddAddress__selectAddress label{font-size: 14px;}
.ec-select label{font-size: 12px;margin-bottom: 4px; color: #999; font-weight: normal;}
.ec-orderRole{margin-bottom: 60px;}
.ec-cartRole .ec-cartRole__error .ec-alert-warning{background:#f9f4d8;max-width: 100%;padding: 20px;font-size: 14px;}
.ec-alert-warning .ec-alert-warning__text{color:#F00;}
.text-danger{color: #F00}
.ec-blockBtn--action[disabled]{background:#CCC; color: #999; opacity: 1; border:none; margin-top: 15px;}
.ec-blockBtn--action[disabled]{pointer-events: none;}
.ec-alert-warning{background:#f9f4d8;}
.ec-input select, .ec-halfInput select, .ec-numberInput select, .ec-zipInput select, .ec-telInput select, .ec-select select, .ec-birth select{font-size: 16px;}
.ec-borderedDefs dl{padding: 15px 0;border-bottom: 1px solid #DDD;}
.ec-borderedDefs dd {line-height: 2em; font-size: 14px;}
.ec-borderedDefs dt{padding-top: 0;}
.ec-imageGrid .ec-imageGrid__content p.del_tel{margin: 5px 0 10px;}
.ec-borderedList li {
    border-bottom: 1px solid #DDD;
    padding: 20px 0;
}
.ec-borderedList li:first-child{ padding-top: 0;}
.ec-borderedList li:last-child{border-bottom: none; padding-bottom: 0;}
.ec-heading-bold{margin:30px 0 10px;}
.ec-off1Grid{display: block;}
.ec-off1Grid__cell{font-size: 14px; line-height: 2.4em;}
.ec-cartTable,.ec-totalBox .ec-totalBox__total{ border-top: 1px solid #DDD;}
.ec-cartRow__day{margin:2px 0;}
.ec-cartRow .ec-cartRow__contentColumn,
.ec-cartRow .ec-cartRow__delColumn,.ec-cartRow .ec-cartRow__amountColumn,.ec-cartRow .ec-cartRow__subtotalColumn{
  border-bottom: 1px solid #DDD;
}
.ec-cartRow .ec-cartRow__summary .ec-cartRow__sutbtotalSP{font-weight: bold; font-size: 14px;}
.ec-progress .ec-progress__item:after{background: #aaa; height: 1px;top: 30%;}
.ec-progress .ec-progress__number{border: solid 1px #aaa;background: #eeeeee;color: #aaa;}
.ec-progress .ec-progress__label{color: #aaa;}
.ec-progress .is-complete .ec-progress__number{background:#EE7951;border-color: #EE7951;color: #FFF;}
.ec-progress .is-complete .ec-progress__label {color: #EE7951;}
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton, .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton{
  border: solid 1px #aaa;
}
.ec-orderDelivery{margin-bottom: 30px;}
.shipping{width: 100%;}
.ec-addressList .shipping .ec-addressList__remove{width: 30px;}
.ec-addressList .shipping .ec-addressList__address{width: 95%;}
.multiple{margin-top:15px;}
.ec-telInput input{max-width: 12em;}
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
}
.modal-bg {
  background: rgba(0,0,0,0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}

.btn-close{
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 26px;
  color: #FFF;
}

.modal-content {
  background: #fff;
  left: 50%;
  padding: 7% 5%;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 90%;
}

.modal-content h2{
    font-size: 16px;
    padding-bottom: 10px;
    margin-bottom: 5%;
    font-weight: bold;
    text-align: center;
}
.modal-content h2 span{
  display: inline-block;
  border-bottom: solid 1px #FF6C46;
  padding-bottom: 10px;
}

.modal-content ul{
  padding:7% 5% 8%;
  background: #F5F5F5;
  width: 100%;
  border-radius: 5px;
}

.modal-content ul li{
  font-size: 14px;
  margin-bottom:  10px;
  text-indent: -1em;
  padding-left: 1em;
}
.modal-content ul li:last-child{
  margin-bottom: 0;
  /** font-size: 11px; **/
}

#page_product_list .schedule_area{
  padding: 0;
  margin:15px 0 0;
}

.btn_wrap{
  display: flex;
}

.schedule_area{
  padding:0 20px;
  margin-bottom: 30px;
}

.schedule_table{
  width: 100%;
  margin-top: 5px;
  background-color: #F5F5F5;
  padding: 10px 0;
}

.schedule_table th{
  width: 50px;
  background:#F5F5F5;
  padding:5px;
  vertical-align: middle;
  border-bottom: solid 1px #EEE;
  border-left : solid 1px #EEE;
  font-size: 10px;
  font-weight: normal;
  text-align: center;
}

.schedule_table td{
  width: 20px;
  text-align: center;
  border-bottom: solid 1px #EEE;
  vertical-align: middle;
  padding: 5px;
  font-size: 10px;
  position: relative;
  z-index: 2;
}

.schedule_table td.today:after{
  content: "";
  width: 20px;
  height:20px;
  border-radius: 100%;
  position: absolute;
  background-color: #FFA586;
  top: 7%;
  left: 50%;/* 2020/10/14 変更*/
  z-index: -1;
  -webkit-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
}

.other-text{margin-top:7px; color: #999}
.other-text i{font-size: 16px; vertical-align: -2px; padding-right: 5px;}

.link{color: #EE7951;text-decoration: underline;}

/* 2020/10/14 変更ここから*/
.schedule_tit {display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; width: 100%;}
.schedule_tit dt{font-weight: normal; font-size: 12px;}
/* 2020/10/14 変更ここまで*/

.schedule_table td.month_date{font-weight: bold;font-size: 12px;}

.schedule_table td.nodate{border:none;}

.schedule_table .last-week td{border-bottom: none;border-top:solid 1px #EEE; padding-bottom: 15px;}


.schedule_table span:after{
  content: "△";/* 2020/10/14 変更*/
  display: inline-block;
  color: #777;/* 2020/10/14 変更*/
  font-size: 11px;/* 2020/10/14 変更*/
}

/* 2020/10/14 変更ここから*/
.schedule_table span.reservable:after {
  content: "◯";
}
/* 2020/10/14 変更ここまで*/

.schedule_table span.reserved:after{
  content: "×";
  font-size: 12px;/* 2020/10/14 変更*/
}

.schedule_table span{display: inline-block; padding: 0;}


/* 2020/10/14 変更ここから*/
.schedule_tit span:after {
  display: inline-block;
  color: #777;
  font-size: 11px;
  margin-right: 2px;
}

.schedule_tit span.reservable:after{
  content: "◯";
}

.schedule_tit span.negotiable:after{
  content: "△";
}

.schedule_tit span.reserved:after{
  content: "×";
  font-size: 16px;
}
/* 2020/10/14 変更ここまで*/

.schedule_table span.nodate:after{
  content: "";
}
#page_product_detail .schedule_table{margin-top: 10px}
.schedule_table .week td{color: #999;border:none;border-bottom:solid 1px #EEE;padding-top: 15px;}
.schedule_table td.sat{color: #7EA7F5;}
.schedule_table td.sun{color: #F57E7E;}
.schedule_table td.open{color: #EE7951; font-weight: bold;}
/* 2020/10/14 変更ここから*/
.versatility{margin-bottom: 2px;}
.versatility li{display:inline-block; margin-right: 6px; font-size: 12px;}
/* 2020/10/14 変更ここまで*/
.schedule_tit{margin-bottom: 0;}
.link-txt{ margin: 20px 0;}
.link-txt a{color:#EE7951;font-weight: bold; text-decoration: underline;}

/* ↓10/13追記↓ */
.bot-btn{ display: flex; justify-content: center; margin:20px 0;}
.bot-btn a {width:270px; display: block;padding: 18px 0; background:#ffe94a; border-radius: 100px; text-align: center; font-weight: bold; box-shadow: 0 0 11px rgba(0,0,0,0.2); transition: 0.3s all ease;}
.bot-btn a:hover{box-shadow: 0 0 0px rgba(0,0,0,0); transition: 0.3s all ease;}
.bot-btn a i{ font-size: 14px; margin-right: 5px; }
.bot-btn .tel_btn { background-color: #fff; border: 1px solid #EF835E; color: #EF835E; }
#page_product_list .bot-btn {margin-top:0;}
#page_product_list .bot-btn a {margin:0 10px;}
#page_product_list .chat {border-radius: 0; position: fixed;bottom: 0px; left:0; width: 100%; z-index: 5; margin:0; padding: 20px 0 10px;    box-shadow: 0 2px 10px rgba(0,0,0,0.1);background-color: #FFF;}
/* ↑10/13追記↑ */

/* 2021/05/25追記 */
.bot-btn button {width:270px; display: block;padding: 18px 0; background:#ffe94a; border-radius: 100px; text-align: center; font-weight: bold; box-shadow: 0 0 11px rgba(0,0,0,0.2); transition: 0.3s all ease;}
.bot-btn .reserve_btn { margin:0; box-shadow: 0 0 11px rgba(0,0,0,0.2); border: none; color: #000; font-size: 100%;}
.bot-btn .reserve_btn:hover { margin:0; box-shadow: none; border: none; color: #000; background: #ffe94a;}
.bot-btn button i{ font-size: 14px; margin-right: 5px; }
.bot-btn .request_btn { background-color: #fff; border: 1px solid #EF835E; color: #EF835E; }
#page_product_detail .bot-btn .ec-blockBtn--action { padding: 0; margin:0; }
#page_product_detail .bot-btn {margin-top:0;}
#page_product_detail .bot-btn a {margin:0 10px;}
#page_product_detail .chat {border-radius: 0; bottom: 0px; left:0; width: 100%; z-index: 5; margin:0; padding: 20px 0 10px;    box-shadow: 0 2px 10px rgba(0,0,0,0.1);background-color: #FFF;}
#page_product_detail .btn_box { display: block !important; }
#page_product_detail .fix_btn.position { box-shadow: none;}
#page_product_detail .fix_btn.position p { display: none; }
/* 2021/05/25追記ここまで */

/* 2021/05/26追記 */
#page_homepage .bot-btn-fix {margin-top:0;}
#page_homepage .bot-btn-fix a {margin:0 10px;}
#page_homepage .chat-fix {border-radius: 0; position: fixed;bottom: 0px; left:0; width: 100%; z-index: 5; margin:0; padding: 20px 0 10px;    box-shadow: 0 2px 10px rgba(0,0,0,0.1);background-color: #FFF; opacity: 0;transform : translate(0, 45px); transition : all 500ms;}
.bot-btn-fix { display: flex; justify-content: center; margin:20px 0;}
.bot-btn-fix a {width:270px; display: block;padding: 18px 0; background:#ffe94a; border-radius: 100px; text-align: center; font-weight: bold; box-shadow: 0 0 11px rgba(0,0,0,0.2); transition: 0.3s all ease;}
.bot-btn-fix a:hover{box-shadow: 0 0 0px rgba(0,0,0,0); transition: 0.3s all ease;}
.bot-btn-fix a i{ font-size: 14px; margin-right: 5px; }
.bot-btn-fix .tel_btn { background-color: #fff; border: 1px solid #EF835E; color: #EF835E; }
#page_homepage .chat-fix.on-display { opacity: 1; transform : translate(0, 0);}
/* 2021/05/26追記ここまで */

.ec-cartRow__option{background-color: #F5F5F5; margin: 15px 10px 15px 0; padding: 10px;}

@media screen and (min-width: 768px) {
  .schedule_area{padding: 0;}
  .ec-role {
    top: 73px;
    width: 100%;
    max-width: 100%;
    left: 0;}
  .ec-guest .ec-guest__inner p{font-size: 16px;}
  .ec-pageHeader h1{font-size: 16px;padding: 20px 0 13px;}
  .ec-cartRole{margin:180px auto 80px; display: block;}
  .ec-cartRole .ec-cartRole__totalText{font-size: 25px;}
  .ec-cartRole .ec-cartRole__actions{width: 100%;}
  .ec-cartRole .ec-cartRole__total{ padding: 15px 50px 30px;}
  .ec-grid2 .ec-grid2__cell{width: 100%;}
  .ec-grid2{display: block;}
  .ec-blockBtn--cancel{width: 350px; height:60px; line-height:60px; margin: 0 auto 10px;}
  .ec-login {
    margin: 0 auto;
    padding: 40px;
    width: 500px;
  }
  .ec-guest {
    height: 100%;
    margin:0 auto 30px auto;
    width: 500px;
    padding: 40px;
  }
  .ec-grid3{display: block; margin:0 auto;}
  .ec-registerRole{margin: 120px auto 60px;}
  .ec-off3Grid{display: block;}
  .ec-off3Grid .ec-off3Grid__cell{width: 100%; margin: 0 auto;}
  .ec-cartRole .ec-cartRole__cart{margin: 0; padding: 0 10%;box-sizing: border-box;}
  .ec-cartRow .ec-cartRow__subtotalColumn{text-align: center;}
  #page_cart .ec-cartRole .ec-cartRole__actions{margin: 0; padding: 0 10%;box-sizing: border-box;}
  #page_cart .ec-cartRole .ec-cartRole__total{padding: 15px 0 30px;}
  .ec-cartRow .ec-cartRow__summary{font-size: 16px; width: 100%;}
  .ec-navlistRole .ec-navlistRole__item a{font-size: 14px;}
  .ec-navlistRole .ec-navlistRole__item a:hover{background:#EEE;}
  .ec-navlistRole .ec-navlistRole__navlist{background:#FFF;margin-bottom: 60px;}
  .ec-withdrawRole .ec-withdrawRole__description{font-size: 14px;}
  .ec-mypageRole{margin-top: 120px;}
  .ec-addressRole .ec-addressRole__actions{margin-bottom: 10px;}
  .ec-input input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input, .ec-select input, .ec-birth input,.ec-select select,
  .ec-orderConfirm .ec-input textarea, .ec-orderConfirm .ec-halfInput textarea, .ec-orderConfirm .ec-numberInput textarea, .ec-orderConfirm .ec-zipInput textarea, .ec-orderConfirm .ec-telInput textarea, .ec-orderConfirm .ec-select textarea, .ec-orderConfirm .ec-birth textarea{font-size: 16px;}
  .history-captions{width: 100%; display: flex; align-items: center; font-size: 12px}
  .ec-definitions{padding: 0 15px;}
  .ec-cartRow__option{font-size: 14px; line-height: 1.8em;}

  .ec-historyRole .ec-historyRole__contents{display: block; border-top: solid 1px #DDD; padding: 15px 0;}
  .ec-historyRole .ec-historyRole__detail{
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
  }
  .ec-cartRow__day{margin:6px 0;}
  .sep-box{display: flex;}
  .sep-box .ec-blockBtn--action{width: 100%;}
  .ec-totalBox{
    position: sticky;
    position: -webkit-sticky;
    top: 90px;
    padding: 40px;}
  .ec-imageGrid .ec-imageGrid__content{font-size: 18px; font-weight: bold; line-height: 1.8em;}
  #page_shopping_login .ec-grid3{display: flex;}
  .ec-grid3 .ec-grid3__cell{width: 51.5%;}
  #page_shopping_login .ec-grid3 .ec-grid3__cell2{width: 51.5%;}
  #coupon .btn{line-height: 49px;}
  #coupon .btn:hover{
    background-color: #fd6005;
    border-color: #fd6005;
    color: #FFF;}
  #page_shopping_complete .ec-off3Grid{margin:0 auto;}
  #page_shopping_complete .ec-cartRole{margin: 180px auto 10px;}
  .ec-favoriteRole .ec-favoriteRole__item{width: 24%; margin-right: 1%;}
  .ec-favoriteRole .ec-favoriteRole__item:nth-child(4n){margin-right: 0;}
  .ec-totalBox .ec-totalBox__taxLabel{font-size: 12px;}
  .ec-select__delivery{
    display: block;
    font-size: 16px;
    line-height: 1.6em;
    font-weight: normal;
    margin: 10px 0px;
  }
  .ec-off1Grid .ec-off1Grid__cell{width: 100%;margin-left:0; }
  .ec-imageGrid{border-top: none;}
  .ec-cartRow__sutbtotal{font-weight: bold;}
  .ec-progress .ec-progress__item:after{background: #aaa; height: 1px;top: 35%;}
  #page_shopping_shipping .ec-registerRole{margin-top:160px;}
  .btn-close{
  font-size: 32px;
  color: #FFF;
  cursor: pointer;
  }
  .modal-content {
    padding: 60px;
    width: 60%;
  }
  .modal-content h2{
    padding-bottom: 10px;
    margin-bottom: 40px;
    font-size: 30px;
    line-height: 2.2em;
    letter-spacing: 0.1em;
  }

  .modal-content ul{
    padding: 5%;
    background: #F5F5F5;
    width: 100%;
    border-radius: 5px;
  }

  .modal-content ul li{
    font-size: 16px;
    margin-bottom: 15px;
    font-weight: bold;
  }

  #page_product_detail #form1{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }
  .schedule_table{
    width: 100%;
    margin-top: 5px;
  }

  .schedule_table th{
    width: 50px;
    background:#F5F5F5;
    padding:5px;
    vertical-align: middle;
    border-bottom: solid 1px #EEE;
    border-left : solid 1px #EEE;
    font-size: 12px;
    font-weight: normal;
    text-align: center;
  }

  .schedule_table td{
    width: 20px;
    text-align: center;
    border-bottom: solid 1px #EEE;
    vertical-align: middle;
    padding: 5px;
    font-size: 13px;/* 2020/10/14 変更*/
  }

  .schedule_table td.month_date{
    padding: 10px 0;
    font-size: 14px;
  }

  .schedule_table .week td{color: #000; font-weight: bold;}
  .schedule_table td.sat{color: #7EA7F5;}
  .schedule_table td.sun{color: #F57E7E;}
  .schedule_table td.open{color: #EE7951; font-weight: bold;}
  #page_product_list.schedule_tit dt{font-size: 11px;}
  #page_product_list .link-txt{text-align: center;}
  #page_product_list .chat {
  bottom:0;
  padding: 25px 0 10px;
  }

  /* 2021/05/25追記 */
  #page_product_detail .chat { bottom:0; padding: 25px 0 10px; }
  /* 2021/05/25追記ここまで */

  /* 2021/05/26追記 */
  #page_homepage .chat-fix { bottom:0; padding: 25px 0 10px; opacity: 0; transform : translate(0, 45px); transition : all 500ms;}
  #page_homepage .chat-fix.on-display { opacity: 1; transform : translate(0, 0);}
  /* 2021/05/26追記ここまで */
}

.chef_detailimage{
  width: 150px;
  height: 150px;
  margin:0 auto 20px;
}

.chef_detailimage img{
  border-radius: 100px;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .ec-mypageRole{margin: 130px 0 13%;}
  .ec-navlistRole {
    padding: 0;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    border-bottom: solid 1px #DDD;
    background: #FFF;
    position: fixed;
    z-index: 5;
    /*top: 78px;*/
    top: 43px;
    left: 0;
  }
  .link-txt {margin:0 5% 5%;}
  #page_homepage .link-txt{margin:20px 0;}
  .ec-navlistRole .ec-navlistRole__navlist{
    display: flex;
    align-items: center;
    width: calc(120px * 6);
    margin: auto;
    border: none;
  }
  .ec-navlistRole .ec-navlistRole__item {
    /* width: 80%; */
    border-color: #D0D0D0;
    border: none;
    text-align: center;
    width: 120px;
    border: none;
  }
  .ec-navlistRole .ec-navlistRole__item a{
    padding: 15px 0 10px;
    font-size: 13px;
  }
  .ec-navlistRole .active a{font-weight: bold;border-bottom: solid 2px #EE7951}
  .ec-blockBtn--cancel{width: 250px;height: 50px;line-height: 50px;margin: 0 auto;}
  .ec-addressList .ec-addressList__address{font-size: 12px; line-height: 1.8em;}
  .center{font-size: 12px;}
  .ec-historyRole .ec-historyRole__detail{padding: 0; border:none;}
  .ec-historyRole .ec-historyRole__contents{border-top: solid 1px #DDD;padding: 15px 0;}
  .footer_link{display: block;text-align: center;}
  .gnav_contents .footer_link{display: flex; text-align: left;}
  .btn, .ec-blockBtn--action{width: 100%;}
  .ec-blockBtn--cancel{width: 100%;}
  .ec-totalBox{background: #ffffff;}
  .ec-totalBox .ec-totalBox__spec{font-size: 14px;}
  .ec-orderMail{font-size: 14px;}
  .ec-orderMail__body{overflow: hidden;}
  .ec-guest{width: 100%;}
  #coupon .btn{line-height: 38px;}
  .ec-cartRole{margin-bottom: 13%;}
  .ec-favoriteRole .ec-favoriteRole__item:nth-child(2n){
  margin-right: 0;
  }
  #page_shopping .ec-imageGrid,#page_shopping_confirm .ec-imageGrid{display: block;}
  #page_shopping .ec-imageGrid .ec-imageGrid__img,#page_shopping_confirm .ec-imageGrid .ec-imageGrid__img{display: block;margin:0 auto 20px auto; padding: 0; width: 100%; height: 220px; overflow: hidden;}
  #page_shopping .ec-select__delivery,#page_shopping_confirm .ec-select__delivery{margin:10px 0;}
  #page_shopping .ec-select__delivery,#page_shopping_confirm .ec-select__delivery{font-weight: normal; font-size: 14px;}
  .ec-off1Grid__cell{font-size: 12px; line-height: 1.8em;}
  .ec-imageGrid{border-top: 1px solid #DDD; padding-top: 10px;}
  .ec-imageGrid .ec-imageGrid__img{width: 110px; padding:0 10px 10px 0; }
  .ec-orderDelivery .ec-orderDelivery__address,.ec-definitions--soft{font-size: 12px; line-height: 1.6em;}
  .txt{font-size: 12px;}
  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountSP{margin-bottom: 5px;}
  .ec-select__delivery{margin:10px 0 0;}
  .ec-select__delivery p{font-weight: normal;font-size: 14px;}
  #page_shopping_shipping .ec-registerRole{margin-top:100px;}

  /* ↓10/13追記↓ */
  .bot-btn{ padding: 0 10px; }
  .bot-btn a{margin: 0 auto; padding: 12px 0;}
  .bot-btn a i{vertical-align: -2px;}
  #page_product_list .bot-btn a{margin: 0 5px;}
  #page_product_list .chat{ padding-top: 15px; }
  /* ↑10/13追記↑ */

  /* 2021/05/25追記 */
  .bot-btn button {margin: 0 auto; padding: 12px 0; font-size: 100%;}
  #page_product_detail .chat{ padding-top: 15px; }
  #page_product_detail .bot-btn a { padding: 15px 0;}
  /* 2021/05/25追記ここまで */

  #page_product_list .wrapper{padding: 44px 0 24px;}
  .contents_list{margin-top:10px;}
}

textarea#shopping_order_message {
    font-size: 10pt;
    font-weight: normal;
}
.ec-totalBox__exclude__option {
    padding: 8px 0;
    font-size: 14px;
}
.info_item_option {
    font-weight: 100;
    color: #000;
}

.ec-layoutRole__main #product_review_area{
  border: none;
  padding: 0 5%;
  margin: -50px auto 60px;
  max-width: 1400px;
}
#product_review_area .ec-role{
  background-color: transparent;
  padding: 0;
  position: relative;
  top: 0;
}

#product_review_area #reviewContent{
  font-size: 14px;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .ec-layoutRole__main #product_review_area{
    padding: 0 20px;
    margin: -80px auto 50px;
  }

  #product_review_area h4{
    font-size: 14px;
  }

  #product_review_area #reviewContent{
    font-size: 12px;
  }
}


#page_product_review_complete .ec-off3Grid__cell{
  margin:200px 0;
}

@media screen and (max-width: 768px) {
  #page_product_review_complete .ec-off3Grid__cell{
    margin:50px 0;
  }
}

.child_box{
  margin: 20px 0;
  padding: 20px;
  background: #f5f5f5;
  border-radius: 10px;
}

#product_option_items .form-group{
  margin-bottom: 0;
}


/*------------------------------------------------------------------------
2020/10/14 追加style
-------------------------------------------------------------------------*/
/* コンシェルジュ電話モーダル  */
.concierge_modal{
  background-color: rgba(0,0,0,0.6);
  display: none;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
}
.concierge_modal .close_btn{
  cursor: pointer;
  display: block;
  height: 40px;
  width: 40px;
  position: absolute;
  top: 0;
  right: 0;
}
.concierge_modal .close_btn:before,
.concierge_modal .close_btn:after{
  content: "";
  background-color: #fff;
  display: block;
  transform: rotate(-45deg);
  height: 1px;
  width: 20px;
  position: absolute;
  top: 20px;
  right: 10px;
}
.concierge_modal .close_btn:after{
  transform: rotate(45deg);
}
.concierge_box{
  background-color: #fff;
  border: 1px solid #707070;
  border-radius: 5px;
  text-align: center;
  margin: auto;
  padding: 20px;
  transform: translateY(-50%);
  width: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
}
.concierge_box .contact_text{
  font-size: 11px;
  font-weight: bold;
  margin-bottom: 16px;
}
.concierge_box .tel{
  color: #EF835E;
  font-size: 28px;
  font-weight: bold;
  text-decoration: underline;
  margin-bottom: 5px;
  padding-left: 30px;
  position: relative;
}
.concierge_box .tel:before{
  content: "\e918";
  font-family: 'icomoon' !important;
  position: absolute;
  left: -5px;
}
.concierge_box .counseling_time{
  font-size: 10px;
  margin-bottom: 22px;
}
.concierge_box .attention{
  color: #FF0000;
  font-size: 10px;
}

@media screen and (min-width: 768px) {
  .concierge_box{
    padding: 40px 20px;
  }
  .concierge_box .contact_text{
    font-size: 14px;
  }
  .concierge_box .tel{
    pointer-events: none;
    cursor: default;
  }
  .concierge_box .counseling_time,
  .concierge_box .attention{
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .concierge_box{
    margin: auto 15px;
    width: auto;
  }
}



/* 検索エリア*/
.contents_box a {
  position: relative;
}

.contents_box .res_status_label {
  background-color: #EE7951;
  border-radius: 0px;
  border-top-left-radius: 12px;
  color: #fff;
  display: block;
  font-size: 11px;
  font-weight: bold;
  padding: 8px 4px;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  width: 100px;
  z-index: 1;
}

.contents_box .res_status_label span {
  position: relative;
  padding-left: 15px;
}

.contents_box .res_status_label span:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.contents_box .res_status_label .possible:before {
  border: 2px solid #fff;
  border-radius: 50%;
  width: 12px;
  height: 12px;
}

.contents_box .res_status_label .ask:before {
  border-color: transparent transparent #fff transparent;
  border-style: solid;
  border-width: 0 6px 12px 6px;
  width: 13px;
  height: 12px;
}

.contents_box .res_status_label .ask:after {
  border-color: transparent transparent #EE7951 transparent;
  border-style: solid;
  border-width: 0 3.5px 6px 3.5px;
  content: "";
  display: block;
  position: absolute;
  top: 3.5px;
  left: 3px;
  width: 4px;
  height: 4px;
}

.search_area dt{
  color: #999;
  font-size: 12px;
  font-weight: 500;
}

.search_area select,
.search_area input{
  border: 1px solid #ccc;
  border-right: none;
  background-color: #fff;
  box-shadow: none;
  padding: 0 35px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.search_area .keyword input{
  padding-left: 40px;
}

.search_area .select_box,
.search_area .date_box,
.search_area .text_box{
  position: relative;
}

.search_area .select_box:before,
.search_area .date_box:before,
.search_area .text_box:before{
  color: #EE7951;
  font-family: 'icomoon';
  font-size: 16px;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 10px;
}

.search_area .select_box.area:before {
  content: "\e900";
}

.search_area .select_box.date:before {
  content: "\e913";
}

.search_area .select_box.type:before {
  content: "\e916";
}

.search_area .select_box.nop:before {
  content: "\e915";
}

.search_area .text_box.keyword:before {
  content: "\e919";
}

.search_area .select_box:after{
  content: "";
  border: 0px;
  border-top: solid 2px #555;
  border-right: solid 2px #555;
  transform: rotate(135deg);
  pointer-events: none;
  position: absolute;
  right: 10px;
  width: 8px;
  height: 8px;
}

.search_area .date_box:before{
  content: "\e913";
}

.search_area select{
  color: #555;
}

.clear_link {
  border: none;
  background-color: transparent;
  color: #666;
  outline: none;
  padding: 0;
}

.clear_link:hover {
  text-decoration: none;
  color: #000;
}


@media screen and (min-width: 768px) {
  .search_area{
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    padding: 30px 0 25px;
    margin: 0 0 30px;
  }

  .search_area_top{
    border-radius: initial;
    box-shadow: none;
  }

  .search_title{
    font-size: 20px;
    font-weight: bold;
    margin-right: 25px;
  }

  .search_inner{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }

  .search_area select,
  .search_area input{
    font-size: 14px;
    height: 50px;
    width: 100%;
    border-radius: 0;
  }

  .search_area dl{
    width: 195px;
  }

  .search_area .select_box.nop select{
    border-right: 1px solid #ccc;
  }

  .search_area dt{
    margin-bottom: 5px;
  }

  .search_area dd.flex_box{
    display: flex;
  }

  .search_area .select_box{
    margin: 0;
  }

  .search_area .select_box:after{
    top: 20px;
  }

  .search_area .select_box.area select{
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    /* border-right: none; */
  }

  .search_area .select_box.nop select{
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    /* border-left: none; */
  }

  .search_inner .btn{
    padding: 0;
    margin: 17px 0 0 20px;
    line-height: 50px;
    height: 50px;
    width: 200px;
  }

  .btn:hover {
    background-color: #f56635;
  }

  .clear_link {
    margin: 17px 0 0 20px;
  }

  .sp_fixed_search {
    display: none;
  }

}


@media screen and (max-width: 767px) {
  #page_product_list .wrapper {
    padding: 103px 0 24px;
  }

  .search_area .select_box.date:first-of-type {
    margin-bottom: 10px;
  }

  .sp_fixed_search {
    background-color: #fff;
    border-top: 1px solid #eee;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    height: 60px;
    width: 100%;
    padding: 10px 20px;
    position: fixed;
    top: 43px;
    left: 0;
    transition: 0.3s;
    z-index: 3;
  }

  .sp_fixed_search.search_hide {
    transform: translateY(-100%);
    transition: 0.3s;
  }

  .sp_fixed_search ul {
    display: flex;
    width: 100%;
    height: 100%;
  }

  .sp_fixed_search li{
    /* width: 32%; */
    /* width: 50%; */
    width: 20%;
  }

  .sp_fixed_search li:first-child .info_box,
  .sp_fixed_search li:last-child .info_box {
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }

  .sp_fixed_search li:nth-child(2) .info_box ,
  .sp_fixed_search li:nth-child(3) .info_box {
    border-right: 1px solid #ccc;
  }

  .sp_fixed_search li:first-child .info_box {
    border-radius: 3px 0 0 3px;
  }

  .sp_fixed_search li:last-child .info_box {
    border-radius: 0 3px 3px 0;
  }

  .sp_fixed_search li .info_box:before {
    color: #ee7951;
    font-family: 'icomoon';
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translate(0, -50%);
  }

  .sp_fixed_search li:first-child .info_box:before {
    content: "\e900";
  }

  .sp_fixed_search li:nth-child(2) .info_box:before {
    content: "\e919";
  }

  .sp_fixed_search li:nth-child(3) .info_box:before {
    content: "\e913";
  }

   .sp_fixed_search li:nth-child(4) .info_box:before {
    content: "\e916";
  }

  .sp_fixed_search li:last-child .info_box:before {
    content: "\e915";
  }


  .sp_fixed_search .info_box {
    background-color: #fff;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    display: block;
    height: 36px;
    margin: 0;
    padding: 0 4px 0 32px;
    line-height: 34px;
    overflow: hidden;
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #keyword_value {
    padding-left: 37px;
  }

  .search_area{
    background-color: #fff;
    height: 100%;
    width: 100%;
    opacity: 0;
    transition: 0.3s;
    transform: translate(-50%, -50%);
    position: fixed;
    top: 50%;
    left: 50%;
    visibility: hidden;
    z-index: 1000;
  }

  .search_area.open{
    opacity: 1;
    visibility: visible;

  }

  .search_area form {
    height: 100%;
  }

  .search_header{
    border-bottom: 1px solid #eee;
    padding: 10px 10px 10px 20px;
    width: 100%;
  }

  .search_header .return_btn{
    background-color: #f5f5f5;
    border-radius: 50%;
    position: relative;
    height: 30px;
    width: 30px;
    margin: 0 0 0 auto;
  }

  .search_header .return_btn:before,
  .search_header .return_btn:after{
    background-color: #999;
    content: "";
    display: block;
    height: 50%;
    width: 1px;
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(-50%, -50%);
  }

  .search_header .return_btn:before {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .search_header .return_btn:after {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .search_contents{
    padding: 5px 0;
    overflow-x: scroll;
    height: calc(100% - 130px);
  }

  .search_area dl{
    margin: 20px;
  }

  .search_area dt{
    margin-bottom: 10px;
  }

  .search_area dl:last-of-type{
    margin: 20px 20px 90px;
  }

  .search_area select,
  .search_area input{
    border-radius: 3px;
    font-size: 16px;
    height: 40px;
    width: 100%;
  }

  .search_area .select_box:after{
    top: 15px;
  }

  .search_area .date_box:before{
    transform: none;
    top: 9px;
  }

  .search_area input{
    line-height: 40px;
  }

  .search_footer{
    background-color: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    display: flex;
    justify-content: space-between;
    padding: 20px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 9999;
  }

  .search_footer .btn{
    margin: 0;
    padding: 0;
    line-height: 50px;
    width: calc(100% - 130px);
  }

  .search_footer .clear_link {
    width: 120px;
  }
}

/*詳細画面のカレンダー上のタブ*/
.tab_btn_list {
  margin-bottom: 15px;
}

.tab_btn_list ul {
  display: flex;
  width: 100%;
}

.tab_btn_list .tab_btn {
  border-bottom: 1px solid #ddd;
  color: #999;
  display: block;
  cursor: pointer;
  padding: 10px;
  text-align: center;
  width: 50%;
}

.tab_btn_list .tab_btn.active {
  border-color: #EE7951;
  color: #EE7951;
  font-weight: bold;
}

.tab_contents {
  display: none;
}

.tab_contents show {
  display: block;
}


/*検索結果が0の時*/
.ec-zero_search__box {
  background-color: #fff;
}

.ec-read__text {
  line-height: 1.6;
  text-align: center;
}

.border__title {
  border-bottom: solid 1px #DDD;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 14px;
  padding-bottom: 10px;
}

.ec-zero_search__box .img__box {
  width: 70%;
  max-width: 400px;
}

.ec-zero_search__box .tel_info__box {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .border__title {
    font-size: 20px;
  }

  .ec-read__text {
    margin-bottom: 40px;
  }

  .ec-zero_search__box {
    padding: 40px;
  }

  .ec-zero_search__box .img__box {
    margin: 40px auto;
  }

  .ec-zero_search__box .ec-off1Grid__cell > p {
    width: 65%;
    margin: auto;
  }

  .ec-zero_search__box .bot-btn {
    margin: 30px 0 20px;
  }

  .ec-zero_search__box .tel_info__box {
    margin: 0 10px;
  }

  .ec-zero_search__box .form_info__box {
    margin: auto 10px;
  }
}

@media screen and (max-width: 768px) {
  .ec-read__text {
    font-size: 14px;
    margin-bottom: 20px;
  }

  .ec-zero_search__box {
    padding: 20px;
  }

  .border__title {
    font-size: 14px;
  }

  .ec-zero_search__box .img__box {
    margin: 20px auto;
  }

  .ec-zero_search__box .tel_info__box {
    margin: 30px 0 0;
  }

  .ec-zero_search__box .bot-btn {
    display: block;
  }

  .ec-zero_search__box .tel_info__box .tel_btn {
    margin: 2px auto 4px;
  }

}
/** 2020/10/20追加トップページコンシェルジュボタンここから **/
#page_homepage .bot-btn {
  justify-content: flex-start;
}
/** 2020/10/20追加トップページコンシェルジュボタンここまで **/

a.request_btn{
  cursor: pointer;
}

.business_day {
    order: 3;
    text-align: right;
    width: 100%;
    margin-bottom: 10px;
    color: #666;
}

@media screen and (max-width: 768px) {
.business_day {
    margin-bottom: 10px;
    text-align: center;
    color: #666;
    font-size: 11px;
    }
}