﻿* {
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

*, ::before, ::after {
  background-repeat: no-repeat;
  zoom: 1
}

::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit
}

html, body {
  font-size: 62.5%;
  -webkit-overflow-scrolling: touch
}

html {
  overflow-y: scroll;
  cursor: default
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  font-weight: 700;
  line-height: 1em
}

ol, ul, li {
  list-style: none;
  zoom: normal
}

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

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

th {
  font-weight: normal
}

td, th {
  padding: 0
}

blockquote {
  quotes: none
}

blockquote:before, blockquote:after {
  content: "";
  content: none
}

a {
  color: inherit;
  background-color: rgba(0, 0, 0, 0);
  text-decoration: none;
  -webkit-text-decoration-skip: objects;
  cursor: pointer
}

a:active, a:hover {
  outline-width: 0
}

a:focus, *:focus {
  outline: none
}

img {
  border-style: none;
  vertical-align: bottom;
}

[type=text], [type=tel], [type=email], [type=date], [type=number], [type=submit], [type=button], button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0
}

input, select {
  vertical-align: middle
}

select {
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

select::-ms-expand {
  display: none
}

button, select {
  text-transform: none
}

button, [type=button], [type=reset], [type=submit], [role=button] {
  cursor: pointer
}

@font-face {
  font-family: "IBMPlexSansJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/IBMPlexSansJP/IBMPlexSansJP-Medium.woff2") format("woff2"), url("../fonts/IBMPlexSansJP/IBMPlexSansJP-Medium.woff") format("woff")
}

@font-face {
  font-family: "IBMPlexSansJP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/IBMPlexSansJP/IBMPlexSansJP-SemiBold.woff2") format("woff2"), url("../fonts/IBMPlexSansJP/IBMPlexSansJP-SemiBold.woff") format("woff")
}

@font-face {
  font-family: "IBMPlexSansJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/IBMPlexSansJP/IBMPlexSansJP-Bold.woff2") format("woff2"), url("../fonts/IBMPlexSansJP/IBMPlexSansJP-Bold.woff") format("woff")
}

@font-face {
  font-family: "IBMPlexSansJPTate";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/IBMPlexSansJPTate/IBMPlexSansJP-Bold.woff2") format("woff2"), url("../fonts/IBMPlexSansJPTate/IBMPlexSansJP-Bold.woff") format("woff")
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NotoSansJP/NotoSansJP-Black.woff2") format("woff2"), url("../fonts/NotoSansJP/NotoSansJP-Black.woff") format("woff")
}

@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/ZenKakuGothicNew/ZenKakuGothicNew-Bold.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew/ZenKakuGothicNew-Bold.woff") format("woff")
}

html {
  font-size: 62.5%
}

body {
  width: 100%;
  height: 100%;
  color: #241c15;
  font-family: "IBMPlexSansJP", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .1em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  overflow-x: hidden
}

@media screen and (min-width: 751px) {
  body {
    font-size: 1.25vw
  }
}

@media screen and (min-width: 1441px) {
  body {
    font-size: 1.8em
  }
}

a.on--opa {
  display: inline-block;
  transition: opacity .3s
}

a.on--opa:hover {
  opacity: .7
}

.on--popup {
  position: relative;
  display: block
}

.on--popup:after {
  content: "";
  position: absolute;
  right: 1.0666666667vw;
  bottom: 1.0666666667vw;
  display: inline-block;
  width: 4.9333333333vw;
  height: 4.9333333333vw;
  background-image: url(../img/common/popup.svg);
  background-size: contain;
  z-index: 1
}

@media screen and (min-width: 751px) {
  .on--popup:after {
    right: .5555555556vw;
    bottom: .5555555556vw;
    width: 2.0833333333vw;
    height: 2.0833333333vw
  }
}

@media screen and (min-width: 1441px) {
  .on--popup:after {
    right: 8px;
    bottom: 8px;
    width: 30px;
    height: 30px
  }
}

.desc p {
  line-height: 1.6em
}

.desc p:nth-child(n+2) {
  margin-top: 1em
}

@media screen and (max-width: 750px) {
  .none--sp {
    display: none !important
  }

  .br--pc {
    display: none
  }

  .br--sp {
    display: block
  }
}

@media screen and (min-width: 751px) {
  .desc p {
    line-height: 1.75em
  }

  .none--pc {
    display: none !important
  }

  .br--pc {
    display: block
  }

  .br--sp {
    display: none
  }
}

.img--fit {
  width: 100%;
  max-width: 100%;
  height: auto
}

.img--scale {
  width: 100%;
  height: auto;
  overflow: hidden
}

.img--scale img {
  width: 100%;
  transition-duration: .3s
}

.size-auto, .size-full, .size-large, .size-medium, .size-thumbnail {
  max-width: 100%;
  height: auto
}

.youtube, .ggmap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden
}

.youtube iframe, .ggmap iframe, .ggmap object, .ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.lightboxOverlay {
  width: 100% !important
}

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

@keyframes shine {
  100% {
    left: 100%
  }
}

@keyframes expansion {
  0% {
    opacity: 0;
    transform: scale(0);
    transition: all .3s ease-in-out .3s
  }

  100% {
    opacity: 1;
    transform: scale(1)
  }
}

@keyframes fuwafuwa {
  0% {
    transform: translateX(-50%) translateY(0)
  }

  50% {
    transform: translateX(-50%) translateY(-1em)
  }

  100% {
    transform: translateX(-50%) translateY(0)
  }
}

@keyframes yurayura {
  0% {
    transform: rotate(5deg)
  }

  50% {
    transform: rotate(-5deg)
  }

  100% {
    transform: rotate(5deg)
  }
}

.header-top {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0 3.3333333333vw;
  width: 96vw;
  height: 16vw;
  background-color: #f6f6ea
}

.header-top:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.3333333333vw;
  height: 100%;
  background-color: #241c15
}

.header-top:after {
  content: "";
  position: absolute;
  top: 4.6666666667vw;
  left: 4.6666666667vw;
  display: inline-block;
  width: 16.8vw;
  height: 8.5333333333vw;
  background-image: url(../img/common/character-og.svg);
  background-size: contain;
  z-index: 1
}

.header-logo {
  margin: 0 auto;
  width: 47.7333333333vw
}

.header-logo a {
  display: block
}

@media screen and (max-width: 750px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 8888
  }

  .header-box {
    display: none
  }
}

@media screen and (min-width: 751px) {
  .header-top {
    display: none
  }
}

.container {
  position: relative
}

.container:before, .container:after {
  content: "";
  position: fixed;
  top: 0;
  width: 50%;
  height: 100%;
  background-repeat: repeat;
  background-attachment: fixed;
  z-index: -1
}

.container:before {
  left: 0;
  background-image: url(../img/common/bg-og.jpg);
  background-image: image-set(url(../img/common/bg-og.jpg) 1x, url(../img/common/bg-og-2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/common/bg-og.jpg) 1x, url(../img/common/bg-og-2x.jpg) 2x)
}

.container:after {
  right: 0;
  background-image: url(../img/common/bg-ye.jpg);
  background-image: image-set(url(../img/common/bg-ye.jpg) 1x, url(../img/common/bg-ye-2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/common/bg-ye.jpg) 1x, url(../img/common/bg-ye-2x.jpg) 2x)
}

.container-main {
  position: relative;
  margin: 0 auto;
  padding-top: 16vw;
  width: 96vw;
  background-color: #f6f6ea;
  box-shadow: 0px 0px 6.4px 3.6px rgba(8, 4, 4, .14)
}

@media screen and (max-width: 750px) {
  .container-left {
    display: none
  }
}

