@-webkit-keyframes Shake {
  0% {
    -webkit-transform: translate(0px, 0px) rotateZ(0deg);
            transform: translate(0px, 0px) rotateZ(0deg); }
  25% {
    -webkit-transform: translate(0px, -5px) rotateZ(5deg);
            transform: translate(0px, -5px) rotateZ(5deg); }
  50% {
    -webkit-transform: translate(0px, 0px) rotateZ(0deg);
            transform: translate(0px, 0px) rotateZ(0deg); }
  75% {
    -webkit-transform: translate(0px, -5px) rotateZ(-5deg);
            transform: translate(0px, -5px) rotateZ(-5deg); } }

@keyframes Shake {
  0% {
    -webkit-transform: translate(0px, 0px) rotateZ(0deg);
            transform: translate(0px, 0px) rotateZ(0deg); }
  25% {
    -webkit-transform: translate(0px, -5px) rotateZ(5deg);
            transform: translate(0px, -5px) rotateZ(5deg); }
  50% {
    -webkit-transform: translate(0px, 0px) rotateZ(0deg);
            transform: translate(0px, 0px) rotateZ(0deg); }
  75% {
    -webkit-transform: translate(0px, -5px) rotateZ(-5deg);
            transform: translate(0px, -5px) rotateZ(-5deg); } }

/*====================
 *   Base
 *====================*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Shin Maru Go Medium", "YuGothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Meiryo", "MS PGothic";
  font-size: 62.5%;
  color: #c8331a;
  position: relative;
  z-index: 1;
  background-color: #efefef;
  -ms-scroll-chaining: none;
      overscroll-behavior: none; }

body {
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

div, h1, h2, h3, h4, h5, p, a, hr, dl, dt, dd, img, video, article, ul, li, section {
  margin: 0;
  padding: 0;
  font-weight: normal; }

p {
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: "Shin Maru Go Medium", "YuGothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Meiryo", "MS PGothic"; }
  @media screen and (max-width: 960px) {
    p {
      font-size: 1.3rem;
      line-height: 2.0; } }

.noHide {
  display: block; }

.pcHide {
  display: none; }
  @media screen and (max-width: 960px) {
    .pcHide {
      display: block; } }

.tbpcHide {
  display: none; }
  @media screen and (max-width: 520px) {
    .tbpcHide {
      display: block; } }

.sptbHide {
  display: block; }
  @media screen and (max-width: 960px) {
    .sptbHide {
      display: none; } }

.spHide {
  display: block; }
  @media screen and (max-width: 520px) {
    .spHide {
      display: none; } }

.tbHide {
  display: block; }
  @media screen and (max-width: 960px) {
    .tbHide {
      display: none; } }
  @media screen and (max-width: 520px) {
    .tbHide {
      display: block; } }

.pcspHide {
  display: none; }
  @media screen and (max-width: 960px) {
    .pcspHide {
      display: block; } }
  @media screen and (max-width: 520px) {
    .pcspHide {
      display: none; } }

a {
  text-decoration: none;
  -webkit-transition: all  0.3s ease;
  transition: all  0.3s ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer; }
  a:hover {
    opacity: 0.5; }

*:focus {
  outline: none; }

img {
  width: 100%;
  height: auto;
  vertical-align: bottom; }

.noBoder {
  border: none !important; }

.noPadding {
  padding: 0 !important; }

::-moz-selection {
  background-color: #d1c0a5; }

::selection {
  background-color: #d1c0a5; }

/*====================
 *   COMMON
 *====================*/
.fadein {
  -webkit-transition: all 1.0s ease;
  transition: all 1.0s ease;
  opacity: 0; }

.scrollin {
  opacity: 1; }

.pc70px {
  font-size: 7.0rem;
  line-height: 1.0; }
  @media screen and (max-width: 960px) {
    .pc70px {
      font-size: 5.0rem; } }
  @media screen and (max-width: 520px) {
    .pc70px {
      font-size: 3.2rem; } }

.pc50px {
  font-size: 5.0rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc50px {
      font-size: 4.0rem; } }
  @media screen and (max-width: 520px) {
    .pc50px {
      font-size: 3.6rem; } }

.pc40px {
  font-size: 4.0rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc40px {
      font-size: 4.0rem; } }
  @media screen and (max-width: 520px) {
    .pc40px {
      font-size: 2.6rem; } }

