@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

body {
  background: #fdf8f2;
  font-family: 'Noto Sans Japanese';
  line-height: 1.8;
}
.flexwrp {
  flex-wrap: wrap;
}
.flexcont {
  display: flex;
  flex-direction: column;
}
.flexcenter {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flexbw {
  justify-content: space-between;
}
.textcenter {
  text-align: center;
}

section {
  margin: 0 auto;
  width: 95%;
}

@media screen and (min-width: 768px) {
  section {
    width: 95%;
    max-width: 1130px;
  }
  .flexcont {
    flex-direction: row;
    padding: 10px;
  }
  .flexcol02 {
    width: calc(50% - 10px);
  }
  .flexcol03 {
    width: calc(33.333% - 10px);
  }
}


header {
  background-color: #fff;
}

#gnav {
/*  background: #fdf8f2;*/
  display: flex;
  flex-direction: column;
  width: 98%;
  justify-content: space-between;
  padding: 10px;
  margin: auto;
}

#gnav .logo {
  flex-direction: row;

}

#gnav .logo a{
    /*position: relative;*/
    display: flex;
    align-items: flex-end;
}

#gnav .logo img {
  height: 40px;
}

#gnav .logo h1 {
/*  color: #691c02;*/
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1.2;
  margin-left: 8px;
  /*font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
}

#gnav .logo h1 .serviceName {
  font-size: .8rem;
}

#gnav .logo h1 .shopName {
  font-weight: 300;
  /*font-size: 4vmin;*/
  font-size: calc(16px + .4vw);
}

#gnav ul {
  display: flex;
  flex-direction: column;
  margin-top: 25px;
}

#gnav ul li:not(:first-child) {
  margin-top: 10px;
}

#gnav ul li a {
  color: #1e8f95;
  font-weight: 900;
  display: block;
  position: relative;
}
#gnav ul li a:before {
    position: absolute;
    top: 50%;
    right: 25px;
    display: block;
    content: '';
    margin-top: -5px;
    border-left: /*#1e8f95*/#ee383e solid 5px;
    border-top: transparent solid 5px;
    border-bottom: transparent solid 5px;
}
#gnav ul li a:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #1e8f95;
  -webkit-transition: -webkit-transform .2s ease-out;
  transition: -webkit-transform .2s ease-out;
  transition: transform .2s ease-out;
  transition: transform .2s ease-out, -webkit-transform .2s ease-out;
}
nav ul li a:hover::after {
  -webkit-transform: translateY(3px) scaleY(3);
  transform: translateY(3px) scaleY(3);
}


@media screen and (min-width: 896px) {
  #gnav {
    flex-direction: row;
    width: 93%;
  }
  #gnav .logo img {
    height: 60px;
    width: 88.5px;
  }
  #gnav .logo h1 {
    font-size: 1.6rem;
    margin-left: 15px;
  }
  #gnav ul {
    flex-direction: row;
  }
  #gnav ul li:not(:first-child) {
    margin-top: 0;
  }
  #gnav ul li:not(:last-child) {
    margin-right: 30px;
  }
  #gnav ul li a:before {
    display: none;
  }
}


.headText {
  height: 40vh;
  background: url(../img/hero_header.jpg) center no-repeat;
  background-size: cover;
  position: relative;
}

.headText .flexcont {
  flex-direction: row;
}

.headText img {
  width: 22.5vw;
  max-height: 329px;
}

.titlecolor {
  color: #f24034;
  font-size: calc(16px + 2.5vw);
  /*font-size: calc(63px + .4vw);*/
  /*font-size: 5vw*//*8rem*/;
  font-weight: 600;
  text-shadow: 0 0 3px rgba(255, 255, 255, .4);
}

.introArea {
  background: #f99;
  color: #fefefe;
  padding: 8% 0;
}

.introArea h1 .yammy {
  font-size: calc(16px + 1.7vw);
  font-weight: 900;
  display: inline-block;
  position: relative;
}
.introArea h1 .yamSmile {
  padding-right: 36px;
}
.introArea h1 .yamSmile::after {
  content: "";
  width: 8%;
  max-width: 48px;
  height: 100%;
  background: url(../img/smile.svg) no-repeat;
  background-size: contain; /*縦横比を崩すことなく、拡大縮小*/
  position: absolute;
  top: 30%;
  right: 0;
}