@media screen and (min-width: 751px) {
  .container {
    display: flex;
    align-items: flex-start
  }

  .container-main {
    margin: 0;
    padding: 0;
    width: 44.4444444444vw;
    order: 2;
    z-index: 2
  }

  .container-left, .container-right {
    position: relative;
    width: calc((100% - 44.4444444444vw)/2);
    height: 100%
  }

  .container-left {
    order: 1;
    z-index: 1
  }

  .container-left:before {
    content: "";
    position: fixed;
    top: 15.1%;
    right: calc(50% + 23.6111111111vw);
    display: inline-block;
    width: 16.0416666667vw;
    height: 9.4444444444vw;
    background-image: url(../img/common/silhouette-l.svg);
    background-size: contain
  }

  .container-right {
    order: 3
  }

  .container-right:before {
    content: "";
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    background-image: url(../img/common/bg-og.jpg);
    background-image: image-set(url(../img/common/bg-og.jpg) 1x, url(../img/common/bg-og-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/common/bg-og.jpg) 1x, url(../img/common/bg-og-2x.jpg) 2x);
    background-repeat: repeat;
    background-attachment: fixed
  }
}

@media screen and (min-width: 1441px) {
  .container-main {
    width: 640px
  }

  .container-left, .container-right {
    width: calc((100% - 640px)/2)
  }

  .container-left:after {
    right: calc(50% + 340px);
    width: 231px;
    height: 136px
  }
}

.container-left-main {
  position: fixed;
  top: 10%;
  right: calc(50% + 32.6388888889vw);
  width: 18.75vw;
  height: 28.4722222222vw;
  z-index: 0
}

.container-left-main:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 18.75vw;
  height: 28.4722222222vw;
  background-image: url(../img/common/main.jpg);
  background-image: image-set(url(../img/common/main.jpg) 1x, url(../img/common/main-2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/common/main.jpg) 1x, url(../img/common/main-2x.jpg) 2x);
  background-size: cover;
  border-color: #241c15;
  border-style: solid;
  border-width: .2777777778vw;
  animation-name: fadeIn;
  animation-delay: 250ms;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0
}

.container-left-main:after {
  content: "";
  position: absolute;
  top: -2vw;
  right: -1vw;
  display: inline-block;
  width: 9.7916666667vw;
  height: 7.7083333333vw;
  background-image: url(../img/common/character-gr.svg);
  background-size: contain;
  z-index: 1
}

.container-left-balloon {
  position: fixed;
  top: 13.9%;
  right: calc(50% + 25vw);
  width: 6.3194444444vw;
  z-index: 2
}

.container-left-en {
  position: fixed;
  left: .2em;
  bottom: 13.1944444444vw;
  color: #fff;
  font-family: "Anton", sans-serif;
  font-size: 5vw;
  font-weight: 400;
  transform: rotate(-2.8deg)
}

.container-left-staff {
  position: fixed;
  right: calc(50% + 20.8333333333vw);
  bottom: 0;
  width: 30.5555555556vw;
  height: 21.1111111111vw;
  animation-name: fadeIn;
  animation-delay: 2.5s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0
}

@media screen and (min-width: 1441px) {
  .container-left-main {
    right: calc(50% + 470px);
    width: 270px;
    height: 410px
  }

  .container-left-main:before {
    width: 270px;
    height: 410px;
    border-width: 4px
  }

  .container-left-main:after {
    top: -30px;
    right: -15px;
    width: 141px;
    height: 111px
  }

  .container-left-balloon {
    right: calc(50% + 360px);
    width: 91px
  }

  .container-left-en {
    bottom: 190px;
    font-size: 72px;
    font-size: 7.2rem
  }

  .container-left-staff {
    right: calc(50% + 300px);
    width: 440px;
    height: 304px
  }
}

.container-right-en {
  position: fixed;
  top: 1.7361111111vw;
  right: .2em;
  color: #fff;
  font-family: "Anton", sans-serif;
  font-size: 5vw;
  font-weight: 400;
  transform: rotate(-2.8deg);
  z-index: -1
}

.container-right-sub {
  position: fixed;
  top: 50%;
  left: calc(50% + 40.2777777778vw);
  width: 14.5833333333vw;
  height: 31.9444444444vw;
  background-image: url(../img/common/sub.jpg);
  background-image: image-set(url(../img/common/sub.jpg) 1x, url(../img/common/sub-2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/common/sub.jpg) 1x, url(../img/common/sub-2x.jpg) 2x);
  background-size: cover;
  border-color: #241c15;
  border-style: solid;
  border-width: .2777777778vw;
  animation-name: fadeIn;
  animation-delay: 1.5s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
  transform: translateY(-50%)
}

.container-right-sub:before {
  content: "";
  position: absolute;
  top: -4.5138888889vw;
  left: 2.0833333333vw;
  display: inline-block;
  width: 16.1111111111vw;
  height: 9.5138888889vw;
  background-image: url(../img/common/silhouette-t.svg);
  background-size: contain;
  z-index: -1
}

.container-right-character {
  position: fixed;
  left: calc(50% + 23.6111111111vw);
  bottom: .2em;
  width: 14.0972222222vw;
  height: 8.6111111111vw;
  background-image: url(../img/common/character-yp.svg);
  background-size: contain
}

.container-right-character:before {
  content: "";
  position: absolute;
  top: -9.7222222222vw;
  right: 3.4722222222vw;
  display: inline-block;
  width: 15.9722222222vw;
  height: 8.3333333333vw;
  background-image: url(../img/common/silhouette-b.svg);
  background-size: contain;
  z-index: -1
}

@media screen and (min-width: 1441px) {
  .container-right-en {
    top: 25px;
    font-size: 72px;
    font-size: 7.2rem
  }

  .container-right-sub {
    left: calc(50% + 580px);
    width: 210px;
    height: 456px;
    border-width: 4px
  }

  .container-right-sub:before {
    top: -65px;
    left: 30px;
    width: 232px;
    height: 137px
  }

  .container-right-character {
    left: calc(50% + 340px);
    width: 203px;
    height: 124px
  }

  .container-right-character:before {
    top: -140px;
    right: 50px;
    width: 230px;
    height: 120px
  }
}

@media screen and (max-width: 750px) {
  .container-right-en, .container-right-sub, .container-right-character {
    display: none
  }
}

.footer {
  position: relative;
  padding: 6.6666666667vw 5.3333333333vw 5.3333333333vw 5.3333333333vw;
  background-color: #241c15
}

.footer:before {
  content: "";
  position: absolute;
  top: -4.9333333333vw;
  left: 50%;
  display: inline-block;
  width: 100%;
  height: 10.5333333333vw;
  background-image: url(../img/footer/frame_sp.svg);
  background-size: contain;
  transform: translateX(-50%);
  background-image: url(../img/footer/frame.svg)
}

.footer-logo {
  margin: 0 auto 4vw auto;
  width: 45.6vw
}

.footer-logo a {
  display: block
}

.footer-policy {
  margin-bottom: 9.3333333333vw;
  text-align: center
}

.footer-policy a {
  position: relative;
  display: inline-block;
  padding: .3em;
  color: #fff;
  font-size: 3.2vw
}

.footer-copy {
  color: #999;
  font-size: 2.6666666667vw;
  font-weight: 700
}
.footer-sns {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 5vw;
}
.footer-sns .footer-youtube {
  width: 9vw;
  margin: 0 2vw;
}
.footer-sns .footer-insta {
  width: 6.5vw;
  margin: 0 2vw;
}

@media screen and (min-width: 751px) {
  .footer {
    padding: 4.1666666667vw 0 3.125vw 0
  }

  .footer:before {
    top: -2.4305555556vw;
    height: 4.8611111111vw;
    background-image: url(../img/footer/frame.svg)
  }

  .footer-logo {
    margin-bottom: 1.7361111111vw;
    width: 16.6666666667vw
  }

  .footer-policy {
    margin-bottom: 2.0833333333vw
  }

  .footer-policy a {
    font-size: 1.25vw;
    transition: color .3s
  }

  .footer-policy a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0%;
    height: .0694444444vw;
    background-color: #5ebdec;
    transform: translateX(-50%);
    transition: .3s
  }

  .footer-policy a:hover {
    color: #5ebdec
  }

  .footer-policy a:hover:after {
    width: 100%
  }

  .footer-copy {
    font-size: .8333333333vw;
    text-align: center
  }
  .footer-sns {
    margin: 0 0 3vw;
  }
  .footer-sns .footer-youtube {
    width: 5vw;
    margin: 0 1vw;
  }
  .footer-sns .footer-insta {
    width: 3.5vw;
    margin: 0 1vw;
  }
}