.pc36px {
  font-size: 3.6rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc36px {
      font-size: 2.8rem; } }
  @media screen and (max-width: 520px) {
    .pc36px {
      font-size: 2.6rem; } }

.pc32px {
  font-size: 3.2rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc32px {
      font-size: 2.8rem; } }
  @media screen and (max-width: 520px) {
    .pc32px {
      font-size: 2.6rem; } }

.pc30px {
  font-size: 3.0rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc30px {
      font-size: 2.6rem; } }
  @media screen and (max-width: 520px) {
    .pc30px {
      font-size: 2.4rem; } }

.pc28px {
  font-size: 2.8rem;
  line-height: 2.0; }
  @media screen and (max-width: 960px) {
    .pc28px {
      font-size: 2.4rem; } }
  @media screen and (max-width: 520px) {
    .pc28px {
      font-size: 1.8rem;
      line-height: 1.5; } }

.pc24px {
  font-size: 2.4rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc24px {
      font-size: 2.0rem; } }
  @media screen and (max-width: 520px) {
    .pc24px {
      font-size: 1.8rem; } }

.pc22px {
  font-size: 2.2rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc22px {
      font-size: 2.0rem; } }
  @media screen and (max-width: 520px) {
    .pc22px {
      font-size: 1.6rem; } }

.pc20px {
  font-size: 2.0rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc20px {
      font-size: 1.8rem; } }
  @media screen and (max-width: 520px) {
    .pc20px {
      font-size: 1.6rem; } }

.pc18px {
  font-size: 1.8rem;
  line-height: 1.75; }
  @media screen and (max-width: 960px) {
    .pc18px {
      font-size: 1.5rem; } }
  @media screen and (max-width: 520px) {
    .pc18px {
      font-size: 1.4rem; } }

.pc16px {
  font-size: 1.6rem;
  line-height: 2.0; }
  @media screen and (max-width: 960px) {
    .pc16px {
      font-size: 1.4rem; } }
  @media screen and (max-width: 520px) {
    .pc16px {
      font-size: 1.3rem; } }

.pc15px {
  font-size: 1.5rem;
  line-height: 2.0; }
  @media screen and (max-width: 960px) {
    .pc15px {
      font-size: 1.3rem; } }
  @media screen and (max-width: 520px) {
    .pc15px {
      font-size: 1.3rem; } }

.pc14px {
  font-size: 1.4rem;
  line-height: 2.0; }
  @media screen and (max-width: 960px) {
    .pc14px {
      font-size: 1.2rem; } }

.pc13px {
  font-size: 1.3rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc13px {
      font-size: 1.1rem; } }

.pc12px {
  font-size: 1.2rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc12px {
      font-size: 1.0rem; } }

.pc10px {
  font-size: 1.0rem;
  line-height: 1.5; }
  @media screen and (max-width: 960px) {
    .pc10px {
      font-size: 1.0rem; } }

.justify {
  text-align: justify; }

rt {
  font-size: 0.8rem; }
  @media screen and (max-width: 520px) {
    rt {
      font-size: 0.4rem; } }

/*
.en{
  font-family: $fontFamily-En;
}*/
/*====================
 *   MENU 
 *====================*/
.menuBox {
  width: 70px;
  height: 100px;
  min-height: 100%;
  background: #c8331a;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100; }
  @media screen and (max-width: 960px) {
    .menuBox {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      height: 80px;
      min-height: 0;
      background: #c8331a;
      top: 0;
      left: 0; } }

.menuLogo {
  width: 50%;
  margin: 12px auto 0;
  text-align: center; }

@media screen and (max-width: 960px) {
  .menuLogoSp {
    width: 25%;
    margin: 15px 65% 0 25px; } }

@media screen and (max-width: 520px) {
  .menuLogoSp {
    width: 33%;
    margin: 20px 50% 0 10px; } }

.mvMenuBtn {
  width: 35px;
  margin: 30vh auto;
  -webkit-transition: all  0.3s ease;
  transition: all  0.3s ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer; }
  @media screen and (max-width: 960px) {
    .mvMenuBtn {
      margin: 5px 0 0 auto; } }
  .mvMenuBtn:hover {
    opacity: 0.5; }

#body {
  margin-right: 3.25%;
  margin-left: 3.25%;
  margin-top: 40px;
  color: #fff; }
  @media screen and (max-width: 960px) {
    #body {
      margin: 20px 10px 0 0; } }

