@charset "utf-8";

/* HTML5 ? Boilerplate
 * ==|== normalize ==========================================================
 */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 14px; line-height: 1.231; }
body, button, input, select, textarea { font-family: sans-serif; color: #222; }

a { color: #000; text-decoration: none; }
a:visited { color: #000; text-decoration: none;  }
a:hover { color: #000; text-decoration: none;  }
a:focus { outline: thin dotted; text-decoration: none;  }
a:hover, a:active { outline: 0; text-decoration: none;  }

a:link,
a:hover {
  -webkit-transition: 0.1s ease-in-out;
  -moz-transition: 0.1s ease-in-out;
  -o-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 0; padding: 0 0 0 0px; list-style: none;}
li {margin: 0; padding: 0;}
dl { margin: 0; padding: 0 }
dd { margin: 0 0 0 0px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

img { -ms-interpolation-mode: bicubic; }


.corp {
  width: 90%;
  margin: 0 auto;
  overflow: hidden;
}

.corp h3 {
  font-size: 140%;
  text-align: center;
  padding: 15px;
  box-sizing: border-box;
  width: 100%;
  background: #ededed;
  border-radius: 15px;
}

.corp dl {
  width: 100%;
  overflow: hidden;
}

.corp dl dt {
  font-size: 120%;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.corp dl dd {
  margin-bottom: 30px;
}
/* ===================================================
    Author: Kim
   =================================================== */

html {
  font-size: 9px; /* sp基準値 */
  -webkit-text-size-adjust: 100%;
}
 
@media (min-width: 480px) {
　　html {
　　  font-size: 12px; /* pc基準値 */
　　}
}

.ubuntu {font-family: 'Ubuntu', sans-serif;}


/*共通部分*/

#wrap {
  background: #fff;
  width: 100%;
  overflow: hidden;
  padding-top: 0;
}


/* header start */
body img{
  width: 100%;
}
header {
  position: fixed;
  z-index: 10;
  background: #d32d26;
  width: 100%;
  height: 60px;
  color: #fff;
}

header h1 {
  margin: 0;
  padding: 0;
  line-height: 1;
}
#logo {
  width: 25%;
  margin: 15px auto 0;
}

#logo img{
  width: 100%;
  height: auto;
}

.headerContents {
  width: 50%;
  text-align: center;
}
nav {
  overflow: hidden;
}
.hNavi {
  margin-top: 15px;
}
.navbar_toggle {
  position: absolute;
  height: 17px;
  top: 22px;
  right: 5.52%;
  z-index: 11;
}
.navbar_toggle.open{
  position: fixed;
}
.navbar_toggle_icon {
  position: relative;
  display: block;
  height: 2px;
  width: 23.7px;
  background: #FFEC00;
  -webkit-transition: ease .5s;
  transition: ease .5s;
}

.navbar_toggle.open .navbar_toggle_icon {
  background: #000;
}

.navbar_toggle_icon:nth-child(1) {
  top: 0;
}

.navbar_toggle_icon:nth-child(2) {
  margin: 5.6px 0;
}

.navbar_toggle_icon:nth-child(3) {
  top: 0;
}
/*OPEN時の動き*/
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
  top: 7.4px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
}

.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
  top: -7.4px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.l-drawer__overlay {
  position: absolute;
  top: 0;
  background-color: aquamarine;
  height: 300vh;
  width: 0;
  z-index: 7;
}
.l-drawer__overlay.open {
  position: absolute;
  top: 0;
  background-color:black;
  opacity: 0.3;
  height: 300vh;
  width: 100%;
  z-index: 10;
}
.menu {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition:ease .5s;
  transition:ease .5s;
  background-color: #FFEC00;
  width: 60%;
  height: 100vh;
  position: fixed;
}
.menu.open {
  -webkit-transform:translateX(0);
  transform:translateX(0);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 60%;
  height: 300vh;
  z-index: 10;
}

.menu ul {
  padding: 50px 20px 20px;
  box-sizing: border-box;
}
.menu li {
  padding: 10px;
  text-align: left;
  list-style: none;
}
.menu ul {
  margin-right: 10%;
}

dl.tel {
  text-align: center;
}

dl.tel dt {
  color: #000;
}

dl.tel dd a {
  display: block;
  padding: 10px;
  width: 80%;
  max-width: 200px;
  box-sizing: border-box;
  background: #000;
  border-radius: 30px;
  text-align: center;
  color: #fff;
  font-size: 120%;
  font-weight: bold;
  margin: 10px auto;
}

.imgMargin img {
  display: block;
  width: 90%;
  margin: 20px auto;
}

/* キャンペーン申込フォーム */

#campaign {
  background: url("img/gyoza_beer.jpg") center bottom no-repeat;
  background-size: 100%;
}

.formBtn {
  padding: 380px 0 40px;
}

.btnArea a {
  width: 80%;
  display: block;
  padding: 20px;
  margin: 0 auto;
  box-sizing: border-box;
  border: 4px solid #000;
  border-radius: 100px;
  color: #000;
  font-weight: bold;
  background: #FFEC00;
  text-align: center;
  font-size: 150%;
}
.btnArea a span {
  font-size: 60%;
  display: block;
  margin-bottom: 10px;
}

/* 四角い枠リード */

h3.squareReed {
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  color: #d32d26;
  border: 1px solid #d32d26;
  width: 80%;
  margin: 20px auto;
  display: block;
  font-size: 140%;
  font-weight: bold;
  font-family: "Sawarabi Mincho";
}

h2.itemTitle {
  color: #fff;
  background: #d32d26;
  text-align: center;
  padding: 20px;
  font-size: 130%;
  width: 100%;
  box-sizing: border-box;
  font-weight: bold;
  margin-bottom: 20px;
}

/* RWI POINT */
/* RWI METHOD */

h2 {
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
  font-size: 110%;
}

h2 dl {
  width: 100%;
  overflow: hidden;
  border-top: 4px solid #d32d26;
  border-bottom: 4px solid #d32d26;
}

h2 dl dt {
  width: 30%;
  background: #d32d26;
  color: #fff;
  text-align: center;
  float: left;
  box-sizing: border-box;
  padding: 20px;
  font-size: 70%;
}

#method h2 dl dt {
  width: 30%;
  background-color: #FFEC00;
  color: #000;
  text-align: center;
  float: left;
  box-sizing: border-box;
  padding: 20px;
  font-size: 70%;
}