@media screen and (min-width: 1441px) {
  .footer {
    padding: 60px 0 45px 0
  }

  .footer:before {
    top: -35px;
    height: 70px
  }

  .footer-logo {
    margin-bottom: 25px;
    width: 240px
  }

  .footer-policy {
    margin-bottom: 30px
  }

  .footer-policy a {
    font-size: 18px;
    font-size: 1.8rem
  }

  .footer-policy a:after {
    height: 1px
  }

  .footer-copy {
    font-size: 12px;
    font-size: 1.2rem
  }
  .footer-sns {
    margin: 0 0 35px;
  }
  .footer-sns .footer-youtube {
    width: 60px;
    margin: 0 10px;
  }
  .footer-sns .footer-insta {
    width: 45px;
    margin: 0 10px;
  }
}

.box {
  position: relative;
  margin-left: auto;
  padding: 9.3333333333vw 4.6666666667vw 42.6666666667vw 4.6666666667vw;
  width: 56vw;
  background-color: #fff;
  border-radius: .6666666667vw;
  z-index: 2
}

.box:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.3333333333vw;
  height: 100%;
  background-color: #241c15;
  border-radius: .6vw 0 0 .6vw
}

.box:after {
  content: "";
  position: absolute;
  top: -5.3333333333vw;
  left: 14.6666666667vw;
  display: inline-block;
  width: 21.8666666667vw;
  height: 11.0666666667vw;
  background-image: url(../img/common/character-og.svg);
  background-size: contain;
  transform-origin: center bottom;
  animation: yurayura 2s linear infinite;
  z-index: 1
}

.logo {
  margin: 0 auto;
  width: 40vw
}

@media screen and (min-width: 751px) {
  .box {
    position: fixed;
    top: 10.0694444444vw !important;
    left: calc(50% + 25vw);
    margin: 0;
    padding: 2.7777777778vw 1.3888888889vw .3472222222vw 1.3888888889vw;
    width: 19.4444444444vw;
    background-color: #fff;
    border-radius: .3472222222vw;
    z-index: 1
  }

  .box:before {
    width: .625vw;
    border-radius: .3125vw 0 0 .3125vw
  }

  .box:after {
    top: -4.1666666667vw;
    left: 3.8194444444vw;
    width: 10.1388888889vw;
    height: 5.2083333333vw
  }

  .logo {
    width: 12.9861111111vw
  }
}

@media screen and (min-width: 1441px) {
  .box {
    top: 145px !important;
    left: calc(50% + 360px);
    padding: 40px 20px 5px 20px;
    width: 280px;
    border-radius: 5px;
    right: calc((100% - 640px)/2/2)
  }

  .box:before {
    width: 9px;
    border-radius: 4.5px 0 0 4.5px
  }

  .box:after {
    top: -60px;
    left: 55px;
    width: 146px;
    height: 75px
  }

  .logo {
    width: 187px
  }
}

.btn {
  position: relative;
  display: block;
  height: 18.6666666667vw;
  cursor: pointer
}

.btn:before {
  content: "";
  position: absolute;
  top: -3.3333333333vw;
  left: 4.6666666667vw;
  display: inline-block;
  width: 10.6666666667vw;
  height: 6.9333333333vw;
  background-image: url(../img/common/eye.svg);
  background-size: contain;
  z-index: 2
}

.btn-box {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #ff4800;
  border-color: #241c15;
  border-style: solid;
  border-width: .4vw;
  text-align: center;
  border-radius: 4.1333333333vw;
  box-shadow: 0 1.3333333333vw 0 0 #241c15;
  transform: translateY(-1.3333333333vw);
  overflow: hidden
}

.btn-box:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
  -webkit-animation: shine 1.5s infinite;
  animation: shine 1.5s infinite;
  z-index: 1
}

.btn-box>div {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%
}

.btn-box>div:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50%;
  background-color: #e54100
}

.btn-box>div:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.4vw;
  display: inline-block;
  width: 3.6vw;
  height: 3.6vw;
  background-image: url(../img/common/arrow.svg);
  background-size: contain;
  transform: translateY(-50%);
  z-index: 2
}

.btn-box>div>div {
  position: relative;
  padding-top: .3em;
  z-index: 2
}

.btn-catch {
  position: relative;
  display: inline-block;
  margin-bottom: .4em;
  padding: 0 4vw;
  color: #fff;
  font-size: 3.4666666667vw;
  font-weight: 700;
  letter-spacing: 0!important;
  line-height: 1!important;
}

.btn-catch:before, .btn-catch:after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 1.7333333333vw;
  height: 3.3333333333vw;
  background-image: url(../img/common/slash.svg);
  background-size: contain
}

.btn-catch:before {
  left: 0;
  transform: rotateY(180deg)
}

.btn-catch:after {
  right: 0
}

.btn-text {
  color: #fff;
  font-family: "NotoSansJP";
  font-size: 4.8vw;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1!important;
  letter-spacing: 0!important;
}

@media screen and (min-width: 751px) {
  .btn {
    height: 8.3333333333vw
  }

  .btn:before {
    top: -1.875vw;
    left: .6944444444vw;
    width: 4.3055555556vw;
    height: 2.8472222222vw
  }

  .btn-box {
    border-width: .2083333333vw;
    border-radius: 2.1527777778vw;
    box-shadow: 0 .6944444444vw 0 0 #241c15;
    transition: .3s all;
    transform: translateY(-0.6944444444vw)
  }

  .btn-box>div:after {
    right: 1.0416666667vw;
    width: 1.875vw;
    height: 1.875vw
  }

  .btn-catch {
    padding: 0 1.3888888889vw;
    font-size: 1.6666666667vw!important;
  }

  .btn-catch:before, .btn-catch:after {
    width: .9027777778vw;
    height: 1.7361111111vw
  }

  .btn-text {
    font-size: 2.5vw!important;
  }

  .btn:hover .btn-box {
    box-shadow: 0 1px 0 0 #241c15;
    transform: translateY(-1px)
  }
}

@media screen and (min-width: 1441px) {
  .btn {
    height: 120px
  }

  .btn:before {
    top: -27px;
    left: 10px;
    width: 62px;
    height: 41px
  }

  .btn-box {
    border-width: 3px;
    border-radius: 31px;
    box-shadow: 0 10px 0 0 #241c15;
    transform: translateY(-10px)
  }

  .btn-box>div:after {
    right: 15px;
    width: 27px;
    height: 27px
  }

  .btn-catch {
    padding: 0 20px;
    font-size: 24px;
    font-size: 2.4rem!important;
  }

  .btn-catch:before, .btn-catch:after {
    width: 13px;
    height: 25px
  }

  .btn-text {
    font-size: 36px;
    font-size: 3.6rem!important;
  }
}

.tour-btn {
  position: relative;
  margin: 6.6666666667vw auto 0 auto;
  width: 72vw
}

.tour-btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: .2em;
  height: 13.3333333333vw;
  background-color: #fc661a;
  border-color: #ff4800;
  border-style: solid;
  border-width: .8vw;
  border-radius: 6.6666666667vw
}

.tour-btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.3333333333vw;
  display: inline-block;
  width: 4vw;
  height: 4vw;
  background-image: url(../img/common/arrow.svg);
  background-size: contain;
  transform: translateY(-50%)
}

.tour-btn a span {
  color: #fff;
  font-size: 3.7333333333vw;
  font-weight: 700
}