span.menu-control-open,
span.menu-control-close {
  color: #fff;
  margin-left: 80px;
  margin-top: 10px;
  cursor: pointer; }

span.menu-control-close {
  width: 70px;
  margin: 0 0 0 90%;
  text-align: right;
  padding: 25px 40px  0 0;
  display: inline-block;
  -webkit-transition: all  0.3s ease;
  transition: all  0.3s ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  color: #c8331a; }
  @media screen and (max-width: 520px) {
    span.menu-control-close {
      width: 8%;
      margin: 20px 5% 0 87%;
      padding: 0; } }
  span.menu-control-close:hover {
    opacity: 0.5; }

.menu {
  position: absolute;
  right: 0;
  top: 0;
  background-color: #c8331a;
  color: #fff;
  height: 100vh;
  width: 50vw;
  opacity: 0;
  -webkit-transition: all 0.4s ease-in;
  transition: all 0.4s ease-in;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 200;
  pointer-events: none; }
  @media screen and (max-width: 960px) {
    .menu {
      width: 100vw; } }

.menu--active .menu {
  width: 50vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  opacity: 1.0;
  pointer-events: auto; }
  @media screen and (max-width: 960px) {
    .menu--active .menu {
      width: 100vw; } }

.menu-inner {
  width: 100%; }

nav {
  margin-left: 80px; }
  @media screen and (max-width: 960px) {
    nav {
      margin-left: 40px; } }
  nav .menu-innerLogo {
    width: 40%;
    margin: 0 0 50px 0; }
    @media screen and (max-width: 960px) {
      nav .menu-innerLogo {
        width: 40%;
        margin: 0 0 50px 0; } }
    @media screen and (max-width: 520px) {
      nav .menu-innerLogo {
        width: 60%;
        margin: 0 0 50px 0; } }
  nav ul {
    margin: 50px 0 0 0; }
  nav li {
    margin-top: 20px;
    list-style: none; }
    @media screen and (max-width: 520px) {
      nav li {
        margin-top: 15px; } }
    nav li a {
      color: #fff;
      font-size: 3.0rem; }
  @media screen and (max-width: 520px) {
    nav #menuClick li a {
      font-size: 2.0rem; } }
  nav .menuIg a img {
    width: 2.8rem; }
    @media screen and (max-width: 520px) {
      nav .menuIg a img {
        width: 2.2rem; } }

.menuNorengaiBox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 58%;
  margin: 120px 0 0 0; }
  @media screen and (max-width: 520px) {
    .menuNorengaiBox {
      width: 80%; } }

.menuNorengai {
  width: 12.6%;
  margin: 0 5% 0 0; }

/*====================
 *  FOOTER
 *====================*/
.footer {
  text-align: center;
  background: #c8331a;
  color: #fff;
  padding: 80px 0 30px 0;
  margin: 120px 0 0 0; }
  @media screen and (max-width: 520px) {
    .footer {
      margin: 60px 0 0 0; } }

.footerInner {
  width: 80.8%;
  margin: 0 12.5% 0 6.7%; }
  @media screen and (max-width: 960px) {
    .footerInner {
      width: 90%;
      margin: 0 auto; } }

.footerLogo {
  width: 30%;
  margin: 0 auto; }
  @media screen and (max-width: 520px) {
    .footerLogo {
      width: 50%; } }

.footerName {
  margin: 80px 0 0 0 !important;
  font-family: "Shin Maru Go Bold", "YuGothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Meiryo", "MS PGothic";
  font-weight: bold;
  margin: 0 auto; }
  @media screen and (max-width: 960px) {
    .footerName {
      margin: 60px 0 0 0; } }
  @media screen and (max-width: 520px) {
    .footerName {
      margin: 40px 0 0 0; } }

.footerAddress {
  margin: 5px 0 0 0; }

.footerCompany {
  margin: 40px 0 0 0; }
  @media screen and (max-width: 520px) {
    .footerCompany {
      margin: 20px 0 0 0; } }
  .footerCompany a {
    color: #fff;
    text-decoration: underline; }

.footerContactTitle {
  margin: 50px 0 0 0;
  font-family: "Shin Maru Go Bold", "YuGothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Meiryo", "MS PGothic";
  font-weight: bold; }

.footerContactNote {
  margin: 5px 0 0 0; }

.footerCopyright {
  margin: 100px 0 0 0; }

