@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; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

ul, ol {
  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; }

/*! 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; }

html {
  font-size: 62.5%; }

body {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  word-wrap: break-word;
  word-break: normal;
  color: #FFF;
  background-color: #000;
  -webkit-text-size-adjust: 100%; }

@media only screen and (max-width: 640px) {
  body {
    position: relative;
    padding-top: 60px; } }

@media only screen and (max-width: 640px) {
  .body--shop {
    padding-bottom: 50px; } }

@media only screen and (max-width: 640px) {
  * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; } }

@media only screen and (max-width: 640px) {
  a {
    color: #FFF;
    text-decoration: none; } }

@media only screen and (min-width: 641px) {
  a {
    color: #e75e2d; }
  a:hover, a:active, a:focus {
    color: #f1a489; } }

main {
  display: block; }

@media only screen and (max-width: 640px) {
  .pc {
    display: none; }
  img {
    max-width: 100%;
    height: auto; } }

@media only screen and (min-width: 641px) {
  .sp {
    display: none; } }

/* clearfix */
.clearfix:after {
  content: "";
  clear: both;
  display: block; }

#contents {
  width: 100%; }

@media only screen and (min-width: 641px) {
  #contents--fixed {
    padding-top: 90px; } }

@media only screen and (min-width: 641px) {
  .inner {
    width: 1000px;
    margin: 0 auto; } }

@media only screen and (max-width: 640px) {
  .anchor {
    padding-top: 60px;
    margin-top: -60px; } }

@media only screen and (min-width: 641px) {
  .anchor {
    padding-top: 90px;
    margin-top: -90px; } }

#header {
  border-bottom: #2b2b2b solid 1px;
  background-color: #000; }

@media only screen and (max-width: 640px) {
  #header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000; } }

@media only screen and (min-width: 641px) {
  .fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000; } }

.header__logo {
  float: left; }

@media only screen and (max-width: 640px) {
  .header__logo {
    width: 200px;
    margin-top: 23px;
    margin-left: 20px; } }

@media only screen and (min-width: 641px) {
  .header__logo {
    width: 268px;
    margin-top: 36px; } }

@media only screen and (min-width: 641px) {
  .nav {
    float: right;
    width: 622px; } }