@media screen and (min-width: 751px) {
  .tour-btn {
    margin-top: 2.7777777778vw;
    width: 33.3333333333vw
  }

  .tour-btn a {
    height: 6.25vw;
    border-width: .4166666667vw;
    border-radius: 3.125vw;
    transition: background-color .3s
  }

  .tour-btn a:after {
    right: 2.0833333333vw;
    width: 1.9444444444vw;
    height: 1.9444444444vw
  }

  .tour-btn a span {
    font-size: 1.6666666667vw;
    transition: color .3s
  }

  .tour-btn a:hover {
    background-color: #ff9661
  }

  .tour-btn a:hover span {
    color: #fff
  }
}

@media screen and (min-width: 1441px) {
  .tour-btn {
    margin-top: 40px;
    width: 480px
  }

  .tour-btn a {
    height: 90px;
    border-width: 6px;
    border-radius: 45px
  }

  .tour-btn a:after {
    right: 30px;
    width: 28px;
    height: 28px
  }

  .tour-btn a span {
    font-size: 24px;
    font-size: 2.4rem
  }
}

.drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 90.6666666667vw;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transition: opacity .2s, visibility .2s;
  z-index: 7777
}

.drawer.is-open {
  height: 100%;
  min-height: 100vh;
  min-height: 100svh;
  opacity: 1;
  visibility: visible
}

.drawer.is-open:before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(36, 28, 21, .8);
  z-index: -1
}

.drawer.is-open:after {
  content: "";
  position: absolute;
  left: 10vw;
  bottom: 0;
  display: inline-block;
  width: 58.6666666667vw;
  height: 40.5333333333vw;
  background-image: url(../img/common/staff.png);
  background-size: contain;
  z-index: 3
}

.drawer>div {
  position: relative;
  width: 100%;
  height: 100%;
  background-image: url(../img/drawer/bg.jpg);
  background-repeat: repeat;
  z-index: 1
}

.drawer>div:before, .drawer>div:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: cover;
  border-color: #241c15;
  border-style: solid;
  border-width: .5333333333vw;
  z-index: -1
}

.drawer>div:before {
  top: 16vw;
  left: 2.6666666667vw;
  width: 36vw;
  height: 54.6666666667vw;
  background-image: url(../img/common/main_sp.jpg)
}

.drawer>div:after {
  top: 74.6666666667vw;
  left: 0;
  width: 21.3333333333vw;
  height: 48vw;
  background-image: url(../img/common/sub_sp.jpg)
}

.drawer-en {
  position: absolute;
  top: 4vw;
  left: .5em;
  color: #fff;
  font-family: "Anton", sans-serif;
  font-size: 9.6vw;
  font-weight: 400;
  letter-spacing: 0;
  transform: rotate(-3deg)
}

.drawer-scroll {
  position: relative;
  padding: 18vw 2.6666666667vw 0 0;
  height: 100%;
  overflow-y: auto
}

.drawer-box {
  position: relative;
  z-index: 2
}

@media screen and (min-width: 751px) {
  .drawer {
    display: none
  }
}

.float {
  position: fixed;
  right: -0.4vw;
  bottom: 4vw;
  width: 28vw;
  z-index: 8888
}

.float-balloon {
  position: absolute;
  top: -2.6666666667vw;
  left: 50%;
  width: 21.6vw;
  animation: fuwafuwa 3s infinite;
  z-index: 2
}

.float-btn {
  position: relative;
  display: block;
  height: 14.6666666667vw;
  background-color: #ff4800;
  border-color: #241c15;
  border-style: solid;
  border-width: .4vw;
  text-align: center;
  border-radius: 2.6666666667vw 0 0 2.6666666667vw;
  box-shadow: 0 .8vw 0 0 #241c15;
  transform: translateY(-0.8vw);
  overflow: hidden;
  cursor: pointer
}

.float-btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
  -webkit-animation: shine 1.5s infinite;
  animation: shine 1.5s infinite;
  z-index: 1
}

.float-btn-box {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: 2.6666666667vw;
  width: 100%;
  height: 100%
}

.float-btn-box:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50%;
  background-color: #e54100
}

.float-btn-box:after {
  content: "";
  position: absolute;
  top: 50%;
  right: .9333333333vw;
  display: inline-block;
  width: 2.5333333333vw;
  height: 2.5333333333vw;
  background-image: url(../img/common/arrow.svg);
  background-size: contain;
  transform: translateY(-50%);
  z-index: 2
}

.float-btn-box>div {
  position: relative;
  padding-top: .3em;
  z-index: 2
}

.float-btn p {
  color: #fff;
  font-family: "NotoSansJP";
  font-size: 2.6666666667vw;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0
}

.float-btn p span {
  display: inline-block;
  margin-top: .2em;
  font-size: 4.2666666667vw
}

@media screen and (min-width: 751px) {
  .float {
    right: -.2083333333vw;
    bottom: 2.7777777778vw;
    width: 12.6388888889vw
  }

  .float-balloon {
    top: -3.4722222222vw;
    width: 10.6944444444vw
  }

  .float-btn {
    height: 5.9722222222vw;
    border-width: .2083333333vw;
    border-radius: 1.3888888889vw 0 0 1.3888888889vw;
    box-shadow: 0 .4166666667vw 0 0 #241c15;
    transition: .3s all;
    transform: translateY(-0.4166666667vw)
  }

  .float-btn-box {
    padding-right: 1.3888888889vw
  }

  .float-btn-box:after {
    right: .6944444444vw;
    width: 1.3194444444vw;
    height: 1.3194444444vw
  }

  .float-btn p {
    font-size: 1.1111111111vw
  }

  .float-btn p span {
    font-size: 1.9444444444vw
  }

  .float-btn:hover {
    box-shadow: 0 1px 0 0 #241c15;
    transform: translateY(-1px)
  }
}

@media screen and (min-width: 1441px) {
  .float {
    right: -3px;
    bottom: 40px;
    width: 182px
  }

  .float-balloon {
    top: -50px;
    width: 154px
  }

  .float-btn {
    height: 86px;
    border-width: 3px;
    border-radius: 20px 0 0 20px;
    box-shadow: 0 6px 0 0 #241c15;
    transform: translateY(-6px)
  }

  .float-btn-box {
    padding-right: 20px
  }

  .float-btn-box:after {
    right: 10px;
    width: 19px;
    height: 19px
  }

  .float-btn p {
    font-size: 16px;
    font-size: 1.6rem
  }

  .float-btn p span {
    font-size: 28px;
    font-size: 2.8rem
  }
}

.gnavi>li {
  position: relative;
  width: 100%
}

.gnavi>li:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: .4vw;
  background-image: url(../img/common/border.png);
  background-size: auto .4vw;
  background-repeat: repeat-x
}

.gnavi>li:last-child:before {
  content: none
}

.gnavi>li a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 3.3333333333vw;
  height: 9.3333333333vw;
  font-size: 3.4666666667vw;
  font-weight: 700
}

.gnavi>li a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: .2em;
  display: inline-block;
  margin-top: -0.1em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .6666666667vw 0px .6666666667vw 1.0666666667vw;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #169bdc;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50%)
}

.gnavi--tour:after {
  content: "受付中";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  padding: .3em .5em .1em .5em;
  background-color: #faf168;
  font-size: 2.2666666667vw;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: 0;
  transform: translateY(-50%) rotate(-5deg)
}

.gnavi--top a {
  color: #169bdc
}

@media screen and (max-width: 750px) {
  .gnavi--top a:before {
    opacity: 1 !important;
    visibility: visible !important
  }
}

@media screen and (min-width: 751px) {
  .gnavi>li:before {
    height: .2083333333vw;
    background-size: auto .2083333333vw
  }

  .gnavi>li a {
    padding: 0 1.3888888889vw;
    height: 3.8194444444vw;
    font-size: 1.25vw;
    transition: color .3s
  }

  .gnavi>li a:before {
    border-width: .3472222222vw 0px .3472222222vw .5555555556vw
  }

  .gnavi>li a:hover {
    color: #169bdc
  }

  .gnavi>li a:hover:before {
    opacity: 1;
    visibility: visible
  }

  .gnavi--tour:after {
    font-size: .9027777778vw
  }
}