/*====================
 * COMMON
 *====================*/
section {
  padding: 80px 0; }
  @media screen and (max-width: 520px) {
    section {
      padding: 40px 0; } }

.sectionTitle {
  text-align: center;
  font-family: "Shin Maru Go Bold", "YuGothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Meiryo", "MS PGothic";
  font-weight: bold; }

.btn a {
  display: block;
  width: 270px;
  height: 50px;
  margin: 80px auto;
  text-align: center;
  line-height: 50px;
  background-color: #c8331a;
  border: 1px solid #c8331a;
  color: #fff;
  border-radius: 25px;
  text-decoration: none; }
  @media screen and (max-width: 960px) {
    .btn a {
      margin: 50px auto 0; } }
  @media screen and (max-width: 520px) {
    .btn a {
      width: 240px;
      margin: 20px auto 0;
      height: 50px;
      line-height: 50px; } }

.btnLine a {
  background-color: none;
  border: 1px solid #fff;
  color: #fff;
  margin: 18px auto 0; }

/*====================
 * TOP
 *====================*/
.topFirstView {
  z-index: 10;
  width: 100%;
  height: 740px;
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 100%;
  position: relative;
  left: 0;
  top: 0;
  overflow: hidden;
  background-image: url("./images/mv.jpg"); }
  @media screen and (max-width: 960px) {
    .topFirstView {
      background-image: url("./images/mvTb.jpg");
      background-position: 50% 0%;
      height: 100%;
      background-size: cover; } }
  @media screen and (max-width: 520px) {
    .topFirstView {
      background-image: url("./images/mvSp.jpg"); } }

.topFirstViewMv {
  z-index: 10;
  width: 100%;
  height: auto;
  max-height: 740px;
  background-position: top left;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0;
  background-image: url("./images/mv.jpg"); }
  @media screen and (max-width: 960px) {
    .topFirstViewMv {
      background-image: url("./images/mvTb.jpg");
      background-position: 50% 0%; } }
  @media screen and (max-width: 520px) {
    .topFirstViewMv {
      background-image: url("./images/mvSp.jpg"); } }

.topFirstViewMvTitle {
  position: absolute;
  width: 31%;
  margin: 0;
  left: 1.5%;
  top: 10px;
  z-index: 15; }
  @media screen and (max-width: 960px) {
    .topFirstViewMvTitle {
      width: 87%;
      margin: 0 auto;
      left: 0;
      right: 0;
      top: auto;
      bottom: 3vh; } }
  @media screen and (max-width: 520px) {
    .topFirstViewMvTitle {
      width: 87%;
      margin: 0 auto;
      left: 0;
      right: 0;
      top: auto;
      bottom: 3vh; } }

.topFirstViewMvPop01 {
  position: absolute;
  z-index: 15;
  width: 23%;
  left: 3%;
  top: 165px; }
  @media screen and (max-width: 960px) {
    .topFirstViewMvPop01 {
      top: 228px;
      left: 8%; } }
  @media screen and (max-width: 520px) {
    .topFirstViewMvPop01 {
      width: 36%;
      left: -1%;
      top: 17vh; } }

.topFirstViewMvPop02 {
  position: absolute;
  z-index: 15;
  width: 24%;
  left: 65%;
  top: 125px; }
  @media screen and (max-width: 960px) {
    .topFirstViewMvPop02 {
      width: 26%;
      top: 246px;
      left: 65%; } }
  @media screen and (max-width: 520px) {
    .topFirstViewMvPop02 {
      width: 40%;
      left: auto;
      right: -2%;
      top: 18vh; } }

.delay01 {
  -webkit-animation-name: delayAnime01;
          animation-name: delayAnime01;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0; }
  @media screen and (max-width: 960px) {
    .delay01 {
      -webkit-animation-delay: 0.4s;
              animation-delay: 0.4s; } }