@media only screen and (max-width: 640px) {
  .nav__item {
    border-top: 1px solid #888; } }

@media only screen and (min-width: 641px) {
  .nav__item {
    display: inline-block; } }

@media only screen and (max-width: 640px) {
  .nav__item.nav__item--active {
    background-color: rgba(148, 0, 0, 0.38); } }

@media only screen and (max-width: 640px) {
  .nav__item.nav__item--children {
    padding-left: 10px;
    border-top: 1px dotted #888; }
  .nav__item.nav__item--children a::before {
    content: "-";
    padding-right: 8px; } }

@media only screen and (min-width: 641px) {
  .nav__item.nav__item--children {
    display: none; } }

.nav__link {
  display: block;
  text-decoration: none; }

@media only screen and (min-width: 641px) {
  .nav__link {
    padding: 26px 45px;
    text-decoration: none;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .nav__ttl {
    position: relative;
    display: inline-block;
    margin-bottom: 12px;
    color: #FFF;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", "HG明朝E", "メイリオ", Meiryo, sans-serif;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 0.1em; } }

@media only screen and (min-width: 641px) {
  .nav__ttl::after {
    content: '';
    position: absolute;
    bottom: -35px;
    left: 0;
    width: 100%;
    height: 3px;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    background-color: #5e0d0c;
    -webkit-transition: all .5s ease;
    transition: all .5s ease; } }

.drawer-hamburger-icon:after {
  top: 8px; }

.drawer-hamburger-icon:before {
  top: -8px; }

@media only screen and (min-width: 641px) {
  .nav__item--active .nav__ttl:after,
  .nav__link:hover .nav__ttl::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); } }

.nav__subttl {
  display: block;
  color: #EEE;
  font-family: 'Roboto', sans-serif;
  font-weight: 100;
  font-size: 9px;
  font-size: 0.9rem;
  line-height: 1;
  letter-spacing: 0.2em; }

@media only screen and (max-width: 640px) {
  .nav__subttl {
    display: none;
    color: #FFF;
    margin-top: 12px; } }

@media only screen and (min-width: 641px) {
  .nav__subttl {
    display: block;
    color: #EEE;
    font-family: 'Roboto', sans-serif;
    font-weight: 100;
    font-size: 9px;
    font-size: 0.9rem;
    line-height: 1;
    letter-spacing: 0.2em; } }

@media only screen and (max-width: 640px) {
  .navbar {
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    background-color: #000;
    z-index: 4; } }

@media only screen and (max-width: 640px) {
  .drawer-menu li {
    display: block; }
  .drawer-menu li:last-child {
    border-bottom: 1px solid #888; }
  .drawer-menu li:hover {
    opacity: 0.8; }
  .drawer-menu li a {
    position: relative;
    font-size: 15px;
    font-size: 1.5rem;
    color: #FFF;
    padding: 18px 15px;
    text-decoration: none;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 0.5s;
            transition-duration: 0.5s; }
  .drawer-menu li a::after {
    position: absolute;
    border-right: 2px solid #FFF;
    border-top: 2px solid #FFF;
    content: "";
    width: 6px;
    height: 6px;
    margin-top: -3px;
    top: 50%;
    right: 6%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); } }

@media only screen and (max-width: 640px) {
  .drawer-nav {
    padding-top: 60px;
    background-color: #000; } }

@media only screen and (max-width: 640px) {
  .drawer-hamburger-icon,
  .drawer-hamburger-icon:after,
  .drawer-hamburger-icon:before {
    background-color: #ccc; } }

@media only screen and (max-width: 640px) {
  .drawer-hamburger {
    width: 2.5rem;
    padding: 18px 1.75rem 30px; } }

.drawer-overlay {
  background-color: rgba(0, 0, 0, 0.8); }

@media only screen and (max-width: 640px) {
  #footer {
    margin-bottom: 20px; } }

@media only screen and (min-width: 641px) {
  #footer {
    padding-top: 40px;
    padding-bottom: 52px;
    border-top: #2b2b2b solid 1px; } }

@media only screen and (max-width: 640px) {
  .sns {
    margin-bottom: 20px;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .sns {
    margin-bottom: 42px; } }

.sns__item {
  display: inline-block;
  margin-right: 15px; }

@media only screen and (max-width: 640px) {
  .sns__item {
    margin-right: -3px;
    margin-left: 10px; } }

.footer__logo {
  margin-bottom: 21px; }

@media only screen and (max-width: 640px) {
  .footer__logo {
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .footer__company {
    margin-bottom: 15px; } }

.footer__address {
  letter-spacing: 0.1em;
  line-height: 2; }

@media only screen and (max-width: 640px) {
  .footer__address {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 20px;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .footer__address {
    margin-bottom: 30px; } }

@media only screen and (max-width: 640px) {
  .footer__nav {
    display: none; } }

@media only screen and (min-width: 641px) {
  .footer__nav {
    margin-bottom: 39px; } }

.footer__item {
  display: inline-block;
  border-right: #676767 solid 2px;
  padding-right: 9px;
  margin-right: 9px; }

.footer__item:last-child {
  border-right: none; }

.footer__link {
  color: #FFF;
  text-decoration: none; }

.footer__copyright {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  letter-spacing: 0.2em; }

@media only screen and (max-width: 640px) {
  .footer__copyright {
    text-align: center;
    font-size: 10px;
    font-size: 1rem; } }

@media only screen and (min-width: 641px) {
  .footer__copyright {
    font-size: 11px;
    font-size: 1.1rem; } }

@media only screen and (min-width: 641px) {
  .footer__body {
    text-align: center; } }

@media only screen and (max-width: 640px) {
  .footer__facebook {
    display: none; } }

@media only screen and (min-width: 641px) {
  .footer__facebook {
    float: right;
    width: 480px; } }

.bg01 {
  background: url(../img/common_bg_01.jpg) repeat center center; }

@media only screen and (max-width: 640px) {
  .bg01 {
    background-size: contain; } }

.bg02 {
  background: url(../img/common_bg_02.jpg) repeat center center; }

.bg03 {
  background: url(../img/common_bg_06.jpg) repeat center center; }

.table01 {
  width: 100%; }

@media only screen and (max-width: 640px) {
  .table01 {
    border-bottom: #888 solid 1px; } }

@media only screen and (min-width: 641px) {
  .table01 {
    border-bottom: #4d4d4d dotted 1px; } }

.table01 th,
.table01 td {
  line-height: 2;
  letter-spacing: 0.1em; }

@media only screen and (max-width: 640px) {
  .table01 th,
  .table01 td {
    display: block; } }

@media only screen and (min-width: 641px) {
  .table01 th,
  .table01 td {
    border-top: #4d4d4d dotted 1px; } }

.table01 th {
  text-align: left; }

@media only screen and (max-width: 640px) {
  .table01 th {
    padding: 5px 0px;
    font-size: 13px;
    font-size: 1.3rem;
    border-top: #888 solid 1px; } }

@media only screen and (min-width: 641px) {
  .table01 th {
    width: 110px;
    padding: 12px 10px; } }

@media only screen and (max-width: 640px) {
  .table01 td {
    padding: 5px 0;
    font-size: 12px;
    font-size: 1.2rem;
    border-top: #666 dotted 1px; } }

@media only screen and (min-width: 641px) {
  .table01 td {
    padding: 8px 0; } }

@media only screen and (max-width: 640px) {
  .table01--white {
    border-bottom: #ddd solid 1px; } }

@media only screen and (min-width: 641px) {
  .table01--white {
    border-bottom: #ddd dotted 1px; } }

@media only screen and (min-width: 641px) {
  .table01--white th,
  .table01--white td {
    border-top: #ddd dotted 1px; } }

@media only screen and (max-width: 640px) {
  .table01--white th {
    border-top: #ddd solid 1px; } }

@media only screen and (max-width: 640px) {
  .table01--white td {
    border-top: #ddd dotted 1px; } }

.bg-scale {
  position: relative;
  overflow: hidden; }

.bg-scale::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out; }

.bg-scale:hover::after {
  -webkit-transform: scale(1.2);
  transform: scale(1.2); }

.bg-scale__body {
  position: relative;
  z-index: 1; }

.heading01 {
  text-align: center; }

@media only screen and (max-width: 640px) {
  .heading01 {
    margin-bottom: 40px; } }

@media only screen and (min-width: 641px) {
  .heading01 {
    margin-bottom: 60px; } }

.heading01__ttl {
  display: inline-block;
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
  font-weight: normal;
  letter-spacing: 0.2em;
  background: url(../img/common_bg_03.jpg) repeat-x center bottom; }

@media only screen and (max-width: 640px) {
  .heading01__ttl {
    font-size: 26px;
    font-size: 2.6rem; } }

@media only screen and (min-width: 641px) {
  .heading01__ttl {
    font-size: 48px;
    font-size: 4.8rem; } }

.heading01__txt {
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.1em; }

@media only screen and (max-width: 640px) {
  .heading01__txt {
    margin-top: 30px;
    font-size: 14px;
    font-size: 1.4rem; } }

@media only screen and (min-width: 641px) {
  .heading01__txt {
    margin-top: 40px;
    font-size: 16px;
    font-size: 1.6rem; } }

@media only screen and (max-width: 640px) {
  .heading02 {
    margin-bottom: 30px;
    font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
    font-size: 20px;
    font-size: 2rem;
    letter-spacing: 0.2em;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .heading02 {
    margin-bottom: 30px;
    font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: 0.2em;
    text-align: center; } }

@media only screen and (max-width: 640px) {
  .heading02__mt {
    margin-top: 30px; } }

@media only screen and (max-width: 640px) {
  .googlemap {
    height: 250px; } }

@media only screen and (max-width: 640px) {
  .googlemap iframe {
    width: 100%;
    height: 100%; } }

@media only screen and (max-width: 640px) {
  .sec01 {
    padding: 50px 5% 60px; } }

@media only screen and (min-width: 641px) {
  .sec01 {
    padding: 80px 0; } }

@media only screen and (max-width: 640px) {
  .sec01 .bg03 {
    margin-bottom: 40px; } }

@media only screen and (max-width: 640px) {
  #shop .sec01 {
    padding-left: 0;
    padding-right: 0; } }

@media only screen and (max-width: 640px) and (min-width: 641px) {
  #shop .sec01 {
    padding-bottom: 80px; } }

@media only screen and (min-width: 641px) {
  .sec02 {
    padding-bottom: 80px; } }

@media only screen and (max-width: 640px) {
  .sec02 .shop {
    padding: 40px 5% 50px; } }

.recruit__txt {
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.1em;
  line-height: 2; }

@media only screen and (max-width: 640px) {
  .recruit__txt {
    margin-top: 20px;
    font-size: 12px;
    font-size: 1.2rem;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .recruit__txt {
    margin-top: 40px;
    font-size: 16px;
    font-size: 1.6rem; } }

@media only screen and (min-width: 641px) {
  .pagetop {
    position: fixed;
    bottom: 30px;
    right: 30px; } }

@media only screen and (max-width: 640px) {
  .pagetop__link {
    display: none; } }

@media only screen and (min-width: 641px) {
  .pagetop__link {
    position: relative;
    width: 40px;
    height: 40px;
    display: block;
    background-color: #ccc;
    text-align: center;
    color: #222;
    text-indent: -99999px;
    text-decoration: none; }
  .pagetop__link::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    margin-right: -4px;
    border: solid #333;
    border-width: 2px 2px 0 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 50%;
    right: 50%; }
  .pagetop__link::after:hover {
    display: block;
    background-color: #666;
    text-align: center;
    color: #fff;
    text-decoration: none; } }

.arrow01 {
  position: relative; }

@media only screen and (min-width: 641px) {
  .arrow01::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    margin-right: 8px;
    border: solid #333;
    border-width: 2px 2px 0 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 50%;
    right: 10px; } }

.arrow01--white::after {
  border-color: #FFF; }

@media only screen and (max-width: 640px) {
  .concept {
    padding: 30px 5% 20px; } }

.concept__bg {
  background: url(../img/idx_concept_bg_01.png) no-repeat center right; }

@media only screen and (max-width: 640px) {
  .concept__bg {
    padding-bottom: 40px;
    background-size: 292.6087px 217.3913px;
    background-position: bottom right; } }

@media only screen and (min-width: 641px) {
  .concept__bg {
    padding: 90px 0 80px; } }

@media only screen and (max-width: 640px) {
  .concept__ttl {
    margin-bottom: 15px;
    font-size: 22px;
    font-size: 2.2rem;
    font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .concept__ttl {
    margin-bottom: 35px; } }

@media only screen and (max-width: 640px) {
  .concept__lead {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 0.1em;
    text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.8); } }

@media only screen and (min-width: 641px) {
  .concept__lead {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2.5;
    letter-spacing: 0.1em; } }

@media only screen and (max-width: 640px) {
  .concept__lead br {
    display: none; } }

.page-head {
  position: relative;
  width: 100%; }

@media only screen and (max-width: 640px) {
  .page-head {
    height: 200px; } }

@media only screen and (min-width: 641px) {
  .page-head {
    height: 500px; } }

.page-head__ttl {
  position: absolute;
  top: 50%;
  left: 50%; }

@media only screen and (max-width: 640px) {
  .page-head__ttl {
    z-index: 1; } }

@media only screen and (min-width: 641px) {
  .page-head__ttl {
    z-index: 55; } }

@media only screen and (max-width: 640px) {
  .page-head__ttl--chu {
    width: 64px;
    height: 76.5px;
    margin-left: -32px;
    margin-top: -38.25px; } }

@media only screen and (min-width: 641px) {
  .page-head__ttl--chu {
    width: 128px;
    height: 153px;
    margin-left: -64px;
    margin-top: -76.5px; } }

@media only screen and (max-width: 640px) {
  .page-head__ttl--hina {
    width: 79px;
    height: 84px;
    margin-left: -39.5px;
    margin-top: -44.5px; } }

@media only screen and (min-width: 641px) {
  .page-head__ttl--hina {
    width: 158px;
    height: 168px;
    margin-left: -79px;
    margin-top: -89px; } }

@media only screen and (max-width: 640px) {
  .page-head__ttl--capri {
    width: 83px;
    height: 49.5px;
    margin-left: -41.5px;
    margin-top: -24.75px; } }

@media only screen and (min-width: 641px) {
  .page-head__ttl--capri {
    width: 166px;
    height: 99px;
    margin-left: -83px;
    margin-top: -49.5px; } }

@media only screen and (max-width: 640px) {
  .page-head__ttl--nana {
    width: calc(188px / 2);
    height: calc(113px / 2);
    margin-left: calc(-188px / 4);
    margin-top: calc(-113px / 4); } }

@media only screen and (min-width: 641px) {
  .page-head__ttl--nana {
    width: 188px;
    height: 113px / 2;
    margin-left: calc(-188px / 2);
    margin-top: calc(-113px / 2); } }

@media only screen and (max-width: 640px) {
  .page-head__ttl--nanahachi {
    width: calc(268px / 2);
    height: calc(141px / 2);
    margin-left: calc(-268px / 4);
    margin-top: calc(-141px / 4); } }

@media only screen and (min-width: 641px) {
  .page-head__ttl--nanahachi {
    width: 268px;
    height: 141px / 2;
    margin-left: calc(-268px / 2);
    margin-top: calc(-141px / 2); } }

@media only screen and (min-width: 641px) {
  .grid__col2 {
    float: left;
    width: 480px;
    margin-right: 40px; } }

@media only screen and (min-width: 641px) {
  .grid__col2:nth-child(2n) {
    margin-right: 0px; } }

@media only screen and (max-width: 640px) {
  .tel {
    margin-bottom: 30px;
    padding: 15px 3% 15px;
    border: #959595 solid 2px;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .tel {
    margin-bottom: 30px;
    padding: 15px 0px 25px;
    border: #959595 solid 2px;
    text-align: center; } }

@media only screen and (max-width: 640px) {
  .tel__txt {
    margin-bottom: 10px;
    font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .tel__txt {
    font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.1em;
    text-align: center;
    line-height: 2.5; } }

.tel__number {
  display: inline-block;
  font-family: "Times New Roman", Times, serif;
  letter-spacing: 0.1em;
  text-align: center;
  background: url(../img/common_icon_03.png) no-repeat left center; }

@media only screen and (max-width: 640px) {
  .tel__number {
    margin-bottom: 10px;
    font-size: 24px;
    font-size: 2.4rem;
    background-size: 24px 24px;
    padding-left: 34px; } }

@media only screen and (min-width: 641px) {
  .tel__number {
    margin-bottom: 10px;
    font-size: 30px;
    font-size: 3rem;
    background-size: 26px 26px;
    padding-left: 35px; } }

.tel__number:last-child {
  margin-bottom: 0; }

@media only screen and (max-width: 640px) {
  .tel__locate {
    font-size: 14px;
    font-size: 1.4rem; } }

@media only screen and (min-width: 641px) {
  .tel__locate {
    font-size: 16px;
    font-size: 1.6rem; } }

@media only screen and (max-width: 640px) {
  .tel__time {
    font-size: 10px;
    font-size: 1rem;
    margin-top: 10px;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .tel__time {
    margin-top: 15px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center; } }

@media only screen and (max-width: 640px) {
  .tel--red {
    margin-bottom: 30px;
    border: none;
    background: url(../img/common_bg_05.jpg) repeat; } }

@media only screen and (min-width: 641px) {
  .tel--red {
    margin: 20px auto 0px;
    padding-bottom: 25px;
    width: 600px;
    border: none;
    background: url(../img/common_bg_05.jpg) repeat; } }

@media only screen and (max-width: 640px) {
  .tel--shops {
    margin-top: 30px; } }

@media only screen and (min-width: 641px) {
  .tel--shops {
    margin-top: 30px;
    width: 100%; } }

@media only screen and (max-width: 640px) {
  .tel--mt {
    margin-top: 40px; } }

@media only screen and (min-width: 641px) {
  .tel--mt {
    margin-top: 50px; } }

@media only screen and (max-width: 640px) {
  .tel--pl {
    margin-left: 20px;
    margin-right: 20px; } }

@media only screen and (max-width: 640px) {
  .tel-sp {
    width: 100%;
    height: 50px;
    display: block;
    position: fixed;
    bottom: 0;
    z-index: 4;
    background-color: rgba(115, 16, 15, 0.9);
    text-decoration: none;
    color: #FFF;
    text-align: center; } }

@media only screen and (min-width: 641px) {
  .tel-sp {
    display: none; } }

@media only screen and (max-width: 640px) {
  .tel-sp__txt {
    padding-left: 25px;
    height: 50px;
    font-size: 13px;
    font-size: 1.3rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 50px;
    letter-spacing: 0.1em;
    display: inline-block;
    background-image: url(../img/common_icon_03.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 20px 20px; }
  .tel-sp__txt:hover {
    color: #FFF; } }

.caution {
  color: red;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .caution {
    margin: 40px 20px;
    padding: 30px 20px;
    border: 3px solid red; } }

@media only screen and (min-width: 641px) {
  .caution {
    margin-top: 80px;
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 50px 80px 50px;
    border: 3px solid red; } }

.caution__title {
  font-weight: bold;
  text-align: center;
  margin-bottom: 1em; }

@media only screen and (max-width: 640px) {
  .caution__title {
    font-size: 20px;
    font-size: 2rem; } }

@media only screen and (min-width: 641px) {
  .caution__title {
    font-size: 24px;
    font-size: 2.4rem; } }

@media only screen and (max-width: 640px) {
  .caution__lead {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.7;
    margin-bottom: 1em; } }

@media only screen and (min-width: 641px) {
  .caution__lead {
    text-align: center;
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 2em; } }

.caution__text {
  color: #000;
  margin-bottom: 1em; }

@media only screen and (max-width: 640px) {
  .caution__text {
    line-height: 1.7; } }

@media only screen and (min-width: 641px) {
  .caution__text {
    line-height: 2;
    font-size: 16px;
    font-size: 1.6rem; } }

.caution__text--right {
  margin-top: 2em;
  text-align: right; }

.caution__text:last-child {
  margin-bottom: 0; }

.mainvisual__item {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

@media only screen and (max-width: 640px) {
  .mainvisual__item {
    height: 200px; } }

@media only screen and (min-width: 641px) {
  .mainvisual__item {
    height: 560px; } }

.mainvisual__item--01 {
  background-image: url(../img/idx_slide_01.jpg); }

.mainvisual__item--02 {
  background-image: url(../img/idx_slide_02.jpg); }

.mainvisual__item--03 {
  background-image: url(../img/idx_slide_03.jpg); }

.mainvisual__item--04 {
  background-image: url(../img/idx_slide_04.jpg); }

.mainvisual__item--05 {
  background-image: url(../img/idx_slide_05.jpg); }

.mainvisual__link {
  width: 100%;
  display: block;
  position: relative; }

@media only screen and (max-width: 640px) {
  .mainvisual__link {
    height: 200px; } }

@media only screen and (min-width: 641px) {
  .mainvisual__link {
    height: 560px; } }

.mainvisual__logo {
  position: absolute; }

@media only screen and (max-width: 640px) {
  .mainvisual__logo {
    top: 50%;
    left: 50%; } }

@media only screen and (min-width: 641px) {
  .mainvisual__logo {
    top: 54px;
    left: 129px; } }

@media only screen and (max-width: 640px) {
  .mainvisual__logo--chu {
    width: 85.33333px;
    height: 102px;
    margin-left: -42.66667px;
    margin-top: -58.84615px; } }

@media only screen and (min-width: 641px) {
  .mainvisual__logo--chu {
    width: 128px;
    height: 153px; } }

@media only screen and (max-width: 640px) {
  .mainvisual__logo--hina {
    width: 105.33333px;
    height: 112px;
    margin-left: -52.66667px;
    margin-top: -64.61538px; } }

@media only screen and (min-width: 641px) {
  .mainvisual__logo--hina {
    width: 158px;
    height: 168px; } }

@media only screen and (max-width: 640px) {
  .mainvisual__logo--capri {
    width: 110.66667px;
    height: 66px;
    margin-top: -33px;
    margin-left: -63.84615px; } }

@media only screen and (min-width: 641px) {
  .mainvisual__logo--capri {
    width: 166px;
    height: 99px; } }

@media only screen and (max-width: 640px) {
  .mainvisual__logo--nana {
    width: 125.33333px;
    height: 75.33333px;
    margin-top: -37.66667px;
    margin-left: -72.30769px; } }

@media only screen and (min-width: 641px) {
  .mainvisual__logo--nana {
    width: 188px;
    height: 113px; } }

@media only screen and (max-width: 640px) {
  .mainvisual__logo--nanahachi {
    width: 178.66667px;
    height: 94px;
    margin-top: -47px;
    margin-left: -103.07692px; } }

@media only screen and (min-width: 641px) {
  .mainvisual__logo--nanahachi {
    top: 40px;
    width: 268px;
    height: 141px; } }

@media only screen and (max-width: 640px) {
  .bx-wrapper {
    min-width: 100%; } }

@media only screen and (max-width: 640px) {
  .bx-wrapper .bx-controls-direction a {
    width: 12px;
    height: 24px;
    margin-top: -12px; } }

@media only screen and (max-width: 640px) {
  .bx-wrapper .bx-prev {
    left: 5%;
    background-size: 12px 24px; } }

@media only screen and (max-width: 640px) {
  .bx-wrapper .bx-next {
    right: 5%;
    background-size: 12px 24px; } }

@media only screen and (max-width: 640px) {
  .bx-wrapper .bx-pager,
  .bx-wrapper .bx-controls-auto {
    bottom: 10px; } }

.hero__item {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

@media only screen and (max-width: 640px) {
  .hero__item {
    width: 100%;
    height: 200px; } }

@media only screen and (min-width: 641px) {
  .hero__item {
    width: 100%;
    height: 500px; } }

.hero__item--chu01 {
  background-image: url(../img/chu_img_01.jpg); }

.hero__item--chu02 {
  background-image: url(../img/chu_img_02.jpg); }

.hero__item--chu03 {
  background-image: url(../img/chu_img_03.jpg); }

.hero__item--hina01 {
  background-image: url(../img/hina_img_01.jpg); }

.hero__item--hina02 {
  background-image: url(../img/hina_img_02.jpg); }

.hero__item--hina03 {
  background-image: url(../img/hina_img_03.jpg); }

.hero__item--capri01 {
  background-image: url(../img/capri_img_01.jpg); }

.hero__item--capri02 {
  background-image: url(../img/capri_img_02.jpg); }

.hero__item--capri03 {
  background-image: url(../img/capri_img_03.jpg); }

.hero__item--nana01 {
  background-image: url(../img/nana_img_01.jpg); }

.hero__item--nana02 {
  background-image: url(../img/nana_img_02.jpg); }

.hero__item--nana03 {
  background-image: url(../img/nana_img_03.jpg); }

.hero__item--nanahachi01 {
  background-image: url(../img/nanahachi_img_01.jpg); }

.hero__item--nanahachi02 {
  background-image: url(../img/nanahachi_img_02.jpg); }

.hero__item--nanahachi03 {
  background-image: url(../img/nanahachi_img_03.jpg); }

.hero__link {
  display: block;
  position: relative; }

@media only screen and (max-width: 640px) {
  .hero__link {
    width: 100%;
    height: 200px; } }

@media only screen and (min-width: 641px) {
  .hero__link {
    width: 100%;
    height: 560px; } }

.hero__logo {
  position: absolute; }

@media only screen and (min-width: 641px) {
  .hero__logo {
    top: 54px;
    left: 129px; } }

@media only screen and (min-width: 641px) {
  .hero__logo--chu {
    width: 128px;
    height: 153px; } }

@media only screen and (min-width: 641px) {
  .hero__logo--hina {
    width: 158px;
    height: 168px; } }

@media only screen and (min-width: 641px) {
  .hero__logo--capri {
    width: 166px;
    height: 99px; } }

@media only screen and (min-width: 641px) {
  .hero__logo--nanahachi {
    width: 268px;
    height: 141px; } }

@media only screen and (max-width: 640px) {
  #shop .heading01 {
    margin-bottom: 30px; } }

@media only screen and (max-width: 640px) {
  #shop .heading01__ttl {
    font-size: 24px;
    font-size: 2.4rem; } }

@media only screen and (max-width: 640px) {
  .shop__block {
    padding: 40px 5% 50px; } }

@media only screen and (min-width: 641px) {
  .shop__block {
    padding: 60px 0; } }

.shop__block--pbn {
  padding-bottom: 0; }

@media only screen and (max-width: 640px) {
  .shop__block--pb {
    padding-bottom: 20px; } }

@media only screen and (min-width: 641px) {
  .shop__main {
    float: right;
    width: 500px; } }

@media only screen and (min-width: 641px) {
  .shop__main--rev {
    float: left; } }

@media only screen and (max-width: 640px) {
  .shop__sub {
    margin-top: 30px;
    margin-bottom: 30px; } }

@media only screen and (min-width: 641px) {
  .shop__sub {
    float: left;
    width: 450px; } }

@media only screen and (min-width: 641px) {
  .shop__sub--rev {
    float: right; } }

.shop__img {
  border: #555 solid 1px; }

@media only screen and (max-width: 640px) {
  .shop__img {
    margin-bottom: 10px; }
  .shop__img img {
    width: 100%; } }

@media only screen and (min-width: 641px) {
  .shop__img {
    margin-bottom: 10px; } }

.shop__img img {
  vertical-align: top; }

@media only screen and (max-width: 640px) {
  .shop__img--small {
    float: left;
    width: 48%;
    margin-right: 4%; } }

@media only screen and (min-width: 641px) {
  .shop__img--small {
    margin: 10px 10px 0 0;
    float: left;
    width: 218px;
    border: #555 solid 1px; } }

.shop__img--small:nth-child(2n) {
  margin-right: 0; }

.shop__ttl {
  font-weight: normal;
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.1em; }

@media only screen and (max-width: 640px) {
  .shop__ttl {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 10px;
    line-height: 1.6; } }

@media only screen and (min-width: 641px) {
  .shop__ttl {
    margin-bottom: 22px;
    font-size: 34px;
    font-size: 3.4rem; } }

@media only screen and (min-width: 641px) {
  .shop__subttl {
    font-size: 16px;
    font-size: 1.6rem; } }

.shop__yomi {
  font-size: 14px;
  font-size: 1.4rem; }

.shop__txt {
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.1em;
  line-height: 2; }

@media only screen and (max-width: 640px) {
  .shop__txt {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 30px; } }

@media only screen and (min-width: 641px) {
  .shop__txt {
    margin-bottom: 22px;
    font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
    font-size: 16px;
    font-size: 1.6rem; } }

@media only screen and (max-width: 640px) {
  .shop__nav {
    margin-top: 30px; } }

@media only screen and (min-width: 641px) {
  .shop__nav {
    margin-top: 35px; } }

.shop__item {
  float: left; }

@media only screen and (max-width: 640px) {
  .shop__item {
    width: 49%;
    margin-right: 2%; } }

@media only screen and (min-width: 641px) {
  .shop__item {
    margin-right: 20px; } }

.shop__item:nth-child(2n) {
  margin-right: 0; }

.shop__button {
  display: block;
  height: 40px;
  line-height: 40px;
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1em; }

@media only screen and (max-width: 640px) {
  .shop__button {
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem; } }

@media only screen and (min-width: 641px) {
  .shop__button {
    width: 200px;
    font-size: 16px;
    font-size: 1.6rem; } }

.shop__button:hover {
  opacity: 0.8; }

.shop__button--white {
  color: #FFF;
  background-image: url(../img/common_bg_05.jpg); }

@media only screen and (max-width: 640px) {
  .shop__button--white {
    background-repeat: repeat; } }

@media only screen and (min-width: 641px) {
  .shop__button--white {
    background-repeat: no-repeat; } }

.shop__button--white:hover {
  color: #fff; }

.shop__button--black {
  color: #000;
  background-image: url(../img/common_bg_04.jpg); }

@media only screen and (max-width: 640px) {
  .shop__button--black {
    background-repeat: repeat; } }

@media only screen and (min-width: 641px) {
  .shop__button--black {
    background-repeat: no-repeat; } }

.shop__button--black:hover {
  color: #000; }

@media only screen and (min-width: 641px) {
  .shoplist {
    padding-top: 100px;
    padding-bottom: 80px; } }

@media only screen and (min-width: 641px) {
  .shoplist__item {
    float: left;
    width: 490px;
    margin-right: 20px;
    margin-bottom: 20px; } }

.shoplist__item:nth-child(2n) {
  margin-right: 0; }

@media only screen and (min-width: 641px) {
  .shoplist__box {
    display: block;
    border: #555 solid 1px;
    width: 488px;
    height: 298px; } }

@media only screen and (min-width: 641px) {
  .shoplist__box--chu::after {
    background-image: url(../img/idx_shoplist_01.jpg); } }

@media only screen and (min-width: 641px) {
  .shoplist__box--hina::after {
    background-image: url(../img/idx_shoplist_02.jpg); } }

@media only screen and (min-width: 641px) {
  .shoplist__box--capri::after {
    background-image: url(../img/idx_shoplist_03.jpg); } }

@media only screen and (min-width: 641px) {
  .shoplist__box--nana::after {
    background-image: url(../img/idx_shoplist_04.jpg); } }

@media only screen and (min-width: 641px) {
  .shoplist__box--nanahachi::after {
    background-image: url(../img/idx_shoplist_05.jpg); } }

@media only screen and (min-width: 641px) {
  .shoplist__body {
    width: 488px;
    height: 298px; } }

@media only screen and (min-width: 641px) {
  .shoplist__logo {
    position: absolute;
    top: 50%;
    left: 50%; } }

@media only screen and (min-width: 641px) {
  .shoplist__logo--chu {
    width: 128px;
    height: 153px;
    margin-left: -64px;
    margin-top: -76.5px; } }

@media only screen and (min-width: 641px) {
  .shoplist__logo--hina {
    width: 158px;
    height: 168px;
    margin-left: -79px;
    margin-top: -84px; } }

@media only screen and (min-width: 641px) {
  .shoplist__logo--capri {
    width: 166px;
    height: 99px;
    margin-left: -83px;
    margin-top: -49.5px; } }

@media only screen and (min-width: 641px) {
  .shoplist__logo--nanahachi {
    width: 268px;
    height: 141px;
    margin-left: -134px;
    margin-top: -70.5px; } }

@media only screen and (max-width: 640px) {
  .shopGroup {
    padding-bottom: 80px; } }

@media only screen and (min-width: 641px) {
  .shopGroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 50px; } }

@media only screen and (max-width: 640px) {
  .shopGroup__item {
    margin-bottom: 50px;
    padding: 0 5%; } }

@media only screen and (min-width: 641px) {
  .shopGroup__item {
    width: 450px;
    margin-right: 100px; } }

@media only screen and (min-width: 641px) {
  .shopGroup__item:nth-child(2n) {
    margin-right: 0; } }

@media only screen and (max-width: 640px) {
  .shopGroup__item:last-child {
    margin-bottom: 0; } }

@media only screen and (max-width: 640px) {
  .shopGroup__thumb {
    margin-bottom: 39px; } }

@media only screen and (min-width: 641px) {
  .shopGroup__thumb {
    margin-bottom: 30px; } }

.shopGroup__title {
  text-align: center;
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.1em; }

@media only screen and (max-width: 640px) {
  .shopGroup__title {
    margin-bottom: 20px;
    font-size: 18px;
    font-size: 1.8rem; } }

@media only screen and (min-width: 641px) {
  .shopGroup__title {
    margin-bottom: 25px;
    font-size: 26px;
    font-size: 2.6rem; } }

@media only screen and (max-width: 640px) {
  .shopGroup__map {
    font-size: 12px;
    font-size: 1.2rem; } }

@media only screen and (min-width: 641px) {
  .shopGroup__map {
    display: block;
    font-size: 12px;
    font-size: 1.2rem; } }

@media only screen and (max-width: 640px) {
  .shopGroup__map a {
    color: #e75e2d;
    text-decoration: underline; } }
