/*common*/
html {
  font-size: 62.5%; }
  @media screen and (max-width: 899px) {
    html {
      font-size: 55%; } }
  @media screen and (max-width: 600px) {
    html {
      font-size: 45%; } }

body {
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.8;
  color: #000; }

* {
  box-sizing: border-box; }

a {
  color: #0000ee;
  text-decoration: underline; }

img {
  max-width: 100%; }

p {
  margin-bottom: 1em; }

h2 {
  font-size: 2.8rem;
  margin-bottom: 2em;
  text-align: center; }
  h2 img {
    height: 1.4em; }

h3 {
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 1em; }
  h3 span {
    border: solid;
    border-width: 1px 0;
    padding: 0.1em 0 0.3em;
    width: 224px;
    display: block;
    margin: auto;
    font-size: 2.2rem; }

section {
  position: relative;
  overflow: hidden; }

.inner {
  width: 1440px;
  max-width: 100%;
  padding: 90px 20px 30px;
  margin: auto; }
  @media screen and (max-width: 899px) {
    .inner {
      padding: 60px 15px 20px; } }
  @media screen and (max-width: 600px) {
    .inner {
      padding: 40px 10px 20px; } }

.c-inlineBlock > span {
  display: inline-block; }

.linkBtn {
  text-align: center;
  margin: 1em auto; }
  .linkBtn a {
    position: relative;
    display: inline-block;
    text-align: center;
    min-width: 150px;
    padding: 0.2em 1em;
    color: #fff;
    background: #b81c22;
    border: 1px solid #b81c22;
    text-decoration: none;
    z-index: 1; }
    @media screen and (max-width: 600px) {
      .linkBtn a {
        min-width: 1px; } }
    .linkBtn a::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 0;
      height: 100%;
      background: #fff;
      transition: .3s;
      z-index: -1; }
    .linkBtn a:hover {
      color: #b81c22; }
      .linkBtn a:hover::before {
        right: auto;
        left: 0;
        width: 100%; }
  .linkBtn.large {
    font-size: 1.2em; }
    .linkBtn.large a {
      padding: 0.5em 1em; }

/*HEADER*/
/*FOOTER*/
footer {
  text-align: center; }

.copyright {
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 1.2rem;
  color: #fff;
  background: #000;
  margin: 0;
  padding: 1em 0; }

/*loading*/
.loadingWrap {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: #fff; }

/*inview*/
.cont .inner {
  opacity: 0;
  transform: translateY(30px);
  transition: 1s ease; }
.cont.inview .inner {
  opacity: 1;
  transform: translate(0, 0); }

.fadeR {
  opacity: 0;
  transform: translateX(30px);
  transition: 1s ease; }
  .fadeR.inview {
    opacity: 1;
    transform: translate(0, 0); }

/*KV*/
#kv {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background: url("../img/home/kv.jpg") center center/cover no-repeat; }

.is-loaded #kv {
  height: 934px;
  max-height: 100vh; }

.kvLogo {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 100;
  width: 405px;
  max-width: 80%;
  transform: translateY(-100%); }
  .kvLogo svg {
    width: 100%; }
    .kvLogo svg path {
      fill-opacity: 0;
      fill: #fff;
      stroke: #fff;
      stroke-width: 1;
      stroke-opacity: 1;
      stroke-dasharray: 240;
      stroke-dashoffset: 240; }

.kvCatch {
  max-width: 95%;
  opacity: 0; }

.loading .kvLogo svg path {
  fill-opacity: 1;
  fill: #000;
  stroke: #000;
  stroke-dashoffset: 0 !important;
  stroke-opacity: 0;
  transition: stroke-dashoffset 2.0s 0s, fill-opacity 2.0s 1s, stroke-opacity 2.0s 1s; }

.is-loaded .kvLogo svg path {
  fill-opacity: 1;
  fill: #fff;
  stroke: #fff;
  stroke-dashoffset: 0 !important;
  stroke-opacity: 0;
  transition: 1s; }
.is-loaded .kvLogo, .is-loaded .kvCatch {
  filter: drop-shadow(0 0 3px #000000) drop-shadow(0 0 10px #00000066);
  opacity: 1;
  transition: filter 1s; }

/*.kvCatch{
	height: 0;
	overflow: hidden;
}
.is-loaded */
@media screen and (max-width: 900px) {
  .kvCatch {
    font-size: 3rem; } }
@media screen and (max-width: 600px) {
  .kvCatch {
    font-size: 2rem; } }
/*content*/
/*ABOUT*/
#about {
  color: #fff; }
  #about.inview {
    background: linear-gradient(90deg, #695d53, #695d53 30%, #d0c9c3 30%);
    transition: background 0 1s; }
  #about h2 {
    text-align: left;
    margin-bottom: 0.5em; }
  #about .inner {
    background: url("../img/home/aboutBg.png") top left/auto 100% no-repeat;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 50px 20px;
    height: 654px;
    max-height: 80vw; }
    @media screen and (max-width: 899px) {
      #about .inner {
        background-position: top right -50vw; } }
    @media screen and (max-width: 600px) {
      #about .inner {
        background-position: top left -20vw;
        max-height: none;
        height: auto; } }
    @media screen and (max-width: 400px) {
      #about .inner {
        background-position: top left -40vw; } }