@-webkit-keyframes delayAnime01 {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.3);
            transform: scale(1.3); }
  20% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  40% {
    opacity: 1;
    -webkit-transform: scale(0.95);
            transform: scale(0.95); }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03); }
  80% {
    opacity: 1;
    -webkit-transform: scale(0.97);
            transform: scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes delayAnime01 {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.3);
            transform: scale(1.3); }
  20% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  40% {
    opacity: 1;
    -webkit-transform: scale(0.95);
            transform: scale(0.95); }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03); }
  80% {
    opacity: 1;
    -webkit-transform: scale(0.97);
            transform: scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

.delay02 {
  -webkit-animation-name: delayAnime02;
          animation-name: delayAnime02;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0; }
  @media screen and (max-width: 960px) {
    .delay02 {
      -webkit-animation-delay: 0.8s;
              animation-delay: 0.8s; } }

@-webkit-keyframes delayAnime02 {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.3);
            transform: scale(1.3); }
  20% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  40% {
    opacity: 1;
    -webkit-transform: scale(0.95);
            transform: scale(0.95); }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03); }
  80% {
    opacity: 1;
    -webkit-transform: scale(0.97);
            transform: scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes delayAnime02 {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.3);
            transform: scale(1.3); }
  20% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  40% {
    opacity: 1;
    -webkit-transform: scale(0.95);
            transform: scale(0.95); }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03); }
  80% {
    opacity: 1;
    -webkit-transform: scale(0.97);
            transform: scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

.delay03 {
  -webkit-animation-name: delayAnime03;
          animation-name: delayAnime03;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0; }
  @media screen and (max-width: 960px) {
    .delay03 {
      -webkit-animation-delay: 1.2s;
              animation-delay: 1.2s; } }

@-webkit-keyframes delayAnime03 {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.3);
            transform: scale(1.3); }
  20% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  40% {
    opacity: 1;
    -webkit-transform: scale(0.95);
            transform: scale(0.95); }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03); }
  80% {
    opacity: 1;
    -webkit-transform: scale(0.97);
            transform: scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes delayAnime03 {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.3);
            transform: scale(1.3); }
  20% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  40% {
    opacity: 1;
    -webkit-transform: scale(0.95);
            transform: scale(0.95); }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03); }
  80% {
    opacity: 1;
    -webkit-transform: scale(0.97);
            transform: scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

.delay04 {
  -webkit-animation-name: delayAnime03;
          animation-name: delayAnime03;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0; }
  @media screen and (max-width: 960px) {
    .delay04 {
      -webkit-animation-delay: 0.1s;
              animation-delay: 0.1s; } }

@keyframes delayAnime03 {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.3);
            transform: scale(1.3); }
  20% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  40% {
    opacity: 1;
    -webkit-transform: scale(0.95);
            transform: scale(0.95); }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03); }
  80% {
    opacity: 1;
    -webkit-transform: scale(0.97);
            transform: scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

.snsBanner {
  width: 80.8%;
  margin: 0 12.5% 0 6.7%;
  padding: 100px 0 0 0; }
  @media screen and (max-width: 960px) {
    .snsBanner {
      width: 90%;
      margin: 0 auto; } }

.snsBannerBox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  @media screen and (max-width: 520px) {
    .snsBannerBox {
      display: block; } }

.snsBannerLine {
  width: 47.5%;
  margin: 0 5.0% 0 0; }
  @media screen and (max-width: 520px) {
    .snsBannerLine {
      margin: 0 0 0 0;
      width: 100%; } }

.snsBannerInsta {
  width: 47.5%; }
  @media screen and (max-width: 520px) {
    .snsBannerInsta {
      width: 100%;
      margin: 20px 0 0 0; } }

.topAbout {
  width: 80.8%;
  margin: 0 12.5% 0 6.7%; }
  @media screen and (max-width: 960px) {
    .topAbout {
      width: 90%;
      margin: 50px auto 0; } }

.topAboutBox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  width: 100%;
  padding: 160px 0 80px 0; }
  @media screen and (max-width: 960px) {
    .topAboutBox {
      display: block;
      padding: 0;
      margin: 0 auto; } }
  @media screen and (max-width: 520px) {
    .topAboutBox {
      display: block; } }

.topAboutImage {
  width: 50%;
  margin: 0 0 0 0; }
  @media screen and (max-width: 960px) {
    .topAboutImage {
      width: 90%;
      margin: 40px auto 0; } }

.topAboutTextBox {
  width: 42%;
  text-align: center;
  margin: 20px 0 0 8%; }
  @media screen and (max-width: 960px) {
    .topAboutTextBox {
      width: 90%;
      margin: 0 auto; } }

.topAboutTextHeading {
  font-family: "Shin Maru Go Bold", "YuGothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Meiryo", "MS PGothic";
  font-weight: bold;
  text-align: center; }