h2 dl dt span {
  font-size: 300%;
  display: block;
}

h2 dl dd {
  float: right;
  box-sizing: border-box;
  padding: 25px 0 0 25px;
  width: 70%;
  line-height: 1.6;
  color: #d32d26;
}

.commonArticle article .photo {
  width: 100%;
  overflow: hidden;
  margin-bottom: 30px;
}

.commonArticle article .photo img {
  width: 100%;
  height: auto;
}

.commonArticle article h3.marker {
  width: 90%;
  margin: 0 auto 15px;
  font-size: 120%;
  font-weight: bold;
  background: #d4ff3f;
}

.commonArticle article p {
  margin: 0 auto 14px;
  width: 90%;
  overflow: hidden;
  line-height: 1.8;
}

.kouka {
     position: relative;
     display: block;
     width: 90%;
     box-sizing: border-box;
     margin: 0 auto 30px;
     text-align: center;
     color: #000;
     padding:  10px 10px 30px;
     background-color: #f3f3f3;
     border-radius: 10px;
}
.kouka:before {
     content: '';
     position: absolute;
     display: block;
     z-index: 1;
     border-style: solid;
     border-color: #f3f3f3 transparent;
     border-width: 0 10px 10px 10px;
     top: -10px;
     left: 50%;
     margin-left: -10px;
}

.kouka ul {
  width: 80%;
  overflow: hidden;
  margin: 0 auto;
}

.kouka li {
  width: 100%;
  padding: 10px 0;
  box-sizing: border-box;
  color: #000;
  border-bottom: 1px solid #000;
}

.yellowBtn {
  text-align: center;
  overflow: hidden;
  margin-bottom: 40px;
}

.yellowBtn a {
  display: block;
  background: #FFEC00;
  color: #000;
  padding: 15px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 50px;
  width: 70%;
  margin: 0 auto;
  font-weight: bold;
}

.redBtn {
  text-align: center;
  overflow: hidden;
  margin-bottom: 40px;
}

.redBtn a {
  display: block;
  background: #FF0000;
  color: #fff;
  padding: 15px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 50px;
  width: 70%;
  margin: 0 auto;
  font-weight: bold;
}

.concept {
  font-family: "Sawarabi Mincho";
  padding: 50px 0;
}

.concept h3 {
  font-size: 140%;
  font-weight: bold;
  text-align: center;
}

.concept p {
  line-height: 2.5;
  writing-mode: horizontal-tb;
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: horizontal-tb;
}

#madam {
  background: url("img/taikenkai.png") center bottom no-repeat;
  background-size: 100%;
}


/* 店舗一覧 */

.shopListBox {
  width: 100%;
  overflow: hidden;
  margin-top: 30px;
}