.aboutTxt {
  display: inline-block;
  filter: drop-shadow(0 0 3px #000000) drop-shadow(0 0 10px #00000066); }

/*SYSTEM*/
.systemTable {
  width: 100%;
  margin: 0 auto 70px;
  font-size: 2.2rem; }
  .systemTable th {
    width: 40%;
    text-align: right;
    font-weight: 400; }
  .systemTable td {
    width: 60%;
    text-align: left;
    padding-left: 1em; }
    .systemTable td span {
      display: inline-block;
      width: 10em; }
      .systemTable td span.caut {
        width: 100%;
        font-size: 0.8em; }

@media screen and (max-width: 600px) {
  .systemTable tbody, .systemTable tr, .systemTable th, .systemTable td {
    display: block; }
  .systemTable tr {
    margin-bottom: 1em; }
  .systemTable th {
    margin-top: 0.7em;
    font-weight: 700; }
  .systemTable th, .systemTable td {
    width: 100%;
    text-align: center;
    padding: 0; } }
/*MENU*/
#menu {
  background: #e7e7e7; }

.coming {
  height: 400px;
  max-height: 60vw;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem; }

/*INFO*/
#info .inner {
  width: 800px; }
#info ul {
  list-style: disc;
  margin: 0 auto 2em;
  padding-left: 1.5em; }
#info li {
  margin-bottom: 0.5em; }

/*SNS*/
#sns {
  background: #b28d61; }

.snsLink {
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 1000px;
  max-width: 90%;
  margin: 80px auto 100px; }
  @media screen and (max-width: 600px) {
    .snsLink {
      flex-direction: column; } }
  .snsLink li {
    width: 380px;
    max-width: 45%;
    height: 80px; }
    @media screen and (max-width: 600px) {
      .snsLink li {
        max-width: 100%;
        margin-bottom: 1em; } }
    .snsLink li a {
      background: #fff;
      display: flex;
      height: 100%;
      justify-content: center;
      align-items: center; }

/*ACCESS*/
.storeInfo {
  display: flex;
  justify-content: center;
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif; }
  @media screen and (max-width: 600px) {
    .storeInfo {
      flex-direction: column;
      align-items: center; } }

.storePf {
  margin-right: 36px;
  width: 340px;
  max-width: 40%; }
  @media screen and (max-width: 899px) {
    .storePf {
      margin-right: 16px; } }
  @media screen and (max-width: 600px) {
    .storePf {
      margin-right: 0;
      max-width: 100%; } }

.storeTxt h3 {
  text-align: left;
  height: 3em;
  margin-top: 0.7em; }
  .storeTxt h3 svg {
    height: 100%; }

.mapWrap {
  height: 480px;
  max-height: 80vw;
  position: relative; }
  .mapWrap::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #b28d61;
    opacity: 0.5;
    mix-blend-mode: color-burn;
    z-index: 1;
    pointer-events: none; }
  .mapWrap iframe {
    width: 100%;
    height: 100%;
    filter: grayscale(1); }