.topAboutTextWrap {
  margin: 60px auto 0;
  width: 100%;
  text-align: center; }
  @media screen and (max-width: 520px) {
    .topAboutTextWrap {
      margin: 30px auto 0; } }

.topAboutText {
  margin: 30px 0 0 0;
  text-align: center; }
  @media screen and (max-width: 520px) {
    .topAboutText {
      margin: 15px 0 0 0; } }

.topShops {
  width: 80.8%;
  margin: 0 12.5% 0 6.7%; }
  @media screen and (max-width: 520px) {
    .topShops {
      width: 90%;
      margin: 0 auto; } }

.topShopsBox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 140px 0 0 0; }
  @media screen and (max-width: 960px) {
    .topShopsBox {
      margin: 80px 0 0 0; } }
  @media screen and (max-width: 520px) {
    .topShopsBox {
      display: block;
      margin: 50px 0 0 0; } }

.topShops01 {
  width: 47%;
  margin: 0 6% 0 0; }
  @media screen and (max-width: 520px) {
    .topShops01 {
      width: 100%;
      margin: 20px 0 0 0; } }

.topShops02 {
  width: 47%; }
  @media screen and (max-width: 520px) {
    .topShops02 {
      width: 100%;
      margin: 80px 0 0 0; } }

.topShopsTitle {
  width: 80%;
  margin: 0 auto; }

.topShopsImage {
  margin: 80px 0 0 0; }
  @media screen and (max-width: 960px) {
    .topShopsImage {
      margin: 60px 0 0 0; } }
  @media screen and (max-width: 520px) {
    .topShopsImage {
      margin: 20px 0 0 0; } }

.topAccess {
  width: 80.8%;
  margin: 0 12.5% 0 6.7%; }
  @media screen and (max-width: 960px) {
    .topAccess {
      width: 90%;
      margin: 0 auto; } }

.topAccessAddress {
  margin: 80px 0 0 0;
  text-align: center; }
  @media screen and (max-width: 520px) {
    .topAccessAddress {
      margin: 20px 0 0 0; } }

.topAccessMap {
  margin: 30px 0 0 0;
  width: 100%; }
  .topAccessMap iframe {
    width: 100%;
    height: 450px;
    border-radius: 25px;
    border: 2px solid #c8331a; }

/*====================
 * SHOPS
 *====================*/
.shopsHeader {
  width: 80.8%;
  margin: 0 12.5% 0 6.7%;
  padding: 0; }
  @media screen and (max-width: 520px) {
    .shopsHeader {
      width: 90%;
      margin: 80px auto 0; } }

.shopsHeaderImage {
  width: 52%;
  margin: -20px auto 0; }
  @media screen and (max-width: 520px) {
    .shopsHeaderImage {
      width: 80%; } }

.shopsHeaderLogo {
  width: 29%;
  margin: 125px auto 0; }
  @media screen and (max-width: 520px) {
    .shopsHeaderLogo {
      width: 60%;
      margin: 60px auto 0; } }

.shopsInfo {
  width: 80.8%;
  margin: 80px 12.5% 0 6.7%;
  padding: 0 0 80px 0;
  text-align: center; }
  @media screen and (max-width: 520px) {
    .shopsInfo {
      width: 90%;
      margin: 80px auto 0; } }

.shopsInfoBox {
  width: 78%;
  margin: 20px auto 0;
  border: 1px solid #c8331a;
  border-radius: 25px;
  padding: 35px 12% 35px; }
  @media screen and (max-width: 520px) {
    .shopsInfoBox {
      width: 90%;
      padding: 20px 5% 20px; } }

.shopsInfoText {
  margin: 35px 0 0 0; }
  @media screen and (max-width: 520px) {
    .shopsInfoText {
      margin: 15px 0 0 0; } }
  .shopsInfoText a {
    color: #c8331a; }

.shopsInfoMenuBox {
  margin: 75px 0 0 0;
  border-top: 1px solid #c8331a; }
  @media screen and (max-width: 520px) {
    .shopsInfoMenuBox {
      margin: 50px 0 0 0; } }

.shopsInfoMenuWrap {
  margin: 75px 0 0 0; }
  @media screen and (max-width: 520px) {
    .shopsInfoMenuWrap {
      margin: 50px 0 0 0; } }

.shopsInfoMenu {
  margin: 40px 0 0 0; }
  @media screen and (max-width: 520px) {
    .shopsInfoMenu {
      margin: 15px 0 0 0; } }