.areaNameArea {
  width: 100%;
  overflow: hidden;
  padding-top: 100px;
  margin-top: -100px
}

h2.areaName {
  text-align: center;
  padding: 10px;
  border-radius: 10px;
  font-weight: bold;
  color: #fff;
  background: #ff0000;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 20px;
  overflow: hidden;
}

#shopAreaLink ul {
  width: 90%;
  margin: 30px auto;
  overflow: hidden;
}

li.shopAreaList {
  list-style-type: none;
  width: 50%;
  float: left;
  padding: 10px;
  box-sizing: border-box;
}

li.shopAreaList a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 20px;
  background: #000;
  border: 1px solid #000;
  color: #fff;
  font-weight: bold;
}

li.shopAreaList a:hover {
  color:  #000;
  background: #fff;
}


/* contact form */

.wpcf7 form.sent .wpcf7-response-output {
  border: 1px solid #006ad7;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output{
  border: 1px solid #ff004e;
}

.wpcf7-not-valid-tip {
  color: #dc3232;
  border-top: 3px solid #dc3232;
  font-size: 12px;
  padding: 10px 15px;
  margin-top: 10px;
}

/* footer */

ul.linkBnr {
  margin: 0;
  padding: 0;
  list-style: none;
}

ul.linkBnr li {
  padding: 0;
  width: 95%;
  margin: 10px auto;
}

ul.linkBnr li img {
  width: 100%;
  height: auto;
}

footer {
  width: 100%;
  overflow: hidden;
  padding-top: 40px;
}

footer #footerContents {
  background: #d32d26;
  color: #fff;
  padding: 20px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

footer #footerLogo {
  width: 50%;
  max-width: 180px;
  margin: 30px auto;
}

footer #footerLogo img {
  width: 100%;
  height: auto;
}

footer address {
  font-size: 80%;
  font-style: normal;
}

ul.sns { text-align: center;}

ul.sns li {
  display: inline;
  padding: 0 15px;
  font-size: 200%;
}

ul.sns li a {
  color: #fff;
}

.shopAdress {
  font-size: 70%;
  line-height: 1.2;
  margin-bottom: 10px;
}


/* page */

h2.pageTitle {
  background: #FFEC00;
  text-align: center;
  font-weight: bold;
  padding: 30px;
  margin: 0;
  box-sizing: border-box;
  width: 100%;
  font-size: 130%;
}

section.topSpace {
  margin-top: 20px;
}

.price h3 {
  text-align: center;
  margin: 0;
}

.price h3 span {
  padding: 10px;
  box-sizing: border-box;
  background: #000;
  color: #fff;
  width: 95%;
  display: block;
  margin: 0 auto;
  border-radius: 10px 10px 0 0;
}

.price {
  width: 100%;
  overflow: hidden;
  margin-bottom: 20px;
}

.price p {
  text-align: center;
}

span.priceNumber {
  font-family: 'Ubuntu', sans-serif;
  font-size: 200%;
  display: block;
  margin-bottom: 5px;
}

table {
  border: 1px solid #000;
  border-collapse: collapse;
  width: 95%;
  margin: 0 auto 30px;
}

table td {
  text-align: center;
  padding: 15px;
  box-sizing: border-box;
  width: 50%;
  vertical-align: middle;
}

table td span.t-red {
  color: #ff0000;
}

span.planPrice {
  font-family: 'Ubuntu', sans-serif;
  font-size: 160%;
  display: block;
}

table th,
table td {
  border: 1px solid #000;
  box-sizing: border-box;
}

article.commonText {
  padding: 30px;
  line-height: 1.6;
  margin-bottom: 40px;
}

article.commonText .btnArea {
  margin-top: 40px;
}

/* topics */

h2.topicsReed img {
  display: block;
  width: 60%;
  margin: 0 auto;
}

.topicslistArea {
  width: 100%;
  padding: 15px;
  box-sizing: border-box;
}

.topicslistArea dl.link-box {
  width: 100%;
  overflow: hidden;
  padding: 10px 0;
  border-bottom: 1px dotted #000;
  margin-bottom: 20px;
}

.topicslistArea dl.link-box dt {
  float: left;
  width: 25%;
}

.topicslistArea dl.link-box dt img {
  width: 100%;
}

.topicslistArea dl.link-box dd {
  float: right;
  width: 70%;
}

.topicslistArea dl.link-box dd p {
  padding: 0;
  margin: 0;
}

.topicslistArea dl.link-box dd span {
  color: #ff0000;
  font-size: 80%;
  display: block;
  margin-bottom: 5px;
}

.topicslistArea dl.link-box dd a {
  font-weight: bold;
}

/* studio */