.introArea p {
  font-size: calc(13px + .5vw);
  font-weight: 900;
  line-height: 2;
  margin-top: 3%;
}

.aboutArea .aboutTop,
.aboutArea .aboutBottom {
  padding: 0;
}

.aboutText {
  background: #fff;
/*  padding: 100px 40px;*/
  padding: 10% 4.7% 20%;
}

.aboutText h2 {
  letter-spacing: 2px;
  margin-bottom: 36px;
}

.aboutText h2 span {
  position: relative;
  z-index: 1;
}

.aboutText h2 span:before {
  content: "";
  background-color: #ffeaac;
  display: block;
  position: absolute;
  left: -43px;
  bottom: 0;
  height: 60px;
  width: 60px;
  border-radius: 50%;
  z-index: -1;
}
.aboutText h2 span:after {
  content: "";
/*  background-color: RGBa(94,136,56,.3);*/
  background-color: RGBa(155,222,247,.8);
  display: block;
  position: absolute;
  right: -25px;
  bottom: -2px;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  z-index: -1;
}

.aboutArea .couple {
  background: url(../img/about_couple.jpg) no-repeat center;
  background-size: cover;
  padding-bottom: 40%;
}

.aboutArea .aboutFood {
  background: url(../img/about_food.jpg) no-repeat center;
  background-size: cover;
  padding-bottom: 40%;
  min-height: 20px;
}


@media screen and (min-width: 768px) {
  .headText {
    height: 90vh;
  }
  .headText img {
    margin-right: 30px;
  }
  .titlecolor {
    font-size: calc(16px + 3.8vw);
  }
  .introArea h1 .yammy {
  font-size: calc(16px + 2.3vw);
  }
  .introArea h1 .yamSmile {
    padding-right: 5%;
  }
  .aboutArea .aboutBottom {
    flex-direction: row-reverse;
  }
  .aboutArea .flexcol02 {
    width: 50%;
  }
  .aboutArea .aboutText {
    padding-bottom: 10%;
  }
  .aboutArea .aboutText p {
    font-size: 1.2rem;
    line-height: 2;
  }
}



.messageArea {
  background: url(../img/message_bg.jpg) no-repeat right bottom;
  background-size: cover;
  padding: 8% 0;
}

.messageArea p {
  font-size: calc(13px + 1.42vw);
  text-shadow: 0 0 3px rgba(255, 255, 255, .9);
}

.lunchArea {
  background-color: #fdefe9;
  max-width: 1250px;
  width: 100%;
}

.lunchArea .flexcont {
  flex-direction: row;
}

.lunchArea > .flexcont > div {
  width: 50%;
}

.lunchArea > .flexcont > div a {
  transition: all .3s ease-out;
  background: #fdefe9;
  color: #000;
  display: block;
  height: 100%;
  padding: 20px 10px 30px;
  text-align: center;
}

.lunchArea .flexcont > div a:hover {
  box-shadow: 0px 0px 10px 0px rgba(255,153,153,.9);
}

.lunchArea figure figcaption {
  font-weight: 600;
  margin-bottom: 20px;
  text-align: center;
}

.lunchArea figure figcaption span {
  border-bottom: solid 2px #f99;
  display: inline-block;
  margin-bottom: 10px;
  padding-right: 2px;
  padding-left: 2px;
  position: relative;
}
.lunchArea figure figcaption span:after {
  content: " ";
  border-bottom: solid 2px #f24034;
  bottom: -2px;
  display: block;
  position: absolute;
  left: 0;
  width: 30%;
}

.lunchArea .normalFood figure figcaption {
  letter-spacing: 3px;
}

.lunchArea figure img {
  width: 100%;
}

/*.lunchArea .komathiFood img {
  padding-top: 20px;
}*/