@media screen and (min-width: 1441px) {
  .gnavi>li:before {
    height: 3px;
    background-size: auto 3px
  }

  .gnavi>li a {
    padding: 0 20px;
    height: 55px;
    font-size: 18px;
    font-size: 1.8rem
  }

  .gnavi>li a:before {
    border-width: 5px 0px 5px 8px
  }

  .gnavi--tour:after {
    font-size: 13px;
    font-size: 1.3rem
  }
}

.remodal-overlay {
  background: rgba(36, 28, 21, .9)
}

.remodal-overlay.remodal-is-opening, .remodal-overlay.remodal-is-closing {
  animation-duration: .3s;
  animation-fill-mode: forwards
}

.remodal-overlay.remodal-is-opening {
  animation-name: remodal-overlay-opening-keyframes
}

.remodal-overlay.remodal-is-closing {
  animation-name: remodal-overlay-closing-keyframes
}

.remodal {
  width: 96vw;
  transform: translate3d(0, 0, 0)
}

.remodal, .remodal-wrapper:after {
  vertical-align: middle
}

.remodal video {
  width: 100%
}

.remodal.remodal-is-opening, .remodal.remodal-is-closing {
  animation-duration: .3s;
  animation-fill-mode: forwards
}

.remodal.remodal-is-opening {
  animation-name: remodal-opening-keyframes
}

.remodal.remodal-is-closing {
  animation-name: remodal-closing-keyframes
}

.remodal-close {
  position: absolute;
  top: 2vw;
  right: 2vw;
  display: inline-block;
  width: 6.1333333333vw;
  height: 6.1333333333vw;
  border-radius: 50%;
  background-image: url(../img/common/close-bk.svg);
  background-size: contain;
  z-index: 1;
  cursor: pointer
}

@media screen and (min-width: 751px) {
  .remodal {
    width: 55.5555555556vw
  }

  .remodal-close {
    top: .6944444444vw;
    right: .6944444444vw;
    width: 2.5vw;
    height: 2.5vw;
    transition: background-image .3s
  }

  .remodal-close:hover {
    background-image: url(../img/common/close-gy.svg)
  }
}

@media screen and (min-width: 1441px) {
  .remodal {
    width: 800px
  }

  .remodal-close {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px
  }
}

@keyframes remodal-opening-keyframes {
  from {
    transform: scale(1.05);
    opacity: 0
  }

  to {
    transform: none;
    opacity: 1;
    filter: blur(0)
  }
}

@keyframes remodal-closing-keyframes {
  from {
    transform: scale(1);
    opacity: 1
  }

  to {
    transform: scale(0.95);
    opacity: 0;
    filter: blur(0)
  }
}

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

.pagetop {
  position: absolute;
  top: -38.6666666667vw;
  left: 50%;
  width: 31.6vw;
  height: 40vw;
  transform: translateX(-50%);
  z-index: 1
}

.pagetop:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 26.8vw;
  height: 22.6666666667vw;
  background-image: url(../img/pagetop/character.svg);
  background-size: contain
}

.pagetop>div {
  width: 24.4vw
}

@media screen and (min-width: 751px) {
  .pagetop {
    top: -13.1944444444vw;
    width: 16.4583333333vw;
    height: 12.1527777778vw;
    transition: opacity .3s
  }

  .pagetop:after {
    width: 9.3055555556vw;
    height: 7.9166666667vw
  }

  .pagetop:hover {
    opacity: .8;
    cursor: pointer
  }

  .pagetop:hover:after {
    transition: transform 1s;
    transform: rotateY(360deg)
  }

  .pagetop>div {
    width: 9.375vw
  }
}

@media screen and (min-width: 1441px) {
  .pagetop {
    top: -190px;
    width: 237px;
    height: 175px
  }

  .pagetop:after {
    width: 134px;
    height: 114px
  }

  .pagetop>div {
    width: 135px
  }
}

.sec {
  position: relative
}

.sec-in {
  position: relative;
  margin: 0 auto;
  width: 93.3333333333vw;
  z-index: 1
}

.sec-head {
  position: relative;
  text-align: center
}

.sec-ttl {
  font-size: 3.7333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.2em
}

.sec-en {
  font-family: "Neonderthaw", cursive;
  font-size: 11.2vw;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0
}

.sec-desc {
  position: relative;
  display: inline-block;
  margin-top: 5.3333333333vw
}

.sec-desc p {
  text-align: center;
  line-height: 1.55em
}

.sec-btn {
  margin: 10.6666666667vw auto 0 auto;
  width: 66.6666666667vw
}

@media screen and (min-width: 751px) {
  .sec-in {
    width: 40.2777777778vw
  }

  .sec-ttl {
    font-size: 1.4583333333vw
  }

  .sec-en {
    font-size: 5vw
  }

  .sec-desc {
    margin-top: 1.7361111111vw;
    max-width: 34.7222222222vw
  }
}

@media screen and (min-width: 1441px) {
  .sec-in {
    width: 580px
  }

  .sec-ttl {
    font-size: 21px;
    font-size: 2.1rem
  }

  .sec-en {
    font-size: 72px;
    font-size: 7.2rem
  }

  .sec-desc {
    margin-top: 25px;
    max-width: 500px
  }
}

.swiper-wrapper-disable {
  justify-content: center
}

.slide-prev, .slide-next {
  position: absolute;
  width: 8vw;
  height: 8vw;
  background-color: #241c15;
  border-radius: 50%;
  z-index: 2;
  cursor: pointer
}

.slide-prev:after, .slide-next:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 2.5333333333vw;
  height: 4vw;
  background-size: contain;
  transform: translate(-50%, -50%)
}

.slide-prev {
  left: 0
}

.slide-prev:after {
  background-image: url(../img/slide/prev.svg)
}

.slide-next {
  right: 0
}

.slide-next:after {
  background-image: url(../img/slide/next.svg)
}

.slide-pagination {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto !important;
  bottom: auto !important;
  z-index: 3
}

.slide-pagination .swiper-pagination-bullet {
  margin: 0 !important;
  width: 5.3333333333vw;
  height: 1.0666666667vw;
  background-color: #fff;
  border-radius: .5333333333vw !important;
  transition: background-color .3s;
  opacity: 1
}

.slide-pagination .swiper-pagination-bullet-active {
  background-color: #241c15 !important
}

.slide-pagination .swiper-pagination-bullet:nth-child(n+2) {
  margin-left: 2.4vw !important
}

@media screen and (max-width: 750px) {
  .slide-control {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2.6666666667vw auto 0 auto;
    width: 50.1333333333vw;
    height: 8vw
  }

  .slide-prev, .slide-next {
    top: 50%;
    transform: translateY(-50%)
  }
}

@media screen and (min-width: 751px) {
  .slide-prev, .slide-next {
    width: 4.1666666667vw;
    height: 4.1666666667vw;
    transition: background-color .3s
  }

  .slide-prev:after, .slide-next:after {
    width: 1.3194444444vw;
    height: 2.0833333333vw
  }

  .slide-prev:hover, .slide-next:hover {
    background-color: #d8d8da
  }

  .slide-prev {
    left: -3.2638888889vw
  }

  .slide-next {
    right: -3.2638888889vw
  }

  .slide-pagination {
    margin-top: 1.7361111111vw
  }

  .slide-pagination .swiper-pagination-bullet {
    width: 2.7777777778vw;
    height: .5555555556vw;
    border-radius: .2777777778vw;
    transition: background-color .3s
  }

  .slide-pagination .swiper-pagination-bullet:hover {
    background-color: #d8d8da
  }

  .slide-pagination .swiper-pagination-bullet:nth-child(n+2) {
    margin-left: 1.25vw !important
  }
}