dl.studioInfo {
  width: 95%;
  margin: 0 auto 20px;
  overflow: hidden;
  text-align: center;
  line-height: 1.8;
}

dl.studioInfo dt {
  font-weight: bold;
  font-size: 115%;
  padding-bottom: 5px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #000;
}

dl.studioInfo dd {
  margin-bottom: 30px;
}

span.studioTel {
  display: block;
  font-weight: bold;
  font-size: 150%;
}

.mealkitList {
  width: 100%;
  overflow: hidden;
  padding: 40px 0;
}

.mealkitList li {
  width: 47%;
  float: left;
  margin: 1.5%;
  text-align: center;
}

.mealkitList li img {
  display: block;
  margin-bottom: 10px;
}

/* 商品一覧 */

article.itemArea {
  width: 90%;
  margin: 40px auto;
  overflow: hidden;
  display: flex; /* flexbox */
  flex-wrap: wrap; /* 折返し指定 */
}

dl.itemList {
  width: 47%;
  margin: 1.5%;
  text-align: center;
}

dl.itemList dt img {
  display: block;
  width: 80%;
  margin: 0 auto;
}

dl.itemList dd h4 {
  padding: 0;
  margin-bottom: 5px;
}


/* youtube */

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

/* Google Mapを囲う要素 */
.ggmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
  margin-bottom: 50px;
}

/* Google Mapのiframe */
.ggmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* フォーム */

dl.contactForm {
  width: 90%;
  margin: 0 auto;
  overflow: hidden;
  font-size: 115%;
}

dl.contactForm dt {
  font-weight: bold;
  margin-bottom: 15px;
  clear: both;
}

dl.contactForm dt span.required {
  font-size: 70%;
  padding: 3px 15px;
  background: #FFEC00;
  color: #000;
  border-radius: 20px;
  margin-right: 15px;
}

dl.contactForm dt span.optional {
  font-size: 70%;
  padding: 3px 15px;
  background: #c4f0ff;
  color: #000;
  border-radius: 20px;
  margin-right: 15px;
}

dl.contactForm dt span.cap {
  display: block;
  font-weight: normal;
  font-size: 80%;
  margin-top: 20px;
}

dl.contactForm dd {
  width: 100%;
  overflow: hidden;
  margin-bottom: 35px;
}

dl.contactForm dd span.error {
  font-size: 80%;
  color: #ff0000;
  margin-top: 10px;
}

dl.contactForm dd input[type="text"],
dl.contactForm dd input[type="email"]
 {
  padding: 5px 15px;
  box-sizing: border-box;
  border-radius: 20px;
  border: 1px solid #ccc;
}

dl.contactForm dd.wide input[type="text"],
dl.contactForm dd.wide input[type="email"]
 {
  width: 100%;
}

dl.contactForm dd.tel input {
  width: 25%;
}

dl.contactForm dd textarea {
  padding: 5px 15px;
  box-sizing: border-box;
  border-radius: 20px;
  border: 1px solid #ccc;
  width: 100%;
}

dl.contactForm li {
  float: left;
  margin-right: 10px;
}

.submitArea {
  width: 100%;
  overflow: hidden;
  margin-bottom: 40px;
}

.submitArea input {
  width: 50%;
  padding: 15px;
  text-align: center;
  font-weight: bold;
  margin: 0 auto;
  display: block;
  border-radius: 40px;
}

.submitArea li {
  margin-bottom: 15px;
}

.submitArea li.confirm input {
  background: #feffa5;
  color: #000;
  border: 1px solid #feffa5;
}

.submitArea li.submit input {
  background: #FFEC00;
  color: #000;
  border: 1px solid #FFEC00;
}

.submitArea li.backBtn input {
  background: #ddd;
  color: #000;
  border: 1px solid #ddd;
}

.mw_wp_form_complete {
  padding: 30px;
  box-sizing: border-box;
  width: 100%;
}

/* ===================
   PC
   =================== */
   
@media only screen and (min-width: 479px) {
  
body {
  background: url("img/astart_body.jpg");
  min-height: 100vh;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}

#wrap {
  width: 100%;
  max-width: 550px;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
}

#logo {
  width: 100px;
  margin: 10px auto 0;
}

#logo img{
  width: 100%;
  height: auto;
}

.formBtn {
  padding: 550px 0 70px;
}

dl.corp {
  width: 90%;
  margin: 0 auto;
  overflow: hidden;
  margin-bottom: 20px;
}

dl.corp dt {
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 110%;
}

dl.corp dd {
  line-height: 2;
}

}



/* ==|== print styles ======================================================= */
 
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } 
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } 
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