@media screen and (min-width: 896px) {
  .lunchArea {
    background-color: inherit;
  }
  .lunchArea .flexcont > div {
/*    flex-basis: 33.3333%;*/
    padding: 10px;
    width: 33.3333%;
  }
  .lunchArea > .flexcont > div a {
    border-radius: 5px;
  }
  /*.lunchArea .calorie img {
    margin-top: 20px;
  }*/
  .lunchArea .flexcont > .normalFood {
/*    flex-basis: 66.6666%;*/
    width: 66.6666%;
    max-width: initial;
  }
  .lunchArea .flexcont > div.komathiFood img {
    margin-top: 30px;
  }
  /*.lunchArea .flexcont > div.komathiFood {
    flex-basis: 100%;
    max-width: initial;
    order: 6;
  }*/
  .lunchArea figure figcaption {
    font-size: 1.6rem;
    text-align: left;
    padding-left: 12px;
  }
  .lunchArea .komathiFood figure figcaption {
    margin-bottom: 0;
    /*padding-left: 160px;*/
    letter-spacing: 2px;
  }
  .lunchArea figure figcaption span {
    padding-right: 6px;
  }
  .lunchArea .normalFood img {
    width: 60%;
  }
  /*.lunchArea .normalFood img {
    padding-top: 0;
    width: 52%;
  }*/
}


.yamEnjoy {
  background: #19a15f/*#0ba60b*/;
}

.yamEnjoy h2 {
  font-size: calc(14px + 1.1vw);
  font-weight: 600;
}

.yamEnjoy h1 {
  color: #ff0;
  margin-top: 20px;
}


.campaign {
  background: url(../img/campaign.jpg) bottom right no-repeat;
  background-size: cover;
  font-weight: 900;
  height: 30vh;
}

.campaign .campaign_list {
/*  background: -webkit-gradient(linear, left top, right top, from(red), to(orange));
  background: linear-gradient(to right, red, orange);*/
  background-color: rgba(236,170,200,.7);
  border-radius: 5px;
  padding: 1.3%;
  min-width: 80%;
}

.campaign .campaign_list > div {
  background-color: rgba(255, 255, 255, .8);
  border-radius: inherit;
  color: #dc4576;
  line-height: 1.5;
  padding: 5% 10%;
  text-align: center;
}

.campaign p:first-child {
  /*font-size: 2.1vw;*/
  font-size: calc(13px + 1.3vw);
}

.campaign p:nth-child(2) {
  /*font-size: 5vw;*/
  font-size: calc(16px + 3vw);
  letter-spacing: .2em;
}

@media screen and (min-width: 768px) {
  .campaign  {
    height: 80vh;
  }
  .campaign .campaign_list {
    min-width: 60%;
  }
}


.telContact {
  background: url(../img/telContact_bg.jpg) center;
  background-size: cover;
  color: #444;
  font-size: calc(16px + .5vw);
  padding: 20% 0;
  text-shadow: 1px 2px 1px #fff;
}

.telContact h1 {
  margin-bottom: 1rem;
}

.telContact a {
  color: #444;
  font-size: calc(16px + 3vw);
  font-weight: 900;
  text-shadow: 0 4px 1px #fff;
}

.notel {
  cursor: default;
}

@media screen and (min-width: 768px) {
  .telContact {
    margin-top: 6%;
  }
}


.bottomNav_area {
  background: #fdf9fa;
  padding: 10% 0 9%;
}

.bottomNav ul li {
  background: #fff;
  box-shadow: 0px 2px 8px 0px rgba(84, 84, 94, .2);
  border-radius: 5px;
  overflow: hidden;
  position: relative;
  transition: all .3s ease-out;
}
.bottomNav ul li:hover {
 /* box-shadow: 0px 2px 8px 0px rgba(84, 84, 94, .9);*/
  box-shadow: 0 12px 15px 0 rgba(0, 0, 0, .24), 0 17px 50px 0 rgba(0, 0, 0, .19);
}

.bottomNav ul li p {
  background: url(../img/link_bg.png) center no-repeat;
  background-size: cover;
  font-weight: 600;
  line-height: 1.8;
}

.bottomNav ul li:nth-child(2) {
  margin-top: 30px;
  margin-bottom: 30px;
}

.bottomNav ul li a {
  font-size: 1.2rem;
  line-height: 1.5;
  padding: 0;
}