@media screen and (min-width: 1441px) {
  .slide-prev, .slide-next {
    width: 60px;
    height: 60px
  }

  .slide-prev:after, .slide-next:after {
    width: 19px;
    height: 30px
  }

  .slide-prev {
    left: -47px
  }

  .slide-next {
    right: -47px
  }

  .slide-pagination {
    margin-top: 25px
  }

  .slide-pagination .swiper-pagination-bullet {
    width: 40px;
    height: 8px;
    border-radius: 4px
  }

  .slide-pagination .swiper-pagination-bullet:nth-child(n+2) {
    margin-left: 18px !important
  }
}

.subnavi {
  display: flex;
  justify-content: center;
  align-items: center
}

.subnavi a {
  position: relative;
  display: block;
  font-size: 3.4666666667vw
}

.subnavi a:nth-child(n+2) {
  margin-left: 10vw
}

@media screen and (min-width: 751px) {
  .subnavi a {
    font-size: .9722222222vw;
    transition: color .3s
  }

  .subnavi a:after {
    content: "";
    position: absolute;
    bottom: -0.5em;
    left: 50%;
    width: 0;
    height: .1388888889vw;
    background-color: #e8a27d;
    transform: translateX(-50%);
    transition: .3s
  }

  .subnavi a:hover {
    color: #e8a27d
  }

  .subnavi a:hover:after {
    width: 100%
  }

  .subnavi a:nth-child(n+2) {
    margin-left: 3.8194444444vw
  }
}

@media screen and (min-width: 1441px) {
  .subnavi a {
    font-size: 14px;
    font-size: 1.4rem
  }

  .subnavi a:after {
    height: 2px
  }

  .subnavi a:nth-child(n+2) {
    margin-left: 55px
  }
}

.toggle {
  position: absolute;
  top: 5.3333333333vw;
  right: 5.3333333333vw;
  width: 10.6666666667vw;
  height: 8.6666666667vw;
  background-color: #fff;
  z-index: 9999;
  cursor: pointer
}

.toggle:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 99.99999%;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 5.3333333333vw 2.6666666667vw 5.3333333333vw;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0);
  transform: translateX(-50%)
}

.header.is-open .toggle {
  position: fixed
}

.toggle span {
  position: absolute;
  left: 50%;
  width: 6.2666666667vw;
  height: .5333333333vw;
  background-color: #241c15;
  border-radius: .2666666667vw;
  transition: transform .3s;
  transform: translateX(-50%);
  z-index: 2
}

.toggle span:nth-of-type(1) {
  top: 1.2vw
}

.toggle span:nth-of-type(2) {
  top: 2.5333333333vw
}

.toggle span:nth-of-type(3) {
  top: 4.1333333333vw
}

.toggle.is-active span:nth-of-type(1) {
  top: 2.5333333333vw;
  transform: translateX(-50%) rotate(45deg)
}

.toggle.is-active span:nth-of-type(2) {
  display: none
}

.toggle.is-active span:nth-of-type(3) {
  top: 2.5333333333vw;
  transform: translateX(-50%) rotate(-45deg)
}

.toggle-text {
  position: absolute;
  left: 50%;
  bottom: .6666666667vw;
  font-size: 2.4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1em;
  letter-spacing: 0;
  transform: translateX(-50%)
}

@media screen and (min-width: 751px) {
  .toggle {
    display: none
  }
}

.estimate-btn {
  position: relative;
  display: block;
  height: 18.6666666667vw;
  background-color: #2537a6;
  border-radius: 5.3333333333vw;
  box-shadow: 0px 5px 4.75px .25px rgba(0, 0, 0, .1)
}

.estimate-btn-in {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden
}

.estimate-btn-in:after {
  content: "";
  position: absolute;
  top: 6vw;
  left: 62vw;
  display: inline-block;
  width: 17.4666666667vw;
  height: 18.1333333333vw;
  background-image: url(../img/estimate/character_sp.png);
  background-size: contain
}

.estimate-btn-label {
  position: absolute;
  top: -3.3333333333vw;
  left: 4.6666666667vw;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: .3em;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  background-color: #fbc93b;
  border-radius: 50%;
  z-index: 1
}

.estimate-btn-label p {
  color: #2537a6;
  font-family: "Damion", cursive;
  font-size: 2.4vw;
  font-weight: 900;
  text-align: center;
  line-height: 1.2em;
  letter-spacing: 0
}

.estimate-btn-label p span {
  font-family: "Neonderthaw", cursive;
  font-size: 2.6666666667vw;
  font-weight: 400
}

.estimate-btn-box {
  position: relative;
  z-index: 1
}

.estimate-btn-box p {
  position: relative;
  font-family: "Damion", cursive;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0
}

.estimate-btn-box p:nth-child(1) {
  margin-bottom: .3em;
  color: #fff;
  font-size: 3.2vw
}

.estimate-btn-box p:nth-child(2) {
  color: #fff;
  font-size: 5.6vw
}

.estimate-btn-box p:nth-child(3) {
  margin-top: .6em;
  color: #eeb033;
  font-size: 2.6666666667vw
}

@media screen and (min-width: 751px) {
  .estimate-btn {
    height: 12.5vw;
    border-radius: 2.0833333333vw 0 0 2.0833333333vw;
    transition: background-color .3s
  }

  .estimate-btn-in:after {
    top: 5.2083333333vw;
    left: 11.8055555556vw;
    width: 9.0972222222vw;
    height: 9.4444444444vw;
    background-image: url(../img/estimate/character.png);
    background-image: image-set(url(../img/estimate/character.png) 1x, url(../img/estimate/character-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/estimate/character.png) 1x, url(../img/estimate/character-2x.png) 2x)
  }

  .estimate-btn-label {
    top: -1.1805555556vw;
    left: -1.1805555556vw;
    width: 5.5555555556vw;
    height: 5.5555555556vw
  }

  .estimate-btn-label p {
    font-size: 1.25vw
  }

  .estimate-btn-label p span {
    font-size: 1.3888888889vw
  }

  .estimate-btn-box p:nth-child(1) {
    font-size: 1.4583333333vw;
    transition: color .3s
  }

  .estimate-btn-box p:nth-child(2) {
    font-size: 2.5vw;
    text-shadow: #2537a6 .2777777778vw 0px, #2537a6 -.2777777778vw 0px, #2537a6 0px -.2777777778vw, #2537a6 0px .2777777778vw, #2537a6 .2777777778vw .2777777778vw, #2537a6 -.2777777778vw .2777777778vw, #2537a6 .2777777778vw -.2777777778vw, #2537a6 -.2777777778vw -.2777777778vw, #2537a6 .1388888889vw .2777777778vw, #2537a6 -.1388888889vw .2777777778vw, #2537a6 .1388888889vw -.2777777778vw, #2537a6 -.1388888889vw -.2777777778vw, #2537a6 .2777777778vw .1388888889vw, #2537a6 -.2777777778vw .1388888889vw, #2537a6 .2777777778vw -.1388888889vw, #2537a6 -.2777777778vw -.1388888889vw;
    transition: text-shadow .3s
  }

  .estimate-btn-box p:nth-child(3) {
    left: -0.5em;
    margin-top: .8em;
    font-size: 1.1111111111vw
  }

  .estimate-btn:hover {
    background-color: #dd551b
  }

  .estimate-btn:hover .estimate-btn-box p:nth-child(2) {
    text-shadow: #dd551b .2777777778vw 0px, #dd551b -.2777777778vw 0px, #dd551b 0px -.2777777778vw, #dd551b 0px .2777777778vw, #dd551b .2777777778vw .2777777778vw, #dd551b -.2777777778vw .2777777778vw, #dd551b .2777777778vw -.2777777778vw, #dd551b -.2777777778vw -.2777777778vw, #dd551b .1388888889vw .2777777778vw, #dd551b -.1388888889vw .2777777778vw, #dd551b .1388888889vw -.2777777778vw, #dd551b -.1388888889vw -.2777777778vw, #dd551b .2777777778vw .1388888889vw, #dd551b -.2777777778vw .1388888889vw, #dd551b .2777777778vw -.1388888889vw, #dd551b -.2777777778vw -.1388888889vw
  }
}

