@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

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

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

body {
  background: #FFFFFF;
  color: #94D1CF;
  font-size: 14px;
  font-family: 'Sawarabi Gothic', sans-serif; }
  @media only screen and (max-width: 640px) {
    body {
      font-family: "Avenir Next", Verdana, "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, sans-serif; } }

@media only screen and (max-width: 640px) {
  img {
    width: 100%; } }

a:link,
a:visited {
  text-decoration: none; }

a:hover,
a:active,
a.current {
  text-decoration: none; }

.loaderWrap {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #94D1CF;
  z-index: 1000; }

.loaderInner {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 500px;
  margin-left: -250px;
  text-align: center;
  z-index: 900; }
  @media only screen and (max-width: 640px) {
    .loaderInner {
      width: 180px;
      margin-left: -90px; } }

.headerWrap {
  position: relative;
  background-image: url(/images/slide_001.jpg);
  background-repeat: no-repeat; }

.topFrag {
  position: absolute;
  top: 0;
  background-image: url(/images/flag.png);
  background-position: top;
  background-repeat: repeat-x;
  padding-top: 53px;
  animation: bgTopFrag 200s linear infinite;
  width: 100%; }
  @media only screen and (max-width: 640px) {
    .topFrag {
      -webkit-background-size: cover;
      background-size: cover;
      padding-top: 30px; } }

@keyframes bgTopFrag {
  from {
    background-position: 80% 50%; }
  to {
    background-position: -2500px 0; } }

.headerInner {
  padding: 75px 20px 20px; }
  @media only screen and (max-width: 640px) {
    .headerInner {
      padding: 40px 10px 10px; } }

.headerLogo {
  text-align: center; }
  @media only screen and (max-width: 640px) {
    .headerLogo {
      width: 150px;
      margin: 0 auto; } }

@media only screen and (max-width: 640px) {
  .navWrap {
    background: #94D1CF; } }

.navList {
  display: table;
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #94D1CF; }
  @media only screen and (max-width: 640px) {
    .navList {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      border-bottom: 1px solid #84b3af;
      margin-top: -1px;
      margin-left: -1px; } }

.navList > li {
  display: table-cell;
  vertical-align: middle;
  text-align: center; }
  @media only screen and (max-width: 640px) {
    .navList > li {
      width: 24.5%;
      border-top: 1px solid #84b3af; } }

.navList > li + li {
  border-left: 1px solid #84b3af; }

.navList > li > a {
  display: block;
  padding: 20px 10px;
  color: #FFFFFF;
  background: #94D1CF;
  font-weight: bold; }
  @media only screen and (max-width: 640px) {
    .navList > li > a {
      text-align: center;
      font-size: 12px;
      line-height: 1.3;
      padding: 10px;
      text-shadow: 1px 1px 1px #333333; } }

.navList > li > a:hover {
  background: #ace4e2;
  transition: .3s; }

.inactiveNav > a {
  background: #CCCCCC !important;
  color: #DDDDDD !important;
  cursor: default; }

.inactiveNav + .inactiveNav {
  border-left: 1px solid #999999; }

.sectionWrap {
  position: relative; }

.sectionWrap:last-child {
  padding-bottom: 180px; }
  @media only screen and (max-width: 640px) {
    .sectionWrap:last-child {
      padding-bottom: 30px; } }

.sectionInner {
  width: 970px;
  margin: 0 auto;
  padding: 50px 10px;
  font-family: "Mplus 1p"; }
  @media only screen and (max-width: 640px) {
    .sectionInner {
      width: 100%;
      padding: 20px 5px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      font-family: "Avenir Next", Verdana, "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, sans-serif; } }

.sectionHeadline {
  font-size: 30px;
  font-weight: bold;
  font-family: 'Fredoka One', cursive; }
  @media only screen and (max-width: 640px) {
    .sectionHeadline {
      font-size: 20px; } }

.storeIntroductionSection {
  width: calc(100% - 300px);
  margin: 40px auto 0; }
  @media only screen and (max-width: 640px) {
    .storeIntroductionSection {
      width: calc(100% - 20px);
      margin: 30px auto 0; } }

.sectionHeadline + .storeIntroductionBody {
  margin-top: 20px; }

.storeIntroductionBody {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .storeIntroductionBody li {
    background: #FFFFFF;
    box-shadow: 0 0.3rem 3rem rgba(0, 0, 0, 0.3);
    padding: 10px 10px 20px;
    margin-bottom: 40px; }
    @media only screen and (max-width: 640px) {
      .storeIntroductionBody li {
        margin-bottom: 30px; } }
  .storeIntroductionBody li:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: 34.4%; }
    @media only screen and (max-width: 640px) {
      .storeIntroductionBody li:nth-child(3n+2):last-child {
        margin-left: 0;
        margin-right: 0; } }

.storePhoto {
  text-align: center;
  overflow: hidden; }

.storeDetail {
  width: 412px;
  margin-top: 15px;
  color: #94D1CF; }
  @media only screen and (max-width: 640px) {
    .storeDetail {
      width: 100%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; } }
  .storeDetail dt {
    text-align: center;
    font-weight: bold;
    font-size: 16px; }
  .storeDetail dd {
    margin-top: 15px;
    line-height: 1.4; }

.fadeInDown {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

.footerWrap {
  position: relative;
  width: 100%;
  padding: 80px 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #94D1CF; }
  @media only screen and (max-width: 640px) {
    .footerWrap {
      padding: 20px 10px; } }

.footerInner {
  width: 970px;
  margin: 0 auto;
  padding: 10px; }
  @media only screen and (max-width: 640px) {
    .footerInner {
      width: 100%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      padding: 0; } }

.footerLogo {
  float: left;
  margin-right: 50px; }
  @media only screen and (max-width: 640px) {
    .footerLogo {
      width: 120px;
      margin-right: 0; } }

.footerInfo {
  float: left;
  color: #FFFFFF;
  font-size: 15px;
  line-height: 1.5; }
  @media only screen and (max-width: 640px) {
    .footerInfo {
      margin-top: 10px;
      font-size: 12px; } }

.footerInfo > dt {
  float: left;
  width: 80px; }
  @media only screen and (max-width: 640px) {
    .footerInfo > dt {
      width: 65px; } }

.footerInfo > dd {
  overflow: hidden; }

.copyrightText {
  padding: 15px;
  text-align: center;
  color: #94D1CF;
  font-size: 13px; }

.cf:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: ""; }

.cf {
  zoom: 1; }

.pr {
  position: relative; }

.dn {
  display: none; }

.fs12 {
  font-size: 12px; }

.marT5 {
  margin-top: 5px; }

.marT10 {
  margin-top: 10px; }

.marT20 {
  margin-top: 20px; }

.parB180 {
  padding-bottom: 180px; }

.parB200 {
  padding-bottom: 200px; }

.contactAddress {
  text-align: center;
  margin-top: 20px;
  padding: 80px 10px;
  background: #f7f6e9;
  border-radius: 5px; }
  @media only screen and (max-width: 640px) {
    .contactAddress {
      margin-top: 10px;
      padding: 40px 10px; } }

.contactAddress > dt {
  font-weight: bold; }

.contactAddress > dd {
  margin-top: 20px;
  font-weight: bold;
  font-size: 18px; }
  @media only screen and (max-width: 640px) {
    .contactAddress > dd {
      font-size: 15px; } }

.contactAddress > dt ~ dt {
  margin-top: 20px; }

.contactAddress > dd > a {
  text-decoration: underline;
  color: #94D1CF; }

.contactAddress > dd > a:hover {
  text-decoration: none; }