.bottomNav_list {
  flex-direction: row;
}

.bottomNav_list div {
  background-color: #ffe400;
  width: 30%;
  min-height: 160px;
}

.bottomNav_area img {
  width: 60%;
}

.bottomNav ul li:first-child .bottomNav_list div {
  background-color: #fbb602;

}
.bottomNav ul li:nth-child(2) .bottomNav_list div {
  background-color: #ed574d/*#e91e63*/;
}
.bottomNav ul li:nth-child(3) .bottomNav_list div {
  background-color: #19a15f/*#71ae3a*/;
}

.bottomNav_list p {
  width: 70%;
}

@media screen and (min-width: 768px) {
  .yamEnjoy {
    margin-top: 80px;
  }
  .telContact {
    background-size: contain;
    margin-top: 0;
    padding: 10% 0;
  }
  .bottomNav {
    width: 93%;
    max-width: 1200px;
  }
  .bottomNav ul li {
    width: calc(33.333% - 15px);
  }
  .bottomNav ul li:nth-child(2) {
    margin-top: 0;
    margin-bottom: 0;
  }
  .bottomNav ul li a {
    font-size: 1.6vw;
  }
  .bottomNav_list div {
    min-height: 200px;
  }
}


footer {
  background: url(../img/wave.png) center;
  background-size: cover;
  padding: 135px 3% 2%;
}

footer section {
  width: 100%;
}

footer small,
footer small a {
  color: #fff;
  font-size: .65rem;
  font-weight: 600;
}

footer small a {
  border-bottom: 1px solid #fff;
}

footer small a:hover {
  border: none;
}

#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: -50px;
  bottom: 50px;
  background: rgba(255,0,0,.7)/*#ff6347*/;
  border-radius: 50%;
  transition: all .3s ease-out;
  z-index: 9999;
}
#page_top:hover {
  background: #f6c415;
}

#page_top a {
  height: 100%;
  color: #19a15f;
  font-size: 25px;
  font-weight: 900;
}


/*▽▽▽▽▽▽　ここからmenu.html　▽▽▽▽▽▽*/
#menu .headText img {
  margin-right: 10px;
}

.lunchMenu_info {
  padding: 0;
  width: 100%;
}