@media screen and (min-width: 1441px) {
  .estimate-btn {
    height: 180px;
    border-radius: 30px 0 0 30px
  }

  .estimate-btn-in:after {
    top: 75px;
    left: 170px;
    width: 131px;
    height: 136px
  }

  .estimate-btn-label {
    top: -17px;
    left: -17px;
    width: 80px;
    height: 80px
  }

  .estimate-btn-label p {
    font-size: 18px;
    font-size: 1.8rem
  }

  .estimate-btn-label p span {
    font-size: 20px;
    font-size: 2rem
  }

  .estimate-btn-box p:nth-child(1) {
    font-size: 21px;
    font-size: 2.1rem
  }

  .estimate-btn-box p:nth-child(2) {
    font-size: 36px;
    font-size: 3.6rem;
    text-shadow: #2537a6 4px 0px, #2537a6 -4px 0px, #2537a6 0px -4px, #2537a6 0px 4px, #2537a6 4px 4px, #2537a6 -4px 4px, #2537a6 4px -4px, #2537a6 -4px -4px, #2537a6 2px 4px, #2537a6 -2px 4px, #2537a6 2px -4px, #2537a6 -2px -4px, #2537a6 4px 2px, #2537a6 -4px 2px, #2537a6 4px -2px, #2537a6 -4px -2px
  }

  .estimate-btn-box p:nth-child(3) {
    font-size: 16px;
    font-size: 1.6rem
  }

  .estimate-btn:hover {
    background-color: #dd551b
  }

  .estimate-btn:hover .estimate-btn-box p:nth-child(2) {
    text-shadow: #dd551b 4px 0px, #dd551b -4px 0px, #dd551b 0px -4px, #dd551b 0px 4px, #dd551b 4px 4px, #dd551b -4px 4px, #dd551b 4px -4px, #dd551b -4px -4px, #dd551b 2px 4px, #dd551b -2px 4px, #dd551b 2px -4px, #dd551b -2px -4px, #dd551b 4px 2px, #dd551b -4px 2px, #dd551b 4px -2px, #dd551b -4px -2px
  }
}

.sns-head {
  margin-bottom: 1.3em;
  color: #e8a27d;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center
}

.sns-menu {
  display: flex;
  justify-content: center;
  align-items: center
}

.sns-menu>li {
  width: 9.3333333333vw
}

.sns-menu>li:nth-child(n+2) {
  margin-left: 8vw
}

.sns-menu>li a {
  display: block
}

@media screen and (min-width: 751px) {
  .sns-head {
    font-size: 1.1111111111vw
  }

  .sns-menu>li {
    width: 2.4305555556vw
  }

  .sns-menu>li:nth-child(n+2) {
    margin-left: 2.0833333333vw
  }

  .sns-menu>li a {
    transition: opacity .3s
  }

  .sns-menu>li a:hover {
    opacity: .7
  }
}

@media screen and (min-width: 1441px) {
  .sns-head {
    font-size: 16px;
    font-size: 1.6rem
  }

  .sns-menu>li {
    width: 35px
  }

  .sns-menu>li:nth-child(n+2) {
    margin-left: 30px
  }
}

.target {
  position: relative;
  text-align: center
}

.target-label {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 3.3333333333vw;
  padding: 0 1em;
  height: 5.6vw;
  background-color: #241c15;
  border-radius: 2.8vw;
  text-align: center
}

.target-label:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4vw 1.2vw 0 1.2vw;
  border-color: #241c15 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  transform: translateX(-50%);
  z-index: 1
}

.target-label p {
  position: relative;
  display: inline-block;
  padding: .2em 3.3333333333vw 0 3.3333333333vw;
  color: #fff;
  font-size: 3.4666666667vw;
  font-weight: 700;
  letter-spacing: 0
}

.target-label p:before, .target-label p:after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 1.7333333333vw;
  height: 2.8vw;
  background-image: url(../img/common/slash-wh.svg);
  background-size: contain
}

.target-label p:before {
  left: 0;
  transform: rotateY(180deg)
}

.target-label p:after {
  right: 0
}

.target-image {
  margin: 0 auto 3.3333333333vw auto;
  width: 61.3333333333vw;
  border-color: #fff;
  border-style: solid;
  border-width: .8vw
}

.target-data {
  display: inline-block
}

.target-data dl {
  display: flex;
  justify-content: space-between;
  align-items: flex-start
}

.target-data dl:nth-child(n+2) {
  margin-top: 2vw
}

.target-data dl dt {
  position: relative;
  top: .04em;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 3.3333333333vw;
  padding-top: .1em;
  width: 12vw;
  height: 4.8vw;
  background-color: #241c15;
  color: #fff;
  font-size: 3.4666666667vw;
  font-weight: 700;
  letter-spacing: 0
}

.target-data dl dd {
  flex: 1;
  color: #fff;
  font-size: 3.4666666667vw;
  font-weight: 700;
  text-align: left;
  line-height: 1.5em;
  letter-spacing: 0
}

@media screen and (min-width: 751px) {
  .target-label {
    margin-bottom: 1.0416666667vw;
    height: 2.9166666667vw;
    border-radius: 1.4583333333vw
  }

  .target-label:after {
    border-width: 2.0833333333vw .625vw 0 .625vw
  }

  .target-label p {
    padding: .2em 1.3888888889vw 0 1.3888888889vw;
    font-size: 1.4583333333vw
  }

  .target-label p:before, .target-label p:after {
    width: .9027777778vw;
    height: 1.4583333333vw
  }

  .target-image {
    margin-bottom: 1.0416666667vw;
    width: 20.8333333333vw;
    border-width: .2083333333vw
  }

  .target-data dl:nth-child(n+2) {
    margin-top: .6944444444vw
  }

  .target-data dl dt {
    top: .08em;
    margin-right: 1.0416666667vw;
    width: 3.6111111111vw;
    height: 1.3888888889vw;
    font-size: .9722222222vw
  }

  .target-data dl dd {
    font-size: 1.1111111111vw
  }
}

@media screen and (min-width: 1441px) {
  .target-label {
    margin-bottom: 15px;
    height: 42px;
    border-radius: 21px
  }

  .target-label:after {
    border-width: 30px 9px 0 9px
  }

  .target-label p {
    padding: .2em 20px 0 20px;
    font-size: 21px;
    font-size: 2.1rem
  }

  .target-label p:before, .target-label p:after {
    width: 13px;
    height: 21px
  }

  .target-image {
    margin-bottom: 15px;
    width: 300px;
    border-width: 3px
  }

  .target-data dl:nth-child(n+2) {
    margin-top: 10px
  }

  .target-data dl dt {
    margin-right: 15px;
    width: 52px;
    height: 20px;
    font-size: 14px;
    font-size: 1.4rem
  }

  .target-data dl dd {
    font-size: 16px;
    font-size: 1.6rem
  }
}

.tel-btn {
  position: relative
}

.tel-btn-box {
  text-align: center
}

.tel-btn-num {
  position: relative;
  display: inline-block;
  padding-left: 16.6666666667vw;
  font-family: "Neonderthaw", cursive;
  font-size: 8vw;
  font-weight: 400;
  letter-spacing: -0.05em
}

.tel-btn-num:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 15.0666666667vw;
  height: 4.6666666667vw;
  background-image: url(../img/common/free_sp.png);
  background-size: contain;
  transform: translateY(-50%)
}

.tel-btn-time {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: .2em;
  font-family: "Damion", cursive;
  font-weight: 700
}

.tel-btn-time dt {
  display: inline-block;
  margin-right: .5em;
  padding: .1em .2em .2em .2em;
  border-color: #241c15;
  border-style: solid;
  border-width: 1px;
  font-size: 2.4vw;
  letter-spacing: 0
}

.tel-btn-time dd {
  padding-bottom: .1em;
  font-size: 2.6666666667vw
}