.card_circle {
  background-color: #eb5c02;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}

.card_circle p {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 600;
  padding: 5% 0;
}

.lunchMenu_card > p {
  background-color: #fff;
  font-weight: 500;
  margin-bottom: 50px;
  padding: 30px 20px;
}

.lunchMenu_infoItem {
  padding: 0 2% 20px;
  width: 100%;
}

.lunchMenu_infoItem .flexcont {
  background: #fff;
  border-radius: 5px;
  box-shadow: 0px 2px 8px 0px rgba(84, 84, 94, 0.2);
  margin-bottom: 30px;
  overflow: hidden;
  padding: 38px 12px;
  position: relative;

}

.lunchMenu_infoItem .flexcont span img {
  background: linear-gradient(180deg, rgba(255,132,57,1) 0%,rgba(255,201,76,1) 100%);
  border-radius: 10px;
  color: #fff;
  margin-bottom: 15px;
  padding: 10px 8px;
  width: 66px;
}

.lunchMenu_infoItem .flexcont:nth-child(2) span img {
  /*background: linear-gradient(0, rgb(255, 79, 66) 0%, rgb(248, 16, 106) 100%);*/
  background: linear-gradient(to top, rgb(255, 79, 66) 0%, rgb(248, 16, 106) 100%);
}

.lunchMenu_infoItem .flexcont h2 {
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 10px;
}

.lunchMenu_infoItem .flexcont div:nth-of-type(2) {
  background: linear-gradient(45deg, rgba(255,132,57,1) 0%,rgba(255,201,76,1) 100%);
  width: 100%;
  position: absolute;
  left: 0px;
  bottom: -1px;
  height: 8px;
}

.lunchMenu_infoItem .flexcont:nth-child(2) div:nth-of-type(2) {
  background: linear-gradient(to right, rgb(255, 79, 66) 0%, rgb(248, 16, 106) 100%);
}

@media screen and (min-width: 950px) {
  .lunchMenu_info {
    margin-top: 10%;
    max-width: 1250px;
  }
  .lunchMenu_card {
    max-width: 500px;
    overflow: hidden;
    position: relative;
  }
  .card_circle {
    background-color: #eb5c02;
    border-radius: 50%;
    height: 400px;
    margin-left: -75px;
    margin-top: -270px;
    position: absolute;
    width: 650px;
  }
  .lunchMenu_card .card_circle p {
    font-size: 1.5rem;
    margin-top: 220px;
    padding: 0;
  }
  .lunchMenu_card > p {
    font-size: 1.2rem;
    font-weight: normal;
    padding-top: 180px;
    box-shadow: 0px 2px 8px 0px rgba(84, 84, 94, .2);
  }
  .lunchMenu_infoItem {
    flex: 1;
    padding: 0 20px 20px 40px;
  }
  .lunchMenu_infoItem .flexcont span {

    /*width: 14%;
    min-width: 77px;*/
  }

  .lunchMenu_infoItem .flexcont h2 {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .lunchMenu_infoItem .flexcont span {
    justify-content: flex-start;
    min-width: 77px;
    width: 14%;
  }
  .lunchMenu_infoItem .flexcont span img {
    max-width: 90px;
    width: 80%;
  }
  .lunchMenu_infoItem .flexcont div {
    width: 86%;
  }
}



.foodStyle {
  color: #fff;
　 font-size: 1.5rem;
  font-weight: 500;
  margin-top: 10%;
  background: repeating-linear-gradient(135deg, #f75502, #f75502 10px, #ffb981 10px, #ffb981 20px);
  display: inline-block;
  padding: 10px;
  position: relative;
  min-width: 98%;
}

.foodStyle:before, .foodStyle:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.foodStyle:before {
  top: 0;
  left: 0;
  border-width: 35px 0px 35px 20px;
  border-color: transparent transparent transparent #fdf8f2;
  border-style: solid;
}

.foodStyle:after {
  top: 0;
  right: 0;
  border-width: 35px 20px 35px 0px;
  border-color: transparent #fdf8f2 transparent transparent;
  border-style: solid;
}

.foodStyle p {
  background-color: #f75502;
  font-size: .93rem;
  font-weight: 900;
  padding: 10px 0;
}

.lunchMenu > div {
  margin-bottom: 80px;
}

.lunchMenu > div#mousse {
  margin-bottom: 20px;
}
.lunchMenu > div > div {
  flex-direction: column-reverse;
}

.lunchMenu figure {
  text-align: center;
}

.lunchMenu img {
  width: 70%;
}

.lunchMenu h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 30px;
  margin-bottom: 10px;
  background-color: #f5d5da;
  border-radius: 5px;
  color: #ef858c;
  padding: 5px 5px 5px 50px;
  position: relative;
  text-shadow: 0px 0px 10px #fff, 0px 0px 6px #fff, 0px 0px 4px #fff, 0 0 0.5px #fff; /* 文字の影 */
}

.lunchMenu h2:before {
  content: '＊*'; /*花に見せかけるためのアスタリスク*/
  color: #fff;
  display: inline-block;
  font-size: 30px;
  font-weight: bold;
  margin-right: 10px;
  position: absolute;
  top: 0px;
  left: 0px;
  transform: rotate(50deg);
  -moz-transform: rotate(50deg);
  -webkit-transform: rotate(50deg);
  -o-transform: rotate(50deg);
  text-shadow: 0px 0px 6px #eaa8bf, 0px 0px 4px #eaa8bf, 0 0 0.5px #eaa8bf; /* アスタリスク周りの影 */
}
.lunchMenu h2:after {
  border-bottom: 2px dotted #fff;
  content: '';
  position: absolute;
  bottom: 3px;
  left: 3px;
  right: 3px;
}

.lunchMenu .flexcont > div > p {
  font-weight: 500;
  padding: 15px 0 50px;
}

/*.lunchMenu figure {
  height: 250px;
}
*/
.lunchMenu .price .flexcont {
  background: #f0decc;
  flex-direction: row;
  margin-top: 30px;
  overflow: hidden;
  padding: 5%;
  width: 90%;
  position: relative;
  z-index: -2;
}

.lunchMenu .price .flexcont:before{
  background-color: rgba(255, 255, 255, .6);
  border-radius: 50%;
  content: '';
  display: block;
  position: absolute;
  top: -10px;
  left: -10px;
  width: 250px;
  height: 250px;
}

.lunchMenu .price .flexcont:after{
  background-color: rgba(255, 255, 255, .6);
  border-radius: 50%;
  content: '';
  display: block;
  position: absolute;
  bottom: -120px;
  left: 210px;
  width: 200px;
  height: 200px;
}

.price .flexcol02 {
  width: calc(50% - 10px);
}

.lunchMenu .price p {
  color: #590c11;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 9px;
  z-index: 1;
}

.proteinLunch .price .flexcont p:nth-child(5) {
  line-height: 1.4;
}

.lunchMenu .price .flexcont p:nth-child(odd) {
  width: 65%;
}

.lunchMenu .price_list {
  font-size: 1.6rem;
  width: 35%;
}

.lunchMenu .price_list span {
  font-size: 1rem;
}

.price_list_notes li {
  font-size: .85rem;
  font-size: calc(13px + .1vw);
}
.price_list_notes li::before {
  content: "\00203b";
}


@media screen and (min-width: 768px) {
  .foodStyle {
    min-width: 650px;
  }
  .foodStyle:before {
    border-width: 41.5px 0px 41.5px 30px;
  }
  .foodStyle:after {
    border-width: 41.5px 30px 41.5px 0px;
  }
  .foodStyle p {
    font-size: 1.52rem;
  }
  .lunchMenu {
    margin-top: 70px;
    max-width: 1250px;
  }
  .lunchMenu > div {
    margin-bottom: 60px;
  }
  .lunchMenu > div > div {
    flex-direction: row;
  }
  .lunchMenu figure {
    min-height: 225px;
  }
  .lunchMenu img {
    width: 100%;
  }
  .lunchMenu h2 {
    font-size: calc(13px + .8vw);
    margin-top: 0;
    margin-bottom: 15px;
    padding-left: 7px;
  }
  .lunchMenu h2:before {
    display: none;
  }
  .lunchMenu .flexcont > div > p {
    padding: 0;
  }
  .lunchMenu .price .flexcont {
    width: 70%;
  }
  .proteinLunch .price .flexcont {
    width: 80%;
  }
  .lunchMenu .price p {
    font-size: calc(13px + .5vw);
  }
  .proteinLunch .price .flexcont p:nth-child(5) {
    line-height: 1.6;
  }
  .price_list_notes {
    border: 2px solid #ef858c;
    border-radius: 5px;
    margin-left: 10%;
    margin-top: 10%;
    max-width: 484px;
    padding: 30px 20px;
  }
}


/*▽▽▽▽▽▽　ここからorder.html　▽▽▽▽▽▽*/
#order .headText img {
  margin-right: 15px;
}

.orderFlow {
  width: 100%;
  max-width: 100%;
}

.orderFlow h1 {
  background-color: #fff;
  box-shadow: 0 0 0 7px #fff;
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 900;
  margin-top: 10%;
  margin-bottom: 3%;
  padding: 5px 6px;
  position: relative;
}

.orderFlow h1::before {
  content: "";
  background-image: linear-gradient(to right, #ff7480, #ff7480 10px, transparent 10px, transparent 18px),
  linear-gradient(to right, #ff7480, #ff7480 10px, transparent 10px, transparent 18px)
/*  linear-gradient(to bottom, #000, #000 3px, transparent 3px, transparent 8px),
  linear-gradient(to bottom, #000, #000 3px, transparent 3px, transparent 8px)*/;
  background-size: 18px 4px, 18px 4px/*, 1px 8px, 1px 8px*/;
  background-position: left top, left bottom/*, left top, right top*/;
  background-repeat: repeat-x/*, repeat-y, repeat-y*/;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
}
.orderFlow h1 span {
  font-size: 1.2rem;
  margin: 0 5px;
  padding: 0 6px;
  background-color: #a8714e;
  border-radius: 50%;
  color: #fff;
}

.stepArea {
  margin-top: 80px;
  margin-bottom: 10%;
}

.stepArea .stepList {
  border-radius: 10px;
  box-shadow: 0px 3px 5px rgba(0, 0, 0, .3)/*rgba(84, 84, 94, .2)*/;
  background-color: #fff;
  padding: 20px 2% 40px 3%;
}

/*.stepArea .stepList:nth-child(4) {
  padding-top: 0;
}*/

.stepArea .stepList:not(:first-child) {
  margin-top: 80px;
}

.stepNumber {
  border-radius: 5px;
  color: #fff;
  width: 30%;
  line-height: 1.2;
  margin-top: -36px;
  padding: 20px;
  text-align: center;
}

.stepArea .stepList:nth-child(1) .stepNumber {
  background-color: #50a8f2;
}
.stepArea .stepList:nth-child(2) .stepNumber {
  background-color: #40cde1;
}
.stepArea .stepList:nth-child(3) .stepNumber {
  background-color: #5ee19f;
}
.stepArea .stepList:nth-child(4) .stepNumber {
  background-color: #b9d950;
}
.stepArea .stepList:nth-child(5) .stepNumber {
  background-color: #ff9c41;
}
.stepArea .stepList:nth-child(6) .stepNumber {
  background-color: #ff5757;
}

.stepList .stepNumber h2 {
  font-size: 2rem;
  font-weight: 500;
}

.stepList .stepText {
  padding-top: 20px;
}

.stepList .stepText span {
  color: #fb1931;
  font-weight: 600;
}

.lunchcounter {
  counter-reset: number;
}

.lunchcounter p:first-child {
  font-weight: 600;
}

.lunchcounter .flexcont {
  flex-direction: row;
  margin-left: 36px;
  margin-top: 10px;
}

.lunchcounter ul {
  line-height: 2;
  flex: 1;
}

.lunchcounter ul:nth-child(2) {
  margin-left: 20px;
}

.lunchcounter li:before {
  counter-increment: number;
  content: counter(number);
  margin-right: 10px;
  background: linear-gradient(130deg, #31aae2 0%,#0b80dc 100%);
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  width: 25px;
  height: 25px;
  text-align: center;
  line-height: 25px;
  font-weight: 600;
  margin-left: -36px;
}

.lunchcounter small {
  display: block;
  margin-top: 8px;
}


@media screen and (min-width: 960px) {
  .stepList {
    display: flex;
    flex-direction: row;
  }
}

@media screen and (min-width: 768px) {
  #order .headText img {
    margin-right: 30px;
  }
  .orderFlow h1 {
    font-size: 2rem;
    letter-spacing: 4px;
    padding-right: 15px;
    padding-left: 15px;
  }
  .orderFlow h1 span {
    font-size: 1.5rem;
    letter-spacing: 0;
    margin: 0 7px;
  }
  .orderFlow p {
    font-size: 1.5rem;
  }
  .stepArea {
    margin-top: 90px;
    width: 70%;
  }
  .stepNumber {
    line-height: 1;
    padding: 30px 20px;
    text-align: left;
  }
  .stepList .stepNumber h3 {
    font-size: 1.5rem;
    letter-spacing: 2px;
    margin-left: -.5em;
  }
  .stepList .stepNumber h2 {
    font-size: 5rem;
  }
  .stepList .stepText {
    font-size: 1.2rem;
    padding: 20px 20px 20px 50px;
    flex: 1;
    /*min-width: 453px;*/
  }
  .lunchcounter small {
    line-height: 1.6;
    margin-left: 1em;
  }
}





/*▽▽▽▽▽▽　ここからprivacy.html　▽▽▽▽▽▽*/
#privacy {
  font-size: .95rem;
}

.privacyTemplate h1 {
  margin: 20px 0 30px;
}

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

.privacyTemplate h2 {
  margin-top: 30px;
  color: #202231;
}

.privacyTemplate ol {
  margin: 20px 0 0 20px;
}

.privacyTemplate ol li {
  line-height: 140%;
  margin-top: 10px;
}

.textR {
  text-align: right;
  margin-top: 30px;
  margin-bottom: 10%;
}