.tel-btn-time dd span {
  color: #ff5e19
}

@media screen and (max-width: 750px) {
  .tel-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 18.6666666667vw;
    background-color: #fff;
    border-color: #12a73b;
    border-style: solid;
    border-width: .8vw;
    border-radius: 5.3333333333vw;
    box-shadow: 0px 5px 4.75px .25px rgba(0, 0, 0, .1)
  }
}

@media screen and (min-width: 751px) {
  .tel-btn-num {
    padding-left: 5.9027777778vw;
    font-size: 2.9166666667vw
  }

  .tel-btn-num:before {
    width: 5.4166666667vw;
    height: 1.5972222222vw;
    background-image: url(../img/common/free.png);
    background-image: image-set(url(../img/common/free.png) 1x, url(../img/common/free-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/free.png) 1x, url(../img/common/free-2x.png) 2x)
  }

  .tel-btn-time dt {
    border-width: .0694444444vw;
    font-size: .9027777778vw
  }

  .tel-btn-time dd {
    font-size: .9027777778vw
  }
}

@media screen and (min-width: 1441px) {
  .tel-btn-num {
    padding-left: 85px;
    font-size: 42px;
    font-size: 4.2rem
  }

  .tel-btn-num:before {
    width: 78px;
    height: 23px
  }

  .tel-btn-time dt {
    border-width: 1px;
    font-size: 13px;
    font-size: 1.3rem
  }

  .tel-btn-time dd {
    font-size: 13px;
    font-size: 1.3rem
  }
}

.tour-post a {
  position: relative;
  display: block !important;
  height: 100%;
  background-color: #fff
}

.tour-post a:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 0px 4vw 4vw;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #241c15 rgba(0, 0, 0, 0)
}

.tour-image {
  margin-bottom: 2vw
}

.tour-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;"
}

.tour-ttl {
  min-height: 2.66em;
  font-weight: 700;
  line-height: 1.33em;
  letter-spacing: .1em
}

.tour-data {
  margin-top: .5em
}

.tour-data p {
  position: relative;
  line-height: 1.5em
}

.tour-data p:before {
  content: "";
  position: absolute;
  top: .1em;
  left: 0;
  display: inline-block;
  background-size: contain;
  background-position: center
}

.tour-data p:nth-child(n+2) {
  margin-top: 2vw
}

.tour-data--date:before {
  background-image: url(../img/tour/calendar.svg)
}

.tour-data--venue:before {
  background-image: url(../img/tour/pin.svg)
}

.tour-slide .tour-post a {
  padding: 2.6666666667vw
}

.tour-slide .tour-image img {
  height: auto;
  width: 100%;
  object-fit:inherit;
}


.tour-slide .tour-ttl {
  font-size: 3.4666666667vw
}

.tour-slide .tour-data p {
  padding-left: 4vw;
  font-size: 2.6666666667vw
}

.tour-slide .tour-data p:before {
  width: 2.6666666667vw;
  height: 2.6666666667vw
}

.tour-archive .tour-post a {
  padding: 2vw
}

.tour-archive .tour-image img {
  height: 38vw
}

.tour-archive .tour-ttl {
  font-size: 3.0666666667vw
}

.tour-archive .tour-data p {
  padding-left: 3.7333333333vw;
  font-size: 2.5333333333vw
}

.tour-archive .tour-data p:before {
  width: 2.4vw;
  height: 2.4vw
}

@media screen and (min-width: 751px) {
  .tour-post a:before {
    border-width: 0px 0px 1.7361111111vw 1.7361111111vw
  }

  .tour-data p:nth-child(n+2) {
    margin-top: .6944444444vw
  }

  .tour-slide .tour-post a {
    padding: 1.0416666667vw 1.0416666667vw 1.7361111111vw 1.0416666667vw
  }

  .tour-slide .tour-image {
    margin-bottom: .6944444444vw
  }

  .tour-slide .tour-image img {
    height: 25vw;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;"
}
  .tour-slide .tour-content {
    padding: 0 .6944444444vw
  }

  .tour-slide .tour-ttl {
    font-size: 1.3888888889vw
  }

  .tour-slide .tour-data p {
    padding-left: 1.5972222222vw;
    font-size: .9722222222vw
  }

  .tour-slide .tour-data p:before {
    width: 1.1111111111vw;
    height: 1.1111111111vw
  }

  .tour-archive .tour-post a {
    padding: .6944444444vw .6944444444vw 1.0416666667vw .6944444444vw
  }

  .tour-archive .tour-image {
    margin-bottom: 1.0416666667vw
  }

  .tour-archive .tour-image img {
    height: 17.3611111111vw
  }

  .tour-archive .tour-content {
    padding: 0 .3472222222vw
  }

  .tour-archive .tour-ttl {
    font-size: 1.3888888889vw
  }

  .tour-archive .tour-data p {
    padding-left: 1.5277777778vw;
    font-size: .9027777778vw
  }

  .tour-archive .tour-data p:before {
    width: 1.0416666667vw;
    height: 1.0416666667vw
  }
}

@media screen and (min-width: 1441px) {
  .tour-post a {
    padding: 15px 15px 25px 15px
  }

  .tour-post a:before {
    border-width: 0px 0px 25px 25px
  }

  .tour-data p:nth-child(n+2) {
    margin-top: 10px
  }

  .tour-slide .tour-post a {
    padding: 15px 15px 25px 15px
  }

  .tour-slide .tour-image {
    margin-bottom: 10px
  }

  .tour-slide .tour-image img {
    height: 360px
  }

  .tour-slide .tour-content {
    padding: 0 10px
  }

  .tour-slide .tour-ttl {
    font-size: 20px;
    font-size: 2rem
  }

  .tour-slide .tour-data p {
    padding-left: 23px;
    font-size: 14px;
    font-size: 1.4rem
  }

  .tour-slide .tour-data p:before {
    width: 16px;
    height: 16px
  }

  .tour-archive .tour-post a {
    padding: 10px 10px 15px 10px
  }

  .tour-archive .tour-image {
    margin-bottom: 15px
  }

  .tour-archive .tour-image img {
    height: 250px
  }

  .tour-archive .tour-content {
    padding: 0 5px
  }

  .tour-archive .tour-ttl {
    font-size: 20px;
    font-size: 2rem
  }

  .tour-archive .tour-data p {
    padding-left: 22px;
    font-size: 13px;
    font-size: 1.3rem
  }

  .tour-archive .tour-data p:before {
    width: 15px;
    height: 15px
  }
}

.event-overlay {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(76, 76, 76, 0.7);
  color: #ffffff;
  font-size: 4.2666666667vw;
  font-weight: 500;
  text-align: center;
  line-height: 1.55em;
  z-index: 2;
}

@media screen and (min-width: 751px) {
  .event-overlay {
    font-size: 1.4583333333vw;
  }
}

@media screen and (min-width: 1441px) {
  .event-overlay {
    font-size: 21px;
    font-size: 2.1rem;
  }
}

.form-clear-product {
  margin-top: 2.2666666667vw;
  padding: 0.2em 0.9em 0.1em;
  color: #241c15;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: 0.025em;
  text-align: center;
  border: 0.2666666667vw solid rgb(112, 112, 112);
  border-radius: 1.0666666667vw;
  background-color: #fff;
}

.form-product input[type="text"]::placeholder {
  color: #241c15;
}

@media screen and (min-width: 751px) {
  .form-clear-product {
    margin-top: 1.25vw;
    padding: 0.7em 0.9em 0.5em;
    font-size: 1.1111111111vw;
    border-width: 0.0694444444vw;
    border-radius: 0.5555555556vw;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }

  .form-clear-product:hover {
    background-color: #302e2e;
    color: #fff;
  }
}

@media screen and (min-width: 1441px) {
  .form-clear-product {
    margin-top: 18px;
    font-size: 16px;
    border-width: 1px;
    border-radius: 8px;
  }
}
